:root{--paper:#f4efe6;--paper-2:#ebe4d6;--ink:#1a1612;--ink-2:#3a342b;--muted:#7a6f5d;--rule:#cdc3ad;--rule-2:#dbd2bd;--accent:#7a2a1b;--accent-2:#3b5a3a;--warn:#a35a14;--good:#3b5a3a;--bad:#7a2a1b;--chip:#e3dac4;--font-serif:"Fraunces",Georgia,serif;--font-sans:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0;padding:0;font-size:14px;line-height:1.45}body{background-image:radial-gradient(#00000006 1px,#0000 1px),radial-gradient(#00000005 1px,#0000 1px);background-position:0 0,1px 1px;background-size:3px 3px,7px 7px;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:28px;line-height:1.1}h2{margin-bottom:10px;font-size:20px;line-height:1.2}h3{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);font-size:15px;font-weight:600}a{color:inherit;text-decoration:none}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}header.masthead{border-bottom:2px solid var(--ink);background:linear-gradient(#fff6,#0000);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:18px 28px 14px;display:flex}.brand .eyebrow{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin-bottom:4px;font-size:11px}.brand h1 em{color:var(--accent);font-style:italic;font-weight:500}.brand .sub{color:var(--muted);letter-spacing:.05em;margin-top:4px;font-size:12px}nav.tabs{border-bottom:1px solid var(--rule);z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff40;flex-wrap:wrap;gap:0;padding:0 28px;display:flex;position:sticky;top:0}nav.tabs a{color:var(--ink-2);letter-spacing:.04em;cursor:pointer;border-bottom:2px solid #0000;padding:12px 16px;font-size:13px}nav.tabs a:hover{color:var(--ink);background:#00000008}nav.tabs a.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}nav.tabs .divider{background:var(--rule);align-self:stretch;width:1px;margin:8px 6px;display:inline-block}main{max-width:1400px;margin:0 auto;padding:24px 28px 80px}.panel{border:1px solid var(--rule);background:#fff6;border-radius:2px;margin-bottom:18px;padding:18px 20px}.panel h2{align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel h2 .ornament{background:var(--accent);width:24px;height:1px;display:inline-block}.panel .desc{color:var(--muted);max-width:820px;margin:-8px 0 14px;font-size:12.5px}.grid{gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stat{background:var(--paper-2);border:1px solid var(--rule);border-radius:2px;padding:12px 14px}.stat .label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.stat .value{font-family:var(--font-mono);margin-top:4px;font-size:20px;font-weight:500}.stat .sub{color:var(--muted);margin-top:2px;font-size:11.5px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--rule);padding:8px 10px;font-size:10.5px;font-weight:600}td{border-bottom:1px solid var(--rule-2);vertical-align:top;padding:8px 10px}tbody tr:hover td{background:#00000005}td.num,th.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.chip{background:var(--chip);color:var(--ink-2);letter-spacing:.04em;border-radius:10px;padding:2px 7px;font-size:10.5px;display:inline-block}.chip.good{color:var(--good);background:#d5e0d2}.chip.warn{color:#5e3a0d;background:#f0d8b8}footer{border-top:1px solid var(--rule);color:var(--muted);text-align:center;letter-spacing:.1em;text-transform:uppercase;padding:20px 28px;font-size:11px}.corner-mark{font-family:var(--font-serif);color:var(--muted);font-size:11px;font-style:italic;position:fixed;bottom:8px;right:14px}.info-banner{color:#2b3f49;background:#dce4e8;border-left:3px solid #4a6878;border-radius:2px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}@media print{nav.tabs,.no-print,footer,.corner-mark,#memberBanner{display:none!important}header.masthead{border-bottom:2px solid #000;padding:8px 0 10px}main{max-width:none;padding:0}body{background:#fff}.panel{background:0 0;border:none;margin:0 0 16px;padding:0}.report-house{page-break-inside:avoid}.report-house+.report-house{page-break-before:always}table{font-size:12px}a{color:inherit;text-decoration:none}}.warning-banner{border-left:3px solid var(--warn);color:#5e3a0d;background:#f0d8b8;border-radius:2px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}.error-banner{border-left:3px solid var(--bad);color:var(--bad);background:#ecd2cc;border-radius:2px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}.success-banner{border-left:3px solid var(--good);color:var(--good);background:#d5e0d2;border-radius:2px;margin-bottom:14px;padding:10px 14px;font-size:12.5px}input[type=text],input[type=number],input[type=date],input[type=month],select,textarea{border:1px solid var(--rule);width:100%;color:var(--ink);font-family:var(--font-sans);background:#fbf8f1;border-radius:2px;padding:8px 10px;font-size:13px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.field{margin-bottom:10px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-row>div{flex:1;min-width:140px}button.btn{background:var(--ink);color:var(--paper);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;font-weight:500;font-family:var(--font-sans);border:none;border-radius:2px;padding:9px 16px}button.btn:hover{background:var(--accent)}button.btn:disabled{opacity:.5;cursor:not-allowed}button.btn.ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}button.btn.ghost:hover{background:var(--ink);color:var(--paper)}button.btn.small{padding:5px 10px;font-size:10.5px}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:14px}.icon-btn:hover{color:var(--accent)}.icon-btn:disabled{opacity:.22;cursor:not-allowed;filter:grayscale()}.icon-btn:disabled:hover{color:var(--muted)}input.cell{padding:5px 7px;font-size:12.5px}input.cell.num{font-family:var(--font-mono);text-align:right}
