:root{--y: #fcde4b;--g: #0e0f10;--c: #191b1c;--mist: #eff1f2;--steel: #cacfd1;--dim: #868c90;--dim-text: #656b6f;--slate: #43484b;--fg: #1a1c1d;--line: #e2e5e7;--ok: #17803d;--bad: #b42318;--amber: #a15c00;--font: Roboto, Arial, sans-serif;--mono: "Roboto Mono", monospace;--side-w: 236px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font);background:var(--mist);color:var(--fg);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.shell{display:flex;min-height:100vh}.side{width:var(--side-w);flex-shrink:0;background:var(--g);color:var(--steel);padding:22px 14px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:15px;margin-bottom:22px;padding:0 8px;letter-spacing:.02em}.logo i{width:26px;height:26px;background:var(--y);display:block;flex-shrink:0}.logo small{display:block;font-weight:400;font-size:11px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}.nav{padding:9px 12px;font-size:14px;display:flex;justify-content:space-between;border-left:3px solid transparent;color:var(--steel)}.navbadge{background:var(--y);color:var(--g);font-size:11px;font-weight:700;padding:1px 7px;min-width:20px;text-align:center}.nav:hover{color:#fff}.nav.on{background:var(--c);color:#fff;font-weight:500;border-left-color:var(--y)}.navsec{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:16px 12px 4px}.user{margin-top:auto;display:flex;gap:10px;align-items:center;padding:10px 8px;border-top:1px solid #23272a;font-size:13px;color:#fff}.user i{width:30px;height:30px;border-radius:50%;background:var(--slate);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;flex-shrink:0}.user .who{min-width:0;flex:1}.user .who span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkbtn{background:none;border:0;color:var(--dim);font-size:11px;cursor:pointer;padding:0;text-decoration:underline}.linkbtn:hover{color:#fff}.topbar{display:none}.main{flex:1;min-width:0;padding:26px 34px;display:flex;flex-direction:column;gap:18px}.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.crumb{font-size:12px;color:var(--dim-text);margin-bottom:4px;letter-spacing:.02em}h1{font-size:24px;font-weight:700}.sub{font-size:13px;color:var(--dim-text);margin-top:4px}.row{display:flex;gap:16px;flex-wrap:wrap}.btn{background:var(--y);color:var(--g);font-weight:700;font-size:13px;padding:10px 16px;border:1px solid transparent;cursor:pointer;display:inline-block}.btn:disabled{opacity:.6;cursor:default}.btn.dark{background:var(--g);color:#fff}.btn.ghost{background:#fff;border-color:var(--steel);color:var(--fg);font-weight:500}.btn.danger{background:#fff;border-color:#e5a3a3;color:#a12121;font-weight:600}.card{background:#fff;border:1px solid var(--line);padding:18px}.kpi{flex:1;min-width:180px}.kpi .l{font-size:12px;color:var(--dim-text);text-transform:uppercase;letter-spacing:.06em}.kpi .v{font-family:var(--mono);font-size:26px;font-weight:700;margin-top:8px}.kpi .n{font-size:12px;color:var(--dim-text);margin-top:6px}.mono{font-family:var(--mono)}.green{color:var(--ok)}.red{color:var(--bad)}.amber{color:var(--amber)}.muted .green{color:#146c33}.muted{color:var(--dim-text)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim-text);font-weight:500;padding:9px 12px;border-bottom:1px solid var(--line);background:#fafbfb}td{padding:11px 12px;border-bottom:1px solid #f0f2f3;vertical-align:middle}td.r,th.r{text-align:right}td.r{font-family:var(--mono);font-size:12.5px}.pill{display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.p-ok{background:#ddf3e4;color:#14632f}.p-warn{background:#fff3c4;color:#7a4b00}.p-bad{background:#fde2e0;color:#912018}.p-info{background:#e3e8ff;color:#2e3a8c}.p-grey{background:#eef0f1;color:var(--slate)}.p-y{background:var(--y);color:var(--g)}.tag{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:2px 7px;display:inline-block}.t-ind{background:var(--g);color:var(--y)}.t-sw{background:#e3e8ff;color:#2e3a8c}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--slate);margin-bottom:14px;min-width:0}.inp{border:1px solid var(--steel);padding:10px;font-size:13px;color:var(--fg);background:#fff;width:100%;max-width:100%;min-width:0}.inp:focus{outline:2px solid var(--y);outline-offset:0}.err{background:#fff4f3;border-left:3px solid #d92d20;font-size:13px;padding:10px 12px;margin-bottom:14px}.loginpage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--mist);padding:16px}.logincard{width:100%;max-width:380px;padding:28px}.logincard .logo{color:var(--g);padding:0;margin-bottom:24px}.logincard .btn{width:100%}.btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:100%}.sel{background:#fff;border:1px solid var(--steel);font-size:13px;padding:9px 12px;color:var(--fg);max-width:100%}.ct{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ct span{font-size:12px;font-weight:400;color:var(--dim-text)}.kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0;border-bottom:1px solid #f0f2f3}.kv:last-child{border:0}.kv b{font-family:var(--mono);font-weight:600;font-size:12.5px;text-align:right}.bar{height:10px;background:#e9ecee;display:flex;overflow:hidden}.tot td{font-weight:700;background:#fafbfb}.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}.tab{font-size:13px;padding:10px 16px;color:var(--slate);border:0;border-bottom:3px solid transparent;background:none;cursor:pointer;white-space:nowrap}.tab.on{color:var(--g);font-weight:700;border-bottom-color:var(--y)}.tab:disabled{color:var(--steel);cursor:default}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pcard{background:#fff;border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.pcard h3{font-size:15px}.pcard h3 a:hover{text-decoration:underline}.split{display:flex;justify-content:space-between;align-items:center;gap:8px}.chk{appearance:none;-webkit-appearance:none;display:inline-block;width:16px;height:16px;border:1.5px solid var(--steel);vertical-align:middle;position:relative;cursor:pointer;background:#fff;margin:0}.chk:checked{background:var(--g);border-color:var(--g)}.chk:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--y);border-width:0 2px 2px 0;transform:rotate(45deg)}.chk:disabled{cursor:default;opacity:.75}.chk:focus-visible{outline:2px solid var(--y);outline-offset:1px}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg);cursor:pointer}.formgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 14px}.inline{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.inline .field{margin-bottom:0}.rolecard{background:#fff;border:1px solid var(--line);padding:12px;text-align:left;cursor:pointer;font-size:13px;width:100%}.rolecard.on{border:2px solid var(--g);box-shadow:inset 4px 0 0 var(--y)}.rolecard small{display:block;color:var(--dim-text);font-size:12px;margin-top:2px}.roles{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.roles .list{width:250px;display:flex;flex-direction:column;gap:8px}.roles .detail{flex:1;min-width:300px;display:flex;flex-direction:column;gap:14px}.actions{display:flex;gap:6px;justify-content:flex-end}td.r,.pill,.tag,.nowrap{white-space:nowrap}.btn.sm{padding:5px 10px;font-size:12px}@media(max-width:900px){.roles .list{width:100%}}@media(max-width:900px){.shell{flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--g);color:#fff;padding:10px 14px;position:sticky;top:0;z-index:5}.topbar .logo{margin:0;padding:0}.menubtn{background:var(--c);color:#fff;border:1px solid var(--slate);padding:8px 12px;font-size:13px;cursor:pointer}.side{display:none;position:static;width:100%;height:auto}.side.open{display:flex}.side .logo{display:none}.main{padding:18px 16px}}.files{display:flex;flex-direction:column;margin-bottom:12px}.file{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid #f0f2f3;min-width:0}.file a{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file a:hover{text-decoration:underline}.file .muted{font-size:12px;white-space:nowrap;margin-left:auto}.linkbtn.x{color:var(--bad);font-size:16px;text-decoration:none;line-height:1}.drop{border:1.5px dashed var(--steel);padding:14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--dim-text);background:#fafbfb}.drop.over{border-color:var(--g);background:#fffbe6}.drop label{cursor:pointer}.hidden-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.stars{font-size:22px;letter-spacing:4px;color:var(--g)}.stars span{color:var(--steel)}.kpi .v.multi{font-size:20px;margin-top:6px}.side-col{flex:0 1 400px;min-width:300px;display:flex;flex-direction:column;gap:14px}.main-col{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}.kv b .pill{font-family:var(--font);margin-left:4px}.h1-pill{vertical-align:middle;margin-left:6px;font-size:0}.h1-pill .pill{font-size:11px}.steps-card{padding:0 6px}.steps{display:flex;font-size:12px;list-style:none;overflow-x:auto}.step{flex:1;min-width:92px;padding:10px 12px;border-top:4px solid #e2e5e7;color:var(--dim-text);white-space:nowrap}.step.done{border-color:var(--ok);color:var(--ok);font-weight:600}.step.cur{border-color:var(--y);color:var(--g);font-weight:700;background:#fffdf0}.alert{display:flex;gap:10px;font-size:13px;padding:10px 12px;background:#fffbe6;border-left:3px solid var(--y);align-items:flex-start}.alert.r{background:#fff4f3;border-left-color:#d92d20}.alert.b{background:#f3f5ff;border-left-color:#4f5fd6}.modal .alert{margin-bottom:12px}.offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.offer{border:1px solid var(--line);padding:16px;background:#fff;display:flex;flex-direction:column;gap:6px;min-width:0}.offer.win{border:2px solid var(--g);box-shadow:inset 0 4px 0 var(--y)}.offer .pr{font-family:var(--mono);font-size:22px;font-weight:700;margin:4px 0}.offer .split a:hover,.offer .muted a:hover{text-decoration:underline}.offer-docs{margin-top:8px}.offer-docs .ct{font-size:12.5px;margin-bottom:6px}.offer.slot{border:1.5px dashed var(--steel);background:#fafbfb;align-items:center;justify-content:center;gap:12px;min-height:180px;font-size:13px}.offer.slot.slim{min-height:0}.offer-form{grid-column:1/-1}.formgrid.tight{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.grow{flex:1 1 380px;min-width:0}.impact{margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.timeline{list-style:none;max-height:340px;overflow-y:auto}.tl{display:flex;gap:10px;font-size:12.5px;padding:8px 0;border-bottom:1px solid #f0f2f3}.tl:last-child{border:0}.tl i{width:8px;height:8px;border-radius:50%;background:var(--slate);margin-top:5px;flex-shrink:0}.tl.decision i{background:var(--y);box-shadow:0 0 0 1px var(--g)}.tl .t{color:var(--dim-text);font-size:11.5px;width:96px;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;background:#0e0f1073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal{width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal textarea{resize:vertical}.picker{display:flex;flex-direction:column;gap:6px;margin-top:10px}.picker .pick{background:#fff;border:1px solid var(--line);padding:10px 12px;text-align:left;cursor:pointer;font-size:13px}.picker .pick:hover{border-color:var(--g)}.stack{display:flex;flex-direction:column;gap:16px}.ok-msg{background:#ecf8f0;border-left:3px solid var(--ok);font-size:13px;padding:10px 12px;margin-bottom:14px}tr.row-warn td{background:#fffbe6}tr.row-warn td:first-child{box-shadow:inset 3px 0 0 var(--y)}.monthnav{display:flex;align-items:center;gap:8px}.legend{display:flex;gap:16px;font-size:12px;color:var(--slate);margin-top:8px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;margin-right:6px}tr.grp td{font-weight:700}tr.sub td:first-child{padding-left:28px;color:var(--slate)}.bgrid td{padding:4px 2px}.bgrid td:first-child{padding:4px 12px}.inp.cell{width:74px;padding:6px 5px;text-align:right;font-family:var(--mono);font-size:12px}.inp.cell.changed{background:#fffbe6;border-color:var(--y)}.inp.cell[aria-invalid=true]{border-color:#d92d20;background:#fff4f3}th.stick,td.stick{position:sticky;right:0;z-index:1;box-shadow:-1px 0 0 var(--line)}td.stick{background:#fff}.monthpick{display:inline-flex;gap:4px}.monthpick .inp{width:auto}.ai,.inp.ai{background:#fff3b0}.check.ai{padding:2px 6px}.review{align-items:flex-start;flex-wrap:nowrap}.review-side{width:580px;max-width:100%;flex-shrink:0;display:flex;flex-direction:column;gap:14px}.docview{flex:1;min-width:0;background:#5d6266;padding:12px;display:flex;flex-direction:column;gap:8px;position:sticky;top:14px}.docview iframe{width:100%;height:calc(100vh - 200px);min-height:520px;border:0;background:#fff}.docview img{max-width:100%;height:auto;align-self:center;background:#fff;box-shadow:0 4px 18px #0000004d}.docview-open{color:#fff;font-size:12px;align-self:flex-end}.review-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:520px}.review-actions .err{align-self:stretch}.review-newsupplier{padding:12px;margin:10px 0;box-shadow:none}.card.flush{padding:0}.checks .alert{margin-bottom:8px}@media(max-width:1100px){.review{flex-wrap:wrap}.review-side{width:100%}.docview{position:static;flex-basis:100%}}.alert.flash{margin-bottom:14px}.scan-shell{min-height:100vh;display:flex;flex-direction:column}.scan-top{display:flex;align-items:center;justify-content:space-between;background:var(--g);color:#fff;padding:12px 16px;font-size:14px}.scan-top a{color:var(--y)}.scan-main{width:100%;max-width:480px;margin:0 auto;padding:16px}.scan-card{display:flex;flex-direction:column;gap:14px}.scan-card .field{margin-bottom:0}.scan-big{width:100%;padding:16px;font-size:16px;text-align:center}.scan-thumbs{display:flex;gap:8px;flex-wrap:wrap}.scan-thumbs img{width:72px;height:96px;object-fit:cover;border:1px solid var(--line)}.scan-pages{list-style:none;display:flex;flex-direction:column;gap:8px}.scan-pages li{display:flex;align-items:center;gap:6px}.scan-pages li span{flex:1;font-size:13px}.scan-pages img{width:48px;height:64px;object-fit:cover;border:1px solid var(--line)}.scan-pages .btn{padding:8px 10px}.token-once{font-family:var(--mono);font-size:13px;word-break:break-all;background:#fafbfb;border:1px solid var(--line);padding:10px;-webkit-user-select:all;user-select:all}
