/* ==========================================================================
   CONTROL DIETÉTICO — PALETAS DE TEMAS
   ---------------------------------------------------------------------------
   Reglas del contrato (ver docs/dieta-temas.md):
     1. Este fichero contiene SOLO paletas: nada de selectores de componentes.
     2. Cada bloque [data-theme="<id>"] declara el contrato completo de tokens
        que define :root en styles.css (salvo --font-*, que son globales).
     3. Para añadir un tema: bloque nuevo aquí + entrada en
        themes.manifest.js. No hay que tocar styles.css ni ningún componente.
     4. Sin neón y sin glow: --accent-primary-glow es 'none' en los 6 temas.
     5. Las comidas mantienen identidad semántica constante en todos los
        temas (desayuno ámbar, media mañana cian, comida verde,
        merienda naranja, cena violeta, notas gris).
   ========================================================================== */

/* ==========================================================================
   TEMA 1/6 — OLED NEGRO (default)
   OLED REAL: todas las superficies a #000000, cero sombras y cero resplandor.
   La estructura la llevan líneas de 1px; el acento lima (#ccff33) es lo más
   luminoso de la pantalla, que es lo que un panel OLED reproduce sin halación.
   Look: "hud" (neo-brutalismo) — ver reglas [data-look="hud"] en styles.css.
   ========================================================================== */
[data-theme="oled-minimal"] {
  color-scheme: dark;
  --border-radius-card: 0;

  /* Superficies y Fondos: negro puro en TODAS (pixel apagado = pixel apagado) */
  --bg-main: #000000;
  --bg-surface: #000000;
  --bg-surface-secondary: #000000;
  --bg-surface-elevated: #000000;
  --bg-modal: #000000;
  --bg-modal-header: #000000;
  --bg-input: #000000;
  --bg-card: #000000;
  --bg-card-hover: #000000;
  --bg-control-bar: rgba(0, 0, 0, 0.92);

  /* Bordes: muy tenues, solo para dibujar la estructura */
  --border-dim: #1a1a1a;
  --border-bright: #33333a;
  --border-active: #ccff33;

  /* Textos: en OLED el secundario y el atenuado también van altos,
     si no el texto pequeño se ve sucio y hace halación */
  --text-primary: #ffffff;
  --text-secondary: #c8c8d0;
  --text-muted: #9a9aa4;

  /* Acentos y Acciones: lima de alta luminancia */
  --accent-primary: #ccff33;
  --accent-primary-text: #000000;
  --accent-primary-hover: #e2ff77;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(204, 255, 51, 0.12);
  --accent-primary-border: rgba(204, 255, 51, 0.35);
  --accent-secondary: #a8cc2c;
  --accent-interactive-active: #ccff33;
  --accent-success: #4fae8a;
  --accent-success-hover: #4a9a70;
  --accent-success-border: #7cc4a3;
  --accent-success-dim: rgba(79, 174, 138, 0.10);
  --accent-success-border-dim: rgba(79, 174, 138, 0.45);
  --accent-warning: #d3a45c;
  --accent-danger: #d9645c;

  /* Texto y fondos de estado */
  --text-on-accent: #000000;
  --text-on-danger: #0f0f10;
  --text-on-warning: #000000;
  --text-danger: #eda8a3;
  --text-warning: #e6c793;
  --bg-danger-dim: rgba(217, 100, 92, 0.16);
  --bg-warning-dim: rgba(211, 164, 92, 0.14);
  --bg-neutral-dim: rgba(255, 255, 255, 0.07);

  /* Sombras: ninguna. En un panel OLED una sombra no existe, es negro */
  --shadow-card: none;
  --shadow-elevated: none;
  --overlay-backdrop: rgba(0, 0, 0, 0.88);
  --shadow-focus: 0 0 0 2px #ccff33;

  /* Selección y barras de desplazamiento */
  --selection-bg: #ccff33;
  --selection-text: #000000;
  --scrollbar-thumb: #1c1c1c;
  --scrollbar-thumb-hover: #3a3a44;
  --scrollbar-track: #000000;

  /* Patrón de fondo: apagado del todo (píxeles apagados al 100%) */
  --bg-pattern: none;
  --bg-pattern-size: 0 0;

  /* Comidas (altas y desaturadas: sobre negro puro se leen muy bien) */
  --c-desayuno: #d3a45c;
  --c-desayuno-bg: rgba(211, 164, 92, 0.06);
  --c-desayuno-badge: #e2c188;
  --c-desayuno-badge-bg: rgba(211, 164, 92, 0.14);

  --c-mediamanana: #5a9db4;
  --c-mediamanana-bg: rgba(90, 157, 180, 0.06);
  --c-mediamanana-badge: #84bdce;
  --c-mediamanana-badge-bg: rgba(90, 157, 180, 0.14);

  --c-comida: #4fa37c;
  --c-comida-bg: rgba(79, 163, 124, 0.07);
  --c-comida-badge: #7fc5a3;
  --c-comida-badge-bg: rgba(79, 163, 124, 0.14);

  --c-merienda: #c47f55;
  --c-merienda-bg: rgba(196, 127, 85, 0.06);
  --c-merienda-badge: #dda178;
  --c-merienda-badge-bg: rgba(196, 127, 85, 0.14);

  --c-cena: #9384c2;
  --c-cena-bg: rgba(147, 132, 194, 0.07);
  --c-cena-badge: #b1a5d6;
  --c-cena-badge-bg: rgba(147, 132, 194, 0.14);

  --c-notas: #9a9aa2;
  --c-notas-bg: rgba(154, 154, 162, 0.06);
  --c-notas-badge: #c2c2c9;
  --c-notas-badge-bg: rgba(154, 154, 162, 0.14);
}

/* ==========================================================================
   TEMA 2/6 — NOCHE
   Azul noche frío con acento lavanda. El tema oscuro de referencia.
   ========================================================================== */
[data-theme="noche"] {
  color-scheme: dark;
  --border-radius-card: 8px;

  /* Superficies y Fondos */
  --bg-main: #14161f;
  --bg-surface: #181b26;
  --bg-surface-secondary: #1d2130;
  --bg-surface-elevated: #232838;
  --bg-modal: #1a1d28;
  --bg-modal-header: #171a24;
  --bg-input: #12141c;
  --bg-card: #1b1e2a;
  --bg-card-hover: #242838;
  --bg-control-bar: rgba(20, 22, 31, 0.85);

  /* Bordes */
  --border-dim: #2a2f40;
  --border-bright: #3d4459;
  --border-active: #a5a3f0;

  /* Textos */
  --text-primary: #f2f3f8;
  --text-secondary: #b9bccb;
  --text-muted: #8b8fa3;

  /* Acentos y Acciones */
  --accent-primary: #a5a3f0;
  --accent-primary-text: #14161f;
  --accent-primary-hover: #b8b6f5;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(165, 163, 240, 0.14);
  --accent-primary-border: rgba(165, 163, 240, 0.32);
  --accent-secondary: #7f7dd4;
  --accent-interactive-active: #7876d4;
  --accent-success: #4ea37c;
  --accent-success-hover: #4a9a70;
  --accent-success-border: #7cc4a3;
  --accent-success-dim: rgba(78, 163, 124, 0.10);
  --accent-success-border-dim: rgba(78, 163, 124, 0.42);
  --accent-warning: #d3a05a;
  --accent-danger: #d9605f;

  /* Texto y fondos de estado */
  --text-on-accent: #14161f;
  --text-on-danger: #0f0f10;
  --text-on-warning: #14161f;
  --text-danger: #eda3a3;
  --text-warning: #e6c493;
  --bg-danger-dim: rgba(217, 96, 95, 0.16);
  --bg-warning-dim: rgba(211, 160, 90, 0.14);
  --bg-neutral-dim: rgba(255, 255, 255, 0.06);

  /* Sombras, overlay y foco */
  --shadow-card: -10px 0 30px rgba(0, 0, 0, 0.5);
  --shadow-elevated: 0 18px 40px rgba(0, 0, 0, 0.45);
  --overlay-backdrop: rgba(10, 11, 16, 0.7);
  --shadow-focus: 0 0 0 2px #a5a3f0;

  /* Selección y barras de desplazamiento */
  --selection-bg: #a5a3f0;
  --selection-text: #14161f;
  --scrollbar-thumb: #2f3446;
  --scrollbar-thumb-hover: #414863;
  --scrollbar-track: #14161f;

  /* Patrón de fondo */
  --bg-pattern: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  --bg-pattern-size: 24px 24px;

  /* Comidas */
  --c-desayuno: #c99a52;
  --c-desayuno-bg: rgba(201, 154, 82, 0.1);
  --c-desayuno-badge: #e6c48d;
  --c-desayuno-badge-bg: rgba(201, 154, 82, 0.2);

  --c-mediamanana: #5b93a8;
  --c-mediamanana-bg: rgba(91, 147, 168, 0.1);
  --c-mediamanana-badge: #83b3c4;
  --c-mediamanana-badge-bg: rgba(91, 147, 168, 0.2);

  --c-comida: #4d9673;
  --c-comida-bg: rgba(77, 150, 115, 0.12);
  --c-comida-badge: #79b698;
  --c-comida-badge-bg: rgba(77, 150, 115, 0.2);

  --c-merienda: #c07a4f;
  --c-merienda-bg: rgba(192, 122, 79, 0.1);
  --c-merienda-badge: #e8b58f;
  --c-merienda-badge-bg: rgba(192, 122, 79, 0.2);

  --c-cena: #8a7bb5;
  --c-cena-bg: rgba(138, 123, 181, 0.12);
  --c-cena-badge: #b6abdb;
  --c-cena-badge-bg: rgba(138, 123, 181, 0.2);

  --c-notas: #7e8496;
  --c-notas-bg: rgba(126, 132, 150, 0.1);
  --c-notas-badge: #a5aab8;
  --c-notas-badge-bg: rgba(126, 132, 150, 0.22);
}

/* ==========================================================================
   TEMA 3/6 — CARBÓN
   Marrón carbón cálido con acento terracota. Cozy, luz de lámpara.
   ========================================================================== */
[data-theme="carbon"] {
  color-scheme: dark;
  --border-radius-card: 8px;

  /* Superficies y Fondos */
  --bg-main: #16130f;
  --bg-surface: #1b1813;
  --bg-surface-secondary: #221e18;
  --bg-surface-elevated: #28231c;
  --bg-modal: #1d1913;
  --bg-modal-header: #1a1611;
  --bg-input: #14110d;
  --bg-card: #1f1b16;
  --bg-card-hover: #282219;
  --bg-control-bar: rgba(22, 19, 15, 0.85);

  /* Bordes */
  --border-dim: #2f2a22;
  --border-bright: #4a4237;
  --border-active: #e0a06a;

  /* Textos */
  --text-primary: #f5efe8;
  --text-secondary: #c3b8a8;
  --text-muted: #9a8f7e;

  /* Acentos y Acciones */
  --accent-primary: #e0a06a;
  --accent-primary-text: #16130f;
  --accent-primary-hover: #ecb684;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(224, 160, 106, 0.15);
  --accent-primary-border: rgba(224, 160, 106, 0.34);
  --accent-secondary: #c4854f;
  --accent-interactive-active: #b8763f;
  --accent-success: #6a9a5f;
  --accent-success-hover: #4a9a70;
  --accent-success-border: #8fbb84;
  --accent-success-dim: rgba(106, 154, 95, 0.10);
  --accent-success-border-dim: rgba(106, 154, 95, 0.42);
  --accent-warning: #d3a54e;
  --accent-danger: #cf5f4f;

  /* Texto y fondos de estado */
  --text-on-accent: #1a1610;
  --text-on-danger: #0f0f10;
  --text-on-warning: #1a1610;
  --text-danger: #ebaaa0;
  --text-warning: #e7cb92;
  --bg-danger-dim: rgba(207, 95, 79, 0.16);
  --bg-warning-dim: rgba(211, 165, 78, 0.14);
  --bg-neutral-dim: rgba(255, 255, 255, 0.06);

  /* Sombras, overlay y foco */
  --shadow-card: -10px 0 30px rgba(0, 0, 0, 0.5);
  --shadow-elevated: 0 18px 40px rgba(0, 0, 0, 0.45);
  --overlay-backdrop: rgba(12, 10, 7, 0.7);
  --shadow-focus: 0 0 0 2px #e0a06a;

  /* Selección y barras de desplazamiento */
  --selection-bg: #e0a06a;
  --selection-text: #16130f;
  --scrollbar-thumb: #35302a;
  --scrollbar-thumb-hover: #4a443c;
  --scrollbar-track: #16130f;

  /* Patrón de fondo */
  --bg-pattern: radial-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  --bg-pattern-size: 24px 24px;

  /* Comidas */
  --c-desayuno: #c9a05a;
  --c-desayuno-bg: rgba(201, 160, 90, 0.1);
  --c-desayuno-badge: #dbba7c;
  --c-desayuno-badge-bg: rgba(201, 160, 90, 0.2);

  --c-mediamanana: #5e9099;
  --c-mediamanana-bg: rgba(94, 144, 153, 0.1);
  --c-mediamanana-badge: #85b0b7;
  --c-mediamanana-badge-bg: rgba(94, 144, 153, 0.2);

  --c-comida: #5f9368;
  --c-comida-bg: rgba(95, 147, 104, 0.12);
  --c-comida-badge: #88b98f;
  --c-comida-badge-bg: rgba(95, 147, 104, 0.2);

  --c-merienda: #c47a4a;
  --c-merienda-bg: rgba(196, 122, 74, 0.1);
  --c-merienda-badge: #edb891;
  --c-merienda-badge-bg: rgba(196, 122, 74, 0.2);

  --c-cena: #9179ab;
  --c-cena-bg: rgba(145, 121, 171, 0.12);
  --c-cena-badge: #b9a9d0;
  --c-cena-badge-bg: rgba(145, 121, 171, 0.2);

  --c-notas: #837d72;
  --c-notas-bg: rgba(131, 125, 114, 0.1);
  --c-notas-badge: #b5afa3;
  --c-notas-badge-bg: rgba(131, 125, 114, 0.22);
}

/* ==========================================================================
   TEMA 4/6 — MARINO
   Azul petróleo profundo con cian apagado. Tranquilo, de contrato.
   ========================================================================== */
[data-theme="marino"] {
  color-scheme: dark;
  --border-radius-card: 8px;

  /* Superficies y Fondos */
  --bg-main: #0b1420;
  --bg-surface: #0f1a27;
  --bg-surface-secondary: #142232;
  --bg-surface-elevated: #1a2b3d;
  --bg-modal: #101d2b;
  --bg-modal-header: #0d1926;
  --bg-input: #091019;
  --bg-card: #111d2b;
  --bg-card-hover: #192839;
  --bg-control-bar: rgba(11, 20, 32, 0.85);

  /* Bordes */
  --border-dim: #22344a;
  --border-bright: #37526d;
  --border-active: #6fc3d6;

  /* Textos */
  --text-primary: #eaf2f8;
  --text-secondary: #b3c6d6;
  --text-muted: #8a9fb2;

  /* Acentos y Acciones */
  --accent-primary: #6fc3d6;
  --accent-primary-text: #0b1420;
  --accent-primary-hover: #8ad3e3;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(111, 195, 214, 0.14);
  --accent-primary-border: rgba(111, 195, 214, 0.32);
  --accent-secondary: #4a9fb4;
  --accent-interactive-active: #469ab0;
  --accent-success: #4f9d84;
  --accent-success-hover: #4a9a70;
  --accent-success-border: #79c0aa;
  --accent-success-dim: rgba(79, 157, 132, 0.10);
  --accent-success-border-dim: rgba(79, 157, 132, 0.42);
  --accent-warning: #cfa25c;
  --accent-danger: #d1636a;

  /* Texto y fondos de estado */
  --text-on-accent: #08121b;
  --text-on-danger: #0f0f10;
  --text-on-warning: #1a1610;
  --text-danger: #eda8ad;
  --text-warning: #e6cb96;
  --bg-danger-dim: rgba(209, 99, 106, 0.16);
  --bg-warning-dim: rgba(207, 162, 92, 0.14);
  --bg-neutral-dim: rgba(255, 255, 255, 0.06);

  /* Sombras, overlay y foco */
  --shadow-card: -10px 0 30px rgba(0, 0, 0, 0.5);
  --shadow-elevated: 0 18px 40px rgba(0, 0, 0, 0.45);
  --overlay-backdrop: rgba(6, 12, 20, 0.7);
  --shadow-focus: 0 0 0 2px #6fc3d6;

  /* Selección y barras de desplazamiento */
  --selection-bg: #6fc3d6;
  --selection-text: #08121b;
  --scrollbar-thumb: #25384c;
  --scrollbar-thumb-hover: #35506b;
  --scrollbar-track: #0b1420;

  /* Patrón de fondo */
  --bg-pattern: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  --bg-pattern-size: 24px 24px;

  /* Comidas */
  --c-desayuno: #c69a55;
  --c-desayuno-bg: rgba(198, 154, 85, 0.1);
  --c-desayuno-badge: #e2c190;
  --c-desayuno-badge-bg: rgba(198, 154, 85, 0.2);

  --c-mediamanana: #5c93a8;
  --c-mediamanana-bg: rgba(92, 147, 168, 0.1);
  --c-mediamanana-badge: #84b3c4;
  --c-mediamanana-badge-bg: rgba(92, 147, 168, 0.2);

  --c-comida: #4c9070;
  --c-comida-bg: rgba(76, 144, 112, 0.12);
  --c-comida-badge: #78b397;
  --c-comida-badge-bg: rgba(76, 144, 112, 0.2);

  --c-merienda: #bd7a4d;
  --c-merienda-bg: rgba(189, 122, 77, 0.1);
  --c-merienda-badge: #e5b48f;
  --c-merienda-badge-bg: rgba(189, 122, 77, 0.2);

  --c-cena: #8a7cb0;
  --c-cena-bg: rgba(138, 124, 176, 0.12);
  --c-cena-badge: #b6abd6;
  --c-cena-badge-bg: rgba(138, 124, 176, 0.2);

  --c-notas: #7a8697;
  --c-notas-bg: rgba(122, 134, 151, 0.1);
  --c-notas-badge: #a1abba;
  --c-notas-badge-bg: rgba(122, 134, 151, 0.22);
}

/* ==========================================================================
   TEMA 5/6 — PAPEL
   Claro cálido, acento teja. Los temas claros compensan con sombra suave.
   ========================================================================== */
[data-theme="papel"] {
  color-scheme: light;
  --border-radius-card: 8px;

  /* Superficies y Fondos */
  --bg-main: #f7f3ec;
  --bg-surface: #fbf8f3;
  --bg-surface-secondary: #f1ece3;
  --bg-surface-elevated: #eae4d9;
  --bg-modal: #fffdf9;
  --bg-modal-header: #f4efe6;
  --bg-input: #fffdf9;
  --bg-card: #fffdf9;
  --bg-card-hover: #f6f0e6;
  --bg-control-bar: rgba(247, 243, 236, 0.85);

  /* Bordes */
  --border-dim: #ddd4c6;
  --border-bright: #bfb3a1;
  --border-active: #9c4830;

  /* Textos */
  --text-primary: #2b2622;
  --text-secondary: #57504a;
  --text-muted: #6f675e;

  /* Acentos y Acciones */
  --accent-primary: #9c4830;
  --accent-primary-text: #fffdf9;
  --accent-primary-hover: #85402a;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(180, 89, 58, 0.12);
  --accent-primary-border: rgba(180, 89, 58, 0.3);
  --accent-secondary: #9c4830;
  --accent-interactive-active: #a8512f;
  --accent-success: #33643f;
  --accent-success-hover: #33643f;
  --accent-success-border: #2a6040;
  --accent-success-dim: rgba(63, 122, 78, 0.14);
  --accent-success-border-dim: rgba(63, 122, 78, 0.42);
  --accent-warning: #9a6b12;
  --accent-danger: #b23b33;

  /* Texto y fondos de estado */
  --text-on-accent: #fffdf9;
  --text-on-danger: #fffdf9;
  --text-on-warning: #fffdf9;
  --text-danger: #8f2f28;
  --text-warning: #6d520c;
  --bg-danger-dim: rgba(178, 59, 51, 0.12);
  --bg-warning-dim: rgba(154, 107, 18, 0.14);
  --bg-neutral-dim: rgba(43, 38, 34, 0.06);

  /* Sombras, overlay y foco */
  --shadow-card: -10px 0 30px rgba(80, 60, 40, 0.14);
  --shadow-elevated: 0 18px 40px rgba(80, 60, 40, 0.18);
  --overlay-backdrop: rgba(60, 48, 36, 0.45);
  --shadow-focus: 0 0 0 2px #b4593a;

  /* Selección y barras de desplazamiento */
  --selection-bg: #b4593a;
  --selection-text: #fffdf9;
  --scrollbar-thumb: #cfc4b3;
  --scrollbar-thumb-hover: #b6a891;
  --scrollbar-track: #efe9df;

  /* Patrón de fondo */
  --bg-pattern: radial-gradient(rgba(43, 38, 34, 0.05) 1px, transparent 1px);
  --bg-pattern-size: 24px 24px;

  /* Comidas (más profundos para contrastar sobre fondo claro) */
  --c-desayuno: #9a6b12;
  --c-desayuno-bg: rgba(154, 107, 18, 0.12);
  --c-desayuno-badge: #6f4c0a;
  --c-desayuno-badge-bg: rgba(154, 107, 18, 0.18);

  --c-mediamanana: #2f6d80;
  --c-mediamanana-bg: rgba(47, 109, 128, 0.12);
  --c-mediamanana-badge: #1e4a58;
  --c-mediamanana-badge-bg: rgba(47, 109, 128, 0.18);

  --c-comida: #2f6b45;
  --c-comida-bg: rgba(47, 107, 69, 0.12);
  --c-comida-badge: #255736;
  --c-comida-badge-bg: rgba(47, 107, 69, 0.18);

  --c-merienda: #a4531f;
  --c-merienda-bg: rgba(164, 83, 31, 0.12);
  --c-merienda-badge: #86421a;
  --c-merienda-badge-bg: rgba(164, 83, 31, 0.18);

  --c-cena: #5f4a8c;
  --c-cena-bg: rgba(95, 74, 140, 0.12);
  --c-cena-badge: #4d3c73;
  --c-cena-badge-bg: rgba(95, 74, 140, 0.18);

  --c-notas: #5a554d;
  --c-notas-bg: rgba(90, 85, 77, 0.12);
  --c-notas-badge: #47433d;
  --c-notas-badge-bg: rgba(90, 85, 77, 0.18);
}

/* ==========================================================================
   TEMA 6/6 — SALVIA
   Claro verde bosque, el counterpart más tranquilo de Papel.
   ========================================================================== */
[data-theme="salvia"] {
  color-scheme: light;
  --border-radius-card: 8px;

  /* Superficies y Fondos */
  --bg-main: #f2f5f1;
  --bg-surface: #f8faf7;
  --bg-surface-secondary: #f2f6f1;
  --bg-surface-elevated: #dfe8e0;
  --bg-modal: #fbfdfb;
  --bg-modal-header: #f1f6f1;
  --bg-input: #fbfdfb;
  --bg-card: #fbfdfb;
  --bg-card-hover: #f0f5f0;
  --bg-control-bar: rgba(242, 245, 241, 0.85);

  /* Bordes */
  --border-dim: #d2ddd3;
  --border-bright: #a9bba7;
  --border-active: #3d664e;

  /* Textos */
  --text-primary: #22302a;
  --text-secondary: #4a5a51;
  --text-muted: #62736a;

  /* Acentos y Acciones */
  --accent-primary: #3d664e;
  --accent-primary-text: #fbfdfb;
  --accent-primary-hover: #33583f;
  --accent-primary-glow: none;
  --accent-primary-dim: rgba(74, 122, 92, 0.12);
  --accent-primary-border: rgba(74, 122, 92, 0.3);
  --accent-secondary: #3d664e;
  --accent-interactive-active: #437154;
  --accent-success: #33643f;
  --accent-success-hover: #33643f;
  --accent-success-border: #2a6040;
  --accent-success-dim: rgba(63, 122, 78, 0.14);
  --accent-success-border-dim: rgba(63, 122, 78, 0.42);
  --accent-warning: #8a6410;
  --accent-danger: #ad3b33;

  /* Texto y fondos de estado */
  --text-on-accent: #fbfdfb;
  --text-on-danger: #fbfdfb;
  --text-on-warning: #fbfdfb;
  --text-danger: #8f2c25;
  --text-warning: #6b4d0a;
  --bg-danger-dim: rgba(173, 59, 51, 0.12);
  --bg-warning-dim: rgba(138, 100, 16, 0.14);
  --bg-neutral-dim: rgba(34, 48, 42, 0.06);

  /* Sombras, overlay y foco */
  --shadow-card: -10px 0 30px rgba(40, 60, 45, 0.14);
  --shadow-elevated: 0 18px 40px rgba(40, 60, 45, 0.18);
  --overlay-backdrop: rgba(30, 45, 36, 0.45);
  --shadow-focus: 0 0 0 2px #4a7a5c;

  /* Selección y barras de desplazamiento */
  --selection-bg: #4a7a5c;
  --selection-text: #fbfdfb;
  --scrollbar-thumb: #c3cec2;
  --scrollbar-thumb-hover: #a3b3a1;
  --scrollbar-track: #e7ece6;

  /* Patrón de fondo */
  --bg-pattern: radial-gradient(rgba(34, 48, 42, 0.05) 1px, transparent 1px);
  --bg-pattern-size: 24px 24px;

  /* Comidas (más profundos para contrastar sobre fondo claro) */
  --c-desayuno: #8a6410;
  --c-desayuno-bg: rgba(138, 100, 16, 0.12);
  --c-desayuno-badge: #6b4d0a;
  --c-desayuno-badge-bg: rgba(138, 100, 16, 0.18);

  --c-mediamanana: #2f6a7a;
  --c-mediamanana-bg: rgba(47, 106, 122, 0.12);
  --c-mediamanana-badge: #245360;
  --c-mediamanana-badge-bg: rgba(47, 106, 122, 0.18);

  --c-comida: #2f6b45;
  --c-comida-bg: rgba(47, 107, 69, 0.12);
  --c-comida-badge: #255736;
  --c-comida-badge-bg: rgba(47, 107, 69, 0.18);

  --c-merienda: #a4531f;
  --c-merienda-bg: rgba(164, 83, 31, 0.12);
  --c-merienda-badge: #86421a;
  --c-merienda-badge-bg: rgba(164, 83, 31, 0.18);

  --c-cena: #5a4a86;
  --c-cena-bg: rgba(90, 74, 134, 0.12);
  --c-cena-badge: #493c6e;
  --c-cena-badge-bg: rgba(90, 74, 134, 0.18);

  --c-notas: #55605a;
  --c-notas-bg: rgba(85, 96, 90, 0.12);
  --c-notas-badge: #434c47;
  --c-notas-badge-bg: rgba(85, 96, 90, 0.18);
}
