/*
 * Sprint 235 — Tokens visuais corporativos (--corp-*)
 * Referência: Login Sprint 229 (#loginScreen), Blueprint 234.
 * Uso: sprints 236+ (shell, páginas). Sprint 249: --primary alinhado ao teal corporativo.
 * Login permanece com valores locais em css/pages/login.css (sem dependência obrigatória destes tokens).
 * TH-1: cinza e dark alinhados à referência FiveDesk (blue navy, não teal neon).
 */

/* Suprime transições durante troca de tema */
.fd-no-trans,
.fd-no-trans *,
.fd-no-trans *::before,
.fd-no-trans *::after {
    transition: none !important;
}

:root {
    --primary: #0f2f3a;
    --primary-dark: #0a232c;
    --primary-light: #1a5568;
    --secondary: #64748b;
    --success: #16a34a;
    --warning: #ea580c;
    --danger: #dc2626;
    --bg: #f8fafc;
    --surface: #ffffff;
    --surface-hover: #f1f5f9;
    --border: #e2e8f0;
    --text: #1e293b;
    --text-muted: #64748b;
    --shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 0.625rem 0.9375rem rgba(0, 0, 0, 0.1), 0 0.25rem 0.375rem rgba(0, 0, 0, 0.05);

    /* Prioridades — tema claro */
    --pri-critica-surface-bg: rgba(254, 226, 226, 0.55);
    --pri-critica-surface-border: #fecaca;
    --pri-critica-surface-text: #991b1b;
    --pri-critica-surface-label: #b91c1c;
    --pri-alta-surface-bg: rgba(254, 243, 199, 0.55);
    --pri-alta-surface-border: #fde68a;
    --pri-alta-surface-text: #92400e;
    --pri-alta-surface-label: #b45309;
    --pri-media-surface-bg: rgba(0, 255, 170, 0.1);
    --pri-media-surface-border: rgba(0, 255, 170, 0.35);
    --pri-media-surface-text: #0f2f3a;
    --pri-media-surface-label: #1a5568;
    --pri-baixa-surface-bg: rgba(220, 252, 231, 0.65);
    --pri-baixa-surface-border: #bbf7d0;
    --pri-baixa-surface-text: #166534;
    --pri-baixa-surface-label: #15803d;
    --pri-na-surface-bg: #f3f4f6;
    --pri-na-surface-border: #e5e7eb;
    --pri-na-surface-text: #374151;
    --pri-na-surface-label: #6b7280;

    --pri-critica-badge-bg: #fee2e2;
    --pri-critica-badge-border: #dc2626;
    --pri-critica-badge-text: #991b1b;
    --pri-alta-badge-bg: #fef3c7;
    --pri-alta-badge-border: #d97706;
    --pri-alta-badge-text: #92400e;
    --pri-media-badge-bg: rgba(15, 47, 58, 0.08);
    --pri-media-badge-border: rgba(0, 255, 170, 0.45);
    --pri-media-badge-text: #0f2f3a;
    --pri-baixa-badge-bg: #ecfdf5;
    --pri-baixa-badge-border: #22c55e;
    --pri-baixa-badge-text: #166534;
    --pri-na-badge-bg: #f3f4f6;
    --pri-na-badge-border: #9ca3af;
    --pri-na-badge-text: #4b5563;

    --pri-row-critica-bg: rgba(254, 226, 226, 0.35);
    --pri-row-alta-bg: rgba(254, 243, 199, 0.28);
    --pri-kanban-critica-accent: #dc2626;
    --pri-kanban-alta-accent: #d97706;

    /* --- Corporativo (teal / neon) — tema claro --- */
    --corp-bg-deep: #0f2f3a;
    --corp-bg-deep-rgb: 15, 47, 58;
    --corp-accent-neon: #00ffaa;
    --corp-accent-neon-rgb: 0, 255, 170;
    --corp-text-on-dark: #ffffff;
    --corp-text-muted-on-dark: #5a7a86;
    --corp-text-on-light: #0f2f3a;
    --corp-text-muted-on-light: #64748b;
    --corp-surface-card: rgba(255, 255, 255, 0.97);
    --corp-surface-elevated: #ffffff;
    --corp-surface-muted: rgba(15, 47, 58, 0.06);
    --corp-border-subtle: rgba(0, 255, 170, 0.22);
    --corp-border-strong: rgba(15, 47, 58, 0.12);
    --corp-shadow-card: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.25), 0 0 3rem rgba(0, 255, 170, 0.08);
    --corp-shadow-soft: 0 0.125rem 0.75rem rgba(15, 47, 58, 0.08);
    --corp-shadow-neon-glow: 0 0 1.25rem rgba(0, 255, 170, 0.35);
    --corp-radius-sm: 0.75rem;
    --corp-radius-md: 1rem;
    --corp-radius-lg: 1.25rem;
    --corp-radius-pill: var(--radius-card, 0.25rem);
    --corp-space-xs: 0.5rem;
    --corp-space-sm: 0.75rem;
    --corp-space-md: 1rem;
    --corp-space-lg: 1.5rem;
    --corp-space-xl: 2rem;
    --corp-font-family: system-ui, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --corp-font-page-title: 1.5rem;
    --corp-font-label: 0.8125rem;
    --corp-font-body: 1rem;
    --corp-transition: 0.2s ease;
    --corp-focus-ring: 0 0 0 0.1875rem rgba(0, 255, 170, 0.22);
    --corp-focus-border: var(--corp-accent-neon);
    --corp-btn-primary-bg: var(--corp-accent-neon);
    --corp-btn-primary-text: var(--corp-text-on-light);
    --corp-btn-primary-hover-bg: #33ffc0;
    --corp-btn-secondary-bg: transparent;
    --corp-btn-secondary-text: var(--corp-text-on-light);
    --corp-btn-secondary-border: rgba(15, 47, 58, 0.35);
    --corp-sidebar-bg: var(--corp-bg-deep);
    --corp-nav-active-color: var(--corp-accent-neon);
    --corp-nav-active-indicator: 0.1875rem solid var(--corp-accent-neon);
    --corp-gradient-hero: radial-gradient(
        ellipse 120% 80% at 50% 0%,
        rgba(0, 255, 170, 0.12) 0%,
        rgba(15, 47, 58, 0.4) 45%,
        var(--corp-bg-deep) 100%
    );
    --corp-disabled-opacity: 0.5;

    /* Destaques informativos (substitui azul #dbeafe no corpo) */
    --corp-info-soft: rgba(15, 47, 58, 0.06);
    --corp-info-soft-border: rgba(0, 255, 170, 0.28);
    --corp-info-soft-text: #0f2f3a;
    --color-info-soft: var(--corp-info-soft);

    /* FiveDesk Design System (Sprint 1 — tokens oficiais; consumo gradual nas sprints seguintes) */
    --fd-primary: #007BFF;
    --fd-primary-hover: #0061d6;
    --scroll-thumb: color-mix(in srgb, var(--fd-primary) 42%, transparent);
    --scroll-thumb-hover: color-mix(in srgb, var(--fd-primary) 64%, transparent);
    --scroll-track: transparent;
    --fd-navy: #001F5B;
    --fd-sky: #90EEFF;
    --fd-text: #0d1b34;
    --fd-text-muted: #64748b;
    --fd-border: #e4e9f0;
    --fd-field: #f6f8fb;
    --fd-surface: #ffffff;
    --fd-danger-text: #a3262b;
    --fd-danger-border: #f6c9c9;
    --fd-danger-bg: #fdecec;
    --fd-danger-field: #e5484d;
    --fd-success-text: #15703f;
    --fd-success-border: #bfe6cf;
    --fd-success-bg: #e8f7ef;
    --fd-radius-control: 0.75rem;
    /* Shell de cards/tabelas/modais — quadrado leve (paridade modais Chats). */
    --fd-radius-card: 0.25rem;
    --fd-radius-lg: 1.5rem;
    --fd-shadow-1: 0 0.0625rem 0.125rem rgba(13, 27, 52, 0.06);
    --fd-shadow-2: 0 0.75rem 1.875rem -1rem rgba(13, 27, 52, 0.25);
    --fd-shadow-3: 0 2.75rem 6.25rem -2.125rem rgba(0, 12, 40, 0.62);
    /* Filterbar compartilhado — canônico Tickets (acompanhamento) */
    --fd-filterbar-pad-y: 0.625rem;
    --fd-filterbar-pad-x: 0.75rem;
    --fd-filterbar-control-h: 2.25rem;
    --fd-filterbar-trig-h: 2.125rem;
    --fd-filterbar-gap: 0.625rem;
    --fd-filterbar-radius: 0.75rem;
    --fd-filterbar-min-h: 3.5rem;
    --fd-filterbar-font: 0.78125rem;
    --fd-filterbar-search-font: 0.8125rem;
    --fd-filterbar-page-pad-top: 0.625rem;
    --fd-font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --fd-bg: var(--fd-field);
    --fd-focus-ring: 0 0 0 0.25rem rgba(0, 123, 255, 0.13);
    --fd-shell-sidebar-bg-dark: #0a1220;
    --fd-shell-sidebar-border-dark: #1e293b;
    --fd-shell-sidebar-bg-light: var(--fd-field);
    --fd-shell-sidebar-border-light: var(--fd-border);
    --fd-shell-bg: var(--fd-shell-sidebar-bg-light);
    --fd-shell-border: var(--fd-shell-sidebar-border-light);
    --fd-shell-text: var(--fd-text);
    --fd-shell-muted: var(--fd-text-muted);
    --fd-shell-topbar-bg: var(--fd-shell-bg);
    --fd-shell-topbar-border: var(--fd-shell-border);
    --fd-topbar-bg: var(--fd-shell-bg);
    --fd-topbar-border: var(--fd-shell-border);
    --fd-topbar-text: var(--fd-shell-text);
    --fd-topbar-muted: var(--fd-shell-muted);
    --fd-topbar-control-bg: var(--fd-field);
    --fd-topbar-control-border: var(--fd-border);
    --fd-topbar-control-hover: rgba(11, 99, 246, 0.08);
    --fd-topbar-menu-bg: var(--fd-surface);
    --fd-topbar-menu-border: var(--fd-border);
    --fd-topbar-menu-text: var(--fd-text);
    --fd-topbar-menu-muted: var(--fd-text-muted);
    --fd-topbar-menu-hover: color-mix(in srgb, var(--fd-primary) 9%, var(--fd-field));
    --fd-topbar-menu-active: color-mix(in srgb, var(--fd-primary) 14%, var(--fd-field));
    --fd-topbar-menu-shadow: var(--fd-shadow-2);
    --fd-topbar-menu-focus: var(--fd-focus-ring);
    --fd-gradient-hero:
        radial-gradient(62.5rem 42.5rem at 78% -10%, rgba(0, 123, 255, 0.55), transparent 60%),
        radial-gradient(47.5rem 40rem at -8% 112%, rgba(144, 238, 255, 0.2), transparent 60%),
        linear-gradient(155deg, #001a4d 0%, #002a72 45%, #0046b8 100%);

    /* Pontes de migração (Sprint 3 — --corp-* originais preservados) */
    --corp-fd-bridge-primary: var(--fd-primary);
    --corp-fd-bridge-focus-ring: var(--fd-focus-ring);
    --corp-fd-bridge-surface: var(--fd-surface);
    --corp-fd-bridge-border: var(--fd-border);
}

/* =====================================================================
   Tema dark — Theme Lab Black (fivedesk-themelab.css [data-theme="black"])
   Produção: html[data-theme="dark"]
   ===================================================================== */
html[data-theme="dark"] {
    /* Base palette */
    --primary: #3b9bff;
    --primary-dark: #2f7fe0;
    --primary-light: #7ec0ff;
    --secondary: #aeb8c8;
    --success: #2bd98f;
    --warning: #f0a93a;
    --danger: #ff5a63;
    --bg: #05070b;
    --surface: #11151d;
    --surface-hover: #202734;
    --border: #262d3a;
    --text: #f4f7fb;
    --text-muted: #aeb8c8;
    --shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.5);
    --shadow-lg: 0 1.125rem 2.5rem -1.125rem rgba(0, 0, 0, 0.78);
    color-scheme: dark;

    /* Prioridades — dark */
    --pri-critica-surface-bg: rgba(127, 29, 29, 0.42);
    --pri-critica-surface-border: #f87171;
    --pri-critica-surface-text: #fecaca;
    --pri-critica-surface-label: #fca5a5;
    --pri-alta-surface-bg: rgba(120, 53, 15, 0.45);
    --pri-alta-surface-border: #fbbf24;
    --pri-alta-surface-text: #fde68a;
    --pri-alta-surface-label: #fcd34d;
    --pri-media-surface-bg: rgba(59, 155, 255, 0.12);
    --pri-media-surface-border: rgba(59, 155, 255, 0.40);
    --pri-media-surface-text: #cce4ff;
    --pri-media-surface-label: #9cc6ff;
    --pri-baixa-surface-bg: rgba(20, 83, 45, 0.38);
    --pri-baixa-surface-border: #4ade80;
    --pri-baixa-surface-text: #bbf7d0;
    --pri-baixa-surface-label: #86efac;
    --pri-na-surface-bg: rgba(38, 51, 76, 0.55);
    --pri-na-surface-border: #8a99b8;
    --pri-na-surface-text: #e8eef9;
    --pri-na-surface-label: #c8d0dc;

    --pri-critica-badge-bg: rgba(127, 29, 29, 0.55);
    --pri-critica-badge-border: #f87171;
    --pri-critica-badge-text: #fecaca;
    --pri-alta-badge-bg: rgba(120, 53, 15, 0.55);
    --pri-alta-badge-border: #fbbf24;
    --pri-alta-badge-text: #fde68a;
    --pri-media-badge-bg: rgba(59, 155, 255, 0.14);
    --pri-media-badge-border: rgba(59, 155, 255, 0.50);
    --pri-media-badge-text: #9cc6ff;
    --pri-baixa-badge-bg: rgba(20, 83, 45, 0.45);
    --pri-baixa-badge-border: #4ade80;
    --pri-baixa-badge-text: #bbf7d0;
    --pri-na-badge-bg: rgba(38, 51, 76, 0.65);
    --pri-na-badge-border: #8a99b8;
    --pri-na-badge-text: #e8eef9;

    --pri-row-critica-bg: rgba(127, 29, 29, 0.28);
    --pri-row-alta-bg: rgba(120, 53, 15, 0.24);
    --pri-kanban-critica-accent: #f87171;
    --pri-kanban-alta-accent: #fbbf24;

    /* Corporativo — dark (Black Lab) */
    --corp-bg-deep: #05070b;
    --corp-accent-neon: #3b9bff;
    --corp-text-on-dark: #f4f7fb;
    --corp-text-muted-on-dark: #aeb8c8;
    --corp-text-on-light: #f4f7fb;
    --corp-text-muted-on-light: #aeb8c8;
    --corp-surface-card: rgba(17, 21, 29, 0.92);
    --corp-surface-elevated: #11151d;
    --corp-surface-muted: rgba(59, 155, 255, 0.06);
    --corp-border-subtle: rgba(59, 155, 255, 0.28);
    --corp-border-strong: rgba(138, 153, 184, 0.20);
    --corp-shadow-card: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.65), 0 0 2.5rem rgba(59, 155, 255, 0.06);
    --corp-shadow-soft: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.45);
    --corp-shadow-neon-glow: 0 0 1.25rem rgba(59, 155, 255, 0.28);
    --corp-focus-ring: 0 0 0 0.1875rem rgba(59, 155, 255, 0.22);
    --corp-focus-border: #3b9bff;
    --corp-btn-secondary-text: #e8eef9;
    --corp-btn-secondary-border: rgba(138, 153, 184, 0.35);
    --corp-btn-shell-bg: #171c26;
    --corp-btn-shell-hover: #202734;
    --corp-btn-shell-text: #f4f7fb;
    --corp-btn-shell-border: rgba(138, 153, 184, 0.28);
    --corp-outline-accent: rgba(59, 155, 255, 0.22);
    --corp-sidebar-bg: #000000;
    --corp-nav-active-color: #3b9bff;
    --corp-gradient-hero: radial-gradient(
        ellipse 120% 80% at 50% 0%,
        rgba(59, 155, 255, 0.12) 0%,
        rgba(11, 18, 32, 0.4) 45%,
        var(--corp-bg-deep) 100%
    );
    --corp-info-soft: rgba(59, 155, 255, 0.10);
    --corp-info-soft-border: rgba(59, 155, 255, 0.32);
    --corp-info-soft-text: #cce4ff;
    --color-info-soft: var(--corp-info-soft);

    /* Sprint 251 premium tokens — dark */
    --corp-premium-bg: #05070b;
    --corp-premium-surface: #11151d;
    --corp-premium-text: #f4f7fb;
    --corp-premium-muted: #aeb8c8;
    --corp-premium-border: rgba(59, 155, 255, 0.20);
    --corp-institutional-green: #3b9bff;
    --corp-institutional-green-hover: #2f7fe0;

    /* FiveDesk — dark (Black Lab) */
    --fd-primary: #3b9bff;
    --fd-primary-hover: #2f7fe0;
    --fd-text: #f4f7fb;
    --fd-text-muted: #aeb8c8;
    --fd-border: #262d3a;
    --fd-field: #0a0d13;
    --fd-surface: #11151d;
    --fd-bg: #0a0d13;
    --fd-danger-bg: rgba(127, 29, 29, 0.35);
    --fd-danger-border: rgba(248, 113, 113, 0.45);
    --fd-danger-text: #fecaca;
    --fd-danger-field: #e5484d;
    --fd-success-bg: rgba(20, 83, 45, 0.35);
    --fd-success-border: rgba(74, 222, 128, 0.4);
    --fd-success-text: #bbf7d0;
    --fd-focus-ring: 0 0 0 0.1875rem rgba(59, 155, 255, 0.42);
    --fd-shadow-1: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.5);
    --fd-shadow-2: 0 1.125rem 2.5rem -1.125rem rgba(0, 0, 0, 0.78);
    --fd-shadow-3: 0 3.125rem 6.875rem -2.125rem rgba(0, 0, 0, 0.88);
    --fd-shell-sidebar-bg-dark: #000000;
    --fd-shell-sidebar-border-dark: #1a1f29;
    --fd-shell-bg: var(--fd-shell-sidebar-bg-dark);
    --fd-shell-border: var(--fd-shell-sidebar-border-dark);
    --fd-shell-text: rgba(244, 247, 251, 0.92);
    --fd-shell-muted: #aeb8c8;
    --fd-shell-topbar-bg: var(--fd-shell-bg);
    --fd-shell-topbar-border: var(--fd-shell-border);
    --fd-topbar-bg: var(--fd-shell-bg);
    --fd-topbar-border: var(--fd-shell-border);
    --fd-topbar-text: var(--fd-shell-text);
    --fd-topbar-muted: var(--fd-shell-muted);
    --fd-topbar-control-bg: #171c26;
    --fd-topbar-control-border: #262d3a;
    --fd-topbar-control-hover: rgba(59, 155, 255, 0.16);
    --fd-topbar-menu-bg: #11151d;
    --fd-topbar-menu-border: #262d3a;
    --fd-topbar-menu-text: #f4f7fb;
    --fd-topbar-menu-muted: #aeb8c8;
    --fd-topbar-menu-hover: rgba(59, 155, 255, 0.10);
    --fd-topbar-menu-active: rgba(59, 155, 255, 0.16);
    --fd-topbar-menu-shadow: 0 1rem 2.5rem -0.75rem rgba(0, 0, 0, 0.65);
    --fd-topbar-menu-focus: var(--fd-focus-ring);

    /* Theme Lab — fivedesk-themelab.css (black → data-theme dark) */
    --blue: #3b9bff;
    --blue-600: #2f7fe0;
    --ink: #f4f7fb;
    --muted: #aeb8c8;
    --muted-2: #73809a;
    --line: #262d3a;
    --field: #0a0d13;
    --bg-app: #05070b;
    --surface-2: #171c26;
    --surface-3: #202734;

    --sidebar-bg: #000000;
    --sidebar-line: #1a1f29;
    --sidebar-ink: #cdd8ef;
    --sidebar-muted: #6a7795;
    --sidebar-brand: #ffffff;
    --sidebar-active-bg: rgba(59, 155, 255, 0.18);
    --sidebar-active-ink: #6cb4ff;

    --btn-primary-bg: linear-gradient(135deg, #3b9bff, #1f6fe0);
    --btn-primary-text: #ffffff;
    --btn-primary-glow: 0 0 0 0.0625rem rgba(59, 155, 255, 0.4), 0 0.75rem 1.875rem -0.625rem rgba(59, 155, 255, 0.55);

    --focus-ring: 0 0 0 0.1875rem rgba(59, 155, 255, 0.42);
    --focus-border: #3b9bff;

    --shadow-1: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.5);
    --shadow-2: 0 1.125rem 2.5rem -1.125rem rgba(0, 0, 0, 0.78);
    --shadow-3: 0 3.125rem 6.875rem -2.125rem rgba(0, 0, 0, 0.88);

    --bubble-out: #0d2c52;
    --bubble-out-text: #bfe0ff;
    --bubble-in: #171c26;
    --bubble-in-text: #dbe6f3;
    --note-bg: rgba(120, 53, 15, 0.5);
    --note-border: #d97706;
    --note-text: #f0a93a;
    --chip-bg: linear-gradient(180deg, #1a212d, #131922);
    --chip-text: #aeb8c8;
    --chip-border: #262d3a;
    --wallpaper: radial-gradient(rgba(59, 155, 255, 0.04) 0.075rem, transparent 0.075rem) 0 0/1.625rem 1.625rem, #04060a;
    --tick-read: #6cb4ff;

    --pri-critica-bg: rgba(255, 90, 99, 0.16);
    --pri-critica-bd: rgba(255, 90, 99, 0.45);
    --pri-critica-tx: #ff8a90;
    --pri-critica-accent: #ff5a63;
    --pri-alta-bg: rgba(240, 169, 58, 0.15);
    --pri-alta-bd: rgba(240, 169, 58, 0.42);
    --pri-alta-tx: #ffc777;
    --pri-alta-accent: #f0a93a;
    --pri-media-bg: rgba(59, 155, 255, 0.15);
    --pri-media-bd: rgba(59, 155, 255, 0.42);
    --pri-media-tx: #7cc0ff;
    --pri-baixa-bg: rgba(43, 217, 143, 0.13);
    --pri-baixa-bd: rgba(43, 217, 143, 0.4);
    --pri-baixa-tx: #5fe7b4;
    --pri-row-critica: rgba(255, 90, 99, 0.09);
    --pri-row-alta: rgba(240, 169, 58, 0.07);

    --scroll-thumb: #2a3340;
    --scroll-track: transparent;
    --skeleton: linear-gradient(90deg, #141a24 25%, #1d2531 37%, #141a24 63%);

    --pri-critica-surface-bg: var(--pri-critica-bg);
    --pri-critica-surface-border: var(--pri-critica-bd);
    --pri-critica-surface-text: var(--pri-critica-tx);
    --pri-critica-surface-label: var(--pri-critica-tx);
    --pri-alta-surface-bg: var(--pri-alta-bg);
    --pri-alta-surface-border: var(--pri-alta-bd);
    --pri-alta-surface-text: var(--pri-alta-tx);
    --pri-alta-surface-label: var(--pri-alta-tx);
    --pri-media-surface-bg: var(--pri-media-bg);
    --pri-media-surface-border: var(--pri-media-bd);
    --pri-media-surface-text: var(--pri-media-tx);
    --pri-media-surface-label: var(--pri-media-tx);
    --pri-baixa-surface-bg: var(--pri-baixa-bg);
    --pri-baixa-surface-border: var(--pri-baixa-bd);
    --pri-baixa-surface-text: var(--pri-baixa-tx);
    --pri-baixa-surface-label: var(--pri-baixa-tx);
    --pri-row-critica-bg: var(--pri-row-critica);
    --pri-row-alta-bg: var(--pri-row-alta);
    --pri-kanban-critica-accent: var(--pri-critica-accent);
    --pri-kanban-alta-accent: var(--pri-alta-accent);
    --corp-btn-primary-bg: var(--btn-primary-bg);
    --corp-btn-primary-text: var(--btn-primary-text);
    --corp-focus-ring: var(--focus-ring);
    --fd-focus-ring: var(--focus-ring);
    /* --blue-text nasceu no Nublado e nao tinha par no Noite: color:var(--blue-text)
       ficava invalido e o texto herdava a cor do pai. */
    --blue-text: #8bd0ff;
    /* Faixa de cabecalho e rodape de lista. Sem isto o Noite caia no
       gradiente azul vivo do tema Dia. Estrutura, nao marca. */
    --fd-list-thead-grad: linear-gradient(145deg, #0b1421 0%, #162233 34%, #1e2c40 68%, #26364d 100%);
    --fd-list-thead-edge: inset 0 0.0625rem 0 rgba(255, 255, 255, 0.10), inset 0 -0.0625rem 0 rgba(0, 0, 0, 0.44);
}

html[data-theme='dark'] .button.button-primary {
    background: var(--corp-btn-shell-bg);
    color: var(--corp-btn-shell-text);
    border: 0.0625rem solid var(--corp-btn-shell-border);
    box-shadow: none;
}

html[data-theme='dark'] .button.button-primary:hover:not(:disabled) {
    background: var(--corp-btn-shell-hover);
    border-color: var(--corp-outline-accent);
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.25);
}

/* Overrides de superfície — dark */
html[data-theme="dark"] .sidebar-panel {
    background: var(--fd-shell-sidebar-bg-dark);
    border-right-color: var(--fd-shell-sidebar-border-dark);
}

html[data-theme="dark"] .app-topbar {
    background: var(--fd-topbar-bg);
    border-bottom-color: var(--fd-topbar-border);
}

html[data-theme="dark"] .topbar-ticket-toast {
    background: var(--fd-surface);
    color: var(--fd-text);
    border-color: color-mix(in srgb, var(--fd-primary) 55%, var(--fd-border));
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .data-table,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .notificacoes-painel {
    background: var(--surface);
    color: var(--text);
}

html[data-theme="dark"] .sidebar {
    background: transparent;
}

/* =====================================================================
   Tema cinza — referência FiveDesk cinza (grafite médio)
   ===================================================================== */
html[data-theme="cinza"] {
    /* Base palette — Nublado: cinza médio, polaridade clara.
       Âncora --bg #8A939F (L*≈60) com tinta #14181D = 5,70:1.
       Variante mais leve, se aprovada: trocar --bg/--bg-app/--corp-bg-deep para #9AA3AE. */
    --primary: #0b63d6;
    --primary-dark: #0a4fad;
    --primary-light: #3d86e8;
    --secondary: #4a5462;
    --success: #15683f;
    --warning: #8a4e0b;
    --danger: #97231f;
    --bg: #8a939f;
    --surface: #9fa7b1;
    --surface-hover: #b2b9c2;
    --border: #4a5462;
    --text: #14181d;
    --text-muted: #333b45;
    --shadow: 0 0.0625rem 0.1875rem rgba(20, 24, 29, 0.22);
    --shadow-lg: 0 0.625rem 0.9375rem rgba(20, 24, 29, 0.20), 0 0.25rem 0.375rem rgba(20, 24, 29, 0.12);
    color-scheme: light;

    /* Prioridades — Nublado (lavagem clara + tinta escura do mesmo matiz) */
    --pri-critica-surface-bg: rgba(255, 205, 200, 0.55);
    --pri-critica-surface-border: #97231f;
    --pri-critica-surface-text: #6e1614;
    --pri-critica-surface-label: #7d1a17;
    --pri-alta-surface-bg: rgba(255, 225, 170, 0.55);
    --pri-alta-surface-border: #8a5210;
    --pri-alta-surface-text: #6b3b08;
    --pri-alta-surface-label: #7a4409;
    --pri-media-surface-bg: rgba(190, 220, 255, 0.55);
    --pri-media-surface-border: rgba(10, 61, 128, 0.45);
    --pri-media-surface-text: #0a3d80;
    --pri-media-surface-label: #0e4c99;
    --pri-baixa-surface-bg: rgba(190, 240, 210, 0.55);
    --pri-baixa-surface-border: #15683f;
    --pri-baixa-surface-text: #0e4a2c;
    --pri-baixa-surface-label: #115a35;
    --pri-na-surface-bg: rgba(210, 215, 222, 0.55);
    --pri-na-surface-border: #4a5462;
    --pri-na-surface-text: #14181d;
    --pri-na-surface-label: #333b45;

    --pri-critica-badge-bg: rgba(255, 205, 200, 0.72);
    --pri-critica-badge-border: #97231f;
    --pri-critica-badge-text: #6e1614;
    --pri-alta-badge-bg: rgba(255, 225, 170, 0.72);
    --pri-alta-badge-border: #8a5210;
    --pri-alta-badge-text: #6b3b08;
    --pri-media-badge-bg: rgba(190, 220, 255, 0.72);
    --pri-media-badge-border: rgba(10, 61, 128, 0.55);
    --pri-media-badge-text: #0a3d80;
    --pri-baixa-badge-bg: rgba(190, 240, 210, 0.72);
    --pri-baixa-badge-border: #15683f;
    --pri-baixa-badge-text: #0e4a2c;
    --pri-na-badge-bg: rgba(210, 215, 222, 0.75);
    --pri-na-badge-border: #4a5462;
    --pri-na-badge-text: #14181d;

    --pri-row-critica-bg: rgba(151, 35, 31, 0.12);
    --pri-row-alta-bg: rgba(138, 82, 11, 0.11);
    --pri-kanban-critica-accent: #97231f;
    --pri-kanban-alta-accent: #8a5210;

    /* Corporativo — Nublado */
    --corp-bg-deep: #8a939f;
    --corp-bg-deep-rgb: 138, 147, 159;
    --corp-accent-neon: #0b63d6;
    --corp-accent-neon-rgb: 11, 99, 214;
    --corp-text-on-dark: #14181d;
    --corp-text-muted-on-dark: #333b45;
    --corp-text-on-light: #14181d;
    --corp-text-muted-on-light: #333b45;
    --corp-surface-card: rgba(159, 167, 177, 0.92);
    --corp-surface-elevated: #9fa7b1;
    --corp-surface-muted: rgba(11, 99, 214, 0.06);
    --corp-border-subtle: rgba(20, 24, 29, 0.18);
    --corp-border-strong: rgba(20, 24, 29, 0.30);
    --corp-shadow-card: 0 0.25rem 1.5rem rgba(20, 24, 29, 0.22);
    --corp-shadow-soft: 0 0.125rem 0.75rem rgba(20, 24, 29, 0.16);
    --corp-shadow-neon-glow: 0 0 1.25rem rgba(11, 99, 214, 0.20);
    --corp-focus-ring: 0 0 0 0.1875rem rgba(11, 99, 214, 0.30);
    --corp-focus-border: #0b63d6;
    --corp-btn-primary-bg: #0b63d6;
    --corp-btn-primary-text: #ffffff;
    --corp-btn-secondary-text: #14181d;
    --corp-btn-secondary-border: rgba(20, 24, 29, 0.32);
    --corp-btn-shell-bg: #acb3bc;
    --corp-btn-shell-hover: #b8bfc7;
    --corp-btn-shell-text: #14181d;
    --corp-btn-shell-border: rgba(20, 24, 29, 0.28);
    --corp-outline-accent: rgba(11, 99, 214, 0.30);
    --corp-sidebar-bg: #4a5462;
    --corp-nav-active-color: #0a3d80;
    --corp-gradient-hero: radial-gradient(
        ellipse 120% 80% at 50% 0%,
        rgba(11, 99, 214, 0.10) 0%,
        rgba(138, 147, 159, 0.4) 45%,
        var(--corp-bg-deep) 100%
    );
    --corp-info-soft: rgba(11, 99, 214, 0.10);
    --corp-info-soft-border: rgba(11, 99, 214, 0.32);
    --corp-info-soft-text: #0a3d80;
    --color-info-soft: var(--corp-info-soft);

    /* Sprint 251/252 tokens — Nublado */
    --corp-premium-bg: #8a939f;
    --corp-premium-surface: #9fa7b1;
    --corp-premium-text: #14181d;
    --corp-premium-muted: #333b45;
    --corp-premium-border: rgba(11, 99, 214, 0.24);
    --corp-institutional-green: #0b63d6;
    --corp-institutional-green-hover: #0a4fad;

    /* FiveDesk — Nublado */
    --fd-primary: #0b63d6;
    --fd-primary-hover: #0a4fad;
    --fd-text: #14181d;
    --fd-text-muted: #333b45;
    --fd-border: #4a5462;
    --fd-field: #7e8794;
    --fd-surface: #9fa7b1;
    --fd-bg: #8a939f;
    --fd-danger-bg: rgba(255, 205, 200, 0.55);
    --fd-danger-border: rgba(151, 35, 31, 0.48);
    --fd-danger-text: #6e1614;
    --fd-danger-field: #97231f;
    --fd-success-bg: rgba(190, 240, 210, 0.55);
    --fd-success-border: rgba(21, 104, 63, 0.45);
    --fd-success-text: #0e4a2c;
    --fd-focus-ring: 0 0 0 0.25rem rgba(11, 99, 214, 0.28);
    --fd-shadow-1: 0 0.0625rem 0.125rem rgba(20, 24, 29, 0.22);
    --fd-shadow-2: 0 0.875rem 2rem -1.125rem rgba(20, 24, 29, 0.35);
    --fd-shadow-3: 0 2.75rem 6.25rem -2.125rem rgba(20, 24, 29, 0.42);
    --fd-shell-sidebar-bg-dark: #4a5462;
    --fd-shell-sidebar-border-dark: #4a5462;
    --fd-shell-bg: #4a5462;
    --fd-shell-border: #4a5462;
    --fd-shell-text: rgba(255, 255, 255, 0.94);
    --fd-shell-muted: #c8ced6;
    --fd-shell-topbar-bg: #4a5462;
    --fd-shell-topbar-border: #4a5462;
    --fd-topbar-bg: #4a5462;
    --fd-topbar-border: #4a5462;
    --fd-topbar-text: rgba(255, 255, 255, 0.94);
    --fd-topbar-muted: #c8ced6;
    --fd-topbar-control-bg: #5d6675;
    --fd-topbar-control-border: #6b7482;
    --fd-topbar-control-hover: rgba(11, 99, 214, 0.16);
    --fd-topbar-menu-bg: #b8bfc7;
    --fd-topbar-menu-border: #4a5462;
    --fd-topbar-menu-text: #14181d;
    --fd-topbar-menu-muted: #333b45;
    --fd-topbar-menu-hover: rgba(11, 99, 214, 0.10);
    --fd-topbar-menu-active: rgba(11, 99, 214, 0.18);
    --fd-topbar-menu-shadow: 0 1rem 2.5rem -0.75rem rgba(20, 24, 29, 0.35);
    --fd-topbar-menu-focus: var(--fd-focus-ring);

    /* Escala de página — Nublado */
    --blue: #0b63d6;
    --blue-600: #0a4fad;
    /* --blue não passa contraste como texto sobre cinza médio (2,07:1).
       Texto e link azul usam --blue-text (5,50:1). */
    --blue-text: #0a3d80;
    --ink: #14181d;
    --muted: #333b45;
    --muted-2: #454e59;
    --line: #4a5462;
    --field: #7e8794;
    --bg-app: #8a939f;
    --surface-2: #acb3bc;
    --surface-3: #b8bfc7;

    --sidebar-bg: #4a5462;
    --sidebar-line: #5d6675;
    --sidebar-ink: #ffffff;
    --sidebar-muted: #c8ced6;
    --sidebar-brand: #ffffff;
    --sidebar-active-bg: rgba(11, 99, 214, 0.18);
    --sidebar-active-ink: #0a3d80;

    --btn-primary-bg: linear-gradient(135deg, #0b63d6, #0a4fad);
    --btn-primary-text: #ffffff;
    --btn-primary-glow: 0 0.75rem 1.625rem -0.875rem rgba(11, 99, 214, 0.45);

    --focus-ring: 0 0 0 0.1875rem rgba(11, 99, 214, 0.32);
    --focus-border: #0b63d6;

    --shadow-1: 0 0.0625rem 0.125rem rgba(20, 24, 29, 0.20);
    --shadow-2: 0 1rem 2.125rem -1.125rem rgba(20, 24, 29, 0.34);
    --shadow-3: 0 2.75rem 6.25rem -2.125rem rgba(20, 24, 29, 0.40);

    --bubble-out: #b9cbe4;
    --bubble-out-text: #10243d;
    --bubble-in: #b8bfc7;
    --bubble-in-text: #14181d;
    --note-bg: rgba(255, 228, 160, 0.50);
    --note-border: rgba(138, 82, 11, 0.42);
    --note-text: #6b3b08;
    --chip-bg: linear-gradient(180deg, #b4bbc4, #a6adb7);
    --chip-text: #333b45;
    --chip-border: #4a5462;
    --wallpaper:
        radial-gradient(rgba(20, 24, 29, 0.05) 0.0875rem, transparent 0.0875rem) 0 0/1.375rem 1.375rem,
        linear-gradient(180deg, #949ca8, #8a939f);
    --tick-read: #0a5bc4;

    --pri-critica-bg: rgba(151, 35, 31, 0.14);
    --pri-critica-bd: rgba(151, 35, 31, 0.42);
    --pri-critica-tx: #6e1614;
    --pri-critica-accent: #97231f;
    --pri-alta-bg: rgba(138, 82, 11, 0.14);
    --pri-alta-bd: rgba(138, 82, 11, 0.40);
    --pri-alta-tx: #6b3b08;
    --pri-alta-accent: #8a5210;
    --pri-media-bg: rgba(11, 99, 214, 0.14);
    --pri-media-bd: rgba(11, 99, 214, 0.40);
    --pri-media-tx: #0a3d80;
    --pri-baixa-bg: rgba(21, 104, 63, 0.14);
    --pri-baixa-bd: rgba(21, 104, 63, 0.38);
    --pri-baixa-tx: #0e4a2c;
    --pri-row-critica: rgba(151, 35, 31, 0.09);
    --pri-row-alta: rgba(138, 82, 11, 0.08);

    --scroll-thumb: #5d6675;
    --scroll-track: transparent;
    --skeleton: linear-gradient(90deg, #9aa2ac 25%, #aeb5be 37%, #9aa2ac 63%);

    --pri-critica-surface-bg: var(--pri-critica-bg);
    --pri-critica-surface-border: var(--pri-critica-bd);
    --pri-critica-surface-text: var(--pri-critica-tx);
    --pri-critica-surface-label: var(--pri-critica-tx);
    --pri-alta-surface-bg: var(--pri-alta-bg);
    --pri-alta-surface-border: var(--pri-alta-bd);
    --pri-alta-surface-text: var(--pri-alta-tx);
    --pri-alta-surface-label: var(--pri-alta-tx);
    --pri-media-surface-bg: var(--pri-media-bg);
    --pri-media-surface-border: var(--pri-media-bd);
    --pri-media-surface-text: var(--pri-media-tx);
    --pri-media-surface-label: var(--pri-media-tx);
    --pri-baixa-surface-bg: var(--pri-baixa-bg);
    --pri-baixa-surface-border: var(--pri-baixa-bd);
    --pri-baixa-surface-text: var(--pri-baixa-tx);
    --pri-baixa-surface-label: var(--pri-baixa-tx);
    --pri-row-critica-bg: var(--pri-row-critica);
    --pri-row-alta-bg: var(--pri-row-alta);
    --pri-kanban-critica-accent: var(--pri-critica-accent);
    --pri-kanban-alta-accent: var(--pri-alta-accent);
    --corp-btn-primary-bg: var(--btn-primary-bg);
    --corp-btn-primary-text: var(--btn-primary-text);
    --fd-focus-ring: var(--focus-ring);
}

html[data-theme="cinza"] .button.button-primary {
    background: var(--corp-btn-shell-bg);
    color: var(--corp-btn-shell-text);
    border: 0.0625rem solid var(--corp-btn-shell-border);
    box-shadow: none;
}

html[data-theme="cinza"] .button.button-primary:hover:not(:disabled) {
    background: var(--corp-btn-shell-hover);
    border-color: var(--corp-outline-accent);
    box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.25);
}

/* Overrides de superfície — cinza */
html[data-theme="cinza"] .sidebar-panel {
    background: var(--fd-shell-sidebar-bg-dark);
    border-right-color: var(--fd-shell-sidebar-border-dark);
}

html[data-theme="cinza"] .app-topbar {
    background: var(--fd-topbar-bg);
    border-bottom-color: var(--fd-topbar-border);
}

html[data-theme="cinza"] .topbar-ticket-toast {
    background: var(--fd-surface);
    color: var(--fd-text);
    border-color: color-mix(in srgb, var(--fd-primary) 55%, var(--fd-border));
}

html[data-theme="cinza"] .card,
html[data-theme="cinza"] .data-table,
html[data-theme="cinza"] .modal-content,
html[data-theme="cinza"] .notificacoes-painel {
    background: var(--surface);
    color: var(--text);
}

html[data-theme="cinza"] .sidebar {
    background: transparent;
}
