/* Option B: Ledger. Warm paper, ink, hairlines, serif headings. Top tabs. */
body{background:#f5f1ea;color:#1c1a17;font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:13px;font-variant-numeric:tabular-nums}
a{color:#0f5c5a}
h1,h2,.wordmark,.wkdate,.kpi .v{font-family:'Newsreader',Georgia,serif}
.mono{font-variant-numeric:tabular-nums}
.muted{color:#6b655c}
.app{flex-direction:column}
.top{display:flex;align-items:center;gap:32px;padding:0 48px;border-bottom:1px solid #1c1a17}
.brand .wordmark{font-size:22px;font-weight:500;letter-spacing:-.01em;padding:14px 0;display:block}
.nav.tabs{display:flex;align-items:stretch}
.nav a{padding:16px 2px;margin-right:26px;color:#6b655c;font-size:14px;border-bottom:2px solid transparent;gap:6px}
.nav a .i{display:none}
.nav a.active{color:#1c1a17;border-bottom-color:#1c1a17}
.badge{color:#8a2a1f;font-weight:600;font-size:11px;vertical-align:super}
.switcher{margin-left:auto;gap:18px}
.switcher label{flex-direction:row;align-items:baseline;gap:6px;text-transform:none;letter-spacing:0;font-size:12px;color:#6b655c}
.switcher select{border:none;background:transparent;border-bottom:1px solid #1c1a17;padding:2px 0;color:#1c1a17}
.user{color:#6b655c}.avatar{display:none}.who .role{display:none}
.subbar{display:flex;padding:10px 48px 0}
.status{margin-left:0;gap:18px}
.chip{padding:0;font-size:12px;color:#6b655c;border:none}
.dot.ok{background:#0f5c5a}
.btn{border:1px solid #1c1a17;background:transparent;color:#1c1a17;border-radius:2px}
.btn.primary{background:#1c1a17;color:#f5f1ea}
.btn.ghost{border-color:#c9c1b4;color:#6b655c}
.seg button{background:transparent;border:1px solid #c9c1b4;color:#6b655c;margin-left:-1px}
.seg button:first-child{margin-left:0}.seg button.on{border-color:#1c1a17;color:#1c1a17;background:#efe9df}
.screen{padding:30px 48px 24px;gap:22px}
h1{font-size:40px;font-weight:400;letter-spacing:-.02em;line-height:1}.sub{color:#6b655c}
.kpis{gap:36px;grid-template-columns:repeat(4,auto);justify-content:start}
.kpi{padding:0;gap:2px}.kpi .k{color:#6b655c}.kpi .v{font-size:30px}.kpi .v.neg{color:#8a2a1f}.kpi small{color:#6b655c}
.panel{background:transparent}
.grid{font-size:13px}
.grid th,.grid td{padding:9px 12px;border-bottom:1px solid #e2dbd0}
.grid th.rowhead,.grid td.rowhead{background:#f5f1ea;min-width:220px}
.grid thead th{border-bottom:1px solid #1c1a17;font-weight:400;color:#6b655c}
.wkdate{font-size:17px;color:#1c1a17}
th.cur .wkdate{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
th.fc{color:#8d8579}td.fc{color:#4a453e;font-style:italic}
.grid tr.group td{font-family:'Newsreader',Georgia,serif;font-size:15px;color:#1c1a17;padding-top:18px;border-bottom:none;background:#f5f1ea}
td.neg,.neg{color:#8a2a1f}td.pos,.pos{color:#0f5c5a}
.grid tr.total td{font-weight:600;border-top:1px solid #1c1a17;border-bottom:1px solid #1c1a17;background:#f5f1ea}
.grid tr.forecast td{font-weight:600;font-size:14px;border-bottom:3px double #1c1a17;background:#efe9df}
td.lowcash{background:#f3d6d0!important;color:#8a2a1f}
td.fxflag,.flag{color:#8a6a1f}
.grid.list th,.grid.list td{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-style:normal}
.entname{font-size:22px;font-weight:400}
.sect{font-size:20px;font-weight:400}
.qitem{border-top:1px solid #1c1a17;padding:16px 0}
.cands li{border-bottom:1px solid #e2dbd0;padding:8px 0}
.pill{border:1px solid #c9c1b4;color:#6b655c}.pill.ok{border-color:#0f5c5a;color:#0f5c5a}
.empty{border:1px solid #e2dbd0;color:#6b655c}
