:root{--bg:#f6f4ef;--panel:#fff;--fg:#1f1d1a;--muted:#6b665e;--line:#e3dfd6;--ok:#1f8a5b;--okbg:#e5f3ec;--bad:#b3392f;--badbg:#f8e8e5;--accent:#1f1d1a;--chart:#b9b4aa;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#171613;--panel:#211f1b;--fg:#f1eee8;--muted:#a39d92;--line:#35322c;--ok:#4cc38a;--okbg:#17302452;--bad:#ef7b6f;--badbg:#3a1f1c;--accent:#f1eee8;--chart:#5b574f}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:46rem;margin:0 auto;padding:1rem 1rem 4rem}
h1,h2,.big{font-family:Georgia,"Times New Roman",serif;font-weight:400}
h1{font-size:1.7rem;margin:.5rem 0 .25rem}
h2{font-size:1.25rem;margin:0 0 .25rem}
h3{font-size:1rem;margin:1.25rem 0 .4rem}
.muted{color:var(--muted)}.small{font-size:.85rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin:0 0 1rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin:0 0 1rem}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:.85rem}
.big{font-size:1.7rem;display:block;font-variant-numeric:tabular-nums;line-height:1.2}
label{display:block;font-size:.85rem;color:var(--muted);margin:.6rem 0 .2rem}
input,select{width:100%;font:inherit;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}
button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.75rem 1.1rem;background:var(--accent);color:var(--bg);margin-top:.9rem;width:100%}
button.ghost{background:transparent;color:var(--fg);border:1px solid var(--line);width:auto;margin:0;padding:.4rem .8rem;font-size:.85rem}
.err{color:var(--bad);margin:.6rem 0 0;min-height:1.2rem}
.hero{border-width:2px}.hero.ok{border-color:var(--ok);background:var(--okbg)}.hero.debe{border-color:var(--bad)}
.row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.row:last-child{border-bottom:0}.row b{white-space:nowrap}
.tot{font-weight:600}
.bar{display:grid;grid-template-columns:minmax(6rem,40%) 1fr auto;gap:.5rem;align-items:center;font-size:.85rem;padding:.2rem 0}
.bar i{display:block;height:.8rem;border-radius:4px;background:var(--chart)}.bar i.g{background:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}
th,td{text-align:right;padding:.45rem .35rem;border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-weight:500}
.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
details{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin:0 0 .75rem}
summary{cursor:pointer;padding:.9rem 1rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--muted)}details[open] summary::after{content:"–"}
details>div{padding:0 1rem 1rem}
.pill{display:inline-block;padding:.1rem .55rem;border-radius:99px;font-size:.75rem;background:var(--line)}
.pill.bad{background:var(--badbg);color:var(--bad)}.pill.ok{background:var(--okbg);color:var(--ok)}
.loan{border:1px solid var(--line);border-radius:10px;padding:.75rem;margin:.6rem 0}
.hide{display:none!important}
.bank{background:var(--bg);border-radius:10px;padding:.7rem .9rem;margin-top:.75rem}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.hero .big{font-size:2.5rem}
