/* CostoReal: estética de libro contable. Azul tinta + ámbar, títulos con serifa, cifras monoespaciadas. */
:root{--bg:#eef1f6;--paper:#fff;--ink:#13203a;--muted:#55607a;--line:#c9d1e0;--rule:#e3e8f1;--head:#13203a;--head-ink:#f3f5fa;--accent:#2547a8;--amber:#d98a0b;--warn-bg:#fff6e3;--warn-line:#d98a0b;--danger-bg:#fde9e7;--danger-line:#b3261e;--pend:#8a5a00}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1222;--paper:#121b30;--ink:#e4e9f4;--muted:#9aa6c0;--line:#2a3654;--rule:#1c2742;--head:#060b17;--head-ink:#e4e9f4;--accent:#8fa9ff;--amber:#f2b43c;--warn-bg:#2a2010;--warn-line:#f2b43c;--danger-bg:#3a1513;--danger-line:#ff7b6e;--pend:#f2c45a}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "IBM Plex Sans",system-ui,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:2px}
.wrap{max-width:1060px;margin:0 auto;padding:0 16px}
header.top{background:var(--head);color:var(--head-ink);border-bottom:4px solid var(--amber)}
.top .wrap{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;padding-top:14px;padding-bottom:14px}
.brand{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.5rem;text-decoration:none;color:var(--head-ink);letter-spacing:-.01em}
.brand span{color:var(--amber);font-style:italic}
nav a{margin-right:16px;text-decoration:none;font-size:.9rem;color:var(--head-ink);opacity:.85}
nav a:hover{opacity:1;text-decoration:underline}
main{padding:28px 0 56px}
main .wrap>h1:first-of-type,main .wrap>h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:2.1rem;line-height:1.15;margin:.3em 0 .5em;letter-spacing:-.015em}
h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.4rem;margin-top:2em;padding-bottom:4px;border-bottom:2px solid var(--ink)}
h3{font-family:Fraunces,Georgia,serif}
.risk{background:var(--warn-bg);border:1px solid var(--warn-line);border-top:4px solid var(--warn-line);padding:12px 16px;margin:0 0 20px;font-size:.93rem}
.risk strong{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.risk ul{margin:4px 0 0;padding-left:20px}
.cfd{background:var(--danger-bg);border:2px solid var(--danger-line);padding:14px 16px;margin:14px 0}
.cfd .pct{font-family:"IBM Plex Mono",monospace;font-size:1.6rem;font-weight:700;color:var(--danger-line)}
.card{background:var(--paper);border:1px solid var(--line);padding:18px;margin:12px 0;box-shadow:0 1px 0 var(--line)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.grid .card{border-top:3px solid var(--accent);margin:0}
.tag{display:inline-block;font-size:.72rem;padding:1px 8px;border:1px solid var(--line);color:var(--muted);margin:2px 4px 2px 0;text-transform:uppercase;letter-spacing:.04em}
.tag.cfdtag{border-color:var(--danger-line);color:var(--danger-line);font-weight:700}
.pend{color:var(--pend);font-weight:600;font-style:italic}
.muted{color:var(--muted);font-size:.9rem}
table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.92rem}
th,td{border-bottom:1px solid var(--rule);padding:9px 10px;text-align:left;vertical-align:top}
th{background:var(--head);color:var(--head-ink);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
tr:nth-child(even) td{background:var(--rule)}
#resultado td{font-family:"IBM Plex Mono",monospace;font-size:.86rem}
#resultado td:first-child{font-family:inherit;font-size:.92rem}
.tablewrap{overflow-x:auto;border:1px solid var(--line)}
form.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;border-top:3px solid var(--amber)}
label{font-size:.8rem;font-weight:600;display:block;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
input,select{width:100%;padding:9px;font:inherit;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink)}
input{font-family:"IBM Plex Mono",monospace}
input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 16px;text-decoration:none;font-weight:600;font-size:.9rem;border:2px solid var(--accent)}
.btn.sec{background:transparent;color:var(--accent)}
.aff{font-size:.78rem;color:var(--muted)}
footer{background:var(--head);color:var(--head-ink);padding:22px 0;font-size:.85rem;border-top:4px solid var(--amber)}
footer a{color:var(--amber)}
.rev{font-family:"IBM Plex Mono",monospace;font-size:.82rem;color:var(--muted)}
