:root{--color-bg-base: #0b1a35;--color-bg-navy: #14294d;--color-bg-surface: #1b3358;--color-border: #26406e;--color-field: #eef2fb;--color-field-hover: #e4eaf7;--color-field-border: #dbe3f4;--color-field-text: #16294c;--color-field-muted: #6b7a99;--color-accent: #4f6bd6;--color-accent-hover: #4560c8;--color-accent-soft: rgba(79, 107, 214, .14);--gradient-accent: linear-gradient(150deg, #5a76e0 0%, #445fc4 100%);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .13);--color-danger: #ef4444;--color-danger-bg: rgba(239, 68, 68, .13);--color-info: #60a5fa;--color-info-bg: rgba(96, 165, 250, .13);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .14);--color-muted: #c3cfe6;--color-muted-bg: rgba(195, 207, 230, .12);--color-text-primary: #f3f6fd;--color-text-secondary: #b9c6e2;--color-text-tertiary: #8698ba;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-soft: 0 1px 2px rgba(4, 12, 30, .25), 0 6px 20px rgba(4, 12, 30, .22)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(160deg,#0b1a35,#16294c);background-attachment:fixed;color:var(--color-text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}input{font-family:inherit}input,select,textarea{transition:box-shadow .14s ease,background .14s ease,border-color .14s ease}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft),inset 0 0 0 1px var(--color-accent)}button{transition:filter .14s ease,transform 60ms ease,box-shadow .14s ease}button:hover:not(:disabled){filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(1px)}@keyframes destelloEntrada{0%{box-shadow:0 0 0 2px var(--destello-color, transparent);opacity:0;transform:translateY(-8px)}55%{opacity:1;transform:translateY(0)}to{box-shadow:0 0 0 0 transparent;opacity:1;transform:translateY(0)}}.evento-nuevo{animation:destelloEntrada .9s ease-out}@keyframes pulsoVivo{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.punto-vivo-activo{animation:pulsoVivo 1.8s infinite}@keyframes torniqueteAbrir{0%{transform:rotate(0)}to{transform:rotate(120deg)}}.torniquete-abrir{animation:torniqueteAbrir .6s cubic-bezier(.34,1.56,.64,1) forwards,torniqueteCerrar .45s ease-in 1.1s forwards}@keyframes torniqueteCerrar{0%{transform:rotate(120deg)}to{transform:rotate(0)}}@keyframes torniqueteSacudida{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.torniquete-sacudida{animation:torniqueteSacudida .4s ease-in-out}@keyframes torniqueteValidando{0%,to{opacity:1}50%{opacity:.55}}.torniquete-validando{animation:torniqueteValidando .9s ease-in-out infinite}@keyframes semaforoParpadeo{0%{opacity:.35}15%{opacity:1}30%{opacity:.3}45%{opacity:1}60%{opacity:.3}75%{opacity:1}to{opacity:1}}.semaforo-parpadeo{animation:semaforoParpadeo .7s ease-in-out}@keyframes semaforoFlash{0%{filter:brightness(2.2)}to{filter:brightness(1)}}.semaforo-flash{animation:semaforoFlash .35s ease-out}@keyframes semaforoPulso{0%,to{opacity:1}50%{opacity:.4}}.semaforo-pulso{animation:semaforoPulso .55s ease-in-out infinite}@keyframes barreraAbrir{0%{transform:rotate(0)}to{transform:rotate(-85deg)}}.barrera-abrir{animation:barreraAbrir .6s cubic-bezier(.34,1.56,.64,1) forwards,barreraCerrar .45s ease-in 1.1s forwards}@keyframes barreraCerrar{0%{transform:rotate(-85deg)}to{transform:rotate(0)}}@keyframes barreraSacudida{0%,to{transform:rotate(0)}20%{transform:rotate(-4deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(3deg)}}.barrera-sacudida{animation:barreraSacudida .4s ease-in-out}@keyframes barreraValidando{0%,to{opacity:1}50%{opacity:.55}}.barrera-validando{animation:barreraValidando .9s ease-in-out infinite}@keyframes alertaProhibicionTitileo{0%,to{background:var(--color-danger);box-shadow:0 0 #ef4444b3}50%{background:#7f1d1d;box-shadow:0 0 18px 4px #ef44448c}}.alerta-prohibicion{animation:alertaProhibicionTitileo .9s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.alerta-prohibicion{animation:none;background:var(--color-danger)}}
