:root{--bg: #f6f7f9;--card: #ffffff;--text: #1a1d21;--muted: #6b7280;--line: #e5e7eb;--accent: #2563eb;--warn-bg: #fef3c7;--warn-text: #92400e;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);background:var(--card);padding:20px 14px}.sidebar h1{font-size:15px;margin:0 0 14px 6px;color:var(--muted);font-weight:600;letter-spacing:.02em}.sidebar button{display:block;width:100%;text-align:left;padding:9px 10px;margin-bottom:4px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer}.sidebar button:hover{background:var(--bg)}.sidebar button.active{background:var(--accent);color:#fff}.sidebar .main-mark{color:var(--muted);font-size:12px;margin-left:6px}.sidebar button.active .main-mark{color:#dbeafe}main{padding:26px 30px;max-width:1100px}.head h2{margin:0;font-size:22px}.head .asof{color:var(--muted);margin:4px 0 0;font-size:13px}.grid{margin-top:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.card.wide{grid-column:1 / -1}.card h3{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--muted);text-transform:none}.metric-value{font-size:34px;font-weight:650;font-variant-numeric:tabular-nums}.note-text{white-space:pre-wrap}.needs-attention{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;padding:10px 12px;font-size:13px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:6px 8px}td{padding:6px 8px;border-bottom:1px solid var(--line);font-size:14px}tr:last-child td{border-bottom:0}td.num{text-align:right}.chart{width:100%}.empty,.expired{margin:18vh auto 0;max-width:420px;text-align:center;color:var(--muted)}.expired code{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
