:root{color-scheme:light;--sidebar-w: 236px;--gutter: 32px;--rail-pad: 18px;--radius: 0px;--dur: .12s;--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--bg: #ffffff;--bg-rail: #fafafa;--bg-alt: #f6f6f6;--bg-blur: rgba(255, 255, 255, .88);--surface: #ffffff;--surface-2: #f5f5f5;--surface-3: #ebebeb;--surface-inset: #fafafa;--surface-sunken: #fafafa;--surface-accent: #f4f4f4;--border: #e3e3e3;--border-subtle: #efefef;--border-strong: #b4b4b4;--ink-0: #000000;--ink-1: #0a0a0a;--ink-2: #1f1f1f;--ink-3: #454545;--ink-4: #6b6b6b;--ink-5: #949494;--accent: #0a0a0a;--accent-ink: #0a0a0a;--accent-solid: #0a0a0a;--accent-solid-hover: #333333;--accent-fill: #0a0a0a;--accent-bg: #f2f2f2;--accent-bg-2: #e9e9e9;--accent-border: #d6d6d6;--accent-wash: rgba(10, 10, 10, .05);--on-accent: #ffffff;--on-accent-soft: #e8e8e8;--signal: #cf2318;--signal-soft: #b31d14;--signal-bg: #fdefee;--signal-border: #f3c8c4;--pos: #0b7a4b;--pos-bright: #086138;--pos-bg: #edf7f1;--pos-border: #b9dcc8;--pos-fill: #0b7a4b;--pos-fill-hover: #086138;--pos-wash: rgba(11, 122, 75, .1);--neg: #cf2318;--neg-bright: #b31d14;--neg-bg: #fdefee;--neg-border: #f3c8c4;--neg-border-strong: #e39a94;--neg-fill: #cf2318;--neg-fill-hover: #b31d14;--neg-wash: rgba(207, 35, 24, .1);--warn: #8a6100;--warn-bright: #6d4c00;--warn-bg: #fbf4e0;--warn-bg-soft: #fdfaf1;--warn-border: #e6d3a0;--series-1: #1b5fa8;--series-2: #cc5116;--series-3: #157a58;--series-4: #856200;--series-5: #a62f79;--series-6: #5647bd;--series-other: #8c8c8c;--on-fill: #ffffff;--overlay: rgba(10, 10, 10, .38);--shadow: rgba(0, 0, 0, .14)}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0b0b;--bg-rail: #070707;--bg-alt: #101010;--bg-blur: rgba(11, 11, 11, .88);--surface: #121212;--surface-2: #191919;--surface-3: #232323;--surface-inset: #0e0e0e;--surface-sunken: #050505;--surface-accent: #1a1a1a;--border: #262626;--border-subtle: #1b1b1b;--border-strong: #4d4d4d;--ink-0: #ffffff;--ink-1: #f4f4f4;--ink-2: #dedede;--ink-3: #a9a9a9;--ink-4: #828282;--ink-5: #5f5f5f;--accent: #f4f4f4;--accent-ink: #f4f4f4;--accent-solid: #f4f4f4;--accent-solid-hover: #ffffff;--accent-fill: #f4f4f4;--accent-bg: #1e1e1e;--accent-bg-2: #2a2a2a;--accent-border: #3a3a3a;--accent-wash: rgba(244, 244, 244, .07);--on-accent: #0b0b0b;--on-accent-soft: #1c1c1c;--signal: #ff453a;--signal-soft: #ff8078;--signal-bg: #24100e;--signal-border: #4d1f1a;--pos: #2ecc84;--pos-bright: #5ee0a5;--pos-bg: #0c2418;--pos-border: #1b4a33;--pos-fill: #144a32;--pos-fill-hover: #1b6243;--pos-wash: rgba(46, 204, 132, .13);--neg: #ff453a;--neg-bright: #ff8078;--neg-bg: #24100e;--neg-border: #4d1f1a;--neg-border-strong: #6e2b24;--neg-fill: #6b241d;--neg-fill-hover: #853027;--neg-wash: rgba(255, 69, 58, .13);--warn: #e0b341;--warn-bright: #f0cd77;--warn-bg: #241d09;--warn-bg-soft: #151107;--warn-border: #443616;--series-1: #4a9fdc;--series-2: #e0713a;--series-3: #34b487;--series-4: #c39a22;--series-5: #d364a8;--series-6: #8a7cea;--series-other: #6b6b6b;--on-fill: #ffffff;--overlay: rgba(0, 0, 0, .7);--shadow: rgba(0, 0, 0, .55)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:14px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--ink-2)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--border-strong)}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::selection{background:var(--accent);color:var(--on-accent)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;min-width:0}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--bg-rail);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}.sidebar .brand{display:flex;align-items:flex-start;gap:11px;padding:20px var(--rail-pad) 18px;border-bottom:1px solid var(--border)}.sidebar .brand .logo{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent)}.sidebar .brand span{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:1px}.sidebar .brand b{font-size:13px;font-weight:600;line-height:1.25;letter-spacing:-.012em;color:var(--ink-1);text-wrap:balance}.sidebar .brand small{font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-5)}.sidebar nav{display:flex;flex-direction:column;padding:10px 0 14px;overflow-y:auto}.sidebar nav a{position:relative;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:12px;padding:8px var(--rail-pad);color:var(--ink-3);text-decoration:none;font-size:11.5px;font-weight:500;letter-spacing:.085em;text-transform:uppercase;transition:color var(--dur),background var(--dur);cursor:pointer}.sidebar nav a .ico{--icon-size: 17px;color:var(--ink-4);transition:color var(--dur)}.sidebar nav a .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav a:hover{color:var(--ink-1);background:var(--accent-wash)}.sidebar nav a:hover .ico{color:var(--ink-1)}.sidebar nav a.active{color:var(--ink-0);font-weight:600;background:var(--accent-wash)}.sidebar nav a.active .ico{color:var(--ink-0)}.sidebar nav a.active:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:2px;background:var(--accent)}.sidebar .nav-group{margin:14px var(--rail-pad) 6px;padding-top:12px;border-top:1px solid var(--border);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-5)}.sidebar .foot{margin-top:auto;padding:12px var(--rail-pad) 14px;border-top:1px solid var(--border)}.sidebar .mode{display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;background:transparent;color:var(--ink-4);border:1px solid var(--border-strong)}.sidebar .price{display:block;margin-top:9px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:-.01em;color:var(--ink-4)}.pos{color:var(--pos)}.neg{color:var(--neg)}.spacer{flex:1}.page-head{padding:26px var(--gutter) 14px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.page-head h1{font-size:27px;font-weight:600;margin:0;letter-spacing:-.028em;line-height:1.1;color:var(--ink-0)}.section-head{padding:22px var(--gutter) 4px;display:flex;align-items:baseline;gap:14px}.section-head h2{font-size:16px;font-weight:600;margin:0;letter-spacing:-.015em;color:var(--ink-1)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}.page-head .chip{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--border-strong);color:var(--ink-3)}.page-head .chip.warn{border-color:var(--warn-border);color:var(--warn);background:var(--warn-bg-soft)}button.primary,button.ghost,button.go,button.danger,.bot footer button,.modal-foot button,a.btn{font:inherit;font-size:11px;font-weight:600;cursor:pointer;letter-spacing:.09em;text-transform:uppercase;padding:9px 15px;border-radius:var(--radius);border:1px solid transparent;transition:background var(--dur),border-color var(--dur),color var(--dur)}a.btn{display:inline-block;text-decoration:none;white-space:nowrap}button.primary,a.btn.primary{background:var(--accent-solid);color:var(--on-accent);border-color:var(--accent-solid)}button.primary:hover:not(:disabled),a.btn.primary:hover{background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}button.ghost,a.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--ink-2)}button.ghost:hover:not(:disabled),a.btn.ghost:hover{border-color:var(--accent);color:var(--ink-0)}button.go{background:var(--pos-fill);color:var(--on-fill);border-color:var(--pos-fill)}button.go:hover:not(:disabled){background:var(--pos-fill-hover);border-color:var(--pos-fill-hover)}button.danger{color:var(--signal);background:transparent}button.ghost.danger{border-color:var(--neg-border);color:var(--signal)}button.ghost.danger:hover:not(:disabled){background:var(--signal-bg);border-color:var(--signal)}button:disabled{opacity:.38;cursor:not-allowed}button.x{background:none;border:none;color:var(--ink-4);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:var(--radius);transition:background var(--dur),color var(--dur)}button.x:hover{background:var(--surface-3);color:var(--ink-0)}.banner{margin:0;padding:11px var(--gutter);display:flex;align-items:center;gap:12px;font-size:12.5px;background:var(--signal-bg);border-bottom:1px solid var(--signal-border);border-left:2px solid var(--signal);color:var(--signal-soft)}.banner.quota{background:var(--warn-bg);border-bottom-color:var(--warn-border);border-left-color:var(--warn);color:var(--warn-bright)}.banner a{color:inherit;font-weight:600;text-underline-offset:2px}.banner .x{margin-left:auto;color:inherit}.totals{display:flex;flex-wrap:wrap;padding:20px var(--gutter);border-bottom:1px solid var(--border)}.totals>div{display:flex;flex-direction:column;gap:7px;padding:2px 26px 2px 0;margin-right:26px;border-right:1px solid var(--border)}.totals>div:last-child{border-right:none;margin-right:0;padding-right:0}.totals label{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-4)}.totals b{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1;color:var(--ink-0)}.totals small{font-size:11px;font-weight:500;color:var(--ink-4);letter-spacing:0}.empty{margin:40px var(--gutter);max-width:520px;padding:26px 28px;border:1px solid var(--border);border-left:2px solid var(--accent);background:var(--surface)}.empty h2{margin:0 0 10px;font-size:17px;font-weight:600;letter-spacing:-.015em;color:var(--ink-0)}.empty p{margin:0 0 20px;font-size:13px;line-height:1.65;color:var(--ink-3)}.panel{margin:24px var(--gutter);padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.panel h2{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1)}.panel>p.sub{margin:0 0 20px;font-size:12.5px;color:var(--ink-4);line-height:1.65}label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4)}label+label{margin-top:16px}label input,label select,label textarea{padding:9px 11px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-sunken);color:var(--ink-1);font:inherit;font-size:13px;font-weight:400;letter-spacing:normal;text-transform:none;transition:border-color var(--dur),background var(--dur)}label input::placeholder,label textarea::placeholder{color:var(--ink-5)}label input:hover,label select:hover,label textarea:hover{border-color:var(--ink-4)}label input:focus,label select:focus,label textarea:focus{outline:none;border-color:var(--accent);background:var(--surface)}.pw-field{position:relative;display:block}.pw-field .pw-toggle{position:absolute;top:50%;right:1px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;padding:0;align-self:stretch;height:calc(100% - 2px);border:none;border-left:1px solid var(--border);border-radius:0;background:transparent;color:var(--ink-4);cursor:pointer}.pw-field .pw-toggle:hover{color:var(--ink-0);background:var(--surface-2)}.pw-field .pw-toggle:active{color:var(--accent)}label .hint{font-size:11px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ink-4);line-height:1.55}label .hint.warn{color:var(--warn)}label .hint.bad{color:var(--signal)}label .opt{color:var(--ink-5);font-weight:500}label.check,label.chk{flex-direction:row;align-items:flex-start;gap:10px;font-size:12.5px;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ink-3)}label.chk{align-items:center;gap:7px}label.check input,label.chk input{margin-top:1px;accent-color:var(--accent)}label.chk input{margin-top:0}label.check span{display:flex;flex-direction:column;gap:4px}label.check b{color:var(--ink-1);font-size:13px;font-weight:600}p.err{margin:12px 0 0;color:var(--signal);font-size:12.5px}p.ok{margin:12px 0 0;color:var(--pos);font-size:12.5px}p.fixed{margin:0 0 16px;padding:2px 0 2px 14px;border-left:2px solid var(--border-strong);color:var(--ink-4);font-size:12.5px;line-height:1.6}table.data{width:100%;border-collapse:collapse;font-size:12.5px}table.data th{text-align:left;padding:0 12px 8px;color:var(--ink-4);font-weight:600;font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--ink-3);white-space:nowrap}table.data th:first-child,table.data td:first-child{padding-left:0}table.data th:last-child,table.data td:last-child{padding-right:0}table.data td{padding:11px 12px;border-bottom:1px solid var(--border-subtle);color:var(--ink-2)}table.data tr:hover td{background:var(--accent-wash)}.table-wrap{overflow-x:auto}.modal-back{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;padding:24px;z-index:50}.modal{width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px -12px var(--shadow)}.modal>header{display:flex;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border)}.modal>header h2{margin:0;flex:1;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-1)}.modal-body{padding:22px;overflow-y:auto}.modal-foot{display:flex;align-items:center;gap:9px;padding:15px 22px;border-top:1px solid var(--border);background:var(--surface-inset)}.steps{display:flex;gap:2px;margin:0;padding:16px 22px 0;list-style:none;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;counter-reset:step}.steps li{flex:1;padding:0 0 9px;color:var(--ink-5);border-bottom:2px solid var(--border);text-align:left;counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero) "\a0\a0";color:inherit}.steps li.on{color:var(--ink-0);border-bottom-color:var(--accent)}.steps li.done{color:var(--ink-4);border-bottom-color:var(--ink-4)}.type-grid{display:grid;gap:1px;background:var(--border);border:1px solid var(--border)}.type-card{display:flex;flex-direction:column;gap:5px;text-align:left;padding:14px 16px;cursor:pointer;background:var(--surface);border:none;border-radius:var(--radius);color:var(--ink-4);font:inherit;transition:background var(--dur),color var(--dur)}.type-card b{color:var(--ink-1);font-size:13px;font-weight:600;letter-spacing:-.01em}.type-card span{font-size:12px;line-height:1.55}.type-card:hover:not(:disabled){background:var(--surface-2)}.type-card.on{background:var(--accent);color:var(--on-accent-soft)}.type-card.on b{color:var(--on-accent)}.type-card:disabled{opacity:.38;cursor:not-allowed}.params{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.params label+label{margin-top:0}.params label{position:relative}.params label .unit{position:absolute;top:0;right:0;font-size:9px;font-weight:600;letter-spacing:.1em;color:var(--ink-4);background:transparent;border:1px solid var(--border);padding:1px 5px}.params label .unit.base{color:var(--warn);background:var(--warn-bg-soft);border-color:var(--warn-border)}@media(max-width:900px){:root{--gutter: 24px}}@media(max-width:760px){:root{--sidebar-w: 52px;--rail-pad: 0px}.sidebar .brand{justify-content:center;gap:0;padding:16px 0}.sidebar .brand span{display:none}.sidebar nav a{grid-template-columns:1fr;justify-items:center;gap:0;padding:11px 0}.sidebar nav a .label{display:none}.sidebar nav a .ico{--icon-size: 19px}.sidebar .nav-group{margin:10px 8px 4px;padding-top:8px;font-size:0}.sidebar .foot{padding:10px 4px 12px}}@media(max-width:600px){:root{--gutter: 14px}.page-head{padding:16px var(--gutter) 12px;gap:10px}.page-head h1{font-size:21px}.section-head{padding-top:16px}.section-head h2{font-size:15px}.totals{gap:18px 26px;padding:16px var(--gutter)}.totals>div{border-right:none;margin-right:0;padding-right:0}.totals b{font-size:17px}.modal-back{padding:0;align-items:end}.modal{max-height:96vh;max-width:none;border:none;border-top:1px solid var(--border-strong)}.modal-body{padding:16px}.modal>header,.modal-foot{padding-left:16px;padding-right:16px}.steps{padding:14px 16px 0;font-size:9px;letter-spacing:.08em}.panel{margin:16px var(--gutter);padding:16px}.empty{margin:24px var(--gutter);padding:20px 18px}}@media(max-width:520px){.params{grid-template-columns:1fr}}@media(pointer:coarse){button.primary,button.ghost,button.go,button.danger,a.btn,label input,label select,label textarea{min-height:36px}button.x{padding:8px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
