/* ============================================================== */
/* ATALAYA OUTDOOR — SISTEMA DE COLOR DUAL: TÁCTICO & ARENA ACCESIBLE */
/* ============================================================== */

:root {
  /* MODO TÁCTICO OSCURO (NOCTURNO POR DEFECTO) */
  --color-bg-base: #070e09;
  --color-tactical-950: #070e09;
  --color-tactical-900: #0b140e;
  --color-tactical-850: #101c14;
  --color-tactical-800: #16251b;
  --color-tactical-700: #233729;
  --color-tactical-600: #344e3d;
  --color-tactical-500: #486853;
  --color-tactical-400: #8ba393;
  --color-tactical-300: #b2c5b8;
  --color-tactical-200: #d6e2da;

  --color-lime-400: #a3e635;
  --color-lime-500: #84cc16;
  --color-lime-600: #65a30d;
  --lime-glow: rgba(132, 204, 22, 0.25);

  --color-trophy-400: #facc15;
  --color-trophy-500: #eab308;
  --color-trophy-600: #ca8a04;
  --gold-glow: rgba(234, 179, 8, 0.2);

  --text-main: #f1f5f2;
  --text-muted: #8ba393;
  --border-accent: #365741;
}

[data-theme="light"], .theme-light {
  /* MODO ARENA TÁCTICA / PAPEL NÁUTICO OUTDOOR (ALTO CONTRASTE & ADULTOS MAYORES) */
  --color-bg-base: #F4F1EA;       /* Arena mate cálido anti-reflejo / cero luz azul cegadora */
  --color-tactical-950: #FAF8F4;  /* Marfil suave para tarjetas elevadas */
  --color-tactical-900: #FFFFFF;  /* Blanco puro con sombra para contenedores */
  --color-tactical-850: #EDE9DF;  /* Fondo de inputs y tarjetas secundarias */
  --color-tactical-800: #E2DCCF;  /* Hover de botones y pastillas */
  --color-tactical-700: #D0C7B6;  /* Bordes bien definidos para delimitación visual */
  --color-tactical-600: #9E9482;  /* Bordes medios */
  --color-tactical-500: #575248;  /* Textos secundarios de apoyo */
  --color-tactical-400: #3D3933;  /* Texto de lectura de alto contraste (WCAG AAA) */
  --color-tactical-300: #26231E;  /* Subtítulos oscuros y firmes */
  --color-tactical-200: #141210;  /* Títulos de máxima nitidez */

  /* Verde Musgo / Bosque Táctico (Reemplazo del verde neón en fondo claro) */
  --color-lime-400: #15803d;
  --color-lime-500: #166534;
  --color-lime-600: #14532d;
  --lime-glow: rgba(21, 128, 61, 0.15);

  /* Trofeo Bronce / Ámbar Cuero */
  --color-trophy-400: #b45309;
  --color-trophy-500: #92400e;
  --color-trophy-600: #78350f;
  --gold-glow: rgba(180, 83, 9, 0.15);

  --text-main: #141210;
  --text-muted: #44403C;
  --border-accent: #9E9482;
}

body {
  background-color: var(--color-bg-base);
  color: var(--text-main);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* REGLAS ESPECÍFICAS PARA MODO ARENA CLARO */
[data-theme="light"] {
  color-scheme: light;
}

[data-theme="light"] .text-white {
  color: #141210 !important;
}

[data-theme="light"] .text-slate-100,
[data-theme="light"] .text-slate-200 {
  color: #1c1917 !important;
}

[data-theme="light"] .text-slate-300 {
  color: #292524 !important;
}

[data-theme="light"] .text-slate-400 {
  color: #44403c !important;
}

[data-theme="light"] .hover\:text-white:hover {
  color: #141210 !important;
}

[data-theme="light"] .bg-black\/80,
[data-theme="light"] .bg-black\/70,
[data-theme="light"] .bg-black\/60 {
  background-color: rgba(30, 27, 24, 0.7) !important;
}

[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] textarea,
[data-theme="light"] select {
  color: #141210 !important;
  background-color: #EDE9DF !important;
  border-color: #D0C7B6 !important;
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
  color: #78716c !important;
}

[data-theme="light"] .bg-tactical-900,
[data-theme="light"] .bg-tactical-850 {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.03);
}

.btn-tactical-lime {
  background-color: var(--color-lime-500);
  color: #ffffff !important;
  font-weight: 700;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px var(--lime-glow);
}

.btn-tactical-lime:hover {
  background-color: var(--color-lime-600);
  transform: translateY(-1px);
}

.btn-tactical-lime * {
  color: #ffffff !important;
}

.btn-gold-trophy {
  background-color: var(--color-trophy-500);
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 4px 14px var(--gold-glow);
}

.btn-gold-trophy:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.btn-gold-trophy * {
  color: #ffffff !important;
}

[data-theme="light"] .bg-red-500,
[data-theme="light"] .bg-red-600,
[data-theme="light"] .bg-emerald-600,
[data-theme="light"] .bg-blue-600 {
  color: #ffffff !important;
}
[data-theme="light"] .bg-red-500 *,
[data-theme="light"] .bg-red-600 * {
  color: #ffffff !important;
}

/* ============================================================== */
/* ADAPTACIÓN DE TEXTOS Y BADGES GOLD / ÁMBAR EN MODO ARENA CLARO */
/* ============================================================== */
[data-theme="light"] .text-amber-300,
[data-theme="light"] .text-amber-400,
[data-theme="light"] .text-yellow-400,
[data-theme="light"] .text-yellow-300,
[data-theme="light"] .text-trophy-400,
[data-theme="light"] .text-trophy-500 {
  color: #92400e !important;
  font-weight: 700;
}

[data-theme="light"] .hover\:text-trophy-400:hover {
  color: #92400e !important;
}

[data-theme="light"] .bg-amber-500\/20,
[data-theme="light"] .bg-amber-500\/15,
[data-theme="light"] .bg-amber-500\/10,
[data-theme="light"] .bg-trophy-500\/20,
[data-theme="light"] .bg-trophy-500\/15,
[data-theme="light"] .bg-trophy-500\/10 {
  background-color: rgba(180, 83, 9, 0.12) !important;
}

[data-theme="light"] .border-amber-500\/40,
[data-theme="light"] .border-amber-500\/30,
[data-theme="light"] .border-trophy-500\/40,
[data-theme="light"] .border-trophy-500\/35,
[data-theme="light"] .border-trophy-500\/30 {
  border-color: rgba(146, 64, 14, 0.35) !important;
}

[data-theme="light"] .border-l-amber-500,
[data-theme="light"] .border-l-trophy-500 {
  border-left-color: #b45309 !important;
}

.empty-state-box {
  background: radial-gradient(circle at center, var(--color-tactical-850) 0%, var(--color-tactical-900) 100%);
  border: 1px dashed var(--border-accent);
}
