:root { color-scheme: light dark; --bg:#fff; --fg:#111; --muted:#666; --line:#ddd; --head:#f4f4f4; }
@media (prefers-color-scheme: dark) { :root { --bg:#111; --fg:#eee; --muted:#999; --line:#333; --head:#1c1c1c; } }
body { margin:0; font:15px/1.5 system-ui, sans-serif; background:var(--bg); color:var(--fg); }
header, main { max-width:1100px; margin:0 auto; padding:1rem; }
h1 { margin:0; } header p { color:var(--muted); margin:.25rem 0 0; }
.scroll { overflow-x:auto; }
table { border-collapse:collapse; width:100%; }
th, td { padding:.45rem .7rem; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
th:first-child, td:first-child, th:nth-child(2), td:nth-child(2) { text-align:left; }
th { background:var(--head); position:sticky; top:0; }
.banner { background:#fff3cd; color:#664d03; padding:.6rem 1rem; border-radius:6px; margin-bottom:1rem; }
.meta { color:var(--muted); font-size:.85rem; }
.up { color:#c0392b; } .down { color:#1e8449; }
.kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.7rem; }
.kpi { border:1px solid var(--line); border-radius:8px; padding:.7rem; background:var(--head); }
.kv { font-size:1.4rem; font-weight:600; } .kl { color:var(--muted); font-size:.85rem; }
.bar { display:grid; grid-template-columns:minmax(180px,2fr) 5fr 70px; gap:.6rem; align-items:center; margin:.3rem 0; }
.bt { background:var(--line); border-radius:4px; height:14px; display:block; } .bf { display:block; height:100%; border-radius:4px; }
.bf.loan { background:#3b82f6; } .bf.lease { background:#f59e0b; } .bv { text-align:right; }
header a { color:inherit; }
.locked header, .locked main { display:none; }
#gate { max-width:320px; margin:20vh auto; display:grid; gap:.7rem; padding:1rem; }
#gate input, #gate button { padding:.6rem; font:inherit; border-radius:6px; border:1px solid var(--line); }
#gate .err { color:#c0392b; margin:0; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.8rem; }
.card { display:grid; gap:.2rem; padding:1rem; border:1px solid var(--line); border-radius:8px; background:var(--head); color:inherit; text-decoration:none; }
.card span { color:var(--muted); font-size:.9rem; } .card:hover { border-color:#facc15; }
header h1 a { color:inherit; text-decoration:none; }
.legal { margin-top:2rem; }
.chart { width:100%; height:auto; } .gl { stroke:var(--line); } .gt { fill:var(--muted); font-size:11px; }
.legend { display:flex; flex-wrap:wrap; gap:.4rem 1rem; font-size:.85rem; margin-top:.4rem; } .legend i { display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:.35rem; }
