/* =========================================================================
   Clínica Dursi — Tema grafito + oro (identidad del logo)
   Modelo HÍBRIDO: shell grafito (sidebar/topbar/stage del login) + workspace
   blanco cálido para el contenido. El acento se recolorea por módulo dentro
   de la familia oro/bronce vía [data-module] (ver CLAUDE.md §6).
   Contraste: todos los acentos claros dan >= 4.4:1 sobre el fondo.
   ========================================================================= */

:root {
  /* ----- Workspace claro ------------------------------------------------ */
  --bg:          #f6f4ef;   /* fondo de página, blanco cálido */
  --surface-1:   #ffffff;   /* tarjetas (card-d) */
  --surface-2:   #f9f7f3;   /* hover / elevado sutil */
  --surface-3:   #f0ece4;   /* thead de tablas, wells, rellenos */
  --border:      #e1dbd0;
  --border-soft: #ebe7de;

  --text:        #1c1c20;   /* texto principal, grafito */
  --text-muted:  #66646b;
  --text-faint:  #98958f;

  /* Acento de marca (workspace) */
  --accent:      #86681f;   /* oro del logo, oscurecido para leer sobre blanco */
  --accent-2:    #a2812f;   /* oro más claro para gradientes/hover */
  --accent-soft: rgba(134, 104, 31, .10);  /* fondo teñido: filas hover, wash de card */
  --accent-line: rgba(134, 104, 31, .34);
  --accent-contrast: #ffffff;              /* texto sobre botones de acento */
  --oro-metal:   linear-gradient(180deg, #ecd69e 0%, #c9a24e 50%, #9c772a 100%);  /* wordmark */

  /* Semánticos afinados para fondo claro */
  --danger:  #c0392b;  --danger-soft:  rgba(192, 57, 43, .10);
  --success: #1f8a5b;  --success-soft: rgba(31, 138, 91, .12);
  --warning: #b8791a;  --warning-soft: rgba(184, 121, 26, .12);
  --info:    #3d6789;  --info-soft:    rgba(61, 103, 137, .12);
  /* Terminal: lo que ya terminó y no admite ninguna acción (turno completado).
     Es la familia del verde "no queda nada pendiente", pero profundo y desaturado:
     pertenece al mismo idioma que --success sin competir con él. */
  --terminal: #1e5c43;  --terminal-soft: rgba(30, 92, 67, .12);

  /* ----- Shell grafito (sidebar / topbar / stage login) --------------- */
  --shell-bg:        #121214;  /* base del sidebar */
  --shell-bg-2:      #1b1b1f;  /* topbar / elevado del shell */
  --shell-surface:   rgba(255, 255, 255, .05);
  --shell-border:    rgba(255, 255, 255, .10);
  --shell-text:      #f1ede4;
  --shell-muted:     #a39e93;  /* labels de sección e íconos apagados */
  --shell-active-bg: rgba(212, 180, 106, .12);  /* pill del ítem activo */
  --shell-accent:    #d4b46a;  /* oro claro: barra de activo / focus en shell */

  --radius:     12px;
  --radius-sm:  8px;
  --radius-lg:  16px;                             /* contenedores grandes (cards principales) */
  --shadow:     0 12px 32px -14px rgba(28, 24, 16, .22);
  --shadow-sm:  0 2px 8px rgba(28, 24, 16, .07);
  --shadow-md:  0 8px 22px -10px rgba(28, 24, 16, .15);   /* profundidad intermedia (hover de tarjetas) */
  --shadow-lift: 0 16px 34px -16px rgba(28, 24, 16, .26);  /* elevación de cards clickeables */
  --hairline:   rgba(28, 28, 32, .07);            /* divisor interior muy sutil (tablas) */

  /* Escala de espaciado: ritmo consistente en todo el sistema */
  --sp-1: .35rem;
  --sp-2: .6rem;
  --sp-3: .9rem;
  --sp-4: 1.2rem;
  --sp-5: 1.6rem;
  --sp-6: 2.2rem;

  --control-h: 40px;                              /* alto cómodo de inputs/botones */

  /* Movimiento: curvas y duraciones unificadas (premium, contenido) */
  --ease:       cubic-bezier(.4, 0, .2, 1);      /* entrada/salida natural */
  --ease-out:   cubic-bezier(.16, 1, .3, 1);     /* salida suave, sin rebote */
  --dur-fast:   140ms;
  --dur:        220ms;
  --dur-slow:   320ms;

  /* Realce y profundidad premium */
  --glow-accent:  0 0 0 1px var(--accent-line), 0 12px 26px -12px var(--accent-soft);
  --surface-grad: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0));

  --sidebar-w:  248px;
  --topbar-h:   60px;

  --font-ui:    'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-head:  'Cinzel', 'Cormorant Garamond', Georgia, serif;   /* familia Trajan, como el logo */
}

/* Acento por módulo: variaciones dentro de la familia oro/bronce/grafito.
   Todas legibles sobre blanco (top-border de cards, ícono del page-head,
   botones, fila hover). El shell NO se repinta (ver style.css). */
[data-module="agenda"]           { --accent: #86681f; --accent-soft: rgba(134,104,31,.10); --accent-line: rgba(134,104,31,.34); }  /* oro */
[data-module="pacientes"]        { --accent: #7a6a3a; --accent-soft: rgba(122,106,58,.10); --accent-line: rgba(122,106,58,.34); }  /* oro oliva */
[data-module="historia"]         { --accent: #806226; --accent-soft: rgba(128,98,38,.10); --accent-line: rgba(128,98,38,.34); }  /* oro viejo (core clínico) */
[data-module="estudios"]         { --accent: #6f6a5c; --accent-soft: rgba(111,106,92,.10); --accent-line: rgba(111,106,92,.34); }  /* taupe */
[data-module="ortodoncia"]       { --accent: #7b5d3f; --accent-soft: rgba(123,93,63,.10); --accent-line: rgba(123,93,63,.34); }  /* bronce */
[data-module="laboratorio"]      { --accent: #6e6650; --accent-soft: rgba(110,102,80,.10); --accent-line: rgba(110,102,80,.34); }  /* gris arena (banco de trabajo) */
[data-module="presupuestos"]     { --accent: #8b5e34; --accent-soft: rgba(139,94,52,.10); --accent-line: rgba(139,94,52,.34); }  /* cobre */
[data-module="facturacion"],
[data-module="ventas"]           { --accent: #7d6326; --accent-soft: rgba(125,99,38,.10); --accent-line: rgba(125,99,38,.34); }  /* oro profundo */
[data-module="inventario"]       { --accent: #76603a; --accent-soft: rgba(118,96,58,.10); --accent-line: rgba(118,96,58,.34); }  /* latón */
[data-module="contabilidad"]     { --accent: #5f5a4c; --accent-soft: rgba(95,90,76,.10); --accent-line: rgba(95,90,76,.34); }  /* grafito cálido */
[data-module="tesoreria"]        { --accent: #7a6a3a; --accent-soft: rgba(122,106,58,.10); --accent-line: rgba(122,106,58,.34); }  /* oro oliva */
[data-module="reportes"]         { --accent: #6b5e3a; --accent-soft: rgba(107,94,58,.10); --accent-line: rgba(107,94,58,.34); }  /* bronce oscuro */
[data-module="usuarios"]         { --accent: #7f6a44; --accent-soft: rgba(127,106,68,.10); --accent-line: rgba(127,106,68,.34); }  /* camel */
[data-module="configuraciones"]  { --accent: #5f5a4c; --accent-soft: rgba(95,90,76,.10); --accent-line: rgba(95,90,76,.34); }  /* grafito cálido */

/* =========================================================================
   DARK MODE — se activa con data-theme="dark" en <html> (switch en el topbar).
   Solo cambia el WORKSPACE (fondo/superficies/texto oscuros + oro más claro);
   el shell grafito (sidebar/topbar) se mantiene, es la constante de marca.
   ========================================================================= */
:root[data-theme="dark"] {
  --bg:          #0f0f11;   /* casi negro */
  --surface-1:   #17171a;   /* tarjetas */
  --surface-2:   #1e1e22;   /* hover / elevado */
  --surface-3:   #25252a;   /* thead / wells */
  --border:      #302f33;
  --border-soft: #232326;

  --text:        #ecebe7;
  --text-muted:  #a6a39b;
  --text-faint:  #74716b;

  --accent:      #d4b46a;   /* oro aclarado para leer sobre oscuro */
  --accent-2:    #e2c785;
  --accent-soft: rgba(212,180,106,.15);
  --accent-line: rgba(212,180,106,.40);
  --accent-contrast: #1a1406;   /* texto oscuro sobre botón oro claro */

  --danger:  #e5786e;  --danger-soft:  rgba(229,120,110,.15);
  --success: #4cc088;  --success-soft: rgba(76,192,136,.15);
  --warning: #d9a94e;  --warning-soft: rgba(217,169,78,.15);
  --info:    #7fa6c8;  --info-soft:    rgba(127,166,200,.15);
  /* En oscuro el verde profundo se funde con la tarjeta: se aclara para el texto
     del pill. El fondo del bloque en el calendario es otro valor (--fc-completado). */
  --terminal: #63b598;  --terminal-soft: rgba(99,181,152,.15);

  --shadow:      0 14px 34px -14px rgba(0,0,0,.62);
  --shadow-sm:   0 2px 10px rgba(0,0,0,.45);
  --shadow-md:   0 8px 24px -10px rgba(0,0,0,.55);
  --shadow-lift: 0 18px 36px -16px rgba(0,0,0,.65);
  --hairline:    rgba(255,255,255,.05);
  --surface-grad: linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0));
}

/* Acentos por módulo en dark: misma familia oro/bronce pero aclarada para el
   fondo oscuro. Especificidad (html[data-theme] + body[data-module]) le gana al
   [data-module] claro; el shell no se toca (fija su --accent en .sidebar). */
:root[data-theme="dark"] [data-module="agenda"]           { --accent: #d4b46a; --accent-soft: rgba(212,180,106,.16); --accent-line: rgba(212,180,106,.40); }
:root[data-theme="dark"] [data-module="pacientes"]        { --accent: #cfb27a; --accent-soft: rgba(207,178,122,.16); --accent-line: rgba(207,178,122,.40); }
:root[data-theme="dark"] [data-module="historia"]         { --accent: #d6b77e; --accent-soft: rgba(214,183,126,.16); --accent-line: rgba(214,183,126,.40); }
:root[data-theme="dark"] [data-module="estudios"]         { --accent: #c2b8a3; --accent-soft: rgba(194,184,163,.16); --accent-line: rgba(194,184,163,.40); }
:root[data-theme="dark"] [data-module="ortodoncia"]       { --accent: #c7a172; --accent-soft: rgba(199,161,114,.16); --accent-line: rgba(199,161,114,.40); }
:root[data-theme="dark"] [data-module="laboratorio"]      { --accent: #b9ad92; --accent-soft: rgba(185,173,146,.16); --accent-line: rgba(185,173,146,.40); }
:root[data-theme="dark"] [data-module="presupuestos"]     { --accent: #d09a68; --accent-soft: rgba(208,154,104,.16); --accent-line: rgba(208,154,104,.40); }
:root[data-theme="dark"] [data-module="facturacion"],
:root[data-theme="dark"] [data-module="ventas"]           { --accent: #c8a45a; --accent-soft: rgba(200,164,90,.16); --accent-line: rgba(200,164,90,.40); }
:root[data-theme="dark"] [data-module="inventario"]       { --accent: #c2a578; --accent-soft: rgba(194,165,120,.16); --accent-line: rgba(194,165,120,.40); }
:root[data-theme="dark"] [data-module="contabilidad"]     { --accent: #b8b2a3; --accent-soft: rgba(184,178,163,.16); --accent-line: rgba(184,178,163,.40); }
:root[data-theme="dark"] [data-module="tesoreria"]        { --accent: #cfb27a; --accent-soft: rgba(207,178,122,.16); --accent-line: rgba(207,178,122,.40); }
:root[data-theme="dark"] [data-module="reportes"]         { --accent: #bfa36e; --accent-soft: rgba(191,163,110,.16); --accent-line: rgba(191,163,110,.40); }
:root[data-theme="dark"] [data-module="usuarios"]         { --accent: #d2b37a; --accent-soft: rgba(210,179,122,.16); --accent-line: rgba(210,179,122,.40); }
:root[data-theme="dark"] [data-module="configuraciones"]  { --accent: #b8b2a3; --accent-soft: rgba(184,178,163,.16); --accent-line: rgba(184,178,163,.40); }
