:root{--bg:#000;--surface:#000;--surface-2:#000;--border:#1a1a1a;--border-strong:#2a2a2a;--ink:#f2f2f2;--ink-dim:#999;--ink-faint:#666;--accent:#fff;--accent-soft:#ffffff12;--accent-soft-2:#ffffff24;--positive:#7fae70;--positive-soft:#7fae7016;--negative:#d1594a;--negative-soft:#d1594a16;--font-display:"Cinzel", serif;--font-body:"Oswald", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Cinzel", serif}@font-face{font-family:Horst Blackletter;src:url(/fonts/Horst.woff2)format("woff2"),url(/fonts/Horst.woff)format("woff");font-weight:900;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink-dim);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5;overflow-x:hidden}.app{max-width:1180px;margin:0 auto;padding:28px 24px 80px}.topbar{border:1px solid var(--border-strong);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:18px 24px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-logo{object-fit:contain;width:30px;height:30px}.brand-mark{font-family:"Horst Blackletter", var(--font-display);letter-spacing:.02em;color:var(--ink);font-size:24px;font-weight:900}.brand-sep{color:var(--border-strong)}.brand-app{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:12px}.topbar-controls{align-items:center;gap:12px;display:flex}.back-link{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:flex}.back-link:hover{color:var(--accent)}.seg{border:1px solid var(--border-strong);border-radius:4px;display:flex;overflow:hidden}.seg button{font:inherit;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:var(--surface);color:var(--ink-faint);cursor:pointer;border:none;border-right:1px solid var(--border-strong);padding:7px 13px;font-size:12px}.seg button:last-child{border-right:none}.seg button.active{background:var(--accent-soft-2);color:var(--accent);font-weight:600}.icon-btn{border:1px solid var(--border-strong);background:var(--surface);width:34px;height:34px;color:var(--ink-faint);cursor:pointer;border-radius:4px;place-items:center;display:grid}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn:disabled:hover{border-color:var(--border-strong);color:var(--ink-faint)}h1.page-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-wrap:balance;margin:0 0 6px;font-size:24px;font-weight:600}.page-sub{color:var(--ink-faint);letter-spacing:.02em;margin:0 0 24px;font-size:13px}.page-sub b{color:var(--ink);font-weight:600}.tabs{border-bottom:1px solid var(--border-strong);scrollbar-width:none;-ms-overflow-style:none;gap:2px;margin-bottom:28px;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}.tab{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 16px 12px;font-size:12px}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab .count{color:var(--ink-faint);margin-left:5px;font-size:10.5px}.tab.active .count{color:var(--accent);opacity:.75}.kpi-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:22px 24px;position:relative}.kpi.hero{border-color:var(--accent)}.kpi-label{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:12px}.kpi-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);margin-top:8px;font-size:32px;font-weight:900;line-height:1.15}.kpi.hero .kpi-value{color:var(--accent)}.kpi-delta{font-family:var(--font-body);letter-spacing:.04em;align-items:center;gap:4px;margin-top:8px;font-size:11.5px;display:flex}.kpi-delta.up{color:var(--positive)}.kpi-delta.down{color:var(--ink-faint)}.allocation-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.as-cell{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:18px 20px}.as-label{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;font-size:12px}.as-value{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:600}.as-value.accent{color:var(--accent)}.grid{grid-template-columns:1.55fr 1fr;align-items:start;gap:20px;display:grid}.col{flex-direction:column;gap:20px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:22px}.panel:last-child{margin-bottom:0}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}.panel-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:3px;font-size:15px;font-weight:600}.panel-hint{font-family:var(--font-body);color:var(--ink-faint);max-width:52ch;font-size:12px}.panel-body{padding:0 24px 20px}.btn{font:inherit;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:4px;padding:10px 18px;font-size:12px;font-weight:600}.btn-primary{background:var(--accent);color:#000;border:1px solid var(--accent)}.btn-primary:hover{opacity:.9}.btn-ghost{color:var(--ink-faint);border:1px solid var(--border-strong);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.cell-input{font:inherit;font-family:var(--font-display);font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--border-strong);color:var(--ink);text-align:right;border-radius:4px;width:76px;padding:6px 8px}.cell-input:focus{border-color:var(--accent);outline:none}.total-cell{font-family:var(--font-display);color:var(--accent);font-weight:700}input.cell-text{font:inherit;font-family:var(--font-body);background:var(--bg);border:1px solid var(--border-strong);color:var(--ink);border-radius:4px;padding:6px 8px;font-size:12px}input.cell-text:focus{border-color:var(--accent);outline:none}.date-range-trigger{font:inherit;font-family:var(--font-body);font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--border-strong);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:4px;padding:8px 12px;font-size:12px}.date-range-trigger:hover{border-color:var(--accent)}.date-range-sep{color:var(--ink-faint);margin:0 2px}.date-range-popover{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;width:260px;padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000080}.date-cal-header{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.date-cal-header button{border:1px solid var(--border-strong);color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:4px;width:24px;height:24px;font-size:14px;line-height:1}.date-cal-header button:hover{border-color:var(--accent);color:var(--accent)}.date-cal-weekdays{text-align:center;font-family:var(--font-body);color:var(--ink-faint);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:10px;display:grid}.date-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-cell{color:var(--ink);font-family:var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 0;font-size:12px}.date-cell:hover:not(.disabled):not(.empty){background:var(--accent-soft)}.date-cell.empty{cursor:default}.date-cell.disabled{color:var(--ink-faint);cursor:not-allowed;opacity:.4}.date-cell.in-range{background:var(--accent-soft)}.date-cell.selected{background:var(--accent);color:#000;font-weight:600}.date-cal-hint{font-family:var(--font-body);color:var(--ink-faint);text-align:center;margin-top:10px;font-size:11px}.icon-cell{border:1px solid var(--border-strong);width:28px;height:28px;color:var(--ink-faint);cursor:pointer;border-radius:4px;place-items:center;display:grid}.icon-cell:hover{color:var(--negative);border-color:var(--negative)}.form-grid{grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px;display:grid}.field label{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;font-size:11px;display:block}.field input{width:100%;font:inherit;font-family:var(--font-display);background:var(--bg);border:1px solid var(--border-strong);color:var(--ink);text-align:right;border-radius:4px;padding:10px 12px}.field input:focus{border-color:var(--accent);outline:none}.field .suffix{color:var(--ink-faint);margin-top:6px;font-size:11px}.toolbar{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.month-picker{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;font-size:12px;display:flex}.month-picker button{border:1px solid var(--border-strong);width:26px;height:26px;color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:4px}.month-picker .month{color:var(--ink);text-align:center;min-width:76px;font-weight:600}.waterfall{flex-direction:column;gap:2px;display:flex}.wf-row{grid-template-columns:150px 1fr 110px;align-items:center;gap:10px;padding:7px 0;display:grid}.wf-label{font-family:var(--font-body);letter-spacing:.02em;color:var(--ink-faint);font-size:12.5px}.wf-label.strong{color:var(--ink);font-weight:600}.wf-track{background:var(--border);height:20px;position:relative;overflow:hidden}.wf-fill{background:var(--accent-soft-2);border-right:2px solid var(--accent);position:absolute;top:0;bottom:0;left:0}.wf-fill.neutral{background:var(--border);border-right:2px solid var(--border-strong)}.wf-fill.final{background:var(--positive-soft);border-right:2px solid var(--positive)}.wf-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:right;font-size:13px;font-weight:600}.wf-value.final{color:var(--positive);font-weight:700}.wf-cut{font-family:var(--font-body);letter-spacing:.02em;color:var(--negative);grid-column:2/3;margin-top:-3px;padding-left:2px;font-size:11px}.table-wrap{padding:0 24px 20px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:14px 20px 14px 0}th:last-child,td:last-child{padding-right:0}th{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:500}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--accent-soft)}td.num,th.num{text-align:right}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}td.num{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}td.sku{color:var(--ink);font-weight:500}td.sku .sku-id{font-family:var(--font-body);letter-spacing:.04em;color:var(--ink-faint);margin-top:2px;font-size:11px;font-weight:400;display:block}.margin-pill{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.margin-pill.good{color:var(--positive);border-color:var(--positive)}.margin-pill.mid{color:var(--ink-faint);border-color:var(--border-strong)}.margin-pill.low{color:var(--negative);border-color:var(--negative)}.check-cell{cursor:pointer;font-family:var(--font-body);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:12px;display:inline-flex}.check-cell input{accent-color:var(--accent);cursor:pointer}.cost-missing{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--negative);border:1px solid var(--negative);margin-left:8px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.method-toggle{border:1px solid var(--border-strong);display:inline-flex}.method-toggle button{font:inherit;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:6px 11px;font-size:10.5px}.method-toggle button+button{border-left:1px solid var(--border-strong)}.method-toggle button.active{background:var(--accent-soft-2);color:var(--accent);font-weight:600}@media (width<=900px){.grid{grid-template-columns:1fr}}@media (width<=720px){.kpi-row{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.allocation-summary{grid-template-columns:1fr}}@media (width<=560px){.app{padding:20px 14px 60px}.topbar{flex-wrap:wrap}}
