:root{--bg: #0e1319;--panel: #161d26;--panel-2: #1d2631;--panel-3: #243040;--line: #2e3a48;--line-soft: #232d39;--text: #eaf0f7;--text-2: #c2ceda;--muted: #93a2b2;--accent: #52a8ff;--accent-soft: #17293d;--ok: #4ac26b;--ok-soft: #12281a;--ok-line: #27512f;--warn: #e0a92b;--warn-soft: #2a2210;--warn-line: #5c4820;--ko: #ff6b60;--ko-soft: #2c1615;--ko-line: #63302c;--violet: #b088f9;--f-xs: 12px;--f-sm: 13px;--f-md: 15px;--f-lg: 17px;--f-xl: 20px;--f-num: 26px;--f-table: 13.5px;--f-mono: 13px;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .22);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .55);--mono: "Cascadia Mono", "JetBrains Mono", Consolas, ui-monospace, monospace}:root[data-size=grande]{--f-xs: 13px;--f-sm: 14.5px;--f-md: 16.5px;--f-lg: 19px;--f-xl: 22px;--f-num: 29px;--f-table: 15px;--f-mono: 14.5px}:root[data-size=xl]{--f-xs: 14.5px;--f-sm: 16px;--f-md: 18px;--f-lg: 21px;--f-xl: 25px;--f-num: 33px;--f-table: 16.5px;--f-mono: 16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:var(--f-md)/1.6 "Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:var(--f-sm);color:inherit}h1,h2,h3{line-height:1.35}a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#38465a;border-radius:8px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#4a5b72}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding:22px;max-width:1760px;width:100%;margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:0 1px 2px #0000002e}.card>h2{font-size:var(--f-md);margin:0 0 14px;font-weight:650;letter-spacing:-.1px}.card>h2 small{color:var(--muted);font-weight:400;margin-left:10px;font-size:var(--f-sm)}.card>h3,.doc h3{font-size:var(--f-sm);margin:22px 0 9px;font-weight:650;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px}.btn{background:var(--accent);border:1px solid transparent;color:#06121f;font-weight:620;padding:9px 18px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--f-sm);transition:filter .12s,transform .05s;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.btn:hover:not(:disabled){filter:brightness(1.1)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn.ghost{background:var(--panel-2);border-color:var(--line);color:var(--text);font-weight:500}.btn.ghost:hover:not(:disabled){background:var(--panel-3);filter:none}.btn.sm{padding:5px 11px;font-size:var(--f-xs)}.btn.lg{padding:12px 26px;font-size:var(--f-md)}input[type=text],input[type=number],input[type=password],select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;width:100%;transition:border-color .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:#3c4b5e}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}label.field{display:block;margin-bottom:13px}label.field>span{display:block;color:var(--muted);font-size:var(--f-xs);margin-bottom:5px}label.field>span em{font-style:normal}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1200px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:var(--f-mono)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--f-table)}th,td{padding:8px 11px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}th{color:var(--muted);font-weight:600;font-size:var(--f-xs);letter-spacing:.3px;position:sticky;top:0;background:var(--panel-2);z-index:1;border-bottom:1px solid var(--line);text-transform:uppercase}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}tbody tr:nth-child(2n){background:#ffffff04}tbody tr:hover{background:var(--panel-2)}tr.total td{font-weight:700;border-top:2px solid var(--line);background:var(--panel-2)}.scroll{overflow:auto;max-height:64vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.pos{color:var(--ok)}.neg{color:var(--ko)}.zero{color:var(--muted)}.tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:20px;font-size:var(--f-xs);border:1px solid var(--line);background:var(--panel-2);color:var(--text-2);white-space:nowrap}.tag.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.tag.ko{color:var(--ko);border-color:var(--ko-line);background:var(--ko-soft)}.tag.warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.tag.info{color:var(--muted)}.alert{padding:13px 16px;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:14px;font-size:var(--f-sm);line-height:1.65;background:var(--panel-2);color:var(--text-2);border-left-width:3px}.alert.warn{border-color:var(--warn-line);background:var(--warn-soft);color:#ecd08b}.alert.ko{border-color:var(--ko-line);background:var(--ko-soft);color:#ffb0a9}.alert.ok{border-color:var(--ok-line);background:var(--ok-soft);color:#9fdcaf}.alert.info{border-left-color:var(--accent)}.alert b{color:var(--text)}.alert pre{font-size:var(--f-xs);background:#00000047;padding:10px;border-radius:var(--radius-sm);overflow:auto}.tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:10px 15px;cursor:pointer;font-size:var(--f-sm);transition:color .12s}.tabs button:hover{color:var(--text-2)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabs .count{color:var(--muted);font-size:var(--f-xs);margin-left:7px;background:var(--panel-2);padding:1px 7px;border-radius:10px}.kpi .label{color:var(--muted);font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.boot{display:grid;place-items:center;min-height:100vh;color:var(--muted);gap:12px;font-size:var(--f-md)}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(1200px 700px at 50% -15%,#1e2c3d 0%,var(--bg) 62%)}.login{width:100%;max-width:520px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:var(--shadow-lg)}.login-brand{margin-bottom:26px}.login-mark{display:inline-grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);font-size:30px;line-height:1}.login-brand h1{font-size:var(--f-xl);margin:0 0 5px;letter-spacing:-.3px}.login-brand p{margin:0;color:var(--muted);font-size:var(--f-sm)}.login .pw{display:flex;gap:8px}.login .pw input{font-family:var(--mono);letter-spacing:.5px;padding:11px 12px}.pw-meter{position:relative;height:5px;background:var(--panel-2);border-radius:4px;margin:6px 0 20px}.pw-meter>div{height:100%;background:linear-gradient(90deg,var(--warn),var(--ok));border-radius:4px;transition:width .18s}.pw-meter>span{position:absolute;right:0;top:10px;font-size:var(--f-xs);color:var(--muted)}.login .btn{width:100%;justify-content:center;padding:12px;font-size:var(--f-md)}.login-note{color:var(--muted);font-size:var(--f-xs);line-height:1.7;margin:22px 0 0}.login-note code{background:var(--panel-2);padding:1px 6px;border-radius:4px;font-family:var(--mono)}.drop{border:2px dashed var(--line);border-radius:var(--radius);padding:40px 22px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s;background:linear-gradient(180deg,rgba(82,168,255,.03),transparent)}.drop:hover,.drop.over{border-color:var(--accent);color:var(--text);background:#52a8ff0f}.drop.busy{cursor:progress}.drop-icon{font-size:38px;line-height:1;margin-bottom:10px;opacity:.45}.drop-main{font-size:var(--f-lg);color:var(--text);font-weight:550}.drop-sub{font-size:var(--f-sm);margin-top:8px;line-height:1.7}.drop-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.hintbar{margin-top:14px;padding:13px 16px;border-left:3px solid var(--accent);background:var(--panel-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--f-sm);color:var(--muted);line-height:1.7}.hintbar b{color:var(--text)}.filegroup{margin-bottom:22px}.filegroup-head{display:flex;align-items:center;gap:12px;padding:4px 2px 12px;flex-wrap:wrap}.filegroup-head .fname{font-weight:650;font-size:var(--f-md)}.sheet{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:11px;overflow:hidden;background:var(--panel)}.sheet>.head{display:flex;align-items:center;gap:14px;padding:12px 15px;background:var(--panel-2)}.sheet>.head .name{font-weight:650;font-size:var(--f-md)}.sheet>.body{padding:16px;border-top:1px solid var(--line)}.sheet select{width:auto;min-width:172px}.sheet.sec{border-left:3px solid var(--accent)}.sheet.cur{border-left:3px solid var(--violet)}.sheet.off{border-left:3px solid var(--line);opacity:.58}.sheet.off:hover{opacity:.85}.sheet-stats{display:flex;gap:18px;font-size:var(--f-xs);color:var(--muted);white-space:nowrap}.sheet-stats b{color:var(--text);font-size:var(--f-sm)}tr.picked{background:var(--accent-soft)!important}tr.picked td{border-bottom-color:var(--accent)}.box{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px}.box h3{margin:0 0 8px;font-size:var(--f-sm);text-transform:none;letter-spacing:0;color:var(--text)}.box p{margin:0 0 9px;font-size:var(--f-sm);line-height:1.65}.doc{max-width:1120px}.doc p,.doc li,.doc dd{font-size:var(--f-md);line-height:1.8}.doc .lead{color:var(--text-2);font-size:var(--f-md)}.doc ol,.doc ul{padding-left:22px}.doc code{background:var(--panel-2);padding:2px 6px;border-radius:4px;font-size:var(--f-mono);font-family:var(--mono)}.doc .card>h2{font-size:var(--f-xl)}.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-bottom:18px;scroll-margin-top:80px}.step-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}.step-head h2{margin:0;font-size:var(--f-lg);letter-spacing:-.2px}.step-n{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--accent);color:#06121f;font-weight:750;font-size:var(--f-sm)}.step h3{margin-top:26px}.formula{background:#0a1017;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:15px 19px;margin:16px 0;font-family:var(--mono);font-size:var(--f-mono);line-height:2.1;color:var(--text)}.formula b{color:var(--accent)}.toc{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:2px;margin-top:16px}.toc a{display:flex;gap:11px;align-items:baseline;color:var(--muted);text-decoration:none;padding:7px 10px;border-radius:var(--radius-sm);font-size:var(--f-sm)}.toc a:hover{background:var(--panel-2);color:var(--text)}.toc a span{color:var(--accent);font-variant-numeric:tabular-nums;min-width:18px;font-family:var(--mono)}.glossary{margin:0}.glossary>div{display:grid;grid-template-columns:240px 1fr;gap:18px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.glossary dt{font-weight:650}.glossary dd{margin:0;color:var(--muted)}@media(max-width:800px){.glossary>div{grid-template-columns:1fr;gap:3px}}.proc{counter-reset:p;list-style:none;padding:0;margin:0}.proc li{counter-increment:p;position:relative;padding:0 0 24px 48px;border-left:1px solid var(--line);margin-left:15px}.proc li:last-child{border-left-color:transparent;padding-bottom:0}.proc li:before{content:counter(p);position:absolute;left:-15px;top:-2px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);color:var(--accent);font-size:var(--f-sm);font-weight:700}.proc h3{margin:3px 0 7px;font-size:var(--f-md);text-transform:none;letter-spacing:0;color:var(--text)}.proc p{margin:0 0 7px}.proc .tip{color:var(--muted);font-size:var(--f-sm);border-left:2px solid var(--line);padding-left:12px}.faq>div{border-bottom:1px solid var(--line-soft)}.faq button{width:100%;text-align:left;background:none;border:none;color:var(--text);padding:15px 0;cursor:pointer;font-size:var(--f-md);display:flex;gap:14px;align-items:baseline}.faq button:hover{color:var(--accent)}.faq button span{color:var(--accent);font-family:var(--mono);width:14px;flex:none}.faq>div.open button{font-weight:650}.faq p{margin:0 0 16px 28px;color:var(--muted)}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#02050abd}.tour-hole{position:absolute;border-radius:12px;border:2px solid var(--accent);box-shadow:0 0 0 9999px #02050abd,0 0 26px #52a8ff80;pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.tour-tip{position:absolute;width:470px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--accent);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-lg)}.tour-head{display:flex;align-items:center;margin-bottom:8px}.tour-step{color:var(--accent);font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.8px;flex:1;font-weight:650}.tour-tip h3{margin:0 0 8px;font-size:var(--f-lg)}.tour-tip .tour-body{overflow:auto;margin-bottom:16px}.tour-tip p{margin:0;color:var(--text-2);font-size:var(--f-sm);line-height:1.75}.tour-bar{display:flex;align-items:center;gap:8px}.tour-dots{display:flex;gap:6px}.tour-dots span{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;transition:all .15s}.tour-dots span:hover{background:var(--muted)}.tour-dots span.on{background:var(--accent);width:20px;border-radius:4px}.sizer{display:flex;align-items:center;gap:2px;background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:2px}.sizer button{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px 9px;border-radius:5px;line-height:1}.sizer button:hover{color:var(--text);background:var(--panel-2)}.sizer button.on{background:var(--accent);color:#06121f;font-weight:700}.sizer .s1{font-size:11px}.sizer .s2{font-size:13px}.sizer .s3{font-size:15px}.spinner{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;display:inline-block;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.section-lead{color:var(--muted);font-size:var(--f-sm);line-height:1.75;margin:-4px 0 18px;max-width:96ch}.choice{text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;cursor:pointer;color:var(--text);transition:border-color .12s,background .12s}.choice:hover{border-color:var(--muted)}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.choice-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:var(--f-md)}.choice .dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-soft);flex:none}.choice.on .dot{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 45%,transparent 46%)}.choice p{margin:0 0 7px;font-size:var(--f-sm);line-height:1.7;color:var(--text-2)}.choice p.muted{margin-bottom:0}header.top{display:flex;align-items:center;gap:16px;padding:7px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#1b2531,#151c25);position:sticky;top:0;z-index:30;box-shadow:0 1px #00000059}header.top .spacer{flex:1}.brand{display:flex;align-items:center;gap:11px;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);color:var(--text)}.brand:hover{background:#ffffff0d}.brand .mark{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:20px;line-height:1}.brand:hover .mark{border-color:var(--accent)}.brand span span,.brand>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.brand b{font-size:var(--f-md);font-weight:650;letter-spacing:-.2px}.brand em{font-style:normal;font-size:var(--f-xs);color:var(--muted)}nav.flow{display:flex;align-items:stretch;gap:4px}nav.flow .step{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid transparent;color:var(--muted);padding:5px 13px 5px 7px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}nav.flow .step:hover:not(:disabled){background:var(--panel-2);color:var(--text)}nav.flow .step:disabled{opacity:.35;cursor:not-allowed}nav.flow .step .num{display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:50%;border:1.5px solid currentColor;font-size:var(--f-xs);font-weight:700}nav.flow .step .lbl{display:flex;flex-direction:column;line-height:1.2;font-size:var(--f-sm)}nav.flow .step .lbl em{font-style:normal;font-size:calc(var(--f-xs) * .88);opacity:.65;margin-top:-1px}nav.flow .step.done{color:var(--text-2)}nav.flow .step.done .num{border-color:var(--ok);color:var(--ok)}nav.flow .step.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}nav.flow .step.active .num{background:var(--accent);border-color:var(--accent);color:#06121f}@media(max-width:1250px){nav.flow .step .lbl em{display:none}}@media(max-width:1050px){nav.flow .step .lbl{display:none}nav.flow .step{padding:6px}}nav.refs{display:flex;gap:2px;background:var(--bg);padding:3px;border-radius:var(--radius);border:1px solid var(--line-soft)}nav.refs button{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px 13px;border-radius:var(--radius-sm);font-size:var(--f-sm)}nav.refs button:hover{color:var(--text);background:var(--panel-2)}nav.refs button.active{background:var(--panel-3);color:var(--text);font-weight:600}.context-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 22px;font-size:var(--f-sm);background:linear-gradient(90deg,var(--warn-soft),transparent 70%);border-bottom:1px solid var(--warn-line);color:var(--text-2)}.context-bar b{color:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}.kpi{background:linear-gradient(158deg,var(--panel-2) 0%,var(--panel) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0;overflow:hidden}.kpi .label{color:var(--muted);font-size:var(--f-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--f-num);line-height:1.15;margin-top:6px;letter-spacing:-.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .value.md{font-size:calc(var(--f-num) * .84)}.kpi .value.sm{font-size:calc(var(--f-num) * .7);letter-spacing:-.3px}.kpi .value.xs{font-size:calc(var(--f-num) * .58);letter-spacing:0}.kpi .note{color:var(--muted);font-size:var(--f-xs);margin-top:5px}.sticky-actions{position:sticky;bottom:16px;box-shadow:var(--shadow)}tr.current td{box-shadow:inset 3px 0 0 var(--accent)}tr.current td:first-child{position:relative}
