/* =========================================================
   PDO v2 — PONTE de tokens Tabler/Bootstrap ↔ PDO
   (PLANO_PDO_V2.md §10.2 — Etapa 3, V2-FE-002)

   Mapeia as variáveis --tblr-* consumidas pelos componentes do Tabler 1.4
   para os tokens semânticos --app-* e --accent-* definidos em pdo-tokens.css.
   Carregar DEPOIS de tabler.min.css e pdo-tokens.css: mesma especificidade,
   ordem posterior vence. Nenhum componente deve referenciar --tblr-* fora
   desta ponte — módulos usam sempre os tokens --app-*.
   ========================================================= */

html[data-bs-theme="dark"],
html[data-bs-theme="light"] {
    /* Tipografia */
    --tblr-font-sans-serif: var(--font-ui);
    --tblr-body-font-family: var(--font-ui);

    /* Superfícies e texto */
    --tblr-body-bg: var(--app-bg);
    --tblr-body-color: var(--app-text);
    --tblr-bg-surface: var(--app-surface);
    --tblr-bg-surface-secondary: var(--app-surface-2);
    --tblr-bg-surface-tertiary: var(--app-surface-3);
    --tblr-bg-forms: var(--app-surface);
    --tblr-secondary-color: var(--app-text-2);
    --tblr-tertiary-color: var(--app-text-3);
    --tblr-muted: var(--app-text-3);
    --tblr-disabled-color: var(--app-text-3);

    /* Bordas e raio */
    --tblr-border-color: var(--app-border);
    --tblr-border-color-translucent: var(--app-border);
    --tblr-border-active-color: var(--app-border-strong);
    --tblr-border-radius: 4px;
    --tblr-border-radius-md: var(--app-radius);
    --tblr-card-border-radius: var(--app-radius);

    /* Acento institucional (primary) */
    --tblr-primary: var(--app-accent);
    --tblr-primary-rgb: var(--app-accent-rgb);
    --tblr-primary-fg: var(--app-on-accent);
    --tblr-primary-darken: var(--app-accent-2);
    --tblr-primary-lt: color-mix(in srgb, var(--app-accent) 13%, transparent);
    --tblr-primary-lt-rgb: var(--app-accent-rgb);
    --tblr-primary-text-emphasis: var(--app-accent);
    --tblr-primary-bg-subtle: color-mix(in srgb, var(--app-accent) 12%, var(--app-surface));
    --tblr-primary-border-subtle: color-mix(in srgb, var(--app-accent) 32%, transparent);
    --tblr-link-color: var(--app-accent);
    --tblr-link-color-rgb: var(--app-accent-rgb);
    --tblr-link-hover-color: var(--app-accent-2);
    --tblr-link-hover-color-rgb: var(--app-accent-rgb);
    --tblr-active-bg: color-mix(in srgb, var(--app-accent) 10%, transparent);

    /* Semânticos */
    --tblr-success: var(--accent-success);
    --tblr-success-rgb: var(--accent-success-rgb);
    --tblr-success-fg: var(--app-on-semantic);
    --tblr-success-lt: var(--accent-success-soft);
    --tblr-success-lt-rgb: var(--accent-success-rgb);
    --tblr-success-text-emphasis: var(--accent-success);
    --tblr-success-bg-subtle: color-mix(in srgb, var(--accent-success) 12%, var(--app-surface));
    --tblr-success-border-subtle: color-mix(in srgb, var(--accent-success) 32%, transparent);

    --tblr-info: var(--accent-info);
    --tblr-info-rgb: var(--accent-info-rgb);
    --tblr-info-fg: var(--app-on-semantic);
    --tblr-info-lt: var(--accent-info-soft);
    --tblr-info-lt-rgb: var(--accent-info-rgb);
    --tblr-info-text-emphasis: var(--accent-info);
    --tblr-info-bg-subtle: color-mix(in srgb, var(--accent-info) 12%, var(--app-surface));
    --tblr-info-border-subtle: color-mix(in srgb, var(--accent-info) 32%, transparent);

    --tblr-warning: var(--accent-warning);
    --tblr-warning-rgb: var(--accent-warning-rgb);
    --tblr-warning-fg: var(--app-on-semantic);
    --tblr-warning-lt: var(--accent-warning-soft);
    --tblr-warning-lt-rgb: var(--accent-warning-rgb);
    --tblr-warning-text-emphasis: var(--accent-warning);
    --tblr-warning-bg-subtle: color-mix(in srgb, var(--accent-warning) 12%, var(--app-surface));
    --tblr-warning-border-subtle: color-mix(in srgb, var(--accent-warning) 32%, transparent);

    --tblr-danger: var(--accent-danger);
    --tblr-danger-rgb: var(--accent-danger-rgb);
    --tblr-danger-fg: var(--app-on-semantic);
    --tblr-danger-lt: var(--accent-danger-soft);
    --tblr-danger-lt-rgb: var(--accent-danger-rgb);
    --tblr-danger-text-emphasis: var(--accent-danger);
    --tblr-danger-bg-subtle: color-mix(in srgb, var(--accent-danger) 12%, var(--app-surface));
    --tblr-danger-border-subtle: color-mix(in srgb, var(--accent-danger) 32%, transparent);

    --tblr-yellow: var(--accent-yellow);
    --tblr-yellow-rgb: var(--accent-yellow-rgb);
    --tblr-yellow-fg: var(--app-on-semantic);
    --tblr-yellow-lt: var(--accent-yellow-soft);
    --tblr-yellow-lt-rgb: var(--accent-yellow-rgb);

    /* Sombras — contidas (identidade institucional) */
    --tblr-box-shadow: var(--app-shadow-md);
    --tblr-box-shadow-sm: var(--app-shadow-sm);
    --tblr-box-shadow-lg: var(--app-shadow-lg);
    --tblr-card-box-shadow: var(--app-shadow-sm);
    --tblr-dropdown-box-shadow: var(--app-shadow-lg);
    --tblr-modal-box-shadow: var(--app-shadow-lg);
}
