/* =============================================================
   DUALAI CRM V2 — Sistema de tokens (V1)
   Fuente única de verdad para color, tipografía, radios, elevación
   y movimiento. Dark-first: :root = tema oscuro; [data-theme="light"]
   cambia a claro. Ninguna familia tipográfica incluye fuentes de
   emojis (plan maestro, §1.1).
   Los nombres legacy (--bg, --primary, ...) se conservan como alias
   de compatibilidad mientras style.css migra por fases (V2-V8).
   ============================================================= */

:root {
  color-scheme: dark;

  /* --- Tipografía (UI: Inter; Mono: solo IDs, hashes, timestamps,
         códigos de ciclo de vida, task IDs, executors y contadores) --- */
  --font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
             "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
               Consolas, monospace;

  /* --- Radios --- */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  /* --- Elevación --- */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.18);
  --shadow-sm: 0 8px 24px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 18px 40px rgba(0, 0, 0, 0.3);
  --square-lift: translateY(-2px);
  --square-hover-border: rgba(164, 233, 201, 0.35);
  --square-hover-shadow: 0 18px 38px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.06);

  /* --- Superficies --- */
  --bg: #0a1113;
  --bg-elevated: #121c1f;
  --bg-sunken: #0c1517;
  --canvas: radial-gradient(1000px 700px at 85% -10%, rgba(107, 191, 153, 0.07), transparent 65%), #0a1113;
  --border: rgba(255, 255, 255, 0.12);
  --border-strong: rgba(255, 255, 255, 0.22);

  /* --- Texto --- */
  --text: #edf4f1;
  --text-muted: #a2b5b1;
  --text-soft: #889e99;

  /* --- Marca / acción --- */
  --primary: #b9f5d7;
  --primary-hover: #d2ffe7;
  --primary-bg: rgba(255, 255, 255, 0.08);
  --primary-contrast: #102a20;
  --accent: #a4e9c9;
  --accent-hover: #cdf9e3;
  --accent-bg: rgba(164, 233, 201, 0.08);
  --accent-border: rgba(164, 233, 201, 0.28);

  /* --- Estados semánticos --- */
  --success: #34d399;
  --success-bg: rgba(52, 211, 153, 0.12);
  --success-border: rgba(52, 211, 153, 0.35);
  --warn: #fbbf24;
  --warn-bg: rgba(251, 191, 36, 0.12);
  --warn-border: rgba(251, 191, 36, 0.35);
  --danger: #f87171;
  --danger-bg: rgba(248, 113, 113, 0.12);
  --danger-border: rgba(248, 113, 113, 0.35);

  /* --- Roles --- */
  --role-admin: #a78bfa;
  --role-member: #22d3ee;
  --role-agent: #fb923c;
  --role-viewer: #a3a3a3;

  /* --- Calendario --- */
  --gcal-hour-h: 48px;
  --gcal-border: 1px solid var(--border);
  --gcal-today: #a4e9c9;
  --gcal-event: #285e4b;
  --gcal-event-client: #31556d;
  --gcal-event-text: #edf4f1;
  --gcal-grid-bg: #101a1c;
  --gcal-row-stripe: #0d1618;

  /* --- Alias de compatibilidad (nombres legacy de style.css) --- */
  --radius: var(--radius-md);
  --shadow: var(--shadow-sm);
  --font: var(--font-ui);
  --font-display: var(--font-ui);

  /* --- Shell y primitivas (V1) --- */
  --ui-sidebar-bg: var(--bg-sunken);
  --ui-sidebar-w: 236px;
  --ui-sidebar-w-collapsed: 68px;
  --ui-topbar-h: 58px;
  --ui-nav-fg: var(--text-muted);
  --ui-nav-fg-active: var(--text);
  --ui-nav-bg-active: var(--primary-bg);
  --ui-focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
  --dur-fast: 120ms;
  --dur-med: 220ms;
}

[data-theme="light"] {
  color-scheme: light;

  --bg: #f3f6f3;
  --bg-elevated: #ffffff;
  --bg-sunken: #eaf0ec;
  --canvas: radial-gradient(1000px 700px at 85% -10%, rgba(107, 191, 153, 0.10), transparent 65%), #f3f6f3;
  --border: #dce5df;
  --border-strong: #c5d3ca;

  --text: #172d24;
  --text-muted: #526b60;
  --text-soft: #617b6f;

  --primary: #236346;
  --primary-hover: #184d35;
  --primary-bg: #236346;
  --primary-contrast: #ffffff;
  --ui-nav-fg-active: var(--primary-contrast);
  --accent: #236346;
  --accent-hover: #236346;
  --accent-bg: #e6f2eb;
  --accent-border: #c4ddce;
  --square-hover-border: rgba(35, 99, 70, 0.4);
  --square-hover-shadow: 0 14px 28px rgba(35, 99, 70, 0.12), 0 0 0 1px rgba(35, 99, 70, 0.28);

  --success: #059669;
  --success-bg: #ecfdf5;
  --success-border: #a7f3d0;
  --warn: #d97706;
  --warn-bg: #fffbeb;
  --warn-border: #fde68a;
  --danger: #dc2626;
  --danger-bg: #fef2f2;
  --danger-border: #fecaca;

  --role-admin: #7c3aed;
  --role-member: #0891b2;
  --role-agent: #ea580c;
  --role-viewer: #525252;

  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.03);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.04);

  --gcal-today: #236346;
  --gcal-event-text: #f8fcfa;
  --gcal-grid-bg: #fafcf9;
  --gcal-row-stripe: #edf3ee;
}
