:root{--principal:#06498a;--principal-oscuro:#022b6c;--secundario:#e3eaf1;--blanco:#fff;--accent-1:#033b7c;--accent-2:#376c9b;--accent-3:#6a92b5;--card-bg:#fffffff2;--card-border:#033b7c14;--input-bg:#fffffffa;--texto:#022b6c;--texto-dark:#01263f;--sombra:#022b6c24;--gradient-azul:linear-gradient(135deg, #084984 0%, #376c9b 60%);--primary:#06498a;--primary-bg:#06498a1f;--hover-bg:#06498a0d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--blanco);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}body[data-theme=dark]{--principal:#86bfff;--principal-oscuro:#6aaeea;--secundario:#ffffff14;--blanco:#0f1a28;--accent-1:#2a6fbf;--accent-2:#336eaa;--accent-3:#4f7290;--card-bg:#1a2332;--card-border:#ffffff0d;--texto:#e3f0ff;--texto-dark:#f0f6fb;--sombra:#ffffff1f;--input-bg:#ffffff08;--gradient-azul:linear-gradient(135deg, #1b3a58 0%, #2b4e70 60%);--primary:#86bfff;--primary-bg:#86bfff26;--hover-bg:#86bfff14;background:#0f1a28}.ic-boton{background:var(--gradient-azul);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:700;display:inline-flex}.ic-entrada{border:1px solid var(--card-border);background:var(--input-bg);width:100%;height:36px;color:var(--texto);border-radius:7px;outline:none;padding:8px 12px;font-size:13px;transition:box-shadow .18s,border-color .18s,background .18s,transform .18s}.ic-entrada.ic-entrada-sm{border-radius:7px;height:36px;padding:8px 12px;font-size:13px}.ic-entrada option{background:var(--card-bg);color:var(--texto-dark);padding:8px}body[data-theme=dark] .ic-entrada option{color:#e5e5e5;background:#1a1a1a}.toggle-modo-wrap{justify-content:center;align-items:center;display:inline-flex}.toggle-modo-wrap--flotante{z-index:9999;position:fixed;top:18px;right:18px}.toggle-modo{border:1px solid var(--card-border);background:var(--card-bg);min-height:38px;color:var(--texto-dark);box-shadow:0 10px 28px var(--sombra);cursor:pointer;border-radius:999px;align-items:center;padding:5px;transition:transform .18s,box-shadow .22s,border-color .22s,background .22s;display:inline-flex;transform:translateZ(0)}.toggle-modo:hover{border-color:var(--principal);box-shadow:0 14px 34px var(--sombra);transform:translateY(-2px)}.toggle-modo:active{transform:translateY(0)scale(.98)}.toggle-modo:focus-visible{outline:2px solid var(--principal);outline-offset:3px}.toggle-modo-track{background:linear-gradient(135deg,#facc15,#38bdf8);border-radius:999px;justify-content:space-between;align-items:center;width:58px;height:28px;padding:0 7px;transition:background .28s;display:inline-flex;position:relative;overflow:hidden}.toggle-modo--dark .toggle-modo-track{background:linear-gradient(135deg,#172554,#7c3aed)}.toggle-modo-icon{z-index:2;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .26s,opacity .22s,color .22s;display:inline-flex;position:relative}.toggle-modo-icon--sun{color:#92400e}.toggle-modo-icon--moon{color:#dbeafe;opacity:.58}.toggle-modo--dark .toggle-modo-icon--sun{opacity:.58;color:#fde68a;transform:rotate(65deg)scale(.88)}.toggle-modo--dark .toggle-modo-icon--moon{opacity:1;transform:rotate(-12deg)scale(1.05)}.toggle-modo-knob{z-index:1;background:#fffffff0;border-radius:50%;width:22px;height:22px;transition:background .22s;position:absolute;top:3px;left:3px;box-shadow:0 4px 12px #0f172a38}.toggle-modo--dark .toggle-modo-knob{background:#0f172af0}.toggle-modo-wrap--compacto .toggle-modo{padding:4px}.toggle-modo-wrap--compacto .toggle-modo-track{width:46px;height:26px;padding:0 6px}.toggle-modo-wrap--compacto .toggle-modo-knob{width:20px;height:20px}.toggle-modo-wrap--compacto .toggle-modo--dark .toggle-modo-knob{transform:translate(19px)}.ic-entrada{animation:.42s cubic-bezier(.22,.9,.33,1) input-flash;transform:translateZ(0)}.ic-entrada:focus{box-shadow:0 10px 30px var(--sombra);border-color:var(--principal);transform:translateY(-4px)}@keyframes input-flash{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ic-boton:active{transform:translateY(1px)}.ic-boton:focus{box-shadow:0 6px 20px var(--sombra);outline:none}.ic-entrada:focus{box-shadow:0 8px 30px var(--sombra);border-color:var(--principal)}
