@font-face{font-family:'Space Grotesk';src:url('/assets/space-grotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('/assets/jetbrains-mono.ttf') format('truetype');font-weight:100 800;font-display:swap}
:root{color-scheme:dark;--bg0:#080a0e;--bg1:#0d1015;--panel:#11151c;--panel2:#151b24;--line:rgba(125,145,175,.12);--line2:rgba(125,145,175,.22);--ink:#e9eef6;--dim:#a0acbd;--cyan:#21e6d2;--cyan-d:#0fb6a8;--gold:#f5c451;--neg:#ff6b72}
*{box-sizing:border-box}[hidden]{display:none!important}
fieldset{min-inline-size:0;margin:0 0 14px}legend{max-width:100%;overflow-wrap:anywhere}input[type=checkbox]{width:auto;margin-left:12px}#settings-panel .footnote{overflow-wrap:anywhere}#settings-history .card{margin-bottom:12px}
body{margin:0;color:var(--ink);padding:28px 18px 40px;font-family:'Space Grotesk',system-ui,sans-serif;background:radial-gradient(1100px 600px at 78% -8%,rgba(33,230,210,.07),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(58,141,255,.06),transparent 55%),var(--bg0);background-attachment:fixed;line-height:1.5}
.wrap{max-width:1160px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:26px}
h1{font-size:clamp(23px,4vw,34px);letter-spacing:-.04em;margin:4px 0}h2{font-size:24px;letter-spacing:-.025em;margin:8px 0}h3{font-size:18px;margin:6px 0}.accent{color:var(--cyan)}
.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--dim);font-weight:600;margin:0}.muted,.footnote{color:var(--dim)}.muted{font-size:14px;max-width:780px}.footnote{font-size:12px;margin-top:18px}
.badge{font-size:11px;color:var(--gold);background:rgba(245,196,81,.08);border:1px solid rgba(245,196,81,.24);padding:6px 10px;border-radius:7px;flex-shrink:0}
.card{background:linear-gradient(180deg,var(--panel),var(--bg1));border:1px solid var(--line);border-radius:16px;padding:20px}.login{max-width:440px;margin:60px auto 90px;padding:30px}.login .primary{width:100%;margin-top:4px}.login form{margin-top:24px}
label{display:block;font-size:13px;color:var(--dim);margin:16px 0 8px}input,select,button{font:inherit}input,select{background:var(--bg0);border:1px solid var(--line2);border-radius:8px;color:var(--ink);padding:11px 12px;max-width:100%}input{width:100%}button{border:1px solid var(--line2);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px 15px;font-size:13px;cursor:pointer}button:hover{border-color:var(--cyan)}button:disabled{opacity:.6;cursor:wait}.primary,.tab.on{color:#04110f;background:linear-gradient(120deg,var(--cyan),var(--cyan-d));border-color:transparent;font-weight:700}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.toolbar,.user{display:flex;align-items:center;gap:14px}.toolbar{justify-content:space-between;margin-bottom:24px}.toolbar label{margin:0;display:flex;align-items:center;gap:10px}.user{font-size:12px;color:var(--dim)}
.tabs{display:flex;gap:6px;margin-bottom:26px;flex-wrap:wrap}.tab{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px 18px;min-width:0}.kpi h3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);font-weight:500}.number{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;display:block;margin:10px 0}.kpi .footnote{margin:8px 0 0;font-size:11px}.kpi-status{font-size:11px;color:var(--gold)}
.capital{display:grid;grid-template-columns:1fr 1fr;gap:20px}.capital .footnote{margin:0}.table-scroll{overflow-x:auto;margin-top:24px}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.07em}th,td{padding:14px 12px;border-bottom:1px solid var(--line)}tr:last-child td{border:0}.error{color:var(--neg);font-size:13px;min-height:20px}footer{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--dim);font-size:10px;letter-spacing:.12em}footer span{color:var(--cyan);margin:0 9px}
.kpi .number{font-size:clamp(14px,2vw,24px);overflow-wrap:anywhere}.kpi button{margin-top:12px}.toolbar{flex-wrap:wrap}#drill-panel{margin-bottom:18px;min-width:0}#drill-panel td{white-space:nowrap}#drill-panel .footnote{overflow-wrap:anywhere}
@media(max-width:760px){.header{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:flex-start;flex-direction:column}.section-title{align-items:flex-start;flex-direction:column}.capital{grid-template-columns:1fr}.login{margin:28px auto 40px;padding:24px}.kpi{padding:13px}.user{width:100%;justify-content:space-between}body{padding:20px 14px 32px}}
/* P&L hierarchy is preserved from the approved source report. */
.pnl-direction { font-weight: 700; }
.pnl-section td:first-child { padding-left: 28px; }
.pnl-source_reconciliation { font-style: italic; }
#drill-extra { margin-top: 20px; }
.pnl-articles { text-align: left; font-weight: 400; margin: 8px 0; width: min(360px, calc(100vw - 112px)); max-width: 360px; white-space: normal; }
.expense-breakdown { max-width: 360px; white-space: normal; overflow-wrap: anywhere; }
.pnl-articles summary { cursor: pointer; color: var(--accent, #00c9b1); }
.pnl-articles ul { padding-left: 20px; white-space: normal; min-width: 0; }
.pnl-articles li { padding: 5px 0; }
.expense-review { border: 1px solid var(--line2); border-radius: 12px; padding: 16px; margin: 20px 0; overflow-wrap: anywhere; }
.expense-review input { margin-top: 10px; }
.expense-review-list { padding-left: 20px; max-height: 460px; overflow: auto; }
.expense-review-list > li { padding: 12px 2px; border-bottom: 1px solid var(--line); }
.expense-review .footnote { margin: 8px 0; }
#plans-panel .card { margin: 16px 0; overflow-wrap: anywhere; }
#workflow-panel .card { margin: 16px 0; overflow-wrap: anywhere; }
#decision-form { max-width: 720px; }
#decision-form label { display: block; margin-top: 12px; }
#decision-form input, #decision-form select, #decision-form textarea, #decision-detail textarea { width: 100%; max-width: 100%; }
#workflow-panel textarea { font: inherit; color: var(--ink); background: var(--bg1); border: 1px solid var(--line); border-radius: 8px; padding: 10px; }
#decision-detail button { margin: 6px; }
#plan-form { max-width: 640px; }
#plan-form label { display: block; margin-top: 12px; }
#plan-form input, #plan-form textarea { width: 100%; box-sizing: border-box; }
#plan-form textarea { font: inherit; color: var(--ink); background: var(--bg1); border: 1px solid var(--line); border-radius: 8px; padding: 10px; resize: vertical; }
[data-review-target]:focus { outline: 2px solid var(--cyan); outline-offset: 3px; }
