/* ==========================================================================
   Fiscalit-SP · Design tokens
   "Ledger Navy · Vault Green · Expressive 2026"
   Única fuente de valores de color, tipografía, radios, sombras y motion.
   Cualquier valor nuevo se añade aquí primero. Ver design-system/GUIA.md.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Fuentes · auto-alojadas (sin CDN de Google: sin bloqueo de render por un
   tercero, sin fuga de IP del visitante a Google — coherente con la promesa
   RGPD del producto). Subconjunto latin + latin-ext; el resto de scripts de
   Google Fonts no se usa en una app fiscal española.
   Inter v20 es fuente variable (eje wght 100–900). Instrument Serif es
   estática (solo 400, normal e itálica). Archivos en app/static/fonts/.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-serif-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/instrument-serif-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* --- Ledger palette --- */
  --primary-stability: #0B1F3B;   /* navegación, encabezados de alta jerarquía */
  --ledger-blue-mid:   #123A63;   /* botones secundarios, estados activos */
  --ledger-accent:     #C9D6E5;   /* bordes 1px, divisores de tabla */
  --status-success:    #5FB88A;   /* rellenos: puntos, barras, anillo del sello */
  --status-success-2:  #2C7650;   /* verde para texto, cifras y chips (AA ≥ 4.5:1) */
  --background-neutral: #F2F5F8;  /* fondo del viewport y superficies bento */
  --surface:           #FFFFFF;   /* tarjetas */
  --amber-alert:       #C08A2E;   /* rellenos e iconos de alerta preventiva */
  --amber-text:        #8A6216;   /* ámbar para texto, cifras y chips (AA ≥ 4.5:1) */
  --amber-soft:        #F6E7C5;   /* fondo ámbar suave */
  --earth-warn:        #A65A32;   /* errores / negativos en texto (AA); nunca rojo agresivo */
  --earth-warn-soft:   rgba(166, 90, 50, 0.12);

  /* Rojo: reservado EXCLUSIVAMENTE a plazos < 7 días (chip status-red). */
  --deadline-critical:      #A23C3C;
  --deadline-critical-soft: rgba(179, 71, 71, 0.12);

  /* --- Texto ---
     Todos ≥ 4.5:1 sobre --surface y sobre --background-neutral (WCAG AA).
     El rango accesible sobre un fondo casi blanco es estrecho: --soft y --meta
     convergen en un único nivel "secundario"; --faint es el escalón más claro
     que aún cumple (placeholders, numeración de casillas). */
  --text-strong:  #0B1F3B;   /* = primary-stability */
  --text-body:    #2E3A4C;
  --text-muted:   #4B5A6C;
  --text-soft:    #556372;
  --text-meta:    #556372;
  --text-faint:   #64707C;

  /* --- Tipografía --- */
  --font-display: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-serif:   'Instrument Serif', 'Times New Roman', serif;
  --font-mono:    'JetBrains Mono', ui-monospace, Menlo, monospace;

  /* --- Radios --- */
  --radius-lg: 24px;   /* contenedores principales, hero cards */
  --radius-md: 16px;   /* tarjetas internas */
  --radius-sm: 10px;   /* chips, inputs pequeños */
  --radius-pill: 999px;

  /* --- Elevación --- */
  --shadow-soft:  0 4px 20px rgba(11, 31, 59, 0.06);
  --shadow-hover: 0 12px 40px rgba(11, 31, 59, 0.10);
  --shadow-lift:  0 24px 60px rgba(11, 31, 59, 0.18);

  /* --- Motion --- */
  --ease-elastic: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-smooth:  cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Espaciado (múltiplos de 4) --- */
  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 20px;  --space-6: 24px;  --space-7: 28px;  --space-8: 32px;
  --space-10: 40px; --space-12: 48px; --space-16: 64px;

  /* --- IA Mesh (solo componentes del asistente IA) --- */
  --ia-mesh: linear-gradient(135deg, #FF76C1 0%, #7091FF 50%, #FFD970 100%);
  --ia-border: rgba(112, 145, 255, 0.25);

  /* --- Layout --- */
  --sidebar-w: 280px;
  --sidebar-w-collapsed: 84px;
  --main-max: 1600px;
}

/* Modo oscuro — pendiente. Cuando se active: duplicar tokens aquí,
   preservando --ia-mesh idéntico. Ver design-system/GUIA.md §15.
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { ... }
}
*/
