.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600;letter-spacing:-.2px;white-space:nowrap}.brand-mark{display:block;flex:none}.brand .mark{color:var(--accent);font-weight:800}.scenario-pick{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em}.scenario-pick select{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink);padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);min-width:190px}.scenario-summary{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.chip{background:var(--line-soft);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--ink-dim);white-space:nowrap}.chip b{color:var(--ink);font-weight:600;margin-right:4px}.chip.rebate{background:var(--accent-soft);color:var(--accent)}.tabs{display:flex;gap:2px;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:11px 16px;cursor:pointer;color:var(--ink-dim);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}main{flex:1;padding:20px;min-width:0}.pane{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.pane.error{color:var(--danger)}.lede{margin:0 0 16px;color:var(--ink-dim);max-width:78ch;line-height:1.55}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.spacer{flex:1}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{border:0;background:var(--panel);padding:7px 13px;cursor:pointer;color:var(--ink-dim);border-right:1px solid var(--line);display:flex;align-items:center;gap:6px;white-space:nowrap}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--accent);color:#fff;font-weight:600}.segmented.tiny button{padding:5px 10px;font-size:12px}.segmented .count{background:#00000014;border-radius:999px;padding:1px 7px;font-size:11px}.segmented button.active .count{background:#ffffff40}.search,.initials{border:1px solid var(--line);border-radius:7px;padding:7px 11px;min-width:200px;background:var(--panel)}.initials{min-width:90px;text-transform:uppercase}.toolbar select{border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:var(--panel)}.btn{border:1px solid var(--line);background:var(--panel);border-radius:7px;padding:7px 14px;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){color:#fff;filter:brightness(1.15)}.msg{color:var(--accent);font-size:13px}.table-scroll{position:relative;overflow:auto;max-height:calc(100vh - 290px);border:1px solid var(--line);border-radius:8px}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;white-space:nowrap}table.grid th{position:sticky;top:0;z-index:2;background:#fbfcfd;border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;font-weight:600;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.03em;line-height:1.35}table.grid td{padding:7px 10px;border-bottom:1px solid var(--line-soft)}table.grid tbody tr:hover td{background:#fafbfc}.num{text-align:right;font-variant-numeric:tabular-nums}.dim{color:var(--ink-dim)}.strong{font-weight:700}.mono{font-family:Consolas,SF Mono,monospace;font-size:12px}.sticky-l{position:sticky;left:0;background:var(--panel);z-index:1;font-weight:500}table.grid th.sticky-l{z-index:3;background:#fbfcfd}tbody tr:hover .sticky-l{background:#fafbfc}tr.group td{background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;position:sticky;left:0}.group-note{margin-left:10px;font-weight:500;text-transform:none;letter-spacing:0;opacity:.75}.badge{margin-left:7px;background:var(--warn-bg);color:var(--warn-ink);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase}.badge.warn{background:var(--danger);color:#fff;cursor:help}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb3;display:grid;place-content:center;color:var(--ink-dim)}.empty{padding:36px;text-align:center;color:var(--ink-dim)}.footnote{margin-top:10px;font-size:12px;color:var(--ink-dim)}table.editable .cell{border:1px solid transparent;background:transparent;border-radius:5px;padding:3px 6px;width:100%;min-width:70px}table.editable .num .cell{text-align:right}table.editable .cell:hover{border-color:var(--line)}table.editable .cell:focus{outline:none;border-color:var(--accent);background:#fff}.cell.narrow{width:92px;min-width:92px}td.prices{white-space:normal}.price-chip{display:inline-flex;align-items:center;gap:5px;background:var(--line-soft);border-radius:6px;padding:2px 4px 2px 9px;margin:2px 4px 2px 0}.price-chip label{font-size:11px;color:var(--ink-dim)}.inline-field{flex-direction:row!important;align-items:center;gap:8px!important}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:14px}.card{border:1px solid var(--line);border-radius:9px;padding:14px}.card.wide{margin-bottom:14px}.card h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}.field>span{font-size:12px;color:var(--ink-dim)}.field em{display:block;font-style:normal;font-size:11px;opacity:.8}.field select,.field input{border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:var(--panel);width:100%}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.inline{display:flex;align-items:center;gap:9px}.inline input{width:100px}.suffix{font-size:12px;color:var(--ink-dim);white-space:nowrap}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;margin-top:6px}.checks label{display:flex;align-items:center;gap:8px;font-size:13px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.or{color:var(--ink-dim);font-size:12px}.dropzone{border:2px dashed var(--line);border-radius:10px;padding:40px;text-align:center;cursor:pointer;display:grid;gap:6px;margin-bottom:14px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.has-file{border-style:solid;border-color:var(--accent)}.log{background:#f3f5f8;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:Consolas,SF Mono,monospace;font-size:12px;white-space:pre-wrap;max-height:320px;overflow:auto;margin:14px 0}.error-log{background:#fef3f2;border-color:#fecdca;color:var(--danger)}.note ul{margin:0;padding-left:18px;color:var(--ink-dim);line-height:1.75}.note code{background:var(--line-soft);padding:1px 5px;border-radius:4px;font-size:12px}.who{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.table-scroll.tall{max-height:calc(100vh - 250px)}table.sheet{font-size:12.5px;table-layout:fixed;width:max-content;min-width:100%}table.sheet th,table.sheet td{border-right:1px solid var(--line-soft);overflow:hidden;text-overflow:ellipsis}table.sheet thead tr.band th{top:0;background:#eef1f5;border-bottom:1px solid var(--line);text-align:center;font-size:10.5px;letter-spacing:.08em;color:var(--ink-dim);padding:5px 8px}table.sheet thead tr.band th.accent{background:var(--accent);color:#fff;font-weight:700}table.sheet thead tr.band th:empty{background:var(--panel)}table.sheet thead tr:not(.band) th{background:#fbfcfd;font-size:10.5px;white-space:normal;line-height:1.3;vertical-align:bottom}table.sheet td{padding:0;height:28px}.editable-cell{cursor:cell;padding:5px 8px!important}.editable-cell:hover{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px var(--accent)}.readonly-cell{padding:5px 8px!important;background:var(--row-fill, #fafbfc);color:var(--ink-dim);cursor:default}.locked-cell{padding:5px 8px!important;cursor:default}.na-mark{color:#c0c6d0;font-style:italic}.saving{background:#fff8e1!important}table.sheet .cell{border:0;outline:2px solid var(--accent);outline-offset:-2px;border-radius:0;padding:5px 8px;width:100%;height:28px;background:#fff;font:inherit}table.sheet .num .cell{text-align:right}table.sheet .frozen{position:sticky;z-index:2;background:var(--panel)}table.sheet thead .frozen{z-index:5}table.sheet tbody tr:hover .frozen{background:#fafbfc}table.sheet thead tr:not(.band) th.frozen:last-of-type,table.sheet tbody td.frozen+td:not(.frozen){border-left:2px solid var(--line)}table.sheet .frozen.editable-cell:hover{background:var(--accent-soft)!important}.btn.toggle{border-color:var(--line);color:var(--ink-dim);white-space:nowrap}.btn.toggle:before{content:"🔒";margin-right:7px}.btn.toggle.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.toggle.on:before{content:"✎"}.btn.toggle.on:hover{color:#fff;filter:brightness(1.12)}.card-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;padding-top:4px;border-top:1px solid var(--line-soft);margin-top:2px;cursor:pointer}.card-check input{margin-top:2px;flex:none}.card-check em{display:block;font-style:normal;font-size:11px;color:var(--ink-dim);line-height:1.4;margin-top:2px}.btn.subtle{color:var(--ink-dim);padding:7px 11px;font-size:12px}.segmented button.custom{font-style:italic}.segmented button.custom.active{font-style:normal}.picker{border:1px solid var(--accent);border-radius:9px;margin-bottom:14px;overflow:hidden}.picker-bar,.picker-save{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--accent-soft);flex-wrap:wrap}.picker-save{background:#fbfcfd;border-top:1px solid var(--line)}.picker-body{display:flex;align-items:stretch}.picker-body>.picker-list{flex:1;min-width:0}.picker-order{flex:none;width:300px;max-height:340px;overflow:auto;padding:8px 10px 12px;background:#fbfcfd;border-left:1px solid var(--line)}.po-head{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:4px 0 6px;border-bottom:1px solid var(--line-soft);position:sticky;top:-8px;background:#fbfcfd}.po-head .linky{margin-left:auto;border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink-dim);text-decoration:underline}.po-head .linky:hover{color:var(--accent)}.po-items{list-style:none;margin:0;padding:0}.po-items li{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:2px 6px;padding:3px 0;font-size:12.5px;border-bottom:1px solid var(--line-soft)}.po-n{color:var(--ink-dim);font-size:10.5px;text-align:right;font-variant-numeric:tabular-nums}.po-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-mfg{grid-column:2;grid-row:2;font-size:10.5px}.po-btns{grid-column:3;grid-row:1 / span 2;display:flex;gap:2px}.po-btns .icon{border:1px solid var(--line);background:#fff;border-radius:4px;width:20px;height:20px;line-height:1;padding:0;cursor:pointer;color:var(--ink-dim);font-size:12px}.po-btns .icon:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.po-btns .icon:disabled{opacity:.3;cursor:default}.picker-list{max-height:340px;overflow:auto;padding:4px 12px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:0 22px;align-items:start}.picker-group{padding:8px 0;break-inside:avoid}.picker-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);padding:4px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.picker-head .dim{margin-left:auto;font-weight:500;letter-spacing:0}.picker-item{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:3px 0;font-size:12.5px;cursor:pointer}.picker-item:hover{background:var(--accent-soft)}.pi-type{font-size:11px}.pi-ndc{grid-column:2 / -1;font-size:10.5px;margin-top:-3px}.msg.err{color:var(--danger)}.small{font-size:11px}table.sheet tbody tr{background:var(--row-fill, transparent)}table.sheet tbody tr:hover td{background:transparent;box-shadow:inset 0 0 0 9999px #14532d0d}table.sheet td.frozen,table.sheet tbody tr:hover td.frozen{background:var(--row-fill, var(--panel))}table.sheet td.editable-cell:hover{box-shadow:inset 0 0 0 1px var(--accent)}.pct-input{position:relative}.pct-input input{width:92px;padding-right:24px}.pct-sign{position:absolute;left:74px;color:var(--ink-dim);pointer-events:none}table.sheet thead tr.subband th{background:#eef1f5;text-align:center;font-size:10px;letter-spacing:.05em;color:var(--ink-dim);padding:4px 8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}table.sheet thead tr.subband th:empty{background:var(--panel);border-right-color:transparent}.pane-title{margin:0;font-size:15px}.quote-group{margin-bottom:18px}.quote-group h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--line-soft);padding-bottom:5px}.quote-row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line-soft)}.quote-open{flex:1;display:grid;grid-template-columns:minmax(180px,2fr) 150px 110px 1fr;gap:12px;align-items:baseline;text-align:left;border:0;background:none;padding:9px 8px;cursor:pointer;font:inherit;border-radius:6px}.quote-open:hover{background:var(--accent-soft)}.q-title{font-weight:600}.quote-id{font-size:14px}.quote-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:10px}.chip{background:var(--line-soft);border-radius:999px;padding:2px 10px;font-size:11.5px;white-space:nowrap}.saved-note,.warn-note{display:block;border-radius:7px;padding:8px 11px;margin-bottom:10px;font-size:12.5px}.saved-note{background:var(--accent-soft);color:var(--accent)}.warn-note{background:var(--warn-bg);color:var(--warn-ink)}.warn-note .chip{background:#fff9;margin-right:4px}.linky{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-decoration:underline}.signin{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.signin-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:40px 36px;max-width:400px;text-align:center;box-shadow:0 1px 3px #14181f0f}.signin-brand{font-size:26px;font-weight:700;letter-spacing:-.4px;margin-top:14px}.brand-tagline{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-dim);margin-top:2px}.signin-note{margin:22px 0 18px;color:var(--ink-dim);font-size:13.5px;line-height:1.55}.signin-go{width:100%;padding:11px;font-size:14px}.signin-card .small{display:block;margin-top:16px;line-height:1.5}.whoami{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:12.5px}.who-name{color:var(--ink-dim)}.role-chip{border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;background:var(--line-soft);color:var(--ink-dim)}.role-chip.editor,.badge.you{background:var(--accent-soft);color:var(--accent)}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:7px;vertical-align:middle}.team-note{margin-top:14px;border:1px solid var(--line);border-radius:9px;padding:14px 16px;font-size:12.5px;line-height:1.6}.team-note p{margin:0 0 8px}.team-note p:last-child{margin-bottom:0}.snapshot-banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:7px;padding:9px 12px;margin-bottom:10px;font-size:12.5px;line-height:1.5}table.sheet thead tr.band th.blank{background:var(--panel)}.desk-strip{background:var(--warn-bg);color:var(--warn-ink);text-align:center;padding:5px 12px;font-size:12px;border-bottom:1px solid #f0d9a8}.desk-strip a{color:inherit;font-weight:600}.pending-edit{background:#fff8e1!important;box-shadow:inset 3px 0 0 var(--warn-ink);font-weight:600}.snapshot-delete{margin-left:8px;font-weight:600}:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #14181f;--ink-dim: #667085;--line: #e3e7ed;--line-soft: #eef1f5;--accent: #14532d;--accent-soft: #e8f2ec;--danger: #b42318;--warn-bg: #fff5e6;--warn-ink: #92400e;color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit;color:inherit}.boot{display:grid;place-content:center;gap:8px;min-height:100vh;text-align:center;color:var(--ink-dim)}.boot.error h1{color:var(--danger);font-size:20px;margin:0}.boot .hint{margin-top:12px;font-size:13px;line-height:1.9}.boot code{background:#eceff3;padding:3px 8px;border-radius:5px;font-family:Consolas,SF Mono,monospace;font-size:12px}
