/* Star Gate Monitor BC — estilos base */
:root { color-scheme: dark; }
* { -webkit-tap-highlight-color: transparent; }
body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

/* Foco visible (WCAG 2.2) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #3b82f6; outline-offset: 2px; border-radius: 4px;
}

/* Tamaños táctiles mínimos */
button, .nav-item, input, select { min-height: 44px; }

.card { background: #121a2e; border: 1px solid #243356; border-radius: 12px; }
.badge { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .6rem; border-radius: 9999px; font-size: .75rem; font-weight: 600; }

/* Severidades: color + texto + icono (no solo color) */
.sev-critica { background:#7f1d1d; color:#fecaca; }
.sev-alta    { background:#7c2d12; color:#fed7aa; }
.sev-media   { background:#713f12; color:#fde68a; }
.sev-normal  { background:#14532d; color:#bbf7d0; }

.st-enviado, .st-validando { background:#1e3a8a; color:#bfdbfe; }
.st-asignado, .st-en_atencion { background:#713f12; color:#fde68a; }
.st-resuelto, .st-cerrado { background:#14532d; color:#bbf7d0; }
.st-descartado { background:#374151; color:#d1d5db; }

.nav-item { transition: background .15s; }
.nav-item:hover { background: #1a2440; }
.nav-item.active { background: #243356; border-left: 3px solid #3b82f6; }

table.data { width: 100%; border-collapse: collapse; }
table.data th { text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: #94a3b8; padding: .5rem .75rem; border-bottom: 1px solid #243356; }
table.data td { padding: .6rem .75rem; border-bottom: 1px solid #1a2440; font-size: .875rem; }
table.data tr:hover td { background: #1a2440; }

.input { background:#0b1220; border:1px solid #243356; border-radius:8px; padding:.55rem .8rem; color:#e2e8f0; width:100%; }
.input:focus { border-color:#3b82f6; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:8px; padding:.55rem 1.1rem; font-weight:600; font-size:.875rem; cursor:pointer; transition: opacity .15s; }
.btn:hover { opacity:.9; }
.btn-primary { background:#3b82f6; color:white; }
.btn-ghost { background:transparent; border:1px solid #243356; color:#cbd5e1; }
.btn-danger { background:#b91c1c; color:white; }

.disclaimer { background:#422006; border:1px solid #a16207; color:#fde68a; border-radius:8px; padding:.5rem .9rem; font-size:.8rem; }

#map { width:100%; height: 480px; border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.skeleton { background: linear-gradient(90deg,#1a2440 25%,#243356 50%,#1a2440 75%); background-size:200% 100%; animation: sk 1.4s infinite; border-radius:8px; }
@keyframes sk { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

.modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:50; display:flex; align-items:center; justify-content:center; padding:1rem; }
.modal { background:#121a2e; border:1px solid #243356; border-radius:14px; max-width:640px; width:100%; max-height:90vh; overflow-y:auto; }
