:root{--bg: #f5f6f8;--card: #ffffff;--text: #1c2230;--muted: #6b7385;--border: #e2e5eb;--accent: #1f7a5c;--accent-soft: #e5f3ee;--warn: #b5482d;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #12151b;--card: #1b2029;--text: #e7eaf0;--muted: #98a0b0;--border: #2c3340;--accent: #4cc39a;--accent-soft: #1d3a31;--warn: #f08a6c;color-scheme:dark}}*{box-sizing:border-box}body{margin:0}.page{max-width:1100px;margin:0 auto;padding:32px 16px 48px}.hero h1{margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.4rem)}.hero p{margin:0 0 28px;color:var(--muted);max-width:640px;line-height:1.5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media(max-width:820px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px}.results{position:sticky;top:16px}@media(max-width:820px){.results{position:static}}h2{margin:0 0 16px;font-size:1.2rem}h3{margin:22px 0 10px;font-size:1rem}h3 small{color:var(--muted);font-weight:400}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-weight:600;font-size:.9rem}input[type=number],input:not([type]){width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text)}input:focus{outline:2px solid var(--accent);outline-offset:-1px}.input-prefix{position:relative;display:flex;align-items:center}.input-prefix em{position:absolute;left:12px;font-style:normal;color:var(--muted);pointer-events:none}.input-prefix input{padding-left:38px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font:inherit;font-size:.8rem;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.add{color:var(--accent);border-style:dashed}.beneficios{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}.beneficios li{display:grid;grid-template-columns:1fr 140px 36px;gap:8px}@media(max-width:420px){.beneficios li{grid-template-columns:1fr 36px}.beneficios .input-prefix{grid-column:1}}.remove{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;font-size:1.2rem;cursor:pointer}.remove:hover{color:var(--warn);border-color:var(--warn)}.toggle{display:flex;gap:10px;align-items:center;margin:8px 0;cursor:pointer}.toggle input{width:18px;height:18px;accent-color:var(--accent)}.advanced{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.advanced summary{cursor:pointer;font-weight:600;margin-bottom:12px}.muted,.hint{color:var(--muted);font-size:.85rem;line-height:1.45}.hint{margin:10px 0 0}.empty{min-height:260px;display:grid;place-items:center;text-align:center;color:var(--muted)}.highlight{background:var(--accent-soft);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:4px}.highlight strong{font-size:clamp(2rem,6vw,2.8rem);color:var(--accent);font-variant-numeric:tabular-nums}.highlight strong small{font-size:1rem;font-weight:500}.highlight span{color:var(--muted);font-size:.9rem}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}@media(max-width:420px){.stats{grid-template-columns:1fr}}.stat{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:2px}.stat span{font-size:.8rem;color:var(--muted)}.stat strong{font-size:1.3rem;font-variant-numeric:tabular-nums}.stat small{font-size:.78rem;color:var(--muted)}.extra p{margin:0;line-height:1.5}.warn{color:var(--warn)}.ok{color:var(--accent)}.breakdown{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}.breakdown td{padding:6px 0;border-bottom:1px solid var(--border)}.breakdown td:nth-child(2){text-align:right;padding-right:12px;white-space:nowrap}.breakdown tfoot td{font-weight:700;border-bottom:none}.bar-cell{width:35%}.bar{height:8px;border-radius:4px;background:var(--accent);min-width:2px}footer{text-align:center;color:var(--muted);font-size:.8rem;margin-top:32px}footer p{margin:4px 0}footer p:last-child{word-break:break-all}
