/* ==========================================================================
   VS Design System — ponte do CSS legado → tokens.
   As 4 paletas antigas (app.css --color-*, dashboard-consolidated --oxford-*/
   --gray-*/--success…, ConsultaReport --primary…, ConsultaReportV2 --vs2-*) e
   o Quartz (--qz-*) passam a resolver para os tokens do VS Design System.
   Resultado: telas ainda não migradas já usam a paleta nova (F1).

   Especificidade :root:root (0,2,0) de propósito: dashboard-consolidated.css
   é injetado no <body> pelo MainLayout, DEPOIS deste arquivo; a ordem sozinha
   não bastaria. Sai na F6, junto com o CSS legado.
   ========================================================================== */

/* Fontes legadas declaradas mas nunca carregadas (CSP bloqueava o Google
   Fonts): Inter (38 declarações em .razor.css) e Manrope (Quartz) passam a
   renderizar a Geist self-hosted, sem tocar em cada arquivo. */
@font-face {
    font-family: 'Inter';
    src: url('../../fonts/geist/Geist-Variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../../fonts/geist/Geist-Variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root:root {
    /* ---------- app.css ---------- */
    --color-primary: var(--vs-ink);
    --color-primary-dark: var(--vs-ink-950);
    --color-secondary: var(--vs-ink-800);
    --color-accent: var(--vs-accent);
    --color-background: var(--vs-bg-canvas);
    --color-surface: var(--vs-bg-surface);
    --color-text: var(--vs-text);
    --color-text-secondary: var(--vs-text-2);
    --color-text-light: var(--vs-gray-25);
    --color-border: var(--vs-border);
    --color-sidebar: var(--vs-ink-900);
    --color-sidebar-hover: rgba(255, 255, 255, .08);
    --color-sidebar-active: rgba(255, 255, 255, .12);
    --shadow-sm: var(--vs-shadow-xs);
    --shadow: var(--vs-shadow-xs);
    --shadow-lg: var(--vs-shadow-overlay);
    --shadow-card: none;
    --shadow-card-hover: none;
    --shadow-button: none;
    --border-radius-sm: var(--vs-radius-sm);
    --border-radius: var(--vs-radius-md);
    --border-radius-lg: var(--vs-radius-xl);
    --transition: all var(--vs-dur-fast) var(--vs-ease);

    /* ---------- dashboard-consolidated.css (+ oxford-blue.css) ---------- */
    --oxford-primary: var(--vs-ink);
    --oxford-secondary: var(--vs-ink-700);
    --oxford-light: var(--vs-ink-soft);
    --oxford-dark: var(--vs-ink-950);
    --success: var(--vs-ok-fg);
    --success-light: var(--vs-ok-bg);
    --warning: var(--vs-warn-dot);
    --warning-light: var(--vs-warn-bg);
    --danger: var(--vs-risk-fg);
    --danger-light: var(--vs-risk-bg);
    --info: var(--vs-ink-soft);
    --white: var(--vs-bg-surface);
    --gray-50: var(--vs-gray-50);
    --gray-100: var(--vs-gray-100);
    --gray-200: var(--vs-gray-200);
    --gray-300: var(--vs-gray-300);
    --gray-400: var(--vs-gray-500);
    --gray-500: var(--vs-gray-600);
    --gray-600: var(--vs-gray-700);
    --gray-700: var(--vs-gray-700);
    --gray-800: var(--vs-gray-800);
    --gray-900: var(--vs-gray-900);
    --border-radius-md: var(--vs-radius-md);
    --shadow-md: var(--vs-shadow-xs);
    --transition-fast: var(--vs-dur-fast) var(--vs-ease);
    --transition-normal: var(--vs-dur-base) var(--vs-ease);
    --transition-slow: var(--vs-dur-slow) var(--vs-ease);

    /* ---------- ConsultaReport.css (nomes sem prefixo) ---------- */
    --primary: var(--vs-ink);
    --primary-dark: var(--vs-ink-950);
    --primary-light: var(--vs-ink-700);
    --primary-lighter: var(--vs-ink-soft);
    --secondary: var(--vs-ink-900);
    --secondary-light: var(--vs-gray-700);
    --shadow-subtle: var(--vs-shadow-xs);
    --shadow-strong: var(--vs-shadow-overlay);
    --radius: var(--vs-radius-lg);
    --radius-sm: var(--vs-radius-sm);
    --radius-lg: var(--vs-radius-xl);

    /* ---------- ConsultaReportV2.css (VS2) ---------- */
    --vs2-primary: var(--vs-ink);
    --vs2-primary-dark: var(--vs-ink-950);
    --vs2-primary-light: var(--vs-ink-700);
    --vs2-white: var(--vs-bg-surface);
    --vs2-gray-50: var(--vs-gray-50);
    --vs2-gray-100: var(--vs-gray-100);
    --vs2-gray-200: var(--vs-gray-200);
    --vs2-gray-300: var(--vs-gray-300);
    --vs2-gray-400: var(--vs-gray-500);
    --vs2-gray-500: var(--vs-gray-600);
    --vs2-gray-600: var(--vs-gray-700);
    --vs2-gray-700: var(--vs-ink-900);
    --vs2-success: var(--vs-ok-fg);
    --vs2-success-bg: var(--vs-ok-bg);
    --vs2-success-border: var(--vs-ok-border);
    --vs2-danger: var(--vs-risk-fg);
    --vs2-danger-bg: var(--vs-risk-bg);
    --vs2-danger-border: var(--vs-risk-border);
    --vs2-warning: var(--vs-warn-fg);
    --vs2-warning-bg: var(--vs-warn-bg);
    --vs2-warning-border: var(--vs-warn-border);
    --vs2-info-bg: var(--vs-info-bg);
    --vs2-info-border: var(--vs-info-border);
}

/* ---------- Quartz (relatórios Serasa), escopado a [data-qz] ---------- */
[data-qz][data-qz] {
    --qz-font-display: var(--vs-font-sans);
    --qz-font-body: var(--vs-font-sans);
    --qz-font-mono: var(--vs-font-mono);
    --qz-accent: var(--vs-accent);
    --qz-accent-soft: var(--vs-accent-soft);

    /* Escala (F5): o relatório de crédito fala na mesma voz do resto do produto — títulos de
       seção como os do laudo, herói com o nome em destaque mas sem 56px. */
    --qz-display-2xl: 2rem;       /* 32 (era 56) */
    --qz-display-xl:  1.5rem;     /* 24 (era 40) */
    --qz-display:     1.375rem;   /* 22 (era 32) */
    --qz-title:       1.125rem;   /* 18 (era 24) */
    --qz-subtitle:    1rem;       /* 16 (era 18) */
    --qz-body-lg:     0.9375rem;  /* 15 */
    --qz-body:        0.875rem;   /* 14 = corpo do DS */
    --qz-caption:     0.8125rem;
    --qz-track-display: var(--vs-tracking-tight);
    --qz-track-title: var(--vs-tracking-snug);
    --qz-track-caps: 0.04em;

    /* Cores: tinta, superfícies e linhas do DS; status com os mesmos tons do laudo */
    --qz-ink: var(--vs-text);
    --qz-ink-2: var(--vs-text-2);
    --qz-ink-3: var(--vs-text-3);
    --qz-ink-4: var(--vs-gray-300);
    --qz-paper: var(--vs-bg-canvas);
    --qz-surface: var(--vs-bg-surface);
    --qz-surface-2: var(--vs-bg-subtle);
    --qz-line: var(--vs-border);
    --qz-line-soft: var(--vs-border-subtle);
    --qz-success: var(--vs-ok-dot);
    --qz-success-soft: var(--vs-ok-bg);
    --qz-warn: var(--vs-warn-dot);
    --qz-warn-soft: var(--vs-warn-bg);
    --qz-danger: var(--vs-risk-dot);
    --qz-danger-soft: var(--vs-risk-bg);
    --qz-info: var(--vs-info-dot);
    --qz-info-soft: var(--vs-info-bg);

    /* Faixas do score A→G: mesma família de verde/âmbar/vermelho, menos saturada */
    --qz-score-a: var(--vs-green-500);
    --qz-score-b: var(--vs-green-200);
    --qz-score-c: var(--vs-amber-200);
    --qz-score-d: var(--vs-amber-400);
    --qz-score-e: var(--vs-amber-500);
    --qz-score-f: var(--vs-red-500);
    --qz-score-g: var(--vs-red-600);

    /* Forma: raio e sombra do DS (hierarquia por borda, não por elevação) */
    --qz-radius-sm: var(--vs-radius-sm);
    --qz-radius-md: var(--vs-radius-lg);
    --qz-radius-lg: var(--vs-card-radius);
    --qz-radius-xl: var(--vs-card-radius);
    --qz-shadow-1: none;
    --qz-shadow-2: var(--vs-shadow-xs);
    --qz-shadow-3: var(--vs-shadow-sm);
    --qz-ring: var(--vs-focus-ring);
    --qz-ease: var(--vs-ease);
}

/* ---------- Superfícies legadas mais comuns ---------- */
/* .admin-header (gradiente marinho com texto branco) NÃO é tocado aqui: há
   cabeçalhos com .text-white/.btn-light dentro, que sumiriam numa superfície
   clara. Ele migra tela a tela na F6. */
