:root {
  /* ==========================================================================
     Fiwipos System - Color Tokens (Colores Sólidos - Blanco & Celeste Fiwipos)
     Regla: CERO degradados. Solo colores sólidos.
     ========================================================================== */

  /* Base & Superficies (Blanco Predominante) */
  --bg-primary: #f8fafc;        /* Fondo general claro y limpio */
  --bg-surface: #ffffff;        /* Blanco puro para tarjetas, sidebar y topbar */
  --bg-surface-elevated: #f1f5f9;
  --bg-surface-hover: #e0f2fe;  /* Celeste muy suave al hover */
  --border-subtle: #e2e8f0;      /* Borde nítido */
  --border-focus: #0ea5e9;       /* Foco celeste */

  /* Textos de Alto Contraste */
  --text-primary: #0f172a;      /* Slate oscuro nítido */
  --text-secondary: #475569;    /* Slate intermedio */
  --text-muted: #94a3b8;        /* Slate claro */

  /* Color de Marca: Celeste Sólido (Logo Fiwipos) */
  --primary: #0ea5e9;           /* Celeste oficial Fiwipos */
  --primary-hover: #0284c7;     /* Celeste intenso al pasar cursor */
  --primary-active: #0369a1;    /* Celeste oscuro al clic */
  --primary-light: #f0f9ff;     /* Celeste pastel para fondos de acento */
  --primary-border: #bae6fd;    /* Borde celeste suave */

  /* Estados Funcionales (Colores Sólidos) */
  --success: #10b981;
  --success-bg: #ecfdf5;
  --success-border: #a7f3d0;
  --success-text: #065f46;

  --warning: #f59e0b;
  --warning-bg: #fffbeb;
  --warning-border: #fde68a;
  --warning-text: #92400e;

  --danger: #ef4444;
  --danger-bg: #fef2f2;
  --danger-border: #fecaca;
  --danger-text: #991b1b;

  --info: #0284c7;
  --info-bg: #f0f9ff;
  --info-border: #bae6fd;
  --info-text: #0369a1;

  /* Tipografía */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Bordes & Sombras Suaves */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.06), 0 1px 2px -1px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.07), 0 2px 4px -2px rgba(15, 23, 42, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);

  /* Dimensiones de Navegación */
  --sidebar-width: 260px;
  --topbar-height: 64px;
  --transition-fast: 0.15s ease;
  --transition-normal: 0.22s ease;
}

/* ==========================================================================
   Modo Oscuro Sólido (Solo para el sistema, NO aplica para login)
   Reglas: Colores sólidos, CERO degradados, acentos celestes Fiwipos.
   ========================================================================== */
[data-theme="dark"] {
  --bg-primary: #0b0f19;        /* Fondo general oscuro sólido */
  --bg-surface: #1e293b;        /* Superficies y tarjetas oscuras sólidas */
  --bg-surface-elevated: #334155;
  --bg-surface-hover: #334155;
  --border-subtle: #334155;      /* Bordes oscuros sólidos */
  --border-focus: #38bdf8;

  --text-primary: #f8fafc;      /* Texto de alto contraste blanco/slate */
  --text-secondary: #cbd5e1;    /* Texto secundario claro */
  --text-muted: #94a3b8;

  --primary: #0ea5e9;           /* Celeste corporativo Fiwipos */
  --primary-hover: #38bdf8;
  --primary-active: #0284c7;
  --primary-light: #0f172a;     /* Fondo de acento oscuro sólido */
  --primary-border: #0284c7;

  --success-bg: #064e3b;
  --success-border: #059669;
  --success-text: #a7f3d0;

  --warning-bg: #451a03;
  --warning-border: #d97706;
  --warning-text: #fde68a;

  --danger-bg: #450a0a;
  --danger-border: #dc2626;
  --danger-text: #fecaca;

  --info-bg: #0c4a6e;
  --info-border: #0284c7;
  --info-text: #bae6fd;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  font-family: var(--font-family);
  background-color: var(--bg-primary);
  color: var(--text-primary);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

input, button, select, textarea {
  font-family: inherit;
}
