:root{--paper:#f3f5f2;--panel:#fff;--ink:#17241f;--ink-soft:#4a5a53;--line:#d7ddd6;--line-strong:#b9c3bb;--teal:#0f6f66;--teal-deep:#0b524b;--teal-wash:#e8f2f0;--blue-wash:#eef4fb;--danger:#a13b2f;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono","Cascadia Code",Consolas,monospace}*{box-sizing:border-box}body,html{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:1200px;margin:0 auto;padding:0 20px 0}a{color:var(--teal-deep)}.aviso-conexion{max-width:1200px;margin:12px auto 0;padding:10px 20px;background:#fff4d6;color:#5f4300;border:1px solid #d5a72b;border-radius:6px;font-size:13px;line-height:1.45}.aviso-conexion[hidden]{display:none}header.portada{background:linear-gradient(135deg,var(--teal-deep),var(--teal));color:#fff;margin:0 -20px 26px;padding:40px 20px 30px;text-align:center}header.portada .mark{font-weight:700;font-size:26px;text-transform:uppercase;margin:0 0 6px}header.portada h1{font-size:17px;font-weight:500;margin:0 0 14px;opacity:.95;max-width:75%;margin-left:auto;margin-right:auto}header.portada .autores{font-size:13px;opacity:.9;line-height:1.7}header.portada .autores a{color:#fff;text-decoration:underline}header.portada .fechas{font-size:12px;opacity:.75;margin-top:10px;font-family:var(--mono)}.lang-switch{font-size:12px;opacity:.85;margin-top:14px}.lang-switch a{color:#fff;text-decoration:underline}.lang-switch a:hover{opacity:.75}.lang-switch .current{font-weight:600}.lang-switch .sep{opacity:.5;margin:0 7px}.hero-chart{max-width:640px;margin:22px auto 0}.hero-chart svg{display:block;width:100%;height:auto}.hero-chart-caption{font-size:11px;opacity:.55;margin-top:2px;letter-spacing:.02em}header.portada .citar{margin-top:10px}header.portada .citar>button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;font-size:12px;padding:5px 10px}header.portada .citar>button:hover{background:rgba(255,255,255,.2);border-color:#fff}header.portada .citar-texto{margin:10px auto 0;max-width:560px;text-align:left;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.55}header.portada .citar-texto p{margin:0 0 10px}header.portada .citar-texto a{color:#fff}header.portada .citar-texto button{font-size:12px;padding:5px 10px}section.explicacion{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px 22px;margin:0 -20px 16px}section.explicacion h2{font-size:14px;text-transform:uppercase;color:var(--teal-deep);font-weight:600;margin:0 0 12px}section.explicacion p{margin:0 0 12px}section.explicacion p:last-child{margin-bottom:0}.calculation-code{text-align:center;margin-top:20px}.calculation-code pre{margin:16px 0 0;text-align:left;max-height:520px;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:6px;background:#f7f9f9;color:var(--ink);font-family:var(--mono);font-size:12px;line-height:1.5;white-space:pre}section.explicacion ul{margin:0;padding-left:20px}section.explicacion li{margin-bottom:8px}section.explicacion li:last-child{margin-bottom:0}section.explicacion .vars dt{display:inline;font-weight:600;color:var(--ink);font-size:13px}section.explicacion .vars dt::after{content:": "}section.explicacion .vars dd{display:inline;margin:0}section.explicacion .vars dd::after{content:"";display:block;margin-bottom:10px}section.explicacion .vars h3{font-size:14px;text-transform:uppercase;color:var(--ink-soft);margin:16px 0 4px}section.explicacion .vars h3:first-child{margin-top:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:0 -20px 16px}.panel h2{margin:0 0 10px;font-size:14px;text-transform:uppercase;color:var(--teal-deep);font-weight:600}.grid-fields{display:flex;flex-wrap:wrap;gap:18px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;letter-spacing:.04em;color:var(--ink-soft);font-weight:500}.field .unit{color:var(--line-strong)}input,select{font-family:var(--sans);font-size:13px;color:var(--ink);border:1px solid var(--line-strong);border-radius:5px;padding:6px 8px;background:#fff}input:focus,select:focus{outline:2px solid var(--teal);outline-offset:0;border-color:var(--teal)}input[type=number]{font-family:var(--mono);width:96px;text-align:right}select{min-width:220px}.as-bs{display:none;gap:14px}.as-bs.on{display:flex}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 -20px 12px}button{font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:6px;padding:7px 12px;transition:background .12s,border-color .12s,transform .08s}button:hover{border-color:var(--teal);background:var(--teal-wash)}button:active{transform:scale(.96)}button:disabled{opacity:.55;cursor:wait;transform:none}button.primary{background:var(--teal);border-color:var(--teal);color:#fff}button.primary:hover{background:var(--teal-deep)}button.ghost{background:0 0}.spacer{flex:1}.hint{color:var(--ink-soft);font-size:12px}.hint kbd{font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:1px 5px}#sheet-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:0 -20px}.jexcel_container{width:100%!important}.jexcel{width:100%!important;font-family:var(--mono);font-size:13px}.jexcel>thead>tr>td{background:#fbfcfb!important;border-color:var(--line-strong)!important;color:var(--ink-soft)!important;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.03em}.jexcel>tbody>tr>td{border-color:var(--line)!important}.jexcel>tbody>tr>td:not(:first-child):not(.readonly){background:var(--blue-wash)}.jexcel>tbody>tr>td.readonly{background:var(--teal-wash)!important;color:var(--teal-deep)!important;font-weight:600}.jexcel>tbody>tr>td.err{background:#f7ece9!important;color:var(--danger)!important;cursor:help}.jexcel>tbody>tr>td:first-child{background:#f4f6f4;color:var(--line-strong)}.summary{display:flex;gap:26px;flex-wrap:wrap;margin:14px -20px 0;align-items:baseline}.stat{display:flex;flex-direction:column}.stat .n{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--teal-deep)}.stat .l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}#banner{font-family:Roboto,sans-serif;font-size:14px;text-align:center;width:100vw;margin-left:calc(50% - 50vw);padding:0 20px;color:var(--ink-soft)}#banner a{color:var(--teal-deep)}#footer{height:3%;font-weight:400;height:fit-content;min-height:120px;display:flex!important;box-shadow:0 -4px 15px rgba(0,0,0,.2);border-top:3px solid rgba(135,206,235,.3);position:relative;font-weight:400;height:fit-content;min-height:120px;width:100vw;margin-left:calc(50% - 50vw);background:linear-gradient(135deg,#00577b 0,#0077a3 50%,#00577b 100%);line-height:1.3;font-size:.875rem;display:flex;flex-direction:column;justify-content:center;padding-left:2%;padding-right:2%;padding-top:2%;padding-bottom:2%;box-shadow:0 -4px 15px rgba(0,0,0,.2);position:relative;z-index:10;clear:both;margin-top:auto;margin-bottom:-25px;margin-right:5px;animation:slideInUp 1.8s ease-out}#footer a{color:#fff}#ultima_actualizacion{height:auto;height:fit-content;color:#fff;margin:0;font-size:medium}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(140%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.25);transition:transform .3s;z-index:50;font-size:13px}.toast.show{transform:translateX(-50%) translateY(0)}@media (max-width:640px){input[type=number]{width:84px}select{min-width:160px}}