:root{--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--mono:"Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-full:999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5fb;--surface:#fff;--surface-2:#faf9ff;--surface-hover:#f1eefc;--border:#e8e6f4;--border-strong:#d9d5ee;--ink:#2a2e3d;--ink-strong:#14161f;--mut:#6b7280;--mut-2:#9096a8;--primary:#6c5dd3;--primary-hover:#5c4dc4;--primary-active:#4e40b3;--primary-ink:#fff;--primary-soft:#efebfc;--primary-soft-ink:#5b4fc4;--ok:#1e9e64;--ok-bg:#e7f8ef;--warn:#b7791f;--warn-bg:#fff4e1;--danger:#d64545;--danger-bg:#fdebec;--info:#2f6fed;--info-bg:#eaf1ff;--shadow-sm:0 1px 2px #14143c0d;--shadow:0 2px 10px #14143c12, 0 1px 2px #14143c0a;--shadow-lg:0 16px 40px #14143c24;--focus-ring:0 0 0 3px #6c5dd359;--line:var(--border);--bad:var(--danger)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#171a23;--surface-2:#1b1e28;--surface-hover:#232735;--border:#2a2e3b;--border-strong:#363b4b;--ink:#d7dae3;--ink-strong:#f5f6fa;--mut:#9ba1b0;--mut-2:#767c8c;--primary:#8677ee;--primary-hover:#9c8ff3;--primary-active:#ab9ff5;--primary-ink:#14161f;--primary-soft:#241f3d;--primary-soft-ink:#b7acf7;--ok:#3fbf8f;--ok-bg:#123423;--warn:#e0b04a;--warn-bg:#3a2c10;--danger:#ee7b72;--danger-bg:#3a1418;--info:#6fa0f5;--info-bg:#132a44;--shadow-sm:0 1px 2px #0006;--shadow:0 2px 10px #00000073;--shadow-lg:0 20px 48px #0000008c;--focus-ring:0 0 0 3px #8677ee73}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#171a23;--surface-2:#1b1e28;--surface-hover:#232735;--border:#2a2e3b;--border-strong:#363b4b;--ink:#d7dae3;--ink-strong:#f5f6fa;--mut:#9ba1b0;--mut-2:#767c8c;--primary:#8677ee;--primary-hover:#9c8ff3;--primary-active:#ab9ff5;--primary-ink:#14161f;--primary-soft:#241f3d;--primary-soft-ink:#b7acf7;--ok:#3fbf8f;--ok-bg:#123423;--warn:#e0b04a;--warn-bg:#3a2c10;--danger:#ee7b72;--danger-bg:#3a1418;--info:#6fa0f5;--info-bg:#132a44;--shadow-sm:0 1px 2px #0006;--shadow:0 2px 10px #00000073;--shadow-lg:0 20px 48px #0000008c;--focus-ring:0 0 0 3px #8677ee73}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}.appHeader{z-index:10;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.appHeader .logowrap{border-radius:var(--radius-sm);background:var(--primary-soft);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.appHeader .logowrap img{width:auto;height:24px;display:block}.appHeader .sub{color:var(--mut-2);letter-spacing:.06em;font-size:10px;font-weight:600;display:block}.appHeader .sub.brandline{color:var(--ink-strong);letter-spacing:.02em;font-size:14.5px;font-weight:800}.spacer{flex:1}.viewtoggle{border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface-2);gap:2px;padding:3px;display:flex}.viewtoggle button{color:var(--mut);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;padding:5px 14px;font-size:12.5px;font-weight:600;transition:background-color .12s,color .12s}.viewtoggle button:hover:not(:disabled):not(.on){color:var(--ink);background:var(--surface-hover)}.viewtoggle button.on{background:var(--primary);color:var(--primary-ink)}.viewtoggle button:disabled{opacity:.55;cursor:not-allowed}.custflag{border-radius:var(--radius-full);background:var(--warn-bg);color:var(--warn);align-items:center;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.appHeader .btn.ghost{border-radius:var(--radius-full);padding:6px 12px;font-size:12.5px;font-weight:600}.layout{min-height:calc(100vh - 61px);display:flex}aside{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:10px;width:248px;min-width:248px;padding:16px 12px 72px;display:flex}aside h3{text-transform:uppercase;letter-spacing:.06em;color:var(--mut-2);margin:12px 8px 2px;font-size:10.5px;font-weight:700}aside>div{flex-direction:column;gap:6px;display:flex}main{flex:1;min-width:0;max-width:none;padding:20px 24px 72px}.deal{text-align:left;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--surface);width:100%;color:inherit;box-shadow:var(--shadow-sm);padding:10px 12px;transition:box-shadow .15s,border-color .15s,background-color .15s;display:block;position:relative}.deal:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.deal.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary) inset}.deal .dn{color:var(--ink-strong);font-size:13.5px;font-weight:700}.deal .dm{color:var(--mut);margin-top:2px;font-size:12px}.dealdel{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--mut);cursor:pointer;opacity:0;padding:0;font-size:13px;line-height:18px;transition:opacity .15s;position:absolute;top:6px;right:6px}.deal:hover .dealdel,.dealdel:focus-visible{opacity:1}.dealdel:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.stagechip{border-radius:var(--radius-full);align-items:center;margin-top:6px;padding:2px 9px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.st-draft{background:var(--surface-2);color:var(--mut);border:1px solid var(--border)}.st-hlp{background:var(--warn-bg);color:var(--warn)}.st-approved{background:var(--ok-bg);color:var(--ok)}nav.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}nav.tabs a,nav.tabs button{cursor:pointer;color:var(--mut);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}nav.tabs a:hover:not(.on),nav.tabs button:hover:not(.on):not(:disabled){color:var(--ink)}nav.tabs a.on,nav.tabs button.on{color:var(--primary);border-bottom-color:var(--primary)}nav.tabs button:disabled{opacity:.4;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px 20px}.card h2{color:var(--ink-strong);margin:0 0 12px;font-size:15px;font-weight:700}.card h2 .hint{color:var(--mut-2);margin-left:8px;font-size:12px;font-weight:500}.hint{color:var(--mut-2);font-weight:500}.grid{gap:12px 16px;display:grid}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}.g4{grid-template-columns:repeat(4,1fr)}label.f{color:var(--mut);margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}label.f .hint{font-size:11px}input[type=text],input[type=number],input[type=date],select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font-variant-numeric:tabular-nums;padding:8px 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--mut-2)}select:hover:not(:disabled),input:hover:not(:disabled):not([type=checkbox]):not([type=radio]){border-color:var(--primary)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:16px;height:16px}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--surface-2);color:var(--mut-2);text-align:left;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px;font-size:11px;font-weight:600}th .hint{text-transform:none;letter-spacing:0}td{color:var(--ink);border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}tbody tr:hover td{background:var(--surface-hover)}td input,td select{padding:6px 8px;font-size:13px}tr.tot td{color:var(--ink-strong);background:var(--primary-soft);font-weight:700}.tblwrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.tblwrap table tr:last-child td{border-bottom:none}.btn{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn.gold{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.gold:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.gold:active:not(:disabled){background:var(--primary-active)}.btn.ghost{color:var(--ink);border-color:var(--border-strong);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--ink-strong)}.btn.sm{padding:6px 12px;font-size:12.5px}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:#0000}.btn.danger:hover:not(:disabled){background:var(--danger-bg);filter:brightness(.96)}.btn:disabled{opacity:.55;cursor:not-allowed}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px 12px;position:relative;overflow:hidden}.kpi:before{content:"";background:linear-gradient(90deg, var(--primary), var(--info));height:3px;position:absolute;top:0;left:0;right:0}.kpi .kl{color:var(--mut);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:600}.kpi .kv{color:var(--ink-strong);font-variant-numeric:tabular-nums;margin-top:4px;font-size:19px;font-weight:800}.kpi .ks{color:var(--mut-2);font-size:11.5px}.note{color:var(--mut);margin:6px 0;font-size:12.5px}.warnbox,.okbox,.errbox{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:12px;padding:10px 14px;font-size:13px}.warnbox{background:var(--warn-bg);color:var(--warn)}.okbox{background:var(--ok-bg);color:var(--ok)}.errbox{background:var(--danger-bg);color:var(--danger)}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;color:var(--ink);text-align:left;padding:4px 12px;font-size:12px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s}.chip:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-soft-ink)}.outblock{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:12px;overflow:hidden}.outblock .ohead{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.outblock .ohead b{color:var(--ink-strong);flex:1;font-size:13px}.outblock pre{white-space:pre-wrap;font-family:var(--sans);max-height:340px;margin:0;padding:12px 14px;font-size:13px;overflow:auto}.gantt{gap:2px;font-size:11px;display:grid}.gantt .gph{white-space:nowrap;text-overflow:ellipsis;padding:4px 6px;overflow:hidden}.gantt .gcell{background:var(--surface-2);border-radius:4px;height:20px}.gantt .gcell.fill{background:var(--primary)}.gantt .gcell.ms{background:var(--ink-strong);position:relative}.mspill{background:var(--primary-soft);color:var(--primary-soft-ink);border-radius:var(--radius-full);margin-left:6px;padding:1px 8px;font-size:10.5px;font-weight:600;display:inline-block}.small{color:var(--mut);font-size:12px}.right{text-align:right}.center{text-align:center}.savebar{background:var(--surface);border-top:1px solid var(--border);color:var(--mut);z-index:5;align-items:center;gap:8px;padding:10px 24px;font-size:12.5px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #14143c0d}.archPreview svg{max-width:100%;height:auto}@media (max-width:900px){.layout{flex-direction:column}aside{width:100%;min-width:0;padding-bottom:16px}.g2,.g3,.g4{grid-template-columns:1fr}}.chip:disabled{cursor:not-allowed;opacity:.55}.chip:disabled:hover{border-color:var(--border);background:var(--surface-2);color:var(--ink)}.st-pending{background:var(--warn-bg);color:var(--warn)}.st-active{background:var(--ok-bg);color:var(--ok)}.st-rejected{background:var(--danger-bg);color:var(--danger)}.st-disabled{background:var(--surface-2);color:var(--mut);border:1px solid var(--border)}.st-final{background:var(--ink-strong);color:var(--surface)}.rolebar{border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary-soft-ink);align-items:center;gap:4px;padding:5px 12px;font-size:12px;display:inline-flex}.statusbar{flex-wrap:wrap;align-items:center;gap:14px;padding:4px 0 14px;display:flex}.sb-top{color:var(--ink-strong);flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.flow{align-items:center;gap:3px;display:flex}.flowstep{color:var(--mut);align-items:center;display:flex}.flowstep .dot{background:var(--surface-2);border:1px solid var(--border-strong);width:20px;height:20px;color:var(--mut);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.flowstep.done .dot{background:var(--ok);border-color:var(--ok);color:#fff}.flowstep.current .dot{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.flowstep.current{color:var(--ink-strong);gap:6px;margin:0 2px;font-size:12px;font-weight:700}.flowline{background:var(--border-strong);width:14px;height:1px;margin:0 3px}.vpill,.lockbadge,.badge-sent{border-radius:var(--radius-full);padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.vpill.draft{background:var(--warn-bg);color:var(--warn)}.vpill.final{background:var(--ok-bg);color:var(--ok)}.lockbadge{background:var(--warn-bg);color:var(--warn)}.badge-sent{background:var(--info-bg);color:var(--info)}.versionbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;display:flex}.vhist{max-height:160px;margin-top:8px;font-size:12px;overflow:auto}.vhist .vrow{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:4px 0;display:flex}.locked-block{opacity:.45;pointer-events:none}.apr-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-bottom:10px;padding:12px 14px}.apr-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.apr-head b{color:var(--ink-strong)}.apr-comment{color:var(--mut);border-left:2px solid var(--border-strong);margin-top:6px;padding-left:8px;font-size:12px}.salesblock{max-width:560px;margin:40px auto}.salesblock .vpill{margin-top:8px}.oppcard{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);margin-bottom:8px;padding:12px 14px}.mockcard{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2)}.mockflag{letter-spacing:.03em;background:var(--info-bg);color:var(--info);border-radius:var(--radius-full);vertical-align:2px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:700}.aifield{border:1px solid var(--info);background:var(--info-bg);border-radius:var(--radius-sm);margin-bottom:6px;padding:8px 10px}.aifield .lbl{color:var(--mut);justify-content:space-between;font-size:11px;display:flex}.aitag{background:var(--info);color:#fff;border-radius:var(--radius-full);padding:1px 7px;font-size:10px;font-weight:700}.cmp-row{grid-template-columns:160px 1fr 60px;align-items:center;gap:10px;margin-bottom:4px;font-size:12.5px;display:grid}.cmp-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);height:8px;overflow:hidden}.cmp-bar i{background:var(--primary);height:100%;display:block}.cmp-bar i.flag{background:var(--danger)}.cmp-flag{color:var(--danger);margin:2px 0 10px;font-size:12px}.cmp-flag textarea{margin-top:4px;font-size:12px}.modalBackdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c188c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(520px,100%);max-height:calc(100vh - 32px);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:auto}.modal header{border-bottom:1px solid var(--border);padding:18px 22px 12px}.modal h3{color:var(--ink-strong);margin:0;font-size:16px}.modal header p{opacity:.75;word-break:break-word;margin:4px 0 0;font-size:13px}.modal .modalBody{gap:14px;padding:16px 22px;display:grid}.modal .modalStats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.modal .modalStat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px}.modal .modalStat b{color:var(--ink-strong);font-size:18px;display:block}.modal .modalNote{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);padding:10px 12px;font-size:13px}.modal footer{justify-content:flex-end;gap:8px;padding:12px 22px 18px;display:flex}.modal .modalMessage{white-space:pre-line;word-break:break-word;font-size:14px;line-height:1.5}.modal .modalInput{resize:vertical;width:100%;font:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px}.modal .btn.gold.danger{background:var(--danger);border-color:var(--danger);color:#fff}
