:root{--brand-navy: #0f3460;--brand-cyan: #00a8cc;--brand-indigo: #1f1b4d;--brand-plum: #3a005c;--brand-violet: #6a0572;--brand-forest: #1b4d3e;--brand-sky: #5bbad5;--ground: #f4f6f9;--surface: #ffffff;--sunk: #ebeff4;--hairline: #e6eaee;--hairline-firm: #7b8898;--ink: #111a26;--muted: #5a6675;--dim: #626b77;--navy: #0f3460;--cyan: #07728c;--cyan-quiet: #e9f7fb;--critical: #b4342a;--critical-bg: #fbeceb;--warning: #8f6210;--warning-bg: #fbf3e3;--ok: #1b6b4c;--ok-bg: #e8f3ee;--bar: #788797;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 72px;--r-sm: 4px;--r-md: 8px;--r-pill: 999px;--rail-width: 216px;--main-max: 1180px;--t-fast: .12s;--t-sheet: .2s;--font-sans: "Heebo", "Assistant", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--t-display: 40px;--t-h1: 23px;--t-h2: 18px;--t-lg: 15px;--t-md: 14px;--t-sm: 13px;--t-xs: 12.5px;--t-label: 11px}:root[data-theme=dark]{--ground: #0a1420;--surface: #0f2036;--sunk: #0c1a2c;--hairline: #1c3552;--hairline-firm: #4a7098;--ink: #e8eff6;--muted: #9fb4c9;--dim: #8397ab;--navy: #cfe4f3;--cyan: #4cc5e0;--cyan-quiet: #102f43;--critical: #f08b82;--critical-bg: #351a1a;--warning: #e5b25a;--warning-bg: #322613;--ok: #5fc9a0;--ok-bg: #102f26;--bar: #4a7098}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-md);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin:0}.mono,.money,.qty,.rate{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.money,.qty,.rate{text-align:right;white-space:nowrap}.ltr{direction:ltr;text-align:start}.mono,.money,.qty,.rate,.money-cell,.calc-cell,.delta,.share-pct,.held-note,.sheet-note,.step-ms,.menu-badge.is-mono,.kv dd{direction:ltr;unicode-bidi:isolate}.crumb,.quiet-line>span,.attention-foot .why,.masthead h1,.masthead .sub,.verdict,.verdict>div,.attention-msg,.quiet-line,.group-name,.section-title,.empty-state,.rule-card p,.rule-card .rule-sentence,.dialog-note,.subset-note{unicode-bidi:plaintext}.app-shell{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);min-height:100vh}.app-shell.is-bare{grid-template-columns:1fr}.rail{background:var(--sunk);border-inline-end:1px solid var(--hairline);display:flex;flex-direction:column;gap:var(--s5);padding:var(--s5) 0;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;justify-content:center;padding:0 var(--s5)}.brand img{width:32px;height:32px;object-fit:contain}:root[data-theme=dark] .brand img{filter:brightness(0) invert(1)}.rail-nav{display:flex;flex-direction:column}.nav-tab{padding:var(--s2) var(--s5);color:var(--muted);text-decoration:none;font-size:var(--t-md);border-inline-start:2px solid transparent;transition:color var(--t-fast),background var(--t-fast)}.nav-tab:hover{color:var(--ink)}.nav-tab.is-active{color:var(--ink);font-weight:600;border-inline-start-color:var(--cyan);background:var(--cyan-quiet)}.rail-foot{margin-top:auto;padding:0 var(--s4);display:flex;flex-direction:column;gap:var(--s2)}main{background:var(--ground);display:flex;justify-content:center}.page{background:var(--surface);border-inline:1px solid var(--hairline);padding:var(--s6) var(--s7) var(--s8);max-width:var(--main-max);width:100%}.crumb{font-size:var(--t-xs);color:var(--dim);margin-bottom:var(--s4)}.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s6);flex-wrap:wrap;margin-bottom:var(--s5)}.masthead h1{font-size:var(--t-h1);font-weight:600;letter-spacing:-.01em;text-wrap:balance}.masthead .sub{color:var(--muted);font-size:var(--t-sm);margin-top:2px}.masthead-figure{text-align:end}.masthead-figure .total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-display);font-weight:400;letter-spacing:-.025em;line-height:1}.verdict{font-size:var(--t-sm);margin-top:var(--s2)}.verdict .is-neg{color:var(--critical)}.verdict .is-pos{color:var(--ok)}.verdict .is-quiet{color:var(--muted)}.withheld{margin-bottom:var(--s1)}.actions{display:flex;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap}.section-title{font-size:var(--t-label);letter-spacing:.13em;text-transform:uppercase;color:var(--dim);font-weight:600;margin:var(--s7) 0 var(--s3)}.btn{border:1px solid var(--hairline-firm);background:var(--surface);color:var(--ink);padding:7px var(--s4);border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:500;transition:border-color var(--t-fast),color var(--t-fast),background var(--t-fast)}.btn:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.btn.is-primary{background:var(--navy);border-color:var(--navy);color:var(--surface)}:root[data-theme=dark] .btn.is-primary{color:var(--ground)}.btn.is-primary:hover:not(:disabled){background:var(--cyan);border-color:var(--cyan);color:var(--surface)}.btn.is-ghost{border-color:transparent;background:none;color:var(--muted);padding-inline:var(--s2)}.btn.is-ghost:hover:not(:disabled){color:var(--cyan)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.is-loading{position:relative;color:transparent}.btn.is-loading:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;color:var(--muted);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chip{display:inline-flex;align-items:center;gap:var(--s1);padding:1px var(--s2);border-radius:var(--r-pill);font-size:var(--t-label);font-weight:600;white-space:nowrap;background:var(--sunk);color:var(--muted)}.chip .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.chip.is-critical{background:var(--critical-bg);color:var(--critical)}.chip.is-warning{background:var(--warning-bg);color:var(--warning)}.chip.is-ok{background:var(--ok-bg);color:var(--ok)}.attention{border:1px solid var(--hairline);border-inline-start:3px solid var(--hairline-firm);border-radius:var(--r-md);background:var(--surface);padding:var(--s4) var(--s5);display:grid;gap:var(--s3);margin-bottom:var(--s3)}.attention.is-critical{border-inline-start-color:var(--critical)}.attention.is-warning{border-inline-start-color:var(--warning)}.attention.is-ok{border-inline-start-color:var(--ok)}.attention-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.attention-msg{font-size:var(--t-lg)}.attention-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.attention-foot .why{color:var(--muted);font-size:var(--t-sm)}.quiet-line{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s5);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface);font-size:var(--t-sm);color:var(--muted);flex-wrap:wrap}.groups{border-top:1px solid var(--hairline-firm)}.group{border-bottom:1px solid var(--hairline)}.group-row{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) 148px 168px 104px;align-items:center;gap:var(--s3);padding:var(--s3) var(--s2);background:none;border:0;text-align:start;color:inherit;list-style:none}.group-row::-webkit-details-marker{display:none}.group-row:hover{background:var(--cyan-quiet)}.group-row .twisty{color:var(--dim);font-size:var(--t-label);transition:transform var(--t-fast)}.group[open] .twisty{transform:rotate(90deg)}:root[dir=rtl] .group[open] .twisty{transform:rotate(-90deg)}.group-name{font-weight:500;font-size:var(--t-lg);display:flex;align-items:center;gap:var(--s2);min-width:0}.share{display:flex;align-items:center;gap:var(--s2)}.share-track{flex:1;height:8px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden;display:flex}.share-fill{height:100%;background:var(--bar);border-radius:var(--r-pill)}.share-fill.is-held{border-radius:0 var(--r-pill) var(--r-pill) 0;background:repeating-linear-gradient(135deg,var(--critical) 0 2px,var(--critical-bg) 2px 5px)}.share-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--muted);width:38px;text-align:right}.delta{font-family:var(--font-mono);font-size:var(--t-xs);text-align:right;white-space:nowrap;color:var(--dim)}.delta.is-up{color:var(--ok)}.delta.is-down{color:var(--warning)}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.data-table th{text-align:start;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:600;padding:0 var(--s3) var(--s2);border-bottom:1px solid var(--hairline);white-space:nowrap}.data-table th.money,.data-table th.qty,.data-table th.rate{text-align:right}.data-table td{padding:6px var(--s3);border-bottom:1px solid var(--hairline)}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr.is-clickable{cursor:pointer}.data-table tbody tr.is-clickable:hover{background:var(--cyan-quiet)}.data-table .dim-cell{color:var(--muted)}.data-table .calc-cell{color:var(--dim);font-family:var(--font-mono);font-size:var(--t-xs)}.is-struck{text-decoration:line-through;color:var(--dim)}.money-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.money-cell.is-struck{text-decoration:line-through;color:var(--dim)}.money-cell.is-critical{color:var(--critical)}.money-cell.is-muted{color:var(--muted)}.chip.is-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.money-cell .cur{font-family:var(--font-sans);font-weight:400;color:var(--muted);margin-inline-end:.12em}.group-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.held-note{font-size:var(--t-label);color:var(--critical);white-space:nowrap}.go-cell{width:150px;text-align:end;white-space:nowrap}.go-hint{color:var(--cyan);font-size:var(--t-label);opacity:0}tr:hover .go-hint{opacity:1}.disclosure>summary{list-style:none;cursor:pointer;font-size:var(--t-sm);color:var(--muted);padding:var(--s2) 0}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:hover{color:var(--cyan)}.steps{display:flex;flex-direction:column;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-md);overflow:hidden;margin-top:var(--s2)}.step{display:grid;grid-template-columns:18px 180px 1fr auto;gap:var(--s3);align-items:center;padding:6px var(--s4);background:var(--surface);font-size:var(--t-xs)}.step .step-mark{font-family:var(--font-mono);text-align:center}.step.is-ok .step-mark{color:var(--ok)}.step.is-warning .step-mark{color:var(--warning)}.step.is-blocked .step-mark{color:var(--critical)}.step .step-detail{color:var(--muted)}.step .step-ms{font-family:var(--font-mono);font-size:var(--t-label);color:var(--dim)}.empty-state{border:1px dashed var(--hairline-firm);border-radius:var(--r-md);padding:var(--s7) var(--s5);text-align:center;color:var(--muted)}.empty-state h2{font-size:var(--t-lg);font-weight:600;color:var(--ink);margin-bottom:var(--s2)}.skeleton{background:var(--sunk);border-radius:var(--r-sm);height:1em;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.rail{position:static;height:auto;flex-direction:row;align-items:center;gap:var(--s4);overflow-x:auto;padding:var(--s3) var(--s4);border-inline-end:0;border-block-end:1px solid var(--hairline)}.rail-nav{flex-direction:row}.nav-tab{border-inline-start:0;border-block-end:2px solid transparent;white-space:nowrap}.nav-tab.is-active{border-block-end-color:var(--cyan)}.rail-foot{margin:0;flex-direction:row}.avatar-menu{inset-block:calc(100% + var(--s2)) auto;inset-inline:0 auto;min-width:210px}.page{padding:var(--s5) var(--s4) var(--s8);border-inline:0}.group-row{grid-template-columns:14px minmax(0,1fr) 148px}.share,.delta{display:none}}@media(max-width:720px){.masthead-figure{text-align:start}.masthead-figure .total{font-size:var(--t-h1)}}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--s5);background:radial-gradient(120% 80% at 50% 0%,var(--sunk) 0%,transparent 60%),radial-gradient(90% 60% at 50% 100%,var(--sunk) 0%,transparent 55%),var(--ground);position:relative}.login-card{width:min(400px,100%);background:var(--surface);border:1px solid var(--hairline-firm);border-radius:var(--r-md);padding:var(--s7) var(--s6);display:grid;gap:var(--s4)}.login-brand{display:grid;justify-items:center;margin-bottom:var(--s3)}.login-brand img{width:64px;height:64px;object-fit:contain}:root[data-theme=dark] .login-brand img{filter:brightness(0) invert(1)}.login-field{display:grid;gap:var(--s2);font-size:var(--t-xs);color:var(--muted)}.login-field input{font:inherit;font-size:var(--t-md);padding:8px var(--s3);border:1px solid var(--hairline-firm);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);direction:ltr;text-align:start}.login-field input:focus-visible{border-color:var(--cyan)}.pin-row{display:flex;gap:var(--s2);direction:ltr;justify-content:center}.pin-box{width:46px;height:54px;text-align:center;font-family:var(--font-mono);font-size:var(--t-h1);border:1px solid var(--hairline-firm);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.pin-box:focus-visible{border-color:var(--cyan)}.login-error{color:var(--critical);background:var(--critical-bg);padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-size:var(--t-sm)}.hint{font-size:var(--t-xs);color:var(--dim)}.login-card>.hint{text-align:center;margin-bottom:var(--s2)}.lang-toggle{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--hairline-firm);border-radius:var(--r-sm);background:var(--sunk)}.lang-opt{border:0;background:none;border-radius:2px;padding:3px var(--s3);min-width:34px;color:var(--muted);font-size:var(--t-xs);font-weight:500;line-height:1.4;transition:color var(--t-fast),background var(--t-fast)}.lang-opt:hover:not(.is-on){color:var(--ink)}.lang-opt.is-on{background:var(--surface);color:var(--ink);font-weight:600}.lang-opt:disabled{opacity:.4;cursor:not-allowed}.login-language-select{position:absolute;top:var(--s5);inset-inline-end:var(--s5)}.avatar-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--hairline-firm);background:var(--surface);color:var(--ink);font-size:var(--t-xs);font-weight:600;display:grid;place-items:center}.avatar-btn:hover{border-color:var(--cyan);color:var(--cyan)}.identity{display:flex;align-items:center;gap:var(--s2);position:relative}.identity .name{font-size:var(--t-xs);font-weight:500;line-height:1.2}.identity .role{font-size:var(--t-label);color:var(--dim)}.avatar-menu{position:absolute;inset-block-end:calc(100% + var(--s2));inset-inline:0;background:var(--surface);border:1px solid var(--hairline-firm);border-radius:var(--r-md);padding:var(--s2);z-index:30;display:grid;gap:2px}.menu-head{padding:var(--s2) var(--s3);border-bottom:1px solid var(--hairline);margin-bottom:var(--s1);min-width:0}.menu-head .role{overflow-wrap:anywhere}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;text-align:start;padding:6px var(--s3);border:0;background:none;color:var(--ink);font-size:var(--t-sm);border-radius:var(--r-sm)}.menu-item:hover{background:var(--cyan-quiet);color:var(--cyan)}.menu-item.danger{color:var(--critical)}.menu-item.danger:hover{background:var(--critical-bg);color:var(--critical)}.menu-badge{font-size:var(--t-label);color:var(--dim);white-space:nowrap}.menu-badge.is-mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.scrim{position:fixed;inset:0;background:#0b142066;opacity:0;pointer-events:none;transition:opacity var(--t-sheet);z-index:40}.scrim.is-open{opacity:1;pointer-events:auto}.sheet{position:fixed;inset-block:0;inset-inline-end:0;width:min(620px,94vw);background:var(--surface);border-inline-start:1px solid var(--hairline-firm);z-index:50;transform:translate(100%);visibility:hidden;transition:transform var(--t-sheet) ease,visibility var(--t-sheet);display:flex;flex-direction:column}:root[dir=rtl] .sheet{transform:translate(-100%)}.sheet.is-open{transform:none;visibility:visible}.sheet-head{padding:var(--s5);border-bottom:1px solid var(--hairline)}.sheet-head-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4)}.sheet-head h2{font-size:var(--t-h2);font-weight:600}.sheet-body{padding:var(--s5);overflow-y:auto;flex:1}.sheet-foot{padding:var(--s4) var(--s5);border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.spine{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-top:var(--s3)}.spine button{border:0;background:none;padding:3px var(--s2);border-radius:var(--r-pill);color:var(--dim);font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.spine button:hover:not(:disabled){color:var(--cyan)}.spine button[aria-current]{background:var(--cyan-quiet);color:var(--cyan)}.spine button:disabled{opacity:.5;cursor:default}.spine .sep{color:var(--dim);opacity:.45;font-size:var(--t-label)}.calc-block{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-h2);padding:var(--s4);border-radius:var(--r-md);background:var(--sunk);margin-bottom:var(--s4)}.rule-card{border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s4);margin-bottom:var(--s4)}.rule-card p{font-size:var(--t-lg);margin-bottom:var(--s3)}.rule-card .rule-sentence{font-size:var(--t-lg);line-height:1.55;padding:var(--s3) var(--s4);background:var(--cyan-quiet);border-inline-start:3px solid var(--cyan);border-radius:var(--r-sm)}.rule-card .rule-measure{font-size:var(--t-sm);color:var(--muted)}.rule-card .rule-caveat{font-size:var(--t-sm);color:var(--warning);background:var(--warning-bg);padding:var(--s3) var(--s4);border-radius:var(--r-sm)}.rule-card .rule-caveat strong{font-weight:600}.kv{display:grid;grid-template-columns:118px 1fr;gap:var(--s1) var(--s4);font-size:var(--t-xs)}.kv dt{color:var(--dim);text-transform:uppercase;font-size:var(--t-label);letter-spacing:.1em}.kv dd{margin:0;font-family:var(--font-mono)}.subset-note{font-size:var(--t-xs);color:var(--warning);background:var(--warning-bg);padding:var(--s2) var(--s3);border-radius:var(--r-sm);margin-bottom:var(--s4)}.sheet-note{font-size:var(--t-xs);color:var(--dim);font-family:var(--font-mono)}.inline-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-sm);width:130px;text-align:end;padding:3px var(--s2);border:1px solid var(--cyan);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.dialog{padding:0;width:min(520px,92vw);border:1px solid var(--hairline-firm);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.dialog::backdrop{background:#0a14206b}.dialog-head{padding:var(--s5) var(--s5) var(--s3);border-block-end:1px solid var(--hairline)}.dialog-head h2{margin:0;font-size:var(--t-h2);font-weight:600}.dialog-head p{margin:var(--s2) 0 0;font-size:var(--t-sm);color:var(--muted)}.dialog-body{padding:var(--s5);display:grid;gap:var(--s4)}.dialog-foot{padding:var(--s4) var(--s5);border-block-start:1px solid var(--hairline);background:var(--sunk);display:flex;justify-content:flex-end;gap:var(--s2)}.dialog-note{margin:0;padding:var(--s4);background:var(--sunk);border-radius:var(--r-sm);font-size:var(--t-sm);line-height:1.6;color:var(--muted)}.dialog-note strong{color:var(--ink);font-weight:500}.dialog-error{margin:0;padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--critical-bg);color:var(--critical);font-size:var(--t-sm)}.choices{border:0;padding:0;margin:0;display:grid;gap:var(--s2)}.choices legend{padding:0 0 var(--s2);font-size:var(--t-label);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-weight:600}.choice{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border:1px solid var(--hairline-firm);border-radius:var(--r-sm);font-size:var(--t-sm);cursor:pointer}.choice:hover{border-color:var(--cyan)}.choice:has(input:checked){border-color:var(--cyan);background:var(--cyan-quiet)}.choice input{accent-color:var(--cyan)}.choice input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.choice-name{font-weight:500}.choice-meta{margin-inline-start:auto;color:var(--dim);font-size:var(--t-label)}.figure-label{font-size:var(--t-label);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-top:var(--s1)}.table-actions{display:flex;justify-content:flex-end;margin-bottom:var(--s3)}
