/* Design tokens do BI Cativa — base neutra que aceita os accents da marca
   (definidos em :root pelo PHP via $brand) sem conflito visual. */

:root {
    /* === SUPERFÍCIES NEUTRAS === */
    --bg-app:        #f7f8fb;   /* fundo da página, off-white levemente frio */
    --bg-elevated:   #ffffff;   /* cards, modais */
    --bg-subtle:     #f1f3f8;   /* hover de linha, zebra de tabela */
    --bg-inset:      #eef1f6;   /* inputs, code, áreas embutidas */
    --divider:       #e5e8ef;   /* borders quase invisíveis (1px) */

    /* === TINTA / TEXTO === */
    --ink-1:         #0f172a;   /* primário (quase preto, melhor que #000) */
    --ink-2:         #475569;   /* secundário */
    --ink-3:         #94a3b8;   /* caption, axis labels, muted */
    --ink-4:         #cbd5e1;   /* disabled, placeholders */

    /* === SEMANTIC === */
    --success:       #10b981;
    --success-soft:  #ecfdf5;
    --warning:       #f59e0b;
    --warning-soft:  #fffbeb;
    --danger:        #ef4444;
    --danger-soft:   #fef2f2;

    /* === SOMBRAS (3 níveis) === */
    --shadow-rest:     0 1px 2px rgba(15, 23, 42, .04), 0 1px 1px rgba(15, 23, 42, .02);
    --shadow-lift:     0 8px 24px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .04);
    --shadow-dramatic: 0 16px 40px rgba(15, 23, 42, .12), 0 4px 8px rgba(15, 23, 42, .06);

    /* === RADIUS === */
    --radius-sm:  6px;
    --radius-md:  10px;
    --radius-lg:  12px;
    --radius-xl:  18px;
    --radius-pill: 999px;

    /* === ESPAÇAMENTO === */
    --space-1: .25rem;   /*  4px */
    --space-2: .5rem;    /*  8px */
    --space-3: .75rem;   /* 12px */
    --space-4: 1rem;     /* 16px */
    --space-5: 1.5rem;   /* 24px */
    --space-6: 2rem;     /* 32px */
    --space-8: 3rem;     /* 48px */
    --space-10: 4rem;    /* 64px */

    /* === TIPOGRAFIA === */
    --font-display: 800;
    --font-bold:    700;
    --font-semi:    600;
    --font-medium:  500;

    --size-display:  3.5rem;   /* 56px - hero */
    --size-h1:       2rem;     /* 32px */
    --size-h2:       1.5rem;   /* 24px */
    --size-h3:       1.125rem; /* 18px */
    --size-eyebrow:  .6875rem; /* 11px */
    --size-body:     .9375rem; /* 15px */
    --size-caption:  .75rem;   /* 12px */

    /* === TRANSIÇÕES === */
    --ease-out:    cubic-bezier(0.4, 0, 0.2, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --t-fast:      120ms;
    --t-base:      180ms;
    --t-slow:      240ms;
}

/* Respeitar preferência de movimento reduzido (acessibilidade) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
