/* =====================================================================
   Paletas de color. Cada tema define los mismos tokens; la estructura
   (app.css) solo usa tokens, así que añadir una paleta es copiar un bloque.
   Seleccionable por cada usuario (se guarda en su perfil).
   ===================================================================== */

/* ---- Noche (por defecto): oscuro con verde ---- */
:root, [data-theme="noche"] {
  --scheme: dark;
  --bg: #0f141b; --bg-glow: rgba(34, 197, 94, .06);
  --surface: #161d26; --surface-2: #1c2430; --surface-3: #232d3a;
  --line: #2a3542; --line-2: #222b36;
  --ink: #e9eef3; --ink-2: #b6c1cc; --ink-3: #7f8c99;
  --accent: #22c55e; --accent-2: #16a34a; --accent-ink: #4ade80; --accent-soft: rgba(34, 197, 94, .14); --on-accent: #04210f;
  --warn: #f59e0b; --warn-ink: #fbbf24; --warn-soft: rgba(245, 158, 11, .15);
  --danger: #ef4444; --danger-ink: #f87171; --danger-soft: rgba(239, 68, 68, .15);
  --info: #3b82f6; --info-ink: #60a5fa; --info-soft: rgba(59, 130, 246, .16);
  --nav-bg: #121820; --nav-ink: #9aa7b4;
  --shadow: 0 16px 48px rgba(0, 0, 0, .45);
}
/* ---- Grafito: oscuro neutro con azul ---- */
[data-theme="grafito"] {
  --scheme: dark;
  --bg: #15171c; --bg-glow: rgba(47, 111, 237, .07);
  --surface: #1c1f26; --surface-2: #232730; --surface-3: #2b303b;
  --line: #333845; --line-2: #2a2e38;
  --ink: #eceef2; --ink-2: #b9bec9; --ink-3: #858b98;
  --accent: #3d7bf2; --accent-2: #2f6fed; --accent-ink: #7aa7ff; --accent-soft: rgba(61, 123, 242, .16); --on-accent: #ffffff;
  --warn: #f2a516; --warn-ink: #f8c04a; --warn-soft: rgba(242, 165, 22, .15);
  --danger: #ef5350; --danger-ink: #ff7b78; --danger-soft: rgba(239, 83, 80, .15);
  --info: #8b5cf6; --info-ink: #a78bfa; --info-soft: rgba(139, 92, 246, .16);
  --nav-bg: #181b21; --nav-ink: #9da3af;
  --shadow: 0 16px 48px rgba(0, 0, 0, .5);
}
/* ---- Océano: azul profundo con cian ---- */
[data-theme="oceano"] {
  --scheme: dark;
  --bg: #0a1526; --bg-glow: rgba(34, 211, 238, .07);
  --surface: #10203a; --surface-2: #152846; --surface-3: #1b3154;
  --line: #22385c; --line-2: #1b2f4e;
  --ink: #e6f1fb; --ink-2: #aec3d9; --ink-3: #7690ad;
  --accent: #22d3ee; --accent-2: #06b6d4; --accent-ink: #67e8f9; --accent-soft: rgba(34, 211, 238, .14); --on-accent: #03222a;
  --warn: #fbbf24; --warn-ink: #fcd34d; --warn-soft: rgba(251, 191, 36, .14);
  --danger: #fb7185; --danger-ink: #fda4af; --danger-soft: rgba(251, 113, 133, .15);
  --info: #a78bfa; --info-ink: #c4b5fd; --info-soft: rgba(167, 139, 250, .16);
  --nav-bg: #0c1a30; --nav-ink: #8ea6c2;
  --shadow: 0 16px 48px rgba(0, 0, 0, .5);
}
/* ---- Neón: oscuro violeta con magenta (llamativo) ---- */
[data-theme="neon"] {
  --scheme: dark;
  --bg: #110c1d; --bg-glow: rgba(255, 62, 165, .09);
  --surface: #1a132c; --surface-2: #221937; --surface-3: #2b2045;
  --line: #3a2c5a; --line-2: #2d2247;
  --ink: #f4eefe; --ink-2: #c9bde3; --ink-3: #9686b6;
  --accent: #ff3ea5; --accent-2: #f0218e; --accent-ink: #ff7cc4; --accent-soft: rgba(255, 62, 165, .16); --on-accent: #2a0418;
  --warn: #facc15; --warn-ink: #fde047; --warn-soft: rgba(250, 204, 21, .15);
  --danger: #ff5c5c; --danger-ink: #ff8a8a; --danger-soft: rgba(255, 92, 92, .16);
  --info: #22d3ee; --info-ink: #67e8f9; --info-soft: rgba(34, 211, 238, .15);
  --nav-bg: #140e22; --nav-ink: #a594c7;
  --shadow: 0 16px 48px rgba(0, 0, 0, .55);
}
/* ---- Claro: blanco con verde ---- */
[data-theme="claro"] {
  --scheme: light;
  --bg: #f2f5f7; --bg-glow: rgba(21, 128, 61, .05);
  --surface: #ffffff; --surface-2: #f6f8fa; --surface-3: #edf1f4;
  --line: #d9e0e6; --line-2: #e8edf1;
  --ink: #131b24; --ink-2: #44525f; --ink-3: #6b7885;
  --accent: #15803d; --accent-2: #166534; --accent-ink: #15803d; --accent-soft: #e3f4e9; --on-accent: #ffffff;
  --warn: #b45309; --warn-ink: #92400e; --warn-soft: #fdf1dc;
  --danger: #c2410c; --danger-ink: #b91c1c; --danger-soft: #fbe7df;
  --info: #1d4ed8; --info-ink: #1d4ed8; --info-soft: #e3ecfb;
  --nav-bg: #ffffff; --nav-ink: #5b6875;
  --shadow: 0 12px 40px rgba(19, 27, 36, .14);
}
/* ---- Nube: claro frío con azul ---- */
[data-theme="nube"] {
  --scheme: light;
  --bg: #edf2fa; --bg-glow: rgba(37, 99, 235, .06);
  --surface: #ffffff; --surface-2: #f5f8fd; --surface-3: #e9eff9;
  --line: #d4ddec; --line-2: #e4eaf5;
  --ink: #111c2e; --ink-2: #3f4f68; --ink-3: #66768f;
  --accent: #2563eb; --accent-2: #1d4ed8; --accent-ink: #1d4ed8; --accent-soft: #e2ebfd; --on-accent: #ffffff;
  --warn: #b45309; --warn-ink: #92400e; --warn-soft: #fdf1dc;
  --danger: #dc2626; --danger-ink: #b91c1c; --danger-soft: #fde4e4;
  --info: #7c3aed; --info-ink: #6d28d9; --info-soft: #efe7fd;
  --nav-bg: #ffffff; --nav-ink: #5a6a83;
  --shadow: 0 12px 40px rgba(17, 28, 46, .14);
}
/* ---- Coral: claro con coral intenso (llamativo) ---- */
[data-theme="coral"] {
  --scheme: light;
  --bg: #fbf1f3; --bg-glow: rgba(232, 69, 60, .07);
  --surface: #ffffff; --surface-2: #fdf6f7; --surface-3: #f8eaed;
  --line: #efd5da; --line-2: #f5e3e7;
  --ink: #2a1418; --ink-2: #5e3b42; --ink-3: #8c6b72;
  --accent: #d93a31; --accent-2: #bf2e26; --accent-ink: #b42a22; --accent-soft: #fde4e1; --on-accent: #ffffff;
  --warn: #b45309; --warn-ink: #92400e; --warn-soft: #fdf0d9;
  --danger: #9f1239; --danger-ink: #9f1239; --danger-soft: #fce4ec;
  --info: #0e7490; --info-ink: #0e7490; --info-soft: #dff4f8;
  --nav-bg: #2a1418; --nav-ink: #e9cfd4;
  --shadow: 0 12px 40px rgba(42, 20, 24, .16);
}
/* ---- Sol: amarillo intenso con negro (llamativo) ---- */
[data-theme="sol"] {
  --scheme: light;
  --bg: #fbf7e9; --bg-glow: rgba(245, 179, 1, .1);
  --surface: #ffffff; --surface-2: #fffbeb; --surface-3: #fbf2cf;
  --line: #ece2b8; --line-2: #f4ecd0;
  --ink: #1d1a10; --ink-2: #4d4632; --ink-3: #7a7055;
  --accent: #f5b301; --accent-2: #dda000; --accent-ink: #8a6200; --accent-soft: #fdf1c7; --on-accent: #1d1600;
  --warn: #c2410c; --warn-ink: #9a3412; --warn-soft: #fde7d8;
  --danger: #dc2626; --danger-ink: #b91c1c; --danger-soft: #fde4e4;
  --info: #2563eb; --info-ink: #1d4ed8; --info-soft: #e2ebfd;
  --nav-bg: #1d1a10; --nav-ink: #d8cfa8;
  --shadow: 0 12px 40px rgba(29, 26, 16, .16);
}

/* Alias de compatibilidad (nombres usados en vistas y gráficos) */
:root, [data-theme] {
  --green: var(--accent); --green-ink: var(--accent-ink); --green-soft: var(--accent-soft);
  --amber: var(--warn); --amber-soft: var(--warn-soft);
  --rust: var(--danger-ink); --rust-soft: var(--danger-soft);
  --blue: var(--info-ink); --blue-soft: var(--info-soft);
  --bench: var(--bg);
  --nav-active: var(--accent-ink); --nav-hover: rgba(255, 255, 255, .06); --nav-line: var(--line-2);
  color-scheme: var(--scheme);
}

[data-theme="claro"], [data-theme="nube"] { --nav-hover: rgba(0, 0, 0, .04); }
[data-theme="coral"] { --nav-active: #ff8f86; --nav-line: #3d2025; }
[data-theme="sol"] { --nav-active: #f5b301; --nav-line: #2e2a1a; }

