:root{--bg:#eef1f5;--surface:#fff;--surface-2:#f5f7fa;--border:#d8dee6;--text:#3c4655;--text-h:#121821;--text-dim:#6b7686;--accent:#1d4e89;--accent-strong:#123a6b;--accent-soft:#e8f0fa;--accent-contrast:#fff;--ok-bg:#e6f6ec;--ok-text:#166534;--ok-border:#bfe6cc;--fail-bg:#fdecec;--fail-text:#b42318;--fail-border:#f5c2c0;--warn-bg:#fff6e0;--warn-text:#7a5b00;--warn-border:#f0dfa0;--shadow-1:0 1px 2px #1018220f, 0 1px 1px #1018220a;--shadow-2:0 4px 16px #10182214;--sans:"Segoe UI", system-ui, Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e131b;--surface:#161d29;--surface-2:#1b2330;--border:#2b3644;--text:#becada;--text-h:#f0f4f9;--text-dim:#8592a3;--accent:#5b9bd9;--accent-strong:#7fb4e6;--accent-soft:#1c2d40;--accent-contrast:#071018;--ok-bg:#10301f;--ok-text:#7ee2a8;--ok-border:#1f5138;--fail-bg:#341417;--fail-text:#ff9c96;--fail-border:#5c2224;--warn-bg:#362b06;--warn-text:#ffd876;--warn-border:#6b551c;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px #00000073}}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}h1,h2,h3{color:var(--text-h);letter-spacing:-.01em;margin:0;font-weight:650}button,select,input{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}.app-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;align-items:center;gap:10px;padding:14px 20px;display:flex;position:sticky;top:0}.app-header-title{letter-spacing:-.01em;color:var(--text-h);font-size:15px;font-weight:700}.home{max-width:480px;margin:0 auto;padding:28px 20px 40px}.subtitulo{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px;font-size:14px;font-weight:600}.grid-modulos{flex-direction:column;gap:12px;display:flex}.tarjeta-modulo{text-align:left;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);cursor:pointer;border-radius:12px;align-items:flex-start;gap:14px;padding:18px;transition:border-color .15s,box-shadow .15s,transform 80ms;display:flex}.tarjeta-modulo:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}.tarjeta-modulo:active{transform:scale(.985)}.tarjeta-icono{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tarjeta-texto{flex-direction:column;gap:4px;padding-top:2px;display:flex}.tarjeta-titulo{color:var(--text-h);font-size:16px;font-weight:650}.tarjeta-desc{color:var(--text-dim);font-size:13px;line-height:1.4}.modulo{max-width:480px;margin:0 auto;padding:16px 20px 40px}.volver{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:4px;padding:6px 0;font-size:14px;font-weight:600}.modulo h2{margin-top:2px;margin-bottom:18px;font-size:21px}.modulo-estado{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:14px}.formulario{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);border-radius:14px;flex-direction:column;padding:18px;display:flex}.formulario label{color:var(--text-dim);flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600;display:flex}.formulario select,.formulario input{border:1px solid var(--border);background:var(--surface-2);color:var(--text-h);border-radius:8px;padding:10px 12px;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.formulario select:focus,.formulario input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input-inline{width:64px;margin-left:6px;display:inline-block}.aviso{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);border-radius:8px;margin:-6px 0 14px;padding:8px 10px;font-size:13px}.nota-pp{color:var(--text-dim);margin-bottom:16px;font-size:13px}.btn-calcular{background:var(--accent);width:100%;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:14px;font-size:15px;font-weight:650;transition:background .15s,transform 80ms}.btn-calcular:hover{background:var(--accent-strong)}.btn-calcular:active{transform:scale(.98)}.resultado{flex-direction:column;gap:14px;display:flex}.veredicto{text-align:center;border:1px solid;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:16px;font-weight:700;display:flex}.veredicto.ok{background:var(--ok-bg);color:var(--ok-text);border-color:var(--ok-border)}.veredicto.falla{background:var(--fail-bg);color:var(--fail-text);border-color:var(--fail-border)}.detalle-check{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.detalle-check h3{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin:0 0 10px;font-size:13px;font-weight:700}.detalle-check p{font-size:14px;font-family:var(--mono);color:var(--text);margin:5px 0}.ok-texto{color:var(--ok-text);font-weight:700;font-family:var(--sans)!important}.falla-texto{color:var(--fail-text);font-weight:700;font-family:var(--sans)!important}.combos-detalle{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px 16px;font-size:14px}.combos-detalle summary{color:var(--accent);cursor:pointer;padding:12px 0;font-size:13.5px;font-weight:650}.combos-detalle[open] summary{padding-bottom:8px}.combos-subtitulo{text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);margin:14px 0 6px;font-size:12px;font-weight:700}.tabla-preview{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--mono)}.tabla-preview th,.tabla-preview td{border-bottom:1px solid var(--border);text-align:right;padding:8px 6px}.tabla-preview th{font-family:var(--sans);text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);font-size:11px;font-weight:700}.tabla-preview th:first-child,.tabla-preview td:first-child{text-align:left;font-family:var(--sans)}
