:root{--paper: #f5f8fc;--paper-raised: #ffffff;--paper-inset: #eef3fb;--paper-deep: #e3ebf7;--ink: #0b1626;--ink-soft: #43536b;--ink-faint: #8896ad;--blue-950: #061633;--blue-900: #0d2c6b;--blue-800: #123e93;--blue-700: #1a52c8;--blue-100: #d9e6ff;--blue-50: #edf3ff;--accent-600: #0284c7;--accent-100: #d6f0fd;--slate-500: #4c7aa8;--slate-100: #e6edf6;--warn: #b45309;--pos: #0e8a4e;--neg: #d92d20;--on-primary: #ffffff;--rule: #d7e0ee;--rule-soft: #e7edf7;--rule-strong: #b4c2d8;--rail-a: #061633;--rail-b: #0d2c6b;--rail-text: #eef4ff;--rail-text-muted: rgba(214, 228, 255, .6);--rail-border: rgba(255, 255, 255, .14);--rail-active-bg: #ffffff;--rail-active-text: #0d2c6b;--rail-brand-bg: #ffffff;--rail-brand-fg: #0d2c6b;--glow-a: rgba(13, 44, 107, .09);--glow-b: rgba(2, 132, 199, .08);--grid-line: rgba(67, 83, 107, .05);--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--font-ui: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--radius: 10px;--radius-lg: 16px;--shadow-1: 0 1px 2px rgba(11, 22, 38, .06), 0 4px 14px rgba(11, 22, 38, .07);--shadow-2: 0 2px 6px rgba(11, 22, 38, .08), 0 14px 40px rgba(11, 22, 38, .14);--shadow-blue: 0 12px 34px rgba(13, 44, 107, .32);--ease: cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme: dark){:root{--paper: #000000;--paper-raised: #0c0f14;--paper-inset: #000000;--paper-deep: #151a24;--ink: #ffffff;--ink-soft: #c3cbd8;--ink-faint: #7c8799;--blue-950: #0a0c10;--blue-900: #2e6bff;--blue-800: #1f5ae0;--blue-700: #4d84ff;--blue-100: #16223c;--blue-50: #0e1524;--accent-600: #22a8e6;--accent-100: #0b2a3a;--slate-500: #5f7fa5;--slate-100: #131a26;--warn: #fbbf24;--pos: #34d399;--neg: #f87171;--on-primary: #ffffff;--rule: #232936;--rule-soft: #191f2b;--rule-strong: #3a4354;--rail-a: #000000;--rail-b: #090b10;--rail-text: #ffffff;--rail-text-muted: rgba(255, 255, 255, .52);--rail-border: rgba(255, 255, 255, .14);--rail-active-bg: #1c2a45;--rail-active-text: #ffffff;--rail-brand-bg: #ffffff;--rail-brand-fg: #000000;--glow-a: rgba(46, 107, 255, .12);--glow-b: rgba(34, 168, 230, .09);--grid-line: rgba(255, 255, 255, .04);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .4);--shadow-2: 0 2px 6px rgba(0, 0, 0, .5), 0 16px 48px rgba(0, 0, 0, .5);--shadow-blue: 0 12px 34px rgba(0, 0, 0, .55)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(1200px 700px at 12% -8%,var(--glow-a),transparent 55%),radial-gradient(1000px 700px at 108% 112%,var(--glow-b),transparent 55%),repeating-linear-gradient(0deg,transparent 0px,transparent 27px,var(--grid-line) 27px,var(--grid-line) 28px);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}::selection{background:var(--accent-600);color:#fff}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes tick{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}.rise{animation:rise .7s var(--ease) both;animation-delay:var(--d, 0ms)}.login-wrap{position:relative;z-index:1;min-height:100%;display:grid;place-items:center;padding:var(--sp-5)}.login-card{width:min(420px,100%);background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:var(--sp-7) var(--sp-6) var(--sp-6);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue-900),var(--slate-500) 55%,var(--accent-600))}.brand{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6)}.brand-mark{width:46px;height:46px;border-radius:10px;background:var(--blue-900);color:var(--on-primary);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:24px;box-shadow:var(--shadow-blue)}.brand-name{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;line-height:1}.brand-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:5px}.field{display:block;margin-bottom:var(--sp-4)}.field-label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.input{width:100%;font-family:var(--font-ui);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:11px 13px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.input:focus{outline:none;border-color:var(--blue-700);box-shadow:0 0 0 3px var(--blue-100)}.login-error{color:var(--neg);font-size:13px;margin:0 0 var(--sp-3)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;cursor:pointer;font-family:var(--font-ui);font-weight:500;font-size:14px;padding:11px 16px;transition:transform .12s var(--ease),box-shadow .12s var(--ease),background .12s var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--blue-900);color:var(--on-primary);box-shadow:0 3px 0 var(--blue-950)}.btn-primary:hover{background:var(--blue-800)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--rule)}.btn-ghost:hover{border-color:var(--rule-strong);color:var(--ink)}.btn-block{width:100%}.shell{position:relative;z-index:1;display:grid;grid-template-columns:232px 1fr;min-height:100%}.rail{background:linear-gradient(180deg,var(--rail-a),var(--rail-b));color:var(--rail-text);display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-4);position:sticky;top:0;height:100vh}.rail .brand{margin-bottom:var(--sp-6);padding:0 var(--sp-2)}.rail .brand-mark{background:var(--rail-brand-bg);color:var(--rail-brand-fg);box-shadow:none}.rail .brand-name{color:var(--rail-text);font-size:19px}.rail .brand-sub{color:var(--rail-text-muted)}.nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:10px 12px;border-radius:8px;color:var(--rail-text-muted);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;background:transparent;text-align:left;transition:background .14s var(--ease),color .14s var(--ease)}.nav-item:hover{background:#ffffff12;color:var(--rail-text)}.nav-item.active{background:var(--rail-active-bg);color:var(--rail-active-text)}.nav-item .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.45;flex:none}.nav-item.active .dot{opacity:1;background:var(--accent-600)}.rail-foot{margin-top:auto;padding:var(--sp-3) var(--sp-2) 0;border-top:1px solid var(--rail-border);font-size:12px;color:var(--rail-text-muted)}.rail-user{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.rail-user .avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-600);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.rail-user .who{line-height:1.15}.rail-user .who b{display:block;font-size:13px;color:var(--rail-text)}.rail-user .who span{font-size:11px;color:var(--rail-text-muted)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--rule);background:var(--paper-raised);position:sticky;top:0;z-index:20}.topbar h1{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:0}.topbar .crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.topbar .spacer{flex:1}.period-pill{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:13px;color:var(--blue-900);background:var(--blue-50);border:1px solid var(--blue-100);border-radius:999px;padding:7px 14px}.period-pill b{font-weight:600}.tabs{display:flex;gap:4px;padding:var(--sp-3) var(--sp-6);border-bottom:1px solid var(--rule);background:var(--paper)}.tab{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);background:transparent;border:1px solid transparent;border-radius:6px;padding:7px 14px;cursor:pointer;transition:all .14s var(--ease)}.tab:hover{color:var(--ink)}.tab.active{background:var(--blue-900);color:var(--on-primary)}.basis-toggle{margin-left:auto;display:flex;align-items:center;gap:2px;border:1px solid var(--rule);border-radius:8px;overflow:hidden}.basis-toggle button{border:0;background:transparent;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:6px 10px;cursor:pointer}.basis-toggle button.active{background:var(--ink);color:var(--paper-raised)}.content{padding:var(--sp-5) var(--sp-6) var(--sp-7);min-width:0}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;border-radius:999px;padding:5px 11px;border:1px solid var(--rule);color:var(--ink-soft);background:var(--paper-raised)}.chip.ok{border-color:var(--pos);color:var(--pos)}.chip.warn{border-color:var(--warn);color:var(--warn)}.chip.muted{color:var(--ink-faint)}.statement-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.statement-title{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--rule)}.statement-title h2{font-family:var(--font-display);font-weight:600;font-size:20px;margin:0;letter-spacing:-.01em}.statement-title p{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:4px 0 0}.statement-scroll{overflow:auto;max-height:calc(100vh - 250px)}table.statement{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-variant-numeric:tabular-nums}.statement thead th{position:sticky;top:0;z-index:3;background:var(--paper-deep);border-bottom:2px solid var(--rule-strong);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);padding:10px 12px;white-space:nowrap;text-align:right}.statement thead th.corner{left:0;z-index:4;text-align:left;min-width:220px}.statement thead th.col-entity{text-align:right}.statement thead th.col-group{background:var(--blue-100);color:var(--blue-900);border-bottom-color:var(--blue-800)}.statement thead th.col-consolidated{background:var(--blue-900);color:var(--on-primary);border-bottom-color:var(--blue-950)}.statement thead th.col-elim{color:var(--ink-faint);font-style:italic}.statement thead th.col-prior{color:var(--ink-faint)}.statement tbody td{border-bottom:1px solid var(--rule-soft);padding:7px 12px;white-space:nowrap;text-align:right;font-family:var(--font-mono);font-size:12.5px}.statement tbody th.row-label{position:sticky;left:0;z-index:2;background:var(--paper-raised);text-align:left;font-family:var(--font-ui);font-weight:400;font-size:13px;color:var(--ink);padding:7px 12px;border-bottom:1px solid var(--rule-soft);border-right:1px solid var(--rule-soft)}.statement tr.row-section th,.statement tr.row-section td{border:0;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.01em;color:var(--blue-900);background:transparent;padding:14px 12px 8px;text-align:left}.statement tr.row-line th.row-label{padding-left:24px}.statement tr.row-subtotal th.row-label{padding-left:24px;font-weight:500;color:var(--ink)}.statement tr.row-total th,.statement tr.row-total td{font-weight:600;color:var(--ink);border-top:1px solid var(--rule-strong);border-bottom:0;padding-top:9px}.statement tr.row-grand th,.statement tr.row-grand td{font-weight:600;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--blue-50)}.statement tr.row-grand th.row-label{font-family:var(--font-display);font-size:14px;color:var(--blue-900);background:var(--blue-50)}.statement td.col-consolidated{background:var(--blue-50);font-weight:600;color:var(--blue-900)}.statement td.col-group{background:var(--blue-100)}.statement td.col-elim,.statement td.col-prior{color:var(--ink-faint)}.statement td.num-neg{color:var(--neg)}.statement tbody tr.row-line:hover th.row-label,.statement tbody tr.row-line:hover td{background-color:var(--slate-100)}.statement td.cell-click{cursor:pointer;position:relative}.statement td.cell-click:hover{background-color:var(--accent-100)!important}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040a1a75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;animation:fade .25s var(--ease) both}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,92vw);background:var(--paper-raised);border-left:1px solid var(--rule);box-shadow:var(--shadow-2);z-index:41;display:flex;flex-direction:column;animation:rise .4s var(--ease) both}.drawer-head{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5);border-bottom:1px solid var(--rule)}.drawer-head h3{font-family:var(--font-display);font-weight:600;font-size:19px;margin:0;letter-spacing:-.01em}.drawer-head .sub{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-top:3px;letter-spacing:.04em}.drawer-close{margin-left:auto;border:0;background:transparent;color:var(--ink-soft);font-size:20px;cursor:pointer;padding:0 4px}.drawer-body{flex:1;overflow:auto;padding:var(--sp-5)}.tree-node{border-left:2px solid var(--rule-soft);margin-left:10px;padding-left:var(--sp-4);position:relative}.tree-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:7px 0;font-size:13px;border-bottom:1px dashed var(--rule-soft)}.tree-row .col-name{font-weight:500;color:var(--ink)}.tree-row .col-formula{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-faint);margin-top:2px}.tree-row .col-value{font-family:var(--font-mono);font-size:12.5px;font-weight:600;white-space:nowrap}.tree-row .col-value.neg{color:var(--neg)}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:13px;margin-bottom:var(--sp-4)}.kv dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding-top:3px}.kv dd{margin:0;color:var(--ink)}.formula-line{font-family:var(--font-mono);font-size:12px;background:var(--paper-inset);border:1px solid var(--rule-soft);border-radius:8px;padding:10px 12px;color:var(--ink-soft);overflow-wrap:anywhere;margin:0 0 var(--sp-4)}.section-label{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--blue-900);margin:var(--sp-5) 0 var(--sp-3)}.entity-card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--sp-5);margin-bottom:var(--sp-4)}.entity-card h3{font-family:var(--font-display);font-weight:600;font-size:18px;margin:0 0 2px}.entity-card .code{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-600);font-weight:600}.entity-card p{font-size:13.5px;color:var(--ink-soft);margin:var(--sp-2) 0 0;line-height:1.55}.tag{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-soft);border-radius:5px;padding:2px 7px;margin-right:6px}.tag.group{border-color:var(--blue-700);color:var(--blue-700)}.empty{text-align:center;color:var(--ink-faint);padding:var(--sp-7);font-size:14px}.muted{color:var(--ink-faint)}.mono{font-family:var(--font-mono)}.spin{display:inline-block;width:16px;height:16px;border:2px solid var(--rule-strong);border-top-color:var(--blue-700);border-radius:50%;animation:rotate .7s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.loading-center{min-height:40vh;display:grid;place-items:center}@media (max-width: 820px){.shell{grid-template-columns:1fr}.rail{display:none}.topbar{flex-wrap:wrap}}
