:root{color:#102b56;background:#f7f4ec;font-family:Inter,Noto Sans SC,Microsoft YaHei UI,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #102b56;--ink-soft: #60708a;--line: #afbdd0;--line-soft: #d9e0e9;--paper: #fffdf8;--canvas: #f7f4ec;--blue: #0868d7;--blue-dark: #004fae;--mint: #15735f;--coral: #d9543d;--focus: #f0a93b}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);background-image:url(/assets/ledger-grid.webp);background-size:640px 640px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:10px 28px;color:var(--ink);background:#fffdf8f7;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink)}.brand,.top-actions,.language-button,.scope-controls,.assumption-note,.utility-bar p,.legal-boundary{display:flex;align-items:center}.brand{gap:12px;min-width:0;font-size:18px;letter-spacing:.01em}.brand-mark{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:#fff;background:var(--ink);border-radius:5px}.brand-mark svg{width:23px;height:23px}.top-actions{gap:22px}.date-stamp{color:var(--ink-soft);font-variant-numeric:tabular-nums}.language-button{gap:7px;min-height:42px;padding:0 12px;color:var(--ink);background:transparent;border:0;border-radius:6px}.language-button:hover{background:#e8edf5}.workspace{width:min(100%,1536px);margin:0 auto;padding:26px 22px 50px}.intro{display:grid;grid-template-columns:1fr auto;gap:10px 24px;align-items:end;margin-bottom:22px}.intro h1{margin:0;color:var(--ink);font-size:clamp(26px,2.2vw,36px);line-height:1.1;letter-spacing:-.025em}.intro p{margin:8px 0 0;color:var(--ink-soft);font-size:14px}.eyebrow{margin:0 0 7px!important;color:var(--blue)!important;font-size:11px!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.scope-controls{gap:12px;justify-content:flex-end}.control-label{font-size:13px;font-weight:700}.segmented{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:7px}.segmented button{min-width:68px;min-height:43px;padding:0 14px;color:var(--ink);background:var(--paper);border:0;border-right:1px solid var(--line);font-weight:700}.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{color:#fff;background:var(--blue)}.currency-select{position:relative}.currency-select select{min-width:94px;min-height:45px;padding:0 36px 0 14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:700}.currency-select svg{position:absolute;top:14px;right:11px;pointer-events:none}.assumption-note{grid-column:1 / -1;justify-self:end;gap:7px;color:var(--blue)!important;font-weight:700}.mobile-candidate-select{display:none}.comparison-table{overflow:hidden;background:#fffdf8c7;border:1px solid var(--line);border-radius:7px}.candidate-grid{display:grid;grid-template-columns:290px repeat(var(--candidate-count),minmax(210px,1fr))}.table-header{min-height:74px;border-bottom:1px solid var(--line)}.comparison-heading{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.comparison-heading strong{display:grid;min-width:27px;min-height:27px;place-items:center;color:#fff;background:var(--ink);border-radius:5px;font-size:12px}.candidate-heading{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:14px 28px 14px 20px;border-left:1px solid var(--line)}.candidate-heading.is-selected,.cost-cell.is-selected{background:#0868d709}.candidate-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;color:var(--blue)}.candidate-icon svg{width:30px;height:30px}.candidate-icon-2{color:var(--mint)}.candidate-icon-3{color:#315ca8}.candidate-icon-4,.candidate-icon-5{color:#7d4a96}.candidate-heading div{display:grid;min-width:0;gap:3px}.candidate-heading strong,.candidate-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-heading strong{font-size:16px}.candidate-heading span{color:var(--ink-soft);font-size:12px}.icon-button{display:grid;width:36px;height:36px;place-items:center;color:var(--ink-soft);background:transparent;border:0;border-radius:6px}.icon-button:hover{color:var(--coral);background:#faece9}.remove-candidate{position:absolute;top:19px;right:6px}.cost-group{position:relative;display:grid;grid-template-columns:156px 1fr;border-bottom:1px solid var(--line)}.cost-group:last-child{border-bottom:0}.group-label{display:flex;align-items:center;gap:8px;align-content:center;padding:14px 8px;border-right:1px solid var(--line)}.group-label>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;color:var(--ink)}.group-label svg{width:24px;height:24px}.group-label div{display:grid;gap:3px}.group-label strong{font-size:13px}.group-label small{color:var(--ink-soft);font-size:11px}.group-rows{min-width:0}.group-rows .candidate-grid{grid-template-columns:134px repeat(var(--candidate-count),minmax(210px,1fr))}.cost-row{min-height:39px;border-bottom:1px solid var(--line-soft)}.cost-row:last-child{border-bottom:0}.cost-row .row-label{position:static;display:flex;align-items:center;width:auto;min-height:39px;padding:0 12px;color:var(--ink-soft);background:#fffdf8bf;border-right:1px solid var(--line);font-size:12px}.cost-cell{display:flex;align-items:center;justify-content:center;min-width:0;padding:6px 14px;border-left:1px solid var(--line);color:var(--ink);font-family:IBM Plex Mono,Cascadia Mono,Consolas,monospace;font-size:14px;font-variant-numeric:tabular-nums;text-align:center}.cost-cell.is-missing{color:var(--coral);font-family:inherit;font-weight:800}.cost-row.is-emphasis .cost-cell{color:var(--blue-dark);background:#0868d70e;font-weight:800}.action-dock{position:sticky;bottom:10px;z-index:10;display:grid;grid-template-columns:210px minmax(280px,1fr) auto auto auto;gap:12px;align-items:stretch;margin-top:18px;padding:10px;background:#f7f4ecf5;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 28px #102b561c}.inclusion-button,.formula-disclosure,.primary-button,.secondary-button,.danger-button{min-height:58px;border-radius:6px}.inclusion-button{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);text-align:left}.inclusion-button svg{width:28px;height:28px}.inclusion-button span{display:grid;gap:3px;font-weight:800}.inclusion-button small{color:var(--ink-soft);font-weight:600}.formula-disclosure{min-width:0;background:var(--paper);border:1px solid var(--line)}.formula-disclosure summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:8px 14px;list-style:none;cursor:pointer}.formula-disclosure summary::-webkit-details-marker{display:none}.formula-disclosure summary span{display:grid;min-width:0;gap:3px}.formula-disclosure summary small{overflow:hidden;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap}.formula-disclosure[open] summary svg{transform:rotate(180deg)}.formula-disclosure p{margin:0;padding:10px 14px 14px;color:var(--ink-soft);border-top:1px solid var(--line-soft);font-size:13px}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid var(--blue);font-weight:800}.primary-button{position:relative;color:#fff;background:var(--blue)}.primary-button:hover{background:var(--blue-dark)}.secondary-button{color:var(--blue-dark);background:var(--paper)}.secondary-button:hover{background:#edf5ff}.danger-button{color:#fff;background:#b6372b;border-color:#b6372b}.issue-count{display:grid;min-width:23px;height:23px;place-items:center;color:var(--blue-dark);background:#fff;border-radius:999px;font-size:12px}.verification-section{margin-top:34px;padding:26px;background:var(--paper);border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin:0;font-size:23px}.section-heading p:not(.eyebrow){margin:6px 0 0;color:var(--ink-soft);font-size:13px}.text-button{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 12px;color:var(--blue-dark);background:transparent;border:1px solid var(--line);border-radius:6px;font-weight:700}.verification-grid{display:grid;grid-template-columns:minmax(440px,1.15fr) minmax(360px,.85fr);gap:28px}.verification-list{border-top:1px solid var(--line)}.verification-item{display:grid;grid-template-columns:1fr 190px;align-items:center;min-height:64px;border-bottom:1px solid var(--line-soft)}.verification-item>span{font-weight:700}.verification-item button{display:grid;gap:2px;min-height:44px;padding:6px 12px;color:var(--mint);background:#eef8f5;border:1px solid #a6cec5;border-radius:5px;font-weight:800}.verification-item button small{color:var(--ink-soft);font-size:10px;font-weight:500}.decision-editor{display:grid;gap:13px}.decision-editor h3{margin:0;font-size:18px}.decision-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.decision-buttons button{min-height:43px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;font-weight:700}.decision-buttons button[aria-pressed=true]{color:#fff;background:var(--ink)}.decision-editor label,.edit-grid label{display:grid;gap:6px;color:var(--ink-soft);font-size:12px;font-weight:700}.decision-editor textarea{min-height:72px;resize:vertical}input,select,textarea{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px}input,textarea{padding:10px 11px}.utility-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:14px 0;border-bottom:1px solid var(--line-soft)}.utility-bar p{max-width:700px;gap:8px;margin:0;color:var(--ink-soft);font-size:12px}.utility-bar>div{display:flex;gap:6px}.utility-bar button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 9px;color:var(--ink);background:transparent;border:0;border-radius:5px;font-size:12px;font-weight:700}.utility-bar button:hover{background:#e8edf5}.legal-boundary{gap:8px;margin:18px 0 0;color:var(--ink-soft);font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:22px;background:#0a1a3194}.modal-panel{width:min(100%,760px);max-height:min(88vh,820px);overflow:auto;color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 24px 70px #0a1a3152}.modal-panel>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:14px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.modal-panel h2{margin:0;font-size:20px}.modal-panel>header button{display:grid;width:42px;height:42px;place-items:center;color:var(--ink);background:transparent;border:0;border-radius:5px}.modal-panel>header button:hover{background:#e8edf5}.modal-panel>:not(header){margin-right:20px;margin-left:20px}.modal-intro{color:var(--ink-soft)}.empty-state,.risk-callout,.privacy-inline{display:flex;align-items:flex-start;gap:10px;padding:14px;border-radius:5px}.empty-state{color:var(--mint);background:#eef8f5}.risk-callout{color:#7a2f25;background:#fff0eb;border:1px solid #f0b8aa}.privacy-inline{color:var(--ink-soft);background:#edf5ff}.empty-state svg,.risk-callout svg,.privacy-inline svg{width:22px;height:22px;flex:0 0 22px}.issue-list{display:grid;gap:8px}.issue-list article{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:13px;background:#fff7e8;border:1px solid #e5bf77;border-radius:5px}.issue-list article>svg{color:#b97908}.issue-list article div{display:grid;gap:3px}.issue-list article span{color:var(--ink-soft);font-size:12px}.issue-list article button,.dismissed-list button{min-height:36px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:5px}.dismissed-list{margin-top:18px;margin-bottom:20px}.dismissed-list summary{padding:10px 0;cursor:pointer;font-weight:700}.dismissed-list button{display:block;width:100%;margin-top:6px;text-align:left}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.edit-grid input{min-height:43px}.form-error{color:#a42b20;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;margin-bottom:20px}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.export-options button{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 14px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;font-weight:800}.export-options button:hover{color:var(--blue-dark);background:#edf5ff}.live-region{position:fixed;right:18px;bottom:18px;z-index:200;max-width:360px;padding:0}.live-region:not(:empty){padding:12px 16px;color:#fff;background:var(--ink);border-radius:6px;box-shadow:0 8px 26px #0a1a3133}.not-found{display:grid;min-height:100vh;place-content:center;justify-items:center;padding:32px;color:var(--ink);text-align:center}.not-found>p:first-of-type{margin:20px 0 0;color:var(--blue);font-family:Cascadia Mono,Consolas,monospace;font-weight:800}.not-found h1{margin-bottom:0}.not-found>p:last-of-type{color:var(--ink-soft)}.not-found div{display:flex;gap:10px;margin-top:18px}.not-found a,.not-found button{display:inline-grid;min-height:44px;padding:0 16px;place-items:center;color:#fff;background:var(--blue);border:1px solid var(--blue);border-radius:5px;text-decoration:none;font-weight:800}.not-found button{color:var(--ink);background:var(--paper)}@media(max-width:1120px){.candidate-grid{grid-template-columns:230px repeat(var(--candidate-count),minmax(180px,1fr))}.cost-group{grid-template-columns:100px 1fr}.group-rows .candidate-grid{grid-template-columns:130px repeat(var(--candidate-count),minmax(180px,1fr))}.action-dock{grid-template-columns:190px 1fr auto}.action-dock .secondary-button{display:none}}@media(max-width:820px){.topbar{min-height:58px;padding:9px 15px}.brand{font-size:14px}.brand strong{overflow:hidden;max-width:58vw;text-overflow:ellipsis;white-space:nowrap}.date-stamp{display:none}.language-button{padding:0 6px}.workspace{padding:20px 14px 30px}.intro{display:block}.scope-controls{display:grid;grid-template-columns:auto 1fr auto;margin-top:18px}.segmented{width:100%}.segmented button{min-width:0;flex:1;padding:0 8px}.assumption-note{justify-content:flex-start;margin-top:13px!important}.mobile-candidate-select{display:grid;gap:7px;margin:20px 0 10px}.mobile-candidate-select label{color:var(--ink-soft);font-size:12px;font-weight:800}.mobile-candidate-select select{min-height:48px;padding:0 12px}.comparison-table{overflow:visible;border-radius:6px}.candidate-grid,.group-rows .candidate-grid{grid-template-columns:minmax(128px,.8fr) minmax(150px,1fr)}.table-header{display:none}.cost-group{display:block}.group-label{padding:13px 14px;border-right:0;border-bottom:1px solid var(--line);background:#eef2f7}.group-label>span{width:30px;height:30px}.group-label svg{width:23px;height:23px}.cost-row .row-label{position:static;width:auto;min-height:48px;padding:8px 12px;background:transparent}.cost-cell{display:none;min-height:48px;justify-content:flex-end;text-align:right}.cost-cell.is-selected{display:flex}.action-dock{position:static;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 0;background:transparent;border:0;box-shadow:none}.formula-disclosure{grid-column:1 / -1;grid-row:1}.inclusion-button,.primary-button{grid-column:1 / -1}.action-dock .secondary-button{display:flex}.verification-section{margin-top:28px;padding:20px 14px}.section-heading{align-items:flex-start;flex-direction:column}.verification-grid{grid-template-columns:1fr}.verification-item{grid-template-columns:1fr 150px}.utility-bar{align-items:stretch;flex-direction:column}.utility-bar>div{display:grid;grid-template-columns:1fr}.utility-bar button{justify-content:flex-start;min-height:44px}.edit-grid,.export-options{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-panel{max-height:94vh}}@media(max-width:420px){.brand-mark{width:30px;height:30px;flex-basis:30px}.scope-controls{grid-template-columns:1fr auto}.control-label{grid-column:1 / -1}.verification-item{grid-template-columns:1fr 132px;gap:8px}.decision-buttons{grid-template-columns:1fr}}@media print{.topbar,.scope-controls,.mobile-candidate-select,.action-dock,.text-button,.utility-bar,.language-button,.remove-candidate,.modal-backdrop{display:none!important}body,.app-shell{background:#fff}.workspace{width:100%;padding:0}.comparison-table,.verification-section{break-inside:avoid}.verification-section{margin-top:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
