/*
 * THEME — el unico archivo que un fork por cliente deberia tocar.
 * Los valores de abajo son el shell por defecto (ver DESIGN.md: paleta
 * "Paper / Ink / Clay" — calida pero restringida a los momentos que la
 * ganan, no pintada en toda la app).
 * Para personalizar una marca: cambiar --primary/--accent y, si hace
 * falta, --display-font (cargando la tipografia correspondiente arriba
 * en <head>). No tocar --bg/--surface/--ink: ver DESIGN.md, "Don'ts".
 */

/* Nimbus Sans — clon metricamente compatible de Helvetica Neue (URW++,
 * licencia GPL, ver assets/fonts/nimbus-sans/LICENSE.txt) autohosteado
 * como fallback real para quien no tenga Helvetica Neue instalada
 * (macOS/iOS la trae; Windows/Linux no) — así no degrada a Arial. */
@font-face {
    font-family: 'Nimbus Sans';
    src: url('/assets/fonts/nimbus-sans/NimbusSans-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nimbus Sans';
    src: url('/assets/fonts/nimbus-sans/NimbusSans-Italic.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Nimbus Sans';
    src: url('/assets/fonts/nimbus-sans/NimbusSans-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Nimbus Sans';
    src: url('/assets/fonts/nimbus-sans/NimbusSans-BoldItalic.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

:root {
    /* --- Superficie neutra (restringida — queda asi en toda pantalla
       densa: tablas, calendario, formularios) --- */
    --bg: oklch(0.995 0.003 50);
    --surface: oklch(0.965 0.009 52);
    --surface-hover: oklch(0.942 0.011 52);
    --border: oklch(0.888 0.012 50);
    --border-strong: oklch(0.780 0.015 48);
    --ink: oklch(0.190 0.015 45);
    --ink-muted: oklch(0.500 0.014 45);
    --ink-faint: oklch(0.660 0.012 45);

    /* --- "Paper" — el momento calido, usado a proposito (fondo del
       login, la card de Novedades del dashboard) y en nada mas. Ver
       DESIGN.md "Color strategy: Restrained + un momento Committed". --- */
    --paper: oklch(0.930 0.028 55);
    --paper-strong: oklch(0.870 0.045 52);
    --clay-tint: oklch(0.910 0.045 44);

    /* --- Clay: el unico acento calido --- */
    --primary: oklch(0.600 0.150 42);
    --primary-hover: oklch(0.510 0.155 40);
    --primary-ink: oklch(1.000 0.000 0);

    /* --- Ink-blue: contrapeso frio para enfasis secundario --- */
    --accent: oklch(0.370 0.075 252);
    --accent-hover: oklch(0.300 0.075 252);
    --accent-ink: oklch(1.000 0.000 0);

    --success: oklch(0.540 0.100 152);
    --success-bg: oklch(0.940 0.035 140);
    --warning: oklch(0.800 0.120 70);
    --warning-ink: oklch(0.190 0.015 45);
    --danger: oklch(0.530 0.190 28);
    --danger-hover: oklch(0.450 0.190 27);
    --danger-ink: oklch(1.000 0.000 0);

    --focus-ring: oklch(0.600 0.150 42 / 0.18);

    /* --- Tipografia: un family para UI/cuerpo (una sola voz en toda la
       densidad del producto), un family aparte SOLO para titulos de
       pagina (nunca en labels/botones/tablas) y un family aparte SOLO
       para numeros grandes de metricas. --- */
    --body-font: 'Helvetica Neue', 'Nimbus Sans', Arial, sans-serif;
    --heading-font: 'Helvetica Neue', 'Nimbus Sans', Arial, sans-serif;
    --display-font: 'Bricolage Grotesque', 'Helvetica Neue', 'Nimbus Sans', Arial, sans-serif;
    --numeric-font: 'Space Grotesk', 'Helvetica Neue', 'Nimbus Sans', Arial, sans-serif;

    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 20px;
    --radius-pill: 999px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;

    --shadow-sm: 0 2px 8px oklch(0.19 0.02 45 / 0.12);
    --shadow-md: 0 8px 32px oklch(0.19 0.02 45 / 0.16);
    --shadow-warm: 0 16px 48px oklch(0.45 0.10 40 / 0.20);

    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --duration-fast: 150ms;
    --duration-base: 220ms;
    --duration-slow: 420ms;

    --sidebar-width: 240px;
    --sidebar-width-collapsed: 64px;
}
