/* RoPrint v2 — design tokens. Identidad lima+bosque, acabado premium moderno:
   capas con sombras suaves, radios generosos, verde con presencia y jerarquía clara.
   Prefijo --rp2-* para coexistir con los tokens v1 (--rp-*) durante la transición.
   Fuente única de verdad de paleta, tipografía, motion y geometría de la v2. */

:root,
[data-rp-theme="light"] {
    /* === Marca (núcleo, alineado con logo y PDF) === */
    --rp2-brand-lime: #8BC34A;
    --rp2-brand-lime-soft: #E8F3DC;
    --rp2-brand-green: #43A047;
    --rp2-brand-forest: #1B5E20;
    --rp2-brand-deep: #122B16;

    /* === Texto y superficies (neutras, apenas teñidas de verde) === */
    --rp2-ink: #12151A;
    --rp2-ink-muted: #5B6470;
    --rp2-ink-faint: #8A93A0;
    --rp2-line: #E4E7EA;
    --rp2-line-strong: #C9CFD6;
    --rp2-surface: #FFFFFF;
    --rp2-surface-2: #F5F6F8;
    --rp2-surface-3: #ECEEF1;

    /* === Estados semánticos === */
    --rp2-success: #3E9143;
    --rp2-success-soft: #E3F2E4;
    --rp2-warning: #E8860A;
    --rp2-warning-soft: #FDEEDB;
    --rp2-danger: #D63D3D;
    --rp2-danger-soft: #FCE3E3;
    --rp2-info: #2B7CD3;
    --rp2-info-soft: #E3F0FB;

    /* === Geometría (premium: radios generosos, elevación contenida) === */
    --rp2-radius-xs: 4px;
    --rp2-radius-sm: 6px;
    --rp2-radius-md: 10px;
    --rp2-radius-lg: 14px;
    --rp2-radius-xl: 20px;
    --rp2-radius-control: 8px;
    --rp2-radius-pill: 9999px;

    /* === Sombras (capas suaves escalonadas — profundidad sin ruido) === */
    --rp2-shadow-xs: 0 1px 2px rgba(18, 21, 26, 0.06), 0 1px 1px rgba(18, 21, 26, 0.04);
    --rp2-shadow-sm: 0 2px 6px rgba(18, 21, 26, 0.07), 0 1px 2px rgba(18, 21, 26, 0.05);
    --rp2-shadow-md: 0 6px 16px rgba(18, 21, 26, 0.09), 0 2px 4px rgba(18, 21, 26, 0.05);
    --rp2-shadow-lg: 0 14px 32px rgba(18, 21, 26, 0.13), 0 4px 10px rgba(18, 21, 26, 0.06);
    --rp2-shadow-xl: 0 24px 56px rgba(18, 21, 26, 0.17), 0 8px 18px rgba(18, 21, 26, 0.08);
    --rp2-shadow-inset: inset 0 1px 2px rgba(18, 21, 26, 0.05);
    --rp2-shadow-glow-lime: 0 0 0 3px color-mix(in srgb, var(--rp2-brand-lime) 35%, transparent);
    --rp2-shadow-brand: 0 1px 2px rgba(27, 94, 32, 0.20), 0 6px 16px rgba(67, 160, 71, 0.26);

    /* === Focus rings === */
    --rp2-focus-ring: 0 0 0 2px var(--rp2-surface), 0 0 0 4px color-mix(in srgb, var(--rp2-brand-green) 40%, transparent);
    --rp2-focus-ring-danger: 0 0 0 2px var(--rp2-surface), 0 0 0 4px color-mix(in srgb, var(--rp2-danger) 40%, transparent);

    /* === Navegación activa (light: lima suave + bosque) === */
    --rp2-nav-active-bg: var(--rp2-brand-lime-soft);
    --rp2-nav-active-fg: var(--rp2-brand-forest);
    --rp2-nav-active-ring: color-mix(in srgb, var(--rp2-brand-forest) 14%, transparent);

    /* === Verde legible sobre superficie (light: bosque / dark: lima) === */
    --rp2-accent-text: var(--rp2-brand-forest);

    /* === Motion / easing (snappy, data-dense) === */
    --rp2-motion-fast: 120ms;
    --rp2-motion-base: 180ms;
    --rp2-motion-slow: 260ms;
    --rp2-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
    --rp2-easing-decelerate: cubic-bezier(0, 0, 0.2, 1);
    --rp2-easing-accelerate: cubic-bezier(0.4, 0, 1, 1);
    --rp2-easing-spring: cubic-bezier(0.16, 1, 0.3, 1);

    /* === Z-index scale === */
    --rp2-z-sticky: 100;
    --rp2-z-drawer: 1200;
    --rp2-z-dropdown: 1300;
    --rp2-z-modal: 1400;
    --rp2-z-toast: 1500;
    --rp2-z-tooltip: 1600;

    /* === Densidad de tablas === */
    --rp2-row-height-comfortable: 44px;
    --rp2-row-height-compact: 34px;
    --rp2-cell-padding-comfortable: 11px 14px;
    --rp2-cell-padding-compact: 6px 10px;

    /* === Spacing scale (alias) === */
    --rp2-space-1: 4px;
    --rp2-space-2: 8px;
    --rp2-space-3: 12px;
    --rp2-space-4: 16px;
    --rp2-space-5: 24px;
    --rp2-space-6: 32px;
    --rp2-space-7: 48px;

    /* === Gradientes de marca (contenidos, pero con presencia) === */
    --rp2-gradient-brand: linear-gradient(135deg, var(--rp2-brand-lime) 0%, var(--rp2-brand-green) 55%, var(--rp2-brand-forest) 100%);
    --rp2-gradient-hero: linear-gradient(165deg, var(--rp2-brand-forest) 0%, var(--rp2-brand-deep) 100%);
    --rp2-gradient-tile: linear-gradient(135deg, #8BC34A 0%, #4CAF50 55%, #2E7D32 100%);
    --rp2-gradient-primary: linear-gradient(180deg, #4BAF50 0%, #43A047 55%, #388E3C 100%);

    /* === Layout === */
    --rp2-drawer-width: 240px;
    --rp2-drawer-width-mini: 64px;
    --rp2-appbar-height: 56px;

    /* === Backdrop (modales / command palette) === */
    --rp2-backdrop: color-mix(in srgb, var(--rp2-brand-deep) 52%, transparent);

    /* === Tipografía === */
    --rp2-font-ui: 'Fira Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --rp2-font-num: 'Fira Code', 'Fira Sans', ui-monospace, monospace;
}

[data-rp-theme="dark"] {
    --rp2-brand-lime: #9CCC65;
    --rp2-brand-lime-soft: #2C3A22;
    --rp2-brand-green: #66BB6A;
    --rp2-brand-forest: #2E5D33;
    --rp2-brand-deep: #0B120D;

    --rp2-ink: #E7EAE9;
    --rp2-ink-muted: #9AA4A0;
    --rp2-ink-faint: #66706C;
    --rp2-line: #222A26;
    --rp2-line-strong: #303B35;
    --rp2-surface: #0E1411;
    --rp2-surface-2: #121916;
    --rp2-surface-3: #1A221E;

    --rp2-success: #66BB6A;
    --rp2-success-soft: #17331A;
    --rp2-warning: #F0A03A;
    --rp2-warning-soft: #3A2A12;
    --rp2-danger: #F0616D;
    --rp2-danger-soft: #3D1B1E;
    --rp2-info: #58A6FF;
    --rp2-info-soft: #132B47;

    --rp2-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.35), 0 1px 1px rgba(0, 0, 0, 0.3);
    --rp2-shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.38), 0 1px 2px rgba(0, 0, 0, 0.32);
    --rp2-shadow-md: 0 6px 16px rgba(0, 0, 0, 0.42), 0 2px 4px rgba(0, 0, 0, 0.34);
    --rp2-shadow-lg: 0 14px 32px rgba(0, 0, 0, 0.48), 0 4px 10px rgba(0, 0, 0, 0.36);
    --rp2-shadow-xl: 0 24px 56px rgba(0, 0, 0, 0.54), 0 8px 18px rgba(0, 0, 0, 0.4);
    --rp2-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.4);
    --rp2-shadow-glow-lime: 0 0 0 3px color-mix(in srgb, var(--rp2-brand-lime) 30%, transparent);
    --rp2-shadow-brand: 0 1px 2px rgba(0, 0, 0, 0.4), 0 6px 18px rgba(102, 187, 106, 0.22);

    --rp2-focus-ring: 0 0 0 2px var(--rp2-surface), 0 0 0 4px color-mix(in srgb, var(--rp2-brand-green) 45%, transparent);
    --rp2-focus-ring-danger: 0 0 0 2px var(--rp2-surface), 0 0 0 4px color-mix(in srgb, var(--rp2-danger) 45%, transparent);

    --rp2-nav-active-bg: rgba(156, 204, 101, 0.16);
    --rp2-nav-active-fg: #9CCC65;
    --rp2-nav-active-ring: rgba(156, 204, 101, 0.25);

    --rp2-accent-text: var(--rp2-brand-lime);

    --rp2-gradient-brand: linear-gradient(135deg, var(--rp2-brand-lime) 0%, var(--rp2-brand-green) 55%, var(--rp2-brand-forest) 100%);
    --rp2-gradient-hero: linear-gradient(165deg, var(--rp2-brand-forest) 0%, var(--rp2-brand-deep) 100%);
    --rp2-gradient-tile: linear-gradient(135deg, #9CCC65 0%, #66BB6A 55%, #43A047 100%);
    --rp2-gradient-primary: linear-gradient(180deg, #81C784 0%, #66BB6A 55%, #4CAF50 100%);

    --rp2-backdrop: rgba(0, 0, 0, 0.62);
}

/* === Reducción de movimiento === */
@media (prefers-reduced-motion: reduce) {
    :root,
    [data-rp-theme="light"],
    [data-rp-theme="dark"] {
        --rp2-motion-fast: 0.01ms;
        --rp2-motion-base: 0.01ms;
        --rp2-motion-slow: 0.01ms;
    }

    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* === Reset tipográfico mínimo === */
html, body {
    font-family: var(--rp2-font-ui);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--rp2-ink);
    background-color: var(--rp2-surface-2);
    font-size: 15px;
    line-height: 1.55;
}

/* === Números: Fira Code (monospace → alineación natural de columnas) === */
.rp2-num,
.mud-table-cell.rp2-amount,
td.rp2-amount,
.rp2-kpi__value,
.rp2-totals__value {
    font-family: var(--rp2-font-num);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    letter-spacing: -0.01em;
}

/* === Scrollbar discreto en navegadores Webkit/Blink === */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--rp2-surface-2); }
::-webkit-scrollbar-thumb { background: var(--rp2-line-strong); border-radius: 8px; border: 2px solid var(--rp2-surface-2); }
::-webkit-scrollbar-thumb:hover { background: var(--rp2-ink-muted); }
