/* ============================================================
   SEMED Shell Theme — padrão de cores unificado do ecossistema
   ------------------------------------------------------------
   Casco de tema compartilhado (core/shell). Deve ser carregado
   POR ÚLTIMO, depois do tema do sistema (ex.: custom-theme.css),
   para sobrepor a paleta antiga pela paleta institucional teal
   (a mesma da tela de login / Prefeitura de Aracaju) e habilitar
   o chaveamento light/dark via [data-theme] no <html>.
   ============================================================ */

/* Tipografia canônica do Portal — pesos 500/600 evitam faux-bold. */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
    /* Tipografia — paridade Portal (Source Sans Pro + Lato) */
    --pm-font-sans: 'Source Sans Pro', 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Paleta institucional (idêntica ao gateway/login) */
    --brand-300: #40c8db;
    --brand-500: #12afc8;   /* ciano principal            */
    --brand-600: #0f9cb3;   /* ciano escuro (hover)       */
    --brand-700: #0b7f92;   /* teal profundo              */
    --brand-800: #085f6d;   /* teal painéis escuros       */
    --brand-900: #063e48;   /* teal mais escuro           */

    /* Tokens de superfície do casco — TEMA CLARO (padrão) */
    --sm-bg: #eef5f6;
    --sm-surface: #ffffff;
    --sm-surface-2: #f5fafb;
    --sm-text: #1c2b30;
    --sm-text-soft: #566268;
    --sm-border: #dbe7ea;
    --sm-navbar-bg: #ffffff;
    --sm-navbar-border: #e2e8f0;
    --sm-navbar-text: #1c2b30;
    --sm-shadow: 0 10px 30px rgba(6, 62, 72, .10);
    --sm-accent: var(--brand-600);
    --sm-accent-contrast: #ffffff;
}

/* ----- TEMA ESCURO ----- */
html[data-theme="dark"] {
    --sm-bg: #0b1f24;
    --sm-surface: #12313a;
    --sm-surface-2: #0f2a31;
    --sm-text: #e6f2f4;
    --sm-text-soft: #9fb9bf;
    --sm-border: #1d4650;
    --sm-navbar-bg: #0b2a31;
    --sm-navbar-border: #123a44;
    --sm-navbar-text: #e6f2f4;
    --sm-shadow: 0 10px 30px rgba(0, 0, 0, .35);
    --sm-accent: var(--brand-300);
}

/* ============================================================
   1) Remapeia os tokens do design system (pga-modern) para teal
   Inclui .pm-theme-default: body do Helpdesk redefine --pm-* e
   ganha de :root; precisa do mesmo remap do casco.
   ============================================================ */
:root,
.pm-theme-default {
    --pm-primary: #0f9cb3;
    --pm-primary-light: #12afc8;
    --pm-primary-dark: #0b7f92;
    --pm-secondary: #12afc8;
    --pm-info: #12afc8;
    --pm-gradient-primary: linear-gradient(135deg, var(--brand-600) 0%, var(--brand-800) 100%);

    /* Altura de controles no banner (inputs, selects, botões Voltar/CTA) */
    --pm-header-control-h: 38px;

    /* Sidebar institucional — FONTE ÚNICA do ecossistema.
       Degradê linear + glows (azul topo-direita, vermelho sutil base-esquerda),
       compostos em --pm-sidebar-bg. Consumido pelo casco (regra universal
       abaixo, seção 4.5) e pelos CSS de layout dos sistemas. */
    --pm-sidebar-gradient: linear-gradient(160deg, #063e48 0%, #085f6d 48%, #0b7f92 100%);
    --pm-sidebar-glow-blue: radial-gradient(135% 55% at 82% -8%, rgba(47, 111, 214, 0.38) 0%, transparent 60%);
    --pm-sidebar-glow-red: radial-gradient(130% 45% at 0% 112%, rgba(226, 35, 26, 0.16) 0%, transparent 55%);
    --pm-sidebar-bg:
        var(--pm-sidebar-glow-blue),
        var(--pm-sidebar-glow-red),
        var(--pm-sidebar-gradient);
    --pm-sidebar-flyout-bg: #08525f;
    /* Item ativo do menu (semed-chrome.css / layouts locais) */
    --pm-sidebar-active-gradient: linear-gradient(135deg, var(--brand-500, #12afc8) 0%, var(--brand-700, #0b7f92) 100%);
    --pm-sidebar-active-shadow: 0 2px 8px rgba(15, 156, 179, 0.28);
    --pm-sidebar-tree-active: rgba(18, 175, 200, 0.28);
}

html[data-theme="dark"],
html[data-theme="dark"] .pm-theme-default {
    --pm-gradient-primary: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 65%, var(--brand-700) 100%);
    --pm-shadow-primary: 0 4px 20px rgba(0, 0, 0, 0.35);

    /* Sidebar mais profunda no escuro (paridade Portal). Precisa estar
       também em .pm-theme-default: o body dos sistemas AdminLTE 2 aplica
       a classe e senão o degradê claro do :root/.pm-theme-default ganha. */
    --pm-sidebar-gradient: linear-gradient(160deg, #041f24 0%, #063e48 55%, #07515e 100%);
    --pm-sidebar-glow-blue: radial-gradient(135% 55% at 82% -8%, rgba(47, 111, 214, 0.22) 0%, transparent 60%);
    --pm-sidebar-glow-red: radial-gradient(130% 45% at 0% 112%, rgba(226, 35, 26, 0.10) 0%, transparent 55%);
    --pm-sidebar-bg:
        var(--pm-sidebar-glow-blue),
        var(--pm-sidebar-glow-red),
        var(--pm-sidebar-gradient);
    --pm-sidebar-flyout-bg: #063e48;

    /* Remap de tokens neutros do pga-modern p/ superfícies dark.
       NÃO remapear --pm-white: também é usado como cor de TEXTO
       sobre botões/badges com fundo colorido. */
    --pm-light: var(--sm-surface-2);
    --pm-border: var(--sm-border);
    --pm-dark: var(--sm-text);
    --pm-gray: var(--sm-text-soft);
    --pm-gray-light: var(--sm-text-soft);

    /* Mesmo remap para a variante vm-* (feed, noc_ips, query_bank) */
    --vm-light: var(--sm-surface-2);
    --vm-border: var(--sm-border);
    --vm-dark: var(--sm-text);
    --vm-gray: var(--sm-text-soft);
    --vm-gray-light: var(--sm-text-soft);
}

/* ============================================================
   1.1) Tints de status (chips/badges/flash) — pastel no light,
   translúcido legível no dark. Consumidos pelos CSS de módulo
   via var(--sm-tint-*, <fallback pastel>).
   ============================================================ */
:root {
    --sm-tint-success-bg: #ecfdf5;
    --sm-tint-success-border: #a7f3d0;
    --sm-tint-success-text: #047857;
    --sm-tint-danger-bg: #fef2f2;
    --sm-tint-danger-border: #fecaca;
    --sm-tint-danger-text: #b91c1c;
    --sm-tint-info-bg: #eff6ff;
    --sm-tint-info-border: #bfdbfe;
    --sm-tint-info-text: #1d4ed8;
    --sm-tint-warning-bg: #fffbeb;
    --sm-tint-warning-border: #fde68a;
    --sm-tint-warning-text: #b45309;
    --sm-tint-purple-bg: #ede9fe;
    --sm-tint-purple-border: #ddd6fe;
    --sm-tint-purple-text: #6d28d9;
}

html[data-theme="dark"] {
    --sm-tint-success-bg: rgba(16, 185, 129, 0.15);
    --sm-tint-success-border: rgba(16, 185, 129, 0.40);
    --sm-tint-success-text: #6ee7b7;
    --sm-tint-danger-bg: rgba(239, 68, 68, 0.15);
    --sm-tint-danger-border: rgba(239, 68, 68, 0.40);
    --sm-tint-danger-text: #fca5a5;
    --sm-tint-info-bg: rgba(59, 130, 246, 0.15);
    --sm-tint-info-border: rgba(59, 130, 246, 0.40);
    --sm-tint-info-text: #93c5fd;
    --sm-tint-warning-bg: rgba(245, 158, 11, 0.15);
    --sm-tint-warning-border: rgba(245, 158, 11, 0.40);
    --sm-tint-warning-text: #fcd34d;
    --sm-tint-purple-bg: rgba(139, 92, 246, 0.15);
    --sm-tint-purple-border: rgba(139, 92, 246, 0.40);
    --sm-tint-purple-text: #c4b5fd;
}

/* ============================================================
   2) Sidebar: item ativo em teal (sobrepõe azul hardcoded)
   ============================================================ */
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active:hover,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active:focus {
    background: linear-gradient(135deg, var(--brand-500) 0%, var(--brand-700) 100%) !important;
    color: #fff !important;
}

.sidebar-dark-primary .nav-sidebar .nav-treeview > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar .nav-treeview > .nav-item > .nav-link.active:hover,
.sidebar-dark-primary .nav-sidebar .nav-treeview > .nav-item > .nav-link.active:focus,
[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active,
[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active:hover,
[class*="sidebar-dark-"] .nav-treeview > .nav-item > .nav-link.active:focus {
    background: rgba(18, 175, 200, 0.28) !important;
    color: #fff !important;
}

/* ============================================================
   3) Casco (navbar + conteúdo + cards) reagindo ao tema
   ============================================================ */

/* Fundo geral da área de conteúdo */
html[data-theme] .content-wrapper {
    background-color: var(--sm-bg) !important;
    color: var(--sm-text);
}
html[data-theme] body { background-color: var(--sm-bg); }

/* Navbar superior — AdminLTE 3 (.main-header.navbar) e AdminLTE 2 (nav filho) */
html[data-theme] .main-header.navbar.pm-portal-navbar,
html[data-theme] .main-header.pm-portal-navbar > .navbar {
    background: var(--sm-navbar-bg) !important;
    border-bottom: 1px solid var(--sm-navbar-border) !important;
}
html[data-theme] .pm-portal-navbar .nav-link,
html[data-theme] .pm-portal-navbar .pm-navbar-username,
html[data-theme] .pm-portal-navbar .navbar-nav > .nav-item > .nav-link > i,
html[data-theme] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav,
html[data-theme] .pm-portal-navbar .sm-system-switcher-nav-icon {
    color: var(--sm-navbar-text) !important;
}

/* Light mode — ícones da navbar superior direita mais suaves (não preto cru) */
html[data-theme="light"] .pm-portal-navbar .navbar-nav > .nav-item:not(.pm-navbar-user-li) > .nav-link,
html[data-theme="light"] .pm-portal-navbar .navbar-nav > .nav-item:not(.pm-navbar-user-li) > .nav-link > i,
html[data-theme="light"] .pm-portal-navbar .pm-notif-trigger,
html[data-theme="light"] .pm-portal-navbar .pm-notif-icon,
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav,
html[data-theme="light"] .pm-portal-navbar .sm-system-switcher-nav-icon {
    color: var(--sm-text-soft, #64748b) !important;
}

html[data-theme="light"] .pm-portal-navbar .navbar-nav > .nav-item:not(.pm-navbar-user-li) > .nav-link:hover,
html[data-theme="light"] .pm-portal-navbar .navbar-nav > .nav-item:not(.pm-navbar-user-li) > .nav-link:hover > i,
html[data-theme="light"] .pm-portal-navbar .pm-notif-trigger:hover,
html[data-theme="light"] .pm-portal-navbar .pm-notif-trigger:hover .pm-notif-icon,
html[data-theme="light"] .pm-portal-navbar .pm-notif-li.show > .pm-notif-trigger,
html[data-theme="light"] .pm-portal-navbar .pm-notif-li.show > .pm-notif-trigger .pm-notif-icon,
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav:hover,
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav[aria-expanded="true"],
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav:hover .sm-system-switcher-nav-icon,
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav[aria-expanded="true"] .sm-system-switcher-nav-icon {
    color: var(--brand-700, #0b7f92) !important;
}

/* Notif e demais ícones: fundo suave no hover. Switcher: só cor (padrão Portal). */
html[data-theme="light"] .pm-portal-navbar .navbar-nav > .nav-item:not(.pm-navbar-user-li):not(.sm-system-switcher-nav-li) > .nav-link:hover,
html[data-theme="light"] .pm-portal-navbar .pm-notif-trigger:hover,
html[data-theme="light"] .pm-portal-navbar .pm-notif-li.show > .pm-notif-trigger {
    background: rgba(15, 156, 179, 0.08) !important;
}

html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav:hover,
html[data-theme="light"] .pm-portal-navbar .navbar-nav .nav-link.sm-system-switcher-trigger--nav[aria-expanded="true"] {
    background: transparent !important;
    box-shadow: none !important;
}

/* Contexto da navbar (setor, período) — legível em light e dark */
html[data-theme] .main-header.navbar .pm-ctx-item,
html[data-theme] .main-header.navbar .pm-ctx-primary,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-item,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-primary {
    color: var(--sm-navbar-text) !important;
}
html[data-theme] .main-header.navbar .pm-ctx-secondary,
html[data-theme] .main-header.navbar .pm-ctx-icon,
html[data-theme] .main-header.navbar .pm-ctx-sep,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-secondary,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-icon,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-sep {
    color: var(--sm-text-soft) !important;
}
html[data-theme] .main-header.navbar .pm-ctx-divider,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-divider {
    background: var(--sm-navbar-border) !important;
}
html[data-theme] .main-header.navbar .pm-ctx-item:hover .pm-ctx-primary,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-item:hover .pm-ctx-primary {
    color: var(--brand-700) !important;
}
html[data-theme] .main-header.navbar .pm-ctx-item:hover .pm-ctx-secondary,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-item:hover .pm-ctx-secondary {
    color: var(--brand-600) !important;
}
html[data-theme="dark"] .main-header.navbar .pm-ctx-item:hover .pm-ctx-primary,
html[data-theme="dark"] .main-header.navbar .pm-ctx-item:hover .pm-ctx-secondary,
html[data-theme="dark"] .main-header.pm-portal-navbar .pm-ctx-item:hover .pm-ctx-primary,
html[data-theme="dark"] .main-header.pm-portal-navbar .pm-ctx-item:hover .pm-ctx-secondary {
    color: var(--brand-300) !important;
}

/* Badge do sistema (ex.: Portal da Educação) — teal institucional */
html[data-theme] .main-header.navbar .pm-ctx-badge,
html[data-theme] .main-header.navbar .pm-ctx-badge.bg-primary,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-badge,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-badge.bg-primary {
    background: var(--pm-gradient-primary) !important;
    background-color: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .15);
    box-shadow: 0 1px 4px rgba(6, 62, 72, .22);
}
html[data-theme="dark"] .main-header.navbar .pm-ctx-badge,
html[data-theme="dark"] .main-header.navbar .pm-ctx-badge.bg-primary,
html[data-theme="dark"] .main-header.pm-portal-navbar .pm-ctx-badge,
html[data-theme="dark"] .main-header.pm-portal-navbar .pm-ctx-badge.bg-primary {
    border-color: rgba(255, 255, 255, .12);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}
html[data-theme] .main-header.navbar .pm-ctx-badge .pm-ctx-badge-icon,
html[data-theme] .main-header.pm-portal-navbar .pm-ctx-badge .pm-ctx-badge-icon {
    color: rgba(255, 255, 255, .92) !important;
}

/* Rodapé — fundo do tema: o `.wrapper` pinta a base escura da sidebar em toda
   a sua área, então rodapé transparente vazaria o teal no tema claro. */
html[data-theme] .main-footer.pm-portal-footer {
    background: var(--sm-bg) !important;
    border-top: 1px solid var(--sm-navbar-border) !important;
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .main-footer.pm-portal-footer,
html[data-theme="dark"] .main-footer.pm-portal-footer p,
html[data-theme="dark"] .main-footer.pm-portal-footer span,
html[data-theme="dark"] .main-footer.pm-portal-footer b,
html[data-theme="dark"] .main-footer.pm-portal-footer strong,
html[data-theme="dark"] .main-footer.pm-portal-footer a {
    color: var(--sm-text-soft, #9fb9bf) !important;
}
html[data-theme="dark"] .main-footer.pm-portal-footer a:hover {
    color: var(--brand-300, #40c8db) !important;
}

/* Cards / superfícies principais — estrutura canônica do casco */
html[data-theme] .pm-card,
html[data-theme] .pm-table-card,
html[data-theme] .card,
html[data-theme] .info-box,
html[data-theme] .small-box {
    background-color: var(--sm-surface) !important;
    color: var(--sm-text);
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow);
}

/* .pm-table-card — box de listagem (paridade pga-modern, todos os sistemas) */
html[data-theme] .pm-table-card,
html[data-theme] .box.pm-table-card {
    border-radius: var(--pm-radius-lg, 12px) !important;
    border: 1px solid var(--sm-border, #dbe7ea) !important;
    box-shadow: var(--pm-shadow-sm, 0 1px 4px rgba(15, 23, 42, 0.07)) !important;
    overflow: hidden;
    margin-bottom: var(--pm-space-lg, 1.25rem);
    background-clip: padding-box;
}

/* Remove “faixa” colorida do AdminLTE (.box-primary / .box-success etc.) */
html[data-theme] .box.pm-table-card > .box-header,
html[data-theme] .box.pm-table-card.box-primary > .box-header,
html[data-theme] .box.pm-table-card.box-success > .box-header,
html[data-theme] .box.pm-table-card.box-info > .box-header,
html[data-theme] .box.pm-table-card.box-warning > .box-header,
html[data-theme] .box.pm-table-card.box-danger > .box-header {
    color: inherit;
}

html[data-theme] .box.pm-table-card.box-primary,
html[data-theme] .box.pm-table-card.box-success,
html[data-theme] .box.pm-table-card.box-info,
html[data-theme] .box.pm-table-card.box-warning,
html[data-theme] .box.pm-table-card.box-danger {
    border-top: 1px solid var(--sm-border, #dbe7ea) !important;
}

html[data-theme] .pm-table-card > .box-header,
html[data-theme] .pm-table-card > .panel-heading,
html[data-theme] .pm-table-card .pm-table-card-header,
html[data-theme] .pm-table-card > .pm-cu-list-toolbar,
html[data-theme] .pm-table-card > .pm-lic-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    min-height: 52px;
    padding: 14px 18px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--sm-border, #dbe7ea) !important;
    border-radius: 0 !important;
    background: var(--pm-light, var(--sm-surface-2, #f5fafb)) !important;
    color: var(--sm-text, #1c2b30) !important;
}

html[data-theme] .pm-table-card > .box-header::before,
html[data-theme] .pm-table-card > .box-header::after,
html[data-theme] .pm-table-card > .panel-heading::before,
html[data-theme] .pm-table-card > .panel-heading::after {
    display: none !important;
    content: none !important;
}

html[data-theme] .pm-table-card > .box-header .box-title,
html[data-theme] .pm-table-card > .box-header h3,
html[data-theme] .pm-table-card > .panel-heading .panel-title,
html[data-theme] .pm-table-card > .panel-heading h3,
html[data-theme] .pm-table-card .pm-table-card-title,
html[data-theme] .pm-table-card .pm-cu-list-toolbar-title,
html[data-theme] .pm-table-card .pm-lic-list-toolbar-title {
    float: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    text-transform: none !important;
    line-height: 1.35;
    color: var(--sm-text, #1c2b30) !important;
}

html[data-theme] .pm-table-card > .box-header .box-title .fa,
html[data-theme] .pm-table-card .pm-table-card-title .fa,
html[data-theme] .pm-table-card .pm-cu-list-toolbar-title .fa,
html[data-theme] .pm-table-card .pm-cu-list-toolbar-title i,
html[data-theme] .pm-table-card .pm-lic-list-toolbar-title .fa,
html[data-theme] .pm-table-card .pm-lic-list-toolbar-title i {
    color: var(--brand-600, #0f9cb3);
    font-size: 14px;
}

html[data-theme] .pm-table-card > .box-body,
html[data-theme] .pm-table-card .pm-table-card-body {
    padding: 0 !important;
    background: transparent !important;
    border-top: none !important;
}

html[data-theme] .pm-table-card > .box-footer,
html[data-theme] .pm-table-card .pm-table-card-footer {
    padding: 12px 18px !important;
    border-top: 1px solid var(--sm-border, #dbe7ea) !important;
    background: var(--pm-light, var(--sm-surface-2, #f5fafb)) !important;
    border-radius: 0 !important;
}

html[data-theme] .pm-table-card .table {
    margin-bottom: 0 !important;
    background: transparent !important;
}

html[data-theme] .pm-table-card .table > thead > tr > th {
    background: var(--sm-surface-2, #f5fafb) !important;
    color: var(--sm-text-soft, #566268) !important;
    border-bottom: 2px solid var(--sm-border, #dbe7ea) !important;
    border-top: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 12px 16px !important;
    vertical-align: middle !important;
    white-space: nowrap;
}

html[data-theme] .pm-table-card .table > tbody > tr > td {
    padding: 14px 16px !important;
    vertical-align: middle !important;
    border-color: var(--sm-border, #dbe7ea) !important;
    color: var(--sm-text, #1c2b30);
}

html[data-theme] .pm-table-card .table > tbody > tr:hover > td {
    background: var(--sm-surface-2, #f5fafb) !important;
}

html[data-theme] .pm-table-card .table-responsive {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: none;
}

/* Cabeçalho sticky em listas com scroll interno */
html[data-theme] .pm-table-card .table-responsive > .table > thead > tr > th,
html[data-theme] .pm-table-card .pm-lic-list-table-wrap > .table > thead > tr > th,
html[data-theme] .pm-table-card .pm-cu-list-table-wrap > .table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 2;
}

/* Banner de página — gradiente teal (não tratar como card neutro) */
html[data-theme] .pm-header {
    background: var(--pm-gradient-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: var(--pm-shadow-primary, 0 4px 20px rgba(6, 62, 72, .18)) !important;
}
html[data-theme] .pm-header h1,
html[data-theme] .pm-header h2,
html[data-theme] .pm-header h3,
html[data-theme] .pm-header p {
    color: #fff !important;
}
html[data-theme] .pm-header .btn-light {
    color: var(--brand-700) !important;
}

/* Botões padronizados nos banners de página (Voltar / ação primária) */
html[data-theme] .pm-header .btn-outline-light,
html[data-theme] .vm-header .btn-outline-light,
html[data-theme] .mo-header .btn-outline-light,
html[data-theme] .ss-header .btn-outline-light,
html[data-theme] .sc-header .btn-outline-light,
html[data-theme] .si-header .btn-outline-light,
html[data-theme] .moc-header .btn-outline-light,
html[data-theme] .mydata-profile-header .btn-outline-light {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    font-size: 14px !important; /* px fixo: BS3 (PGA/Helpdesk) tem html{font-size:10px}, rem encolheria */
    min-height: var(--pm-header-control-h, 38px) !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

html[data-theme] .pm-header .btn-outline-light:hover,
html[data-theme] .vm-header .btn-outline-light:hover,
html[data-theme] .mo-header .btn-outline-light:hover,
html[data-theme] .ss-header .btn-outline-light:hover,
html[data-theme] .sc-header .btn-outline-light:hover,
html[data-theme] .si-header .btn-outline-light:hover,
html[data-theme] .moc-header .btn-outline-light:hover,
html[data-theme] .mydata-profile-header .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    color: #fff !important;
    text-decoration: none !important;
}

html[data-theme] .pm-header .btn-light,
html[data-theme] .vm-header .btn-light,
html[data-theme] .mo-header .btn-light,
html[data-theme] .ss-header .btn-light,
html[data-theme] .sc-header .btn-light,
html[data-theme] .si-header .btn-light,
html[data-theme] .moc-header .btn-light,
html[data-theme] .mydata-profile-header .btn-light {
    background: #fff !important;
    color: var(--brand-700) !important;
    border: none !important;
    font-weight: 600 !important;
    font-size: 14px !important; /* px fixo: BS3 (PGA/Helpdesk) tem html{font-size:10px}, rem encolheria */
    min-height: var(--pm-header-control-h, 38px) !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

html[data-theme] .pm-header .btn-light:hover,
html[data-theme] .vm-header .btn-light:hover,
html[data-theme] .mo-header .btn-light:hover,
html[data-theme] .ss-header .btn-light:hover,
html[data-theme] .sc-header .btn-light:hover,
html[data-theme] .si-header .btn-light:hover,
html[data-theme] .moc-header .btn-light:hover,
html[data-theme] .mydata-profile-header .btn-light:hover {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--brand-800) !important;
    text-decoration: none !important;
}

html[data-theme] .pm-header .btn-light:disabled,
html[data-theme] .vm-header .btn-light:disabled,
html[data-theme] .si-header .btn-light:disabled,
html[data-theme] .moc-header .btn-light:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Headers legados (si/mo/sc/ss) e pm-header — paridade feed light/dark */
html[data-theme] .si-header,
html[data-theme] .mo-header,
html[data-theme] .sc-header,
html[data-theme] .ss-header {
    background: var(--pm-gradient-primary) !important;
    color: #fff !important;
    box-shadow: var(--pm-shadow-primary, 0 4px 20px rgba(6, 62, 72, .18)) !important;
    border: none !important;
}

html[data-theme="dark"] .pm-header:not(.success):not(.info):not(.warning):not(.danger):not(.dark),
html[data-theme="dark"] .si-header,
html[data-theme="dark"] .mo-header,
html[data-theme="dark"] .sc-header,
html[data-theme="dark"] .ss-header {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 65%, var(--brand-700) 100%) !important;
    box-shadow: var(--sm-shadow) !important;
    border: 1px solid var(--sm-border) !important;
}

/* Ícone em caixa sobre o banner (não usar azul navy legado) */
html[data-theme] .mo-header-info > div:first-child,
html[data-theme] .ss-header-icon,
html[data-theme] .sc-header-icon,
html[data-theme] .moc-header-icon {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .mo-header-info > div:first-child,
html[data-theme="dark"] .ss-header-icon,
html[data-theme="dark"] .sc-header-icon,
html[data-theme="dark"] .moc-header-icon {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

/* --- Requerimento de Matrícula (reportSolicitationMO / mo-*) --- */
html[data-theme="dark"] .mo-result-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .mo-result-header {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mo-result-header-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mo-result-header-title i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .mo-result-header-title span {
    background: var(--sm-surface) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .mo-result-card .table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mo-result-card .table tbody td {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mo-result-card .table-striped tbody tr:nth-of-type(odd) {
    background: rgba(255, 255, 255, .03) !important;
}

html[data-theme="dark"] .mo-result-card .table-striped tbody tr:hover {
    background: rgba(18, 175, 200, .08) !important;
}

html[data-theme="dark"] .mo-info-cell strong {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mo-info-cell small {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .mo-info-code {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .mo-badge-warning {
    background: rgba(245, 158, 11, .18) !important;
    color: #fbbf24 !important;
}

html[data-theme="dark"] .mo-badge-info {
    background: rgba(59, 130, 246, .18) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .mo-badge-success {
    background: rgba(16, 185, 129, .18) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .mo-badge-danger {
    background: rgba(239, 68, 68, .18) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .mo-badge-primary {
    background: rgba(99, 102, 241, .18) !important;
    color: #a5b4fc !important;
}

html[data-theme="dark"] .mo-badge-default {
    background: rgba(255, 255, 255, .06) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .mo-empty-alert {
    background: rgba(245, 158, 11, .12) !important;
    border-color: rgba(245, 158, 11, .35) !important;
    color: #fbbf24 !important;
}

html[data-theme="dark"] .mo-empty-alert i {
    color: #f59e0b !important;
}

html[data-theme="dark"] .mo-result-card .dataTables_wrapper,
html[data-theme="dark"] .mo-result-card .dataTables_info,
html[data-theme="dark"] .mo-result-card .dataTables_length label,
html[data-theme="dark"] .mo-result-card .dataTables_filter label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .mo-result-card .dataTables_filter input,
html[data-theme="dark"] .mo-result-card .dataTables_length select {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme] .moc-solicitation-search-btn {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    box-shadow: none !important;
}

html[data-theme] .moc-solicitation-search-btn:hover,
html[data-theme] .moc-solicitation-search-btn:focus {
    background: rgba(255, 255, 255, 0.28) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .moc-solicitation-search-field .moc-solicitation-input.form-control {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .moc-solicitation-search-field .moc-solicitation-input.form-control:focus {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Textos e bordas no escuro (apenas dark, para não mexer no claro atual) */
html[data-theme="dark"] .content-wrapper,
html[data-theme="dark"] .content-wrapper p,
html[data-theme="dark"] .content-wrapper span,
html[data-theme="dark"] .content-wrapper td,
html[data-theme="dark"] .content-wrapper th,
html[data-theme="dark"] .content-wrapper label,
html[data-theme="dark"] .content-wrapper h1,
html[data-theme="dark"] .content-wrapper h2,
html[data-theme="dark"] .content-wrapper h3,
html[data-theme="dark"] .content-wrapper h4,
html[data-theme="dark"] .content-wrapper h5 {
    color: var(--sm-text);
}

/*
 * Ícones de ajuda/info (tooltip) — no light usam navy (#1a3a5c / #3c8dbc)
 * e somem no dark. Força contraste institucional em todos os sistemas.
 * Não mexe em .btn (ícone herda a cor do botão).
 */
html[data-theme="dark"] .iconInfo,
html[data-theme="dark"] i.iconInfo,
html[data-theme="dark"] .tooltip-container .iconInfo,
html[data-theme="dark"] .tooltip-container .ph-info,
html[data-theme="dark"] .tooltip-container .fa-info-circle,
html[data-theme="dark"] .alert-icon-tooltip .ph-info,
html[data-theme="dark"] .alert-icon-tooltip .fa-info-circle,
html[data-theme="dark"] label > .ph-info,
html[data-theme="dark"] label > .ph-fill.ph-info,
html[data-theme="dark"] label > .fa-info-circle,
html[data-theme="dark"] label > .fas.fa-info-circle,
html[data-theme="dark"] label .iconInfo,
html[data-theme="dark"] .control-label > .fa-info-circle,
html[data-theme="dark"] .control-label > .fas.fa-info-circle,
html[data-theme="dark"] .form-group > label .ph-info,
html[data-theme="dark"] .form-group > label .fa-info-circle,
html[data-theme="dark"] .form-group > label .fas.fa-info-circle,
html[data-theme="dark"] i.fa-info-circle[data-toggle="tooltip"],
html[data-theme="dark"] i.fas.fa-info-circle[data-toggle="tooltip"],
html[data-theme="dark"] i.fa.fa-info-circle[data-toggle="tooltip"],
html[data-theme="dark"] i.ph-info[data-toggle="tooltip"],
html[data-theme="dark"] i.ph-fill.ph-info[data-toggle="tooltip"],
html[data-theme="dark"] .text-muted > .fa-info-circle,
html[data-theme="dark"] .text-muted > .fas.fa-info-circle,
html[data-theme="dark"] .text-muted > .ph-info,
html[data-theme="dark"] .help-block .fa-info-circle,
html[data-theme="dark"] .help-block .ph-info,
html[data-theme="dark"] .ombudsman-tipo-info,
html[data-theme="dark"] .so-list-filter-hint .fa-info-circle,
html[data-theme="dark"] .pm-atend-suggestions__hint .fa-info-circle {
    color: var(--brand-300, #5ec8d8) !important;
    opacity: 1 !important;
}

/* Phosphor/FA usam currentColor no ::before */
html[data-theme="dark"] .iconInfo::before,
html[data-theme="dark"] i.iconInfo::before,
html[data-theme="dark"] .tooltip-container .ph-info::before,
html[data-theme="dark"] label > .ph-info::before,
html[data-theme="dark"] label > .ph-fill.ph-info::before,
html[data-theme="dark"] label .iconInfo::before {
    color: inherit !important;
}

html[data-theme="dark"] .table,
html[data-theme="dark"] .table td,
html[data-theme="dark"] .table th {
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .table thead th { background: var(--sm-surface-2) !important; }
html[data-theme="dark"] .table-hover tbody tr:hover { background: rgba(18, 175, 200, .08) !important; }

html[data-theme="dark"] .form-control,
html[data-theme="dark"] .custom-select,
html[data-theme="dark"] .form-control-sm {
    background-color: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .form-control::placeholder { color: var(--sm-text-soft) !important; }
html[data-theme="dark"] .form-control:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

/* Autofill do navegador — cobre o fundo amarelo/branco padrão */
html[data-theme="dark"] input.form-control:-webkit-autofill,
html[data-theme="dark"] input.form-control:-webkit-autofill:hover,
html[data-theme="dark"] input.form-control:-webkit-autofill:focus,
html[data-theme="dark"] input.form-control:-webkit-autofill:active,
html[data-theme="dark"] textarea.form-control:-webkit-autofill,
html[data-theme="dark"] textarea.form-control:-webkit-autofill:hover,
html[data-theme="dark"] textarea.form-control:-webkit-autofill:focus,
html[data-theme="dark"] textarea.form-control:-webkit-autofill:active,
html[data-theme="dark"] select.form-control:-webkit-autofill,
html[data-theme="dark"] select.form-control:-webkit-autofill:hover,
html[data-theme="dark"] select.form-control:-webkit-autofill:focus,
html[data-theme="dark"] select.form-control:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    -webkit-text-fill-color: var(--sm-text) !important;
    caret-color: var(--sm-text);
    border-color: var(--sm-border) !important;
    transition: background-color 99999s ease-in-out 0s;
}

/* Login — neutraliza autopreenchimento do navegador (light + dark) */
.login-field input:-webkit-autofill,
.login-field input:-webkit-autofill:hover,
.login-field input:-webkit-autofill:focus,
.login-field input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--sm-surface, #fff) inset !important;
    box-shadow: 0 0 0 1000px var(--sm-surface, #fff) inset !important;
    -webkit-text-fill-color: var(--sm-text, #1c2b30) !important;
    caret-color: var(--sm-text, #1c2b30);
    border-radius: 0 8px 8px 0;
    transition: background-color 99999s ease-in-out 0s;
}

.login-page .form-control:-webkit-autofill,
.login-page .form-control:-webkit-autofill:hover,
.login-page .form-control:-webkit-autofill:focus,
.login-page .form-control:-webkit-autofill:active,
.login-card .form-control:-webkit-autofill,
.login-card .form-control:-webkit-autofill:hover,
.login-card .form-control:-webkit-autofill:focus,
.login-card .form-control:-webkit-autofill:active,
.sm-login-modal__field .form-control:-webkit-autofill,
.sm-login-modal__field .form-control:-webkit-autofill:hover,
.sm-login-modal__field .form-control:-webkit-autofill:focus,
.sm-login-modal__field .form-control:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--sm-surface, #fff) inset !important;
    box-shadow: 0 0 0 1000px var(--sm-surface, #fff) inset !important;
    -webkit-text-fill-color: var(--sm-text, #1c2b30) !important;
    caret-color: var(--sm-text, #1c2b30);
    border-radius: 10px;
    transition: background-color 99999s ease-in-out 0s;
}

html[data-theme="dark"] .login-field input:-webkit-autofill,
html[data-theme="dark"] .login-field input:-webkit-autofill:hover,
html[data-theme="dark"] .login-field input:-webkit-autofill:focus,
html[data-theme="dark"] .login-field input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    -webkit-text-fill-color: var(--sm-text) !important;
    caret-color: var(--sm-text);
    border-radius: 0 8px 8px 0;
}

html[data-theme="dark"] .login-page .form-control:-webkit-autofill,
html[data-theme="dark"] .login-page .form-control:-webkit-autofill:hover,
html[data-theme="dark"] .login-page .form-control:-webkit-autofill:focus,
html[data-theme="dark"] .login-page .form-control:-webkit-autofill:active,
html[data-theme="dark"] .login-card .form-control:-webkit-autofill,
html[data-theme="dark"] .login-card .form-control:-webkit-autofill:hover,
html[data-theme="dark"] .login-card .form-control:-webkit-autofill:focus,
html[data-theme="dark"] .login-card .form-control:-webkit-autofill:active,
html[data-theme="dark"] .sm-login-modal__field .form-control:-webkit-autofill,
html[data-theme="dark"] .sm-login-modal__field .form-control:-webkit-autofill:hover,
html[data-theme="dark"] .sm-login-modal__field .form-control:-webkit-autofill:focus,
html[data-theme="dark"] .sm-login-modal__field .form-control:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    box-shadow: 0 0 0 1000px var(--sm-surface-2) inset !important;
    -webkit-text-fill-color: var(--sm-text) !important;
    caret-color: var(--sm-text);
    border-radius: 10px;
}

html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .dropdown-menu {
    background-color: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .dropdown-item { color: var(--sm-text) !important; }
html[data-theme="dark"] .dropdown-item:hover { background: var(--sm-surface-2) !important; }
html[data-theme="dark"] .modal-header,
html[data-theme="dark"] .modal-footer { border-color: var(--sm-border) !important; }
html[data-theme="dark"] .close { color: var(--sm-text) !important; text-shadow: none; }

/* Botões primários seguem o teal em ambos os temas */
html[data-theme] .btn-primary,
html[data-theme] .btn-pm-primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    border-color: var(--brand-700) !important;
    color: #fff !important;
}
html[data-theme] .btn-primary:hover,
html[data-theme] .btn-pm-primary:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
}
html[data-theme] .btn-info { background: var(--brand-500) !important; border-color: var(--brand-600) !important; }

/* ============================================================
   Botão «Novo» / CTA AVA (.pm-btn-create) — substitui verde legado
   ============================================================ */

/* Base: CTA teal (empty states, barras de abas, corpo da página) */
html[data-theme] .pm-btn-create,
html[data-theme] a.pm-btn-create,
html[data-theme] button.pm-btn-create {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 18px !important;
    min-height: var(--pm-header-control-h, 38px) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: 0 4px 12px rgba(8, 95, 109, .22) !important;
    transition: transform .15s, box-shadow .15s, background .15s !important;
    box-sizing: border-box !important;
}

html[data-theme] .pm-btn-create i,
html[data-theme] a.pm-btn-create i,
html[data-theme] button.pm-btn-create i {
    font-size: 14px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

html[data-theme] .pm-btn-create:hover,
html[data-theme] a.pm-btn-create:hover,
html[data-theme] button.pm-btn-create:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(8, 95, 109, .28) !important;
    text-decoration: none !important;
}

html[data-theme] .pm-btn-create:focus,
html[data-theme] .pm-btn-create:active,
html[data-theme] a.pm-btn-create:focus,
html[data-theme] a.pm-btn-create:active,
html[data-theme] button.pm-btn-create:focus,
html[data-theme] button.pm-btn-create:active {
    outline: none !important;
    color: #fff !important;
}

/* No banner pm-header: padrão btn-light (CTA branco sobre teal) */
html[data-theme] .pm-header .header-actions .pm-btn-create,
html[data-theme] .pm-header .pm-btn-create {
    background: #fff !important;
    color: var(--brand-700) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
}

html[data-theme] .pm-header .header-actions .pm-btn-create:hover,
html[data-theme] .pm-header .pm-btn-create:hover {
    background: rgba(255, 255, 255, .92) !important;
    color: var(--brand-800) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15) !important;
}

html[data-theme] .pm-header .header-actions .pm-btn-create:focus,
html[data-theme] .pm-header .header-actions .pm-btn-create:active,
html[data-theme] .pm-header .pm-btn-create:focus,
html[data-theme] .pm-header .pm-btn-create:active {
    color: var(--brand-800) !important;
}

/* Dark: ícone/texto teal no CTA branco (content-wrapper força --sm-text claro) */
html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create,
html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create i,
html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create span {
    color: var(--brand-700, #0b7f92) !important;
}

html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create:hover,
html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create:hover i,
html[data-theme="dark"] .content-wrapper .pm-header .pm-btn-create:hover span {
    color: var(--brand-800, #085f6d) !important;
}

/* Empty state: ícone alinhado (tema força display:block em .pm-empty i) */
html[data-theme] .pm-empty .pm-btn-create,
html[data-theme] .tx-empty .pm-btn-create {
    margin-top: 14px !important;
}

html[data-theme] .pm-empty .pm-btn-create i,
html[data-theme] .tx-empty .pm-btn-create i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    font-size: 15px !important;
}

/* Dashboard: «Novo curso» no toolbar */
html[data-theme] .da-action-btn--primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(8, 95, 109, .22) !important;
}

html[data-theme] .da-action-btn--primary:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
    color: #fff !important;
}

/* Turmas: botão primário legado navy */
html[data-theme] .tm-btn-primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(8, 95, 109, .22) !important;
}

html[data-theme] .tm-btn-primary:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
    color: #fff !important;
}

/* Links com acento teal — exceto botões/cards que têm estilo próprio */
html[data-theme] a:not(.feed-toolbar-btn):not(.feed-qa-card):not(.feed-sidebar-ext-card):not(.pga-sys-card):not(.btn):not(.pe-btn):not(.pe-nav-login):not(.pe-card-link):not(.pe-mini-link):not(.pe-hero-login):not(.cal-nav-btn):not(.lac-btn):not(.att-mini-btn):not(.gw-user-dd-item):not(.nav-link):not(.dropdown-item):not(.pm-navbar-user-trigger):not(.btn-empty-action):not(.btn-header-action):not(.si-card-btn-action):not(.psa-btn):not(.pm-btn-create):not(.ava-face-notice__cta) {
    color: var(--sm-accent);
}

/* ============================================================
   4b) Feed toolbar — padrão unificado (light + dark)
   ============================================================ */
.feed-page-content .feed-toolbar-btn-icon,
.feed-page-content .feed-search-btn {
    background: var(--surface, #f1f7f8) !important;
    color: var(--brand-700) !important;
    border: 1px solid var(--line, #dbe7ea) !important;
}
.feed-page-content .feed-toolbar-btn-icon i,
.feed-page-content .feed-search-btn i {
    color: inherit !important;
}
.feed-page-content .feed-toolbar-btn-icon:hover,
.feed-page-content .feed-search-btn:hover {
    background: #e3f4f7 !important;
    color: var(--brand-800) !important;
    border-color: var(--brand-500) !important;
    text-decoration: none !important;
}
.feed-page-content .feed-toolbar-btn-primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border-color: transparent !important;
}
.feed-page-content .feed-toolbar-btn-primary:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(15, 156, 179, .35) !important;
}
.feed-page-content .feed-search-wrapper.open .feed-search-btn {
    background: var(--brand-700) !important;
    color: #fff !important;
    border-color: var(--brand-700) !important;
}

/* ============================================================
   4) Switch de tema (light/dark) na navbar
   ============================================================ */
/* O <li> ocupa a altura da navbar e centraliza o switch verticalmente,
   alinhando-o aos demais ícones (sino, calendário, avatar). */
li.nav-item.sm-theme-toggle {
    display: flex !important;
    align-items: center !important;
    height: var(--pm-portal-header-h, 50px);
    padding: 0 10px;
}

.sm-theme-switch {
    position: relative;
    flex: 0 0 auto;
    align-self: center;
    display: block;
    width: 52px;
    height: 26px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    background: linear-gradient(135deg, var(--brand-500), var(--brand-700));
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .25);
    transition: background .3s ease;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    overflow: hidden;
}

/* Sol e lua fixos nas extremidades, centralizados verticalmente */
.sm-theme-switch .sm-ico-sun,
.sm-theme-switch .sm-ico-moon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    line-height: 1;
    z-index: 1;
    pointer-events: none;
    margin: 0;
    padding: 0;
}
.sm-theme-switch .sm-ico-sun {
    left: 8px;
    color: #fff3cf;
}
.sm-theme-switch .sm-ico-moon {
    right: 8px;
    color: #e3f0ff;
}

/* Botão deslizante — centralizado verticalmente */
.sm-theme-switch::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
    transition: transform .3s cubic-bezier(.4, .1, .2, 1);
    z-index: 2;
    transform: translateY(-50%);
}

/* Estado escuro: knob à direita */
html[data-theme="dark"] .sm-theme-switch {
    background: linear-gradient(135deg, var(--brand-800), var(--brand-900));
}
html[data-theme="dark"] .sm-theme-switch::after {
    transform: translate(26px, -50%);
    background: #0b2a31;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .5);
}

.sm-theme-switch:focus-visible { box-shadow: 0 0 0 3px rgba(18, 175, 200, .5); }

/* ============================================================
   4.5) Sidebar institucional — fundo ÚNICO do ecossistema
   Aplica o degradê + glows (--pm-sidebar-bg) em todos os cascos:
   - AdminLTE 3 (Portal, SISCON): .main-sidebar.sidebar-dark-primary
   - AdminLTE 2 (PGA, Helpdesk, OneGate): .pm-theme-default .main-sidebar
   Não redefinir esse fundo nos CSS de sistema — ajuste os tokens
   --pm-sidebar-* aqui para mudar o visual de TODOS os sistemas.
   ============================================================ */
.main-sidebar.sidebar-dark-primary,
.pm-theme-default .main-sidebar,
.pm-theme-default .left-side {
    background: var(--pm-sidebar-bg, var(--pm-sidebar-gradient)) !important;
}

/* AdminLTE 3: brand-link transparente — o degradê flui contínuo atrás da logo */
.main-sidebar.sidebar-dark-primary .brand-link {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

/* AdminLTE 2: o logo do header fica SOBRE o topo da sidebar (top: 0) —
   transparente para o degradê fluir contínuo (paridade .brand-link do Portal) */
.pm-theme-default .main-header .logo,
html[data-theme] .pm-theme-default .main-header .logo {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.pm-theme-default .main-header .logo:hover,
html[data-theme] .pm-theme-default .main-header .logo:hover {
    background: rgba(255, 255, 255, 0.06) !important;
}

/* ============================================================
   5) Cobertura dark-mode: sidebar, home (dashboard) e feed
   ============================================================ */

/* --- Sidebar: garante texto claro sobre o fundo teal escuro --- */
html[data-theme="dark"] .main-sidebar,
html[data-theme="dark"] .main-sidebar .sidebar,
html[data-theme="dark"] .main-sidebar .sidebar-custom {
    color: rgba(255, 255, 255, .92);
}

html[data-theme="dark"] .main-sidebar .nav-sidebar > .nav-item > .nav-link,
html[data-theme="dark"] .main-sidebar .nav-sidebar > .nav-item > .nav-link p,
html[data-theme="dark"] .main-sidebar .nav-treeview > .nav-item > .nav-link,
html[data-theme="dark"] .main-sidebar .nav-treeview > .nav-item > .nav-link p,
html[data-theme="dark"] .main-sidebar .nav-treeview .nav-treeview > .nav-item > .nav-link,
html[data-theme="dark"] .main-sidebar .nav-treeview .nav-treeview > .nav-item > .nav-link p,
html[data-theme="dark"] .main-sidebar .brand-link,
html[data-theme="dark"] .main-sidebar .pm-brand-link,
html[data-theme="dark"] .main-sidebar .pm-brand-text,
html[data-theme="dark"] .main-sidebar .pm-user-panel-name,
html[data-theme="dark"] .main-sidebar .pm-user-panel-caret {
    color: rgba(255, 255, 255, .92) !important;
}

html[data-theme="dark"] .main-sidebar .pm-user-panel-meta {
    color: rgba(255, 255, 255, .55) !important;
}

html[data-theme="dark"] .main-sidebar .nav-sidebar .nav-link .nav-icon,
html[data-theme="dark"] .main-sidebar .nav-sidebar .nav-link .right,
html[data-theme="dark"] .main-sidebar .nav-sidebar .nav-link > i {
    color: rgba(255, 255, 255, .85) !important;
    opacity: 1 !important;
}

html[data-theme="dark"] .main-sidebar .nav-sidebar > .nav-item > .nav-link.active,
html[data-theme="dark"] .main-sidebar .nav-sidebar > .nav-item > .nav-link.active p,
html[data-theme="dark"] .main-sidebar .nav-treeview > .nav-item > .nav-link.active,
html[data-theme="dark"] .main-sidebar .nav-treeview > .nav-item > .nav-link.active p,
html[data-theme="dark"] .main-sidebar .nav-treeview > .nav-item > .nav-link.active .nav-icon {
    color: #fff !important;
}

html[data-theme="dark"] .main-sidebar .nav-header {
    color: rgba(255, 255, 255, .55) !important;
}

html[data-theme="dark"] .sidebar-mini.sidebar-collapse .main-sidebar .nav-treeview .nav-link,
html[data-theme="dark"] .sidebar-mini.sidebar-collapse .main-sidebar .nav-treeview .nav-link p,
html[data-theme="dark"] .sidebar-mini.sidebar-collapse .main-sidebar .nav-item:not(:has(> .nav-treeview)):hover > .nav-link > p {
    color: rgba(255, 255, 255, .88) !important;
}

/* --- Home (dashboard): títulos e cartões brancos --- */
html[data-theme="dark"] .dash-section-title { color: var(--sm-text) !important; }
html[data-theme="dark"] .content-wrapper .card-button,
html[data-theme="dark"] .content-wrapper .card-button-myData,
html[data-theme="dark"] .content-wrapper .card-content,
html[data-theme="dark"] .content-wrapper .info-box {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}
html[data-theme="dark"] .content-wrapper .card-button *,
html[data-theme="dark"] .content-wrapper .card-button-myData *,
html[data-theme="dark"] .content-wrapper .card-content * { color: var(--sm-text) !important; }
/* Cartões com cor própria (bg-users/courses/...) permanecem coloridos */
html[data-theme="dark"] .card-button-admin,
html[data-theme="dark"] .card-button-admin * { color: #fff !important; }

/* --- Feed: fundo, cartões, campos e textos --- */
html[data-theme="dark"] .feed-page-content,
html[data-theme="dark"] .feed-page-wrap,
html[data-theme="dark"] .feed-layout,
html[data-theme="dark"] .feed-main { background: transparent !important; }

html[data-theme="dark"] .feed-header,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .feed-sidebar-box,
html[data-theme="dark"] .feed-composer,
html[data-theme="dark"] .comment-form,
html[data-theme="dark"] .feed-page-content .comment-input-wrapper,
html[data-theme="dark"] .feed-page-content .comment-form .emoji-picker,
html[data-theme="dark"] .feed-search-input,
html[data-theme="dark"] .feed-toolbar-btn:not(.feed-toolbar-btn-primary) {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .feed-header,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .feed-sidebar-box { box-shadow: var(--sm-shadow) !important; }

html[data-theme="dark"] .feed-page-content,
html[data-theme="dark"] .feed-page-content p,
html[data-theme="dark"] .feed-page-content span,
html[data-theme="dark"] .feed-page-content li,
html[data-theme="dark"] .feed-page-content h1,
html[data-theme="dark"] .feed-page-content h2,
html[data-theme="dark"] .feed-page-content h3,
html[data-theme="dark"] .feed-page-content h4,
html[data-theme="dark"] .feed-page-content strong,
html[data-theme="dark"] .feed-title,
html[data-theme="dark"] .post-card .author-details h6,
html[data-theme="dark"] .post-card .post-text { color: var(--sm-text) !important; }
html[data-theme="dark"] .feed-search-input::placeholder,
html[data-theme="dark"] .comment-input-wrapper *::placeholder { color: var(--sm-text-soft) !important; }

/* --- Header principal da página (banner do usuário) --- */
html[data-theme="dark"] .pm-header.pga-idx-header,
html[data-theme="dark"] .feed-page-content .pga-idx-header {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 65%, var(--brand-700) 100%) !important;
    box-shadow: var(--sm-shadow) !important;
    border: 1px solid var(--sm-border) !important;
}
html[data-theme="dark"] .pga-home-chip,
html[data-theme="dark"] .pm-header .btn-outline-light,
html[data-theme="dark"] .mo-header .btn-outline-light,
html[data-theme="dark"] .ss-header .btn-outline-light,
html[data-theme="dark"] .sc-header .btn-outline-light,
html[data-theme="dark"] .si-header .btn-outline-light,
html[data-theme="dark"] .moc-header .btn-outline-light,
html[data-theme="dark"] .mydata-profile-header .btn-outline-light {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    color: rgba(255, 255, 255, .92) !important;
}

html[data-theme="dark"] .pm-header .btn-outline-light:hover,
html[data-theme="dark"] .mo-header .btn-outline-light:hover,
html[data-theme="dark"] .ss-header .btn-outline-light:hover,
html[data-theme="dark"] .sc-header .btn-outline-light:hover,
html[data-theme="dark"] .si-header .btn-outline-light:hover,
html[data-theme="dark"] .moc-header .btn-outline-light:hover,
html[data-theme="dark"] .mydata-profile-header .btn-outline-light:hover {
    background: rgba(255, 255, 255, .14) !important;
    border-color: rgba(255, 255, 255, .35) !important;
    color: #fff !important;
}

/* --- Sidebar do feed: Minha Área / Cursos / Serviços (grid de atalhos) --- */
html[data-theme="dark"] .feed-page-content .feed-sidebar-title,
html[data-theme="dark"] .feed-page-content .sidebar-section { border-color: var(--sm-border) !important; }
html[data-theme="dark"] .feed-page-content .feed-sidebar-title { color: var(--sm-text-soft) !important; }

html[data-theme="dark"] .feed-page-content .feed-qa-card {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .feed-page-content .feed-qa-card:hover {
    background: var(--sm-surface) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
    box-shadow: var(--sm-shadow) !important;
}
html[data-theme="dark"] .feed-page-content .feed-qa-label { color: var(--sm-text) !important; }
html[data-theme="dark"] .feed-page-content .feed-qa-desc { color: var(--sm-text-soft) !important; }

html[data-theme="dark"] .feed-page-content .feed-sidebar-btn-light {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .feed-sidebar-btn-light:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--brand-600) !important;
}

/* --- Barra do feed: botões iconográficos (Rascunhos, Agendados, busca, refresh) --- */
html[data-theme="dark"] .feed-page-content .feed-toolbar-btn-icon,
html[data-theme="dark"] .feed-page-content .feed-search-btn {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .feed-toolbar-btn-icon:hover,
html[data-theme="dark"] .feed-page-content .feed-search-btn:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--brand-600) !important;
}
html[data-theme="dark"] .feed-page-content .feed-toolbar-btn-primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border-color: transparent !important;
}
html[data-theme="dark"] .feed-page-content .feed-search-wrapper.open .feed-search-input {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .feed-search-wrapper.open .feed-search-input:focus {
    background: var(--sm-surface) !important;
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 2px rgba(18, 175, 200, .18) !important;
}

/* --- Postagens: cartão, header, conteúdo, stats e comentários --- */
html[data-theme="dark"] .feed-page-content .post-card,
html[data-theme="dark"] .feed-page-content .post-card--draft {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}
html[data-theme="dark"] .feed-page-content .post-header {
    background: var(--sm-surface) !important;
    border-bottom-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .post-content,
html[data-theme="dark"] .feed-page-content .post-comments,
html[data-theme="dark"] .feed-page-content .post-stats {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .author-details h6,
html[data-theme="dark"] .feed-page-content .post-text,
html[data-theme="dark"] .feed-page-content .post-text p { color: var(--sm-text) !important; }
html[data-theme="dark"] .feed-page-content .author-details .post-time,
html[data-theme="dark"] .feed-page-content .post-time,
html[data-theme="dark"] .feed-page-content .post-edited-info,
html[data-theme="dark"] .feed-page-content .post-meta .divider { color: var(--sm-text-soft) !important; }
html[data-theme="dark"] .feed-page-content .post-sector { color: var(--brand-300) !important; }
html[data-theme="dark"] .feed-page-content .post-stats > .like-btn { color: var(--sm-text-soft) !important; }
html[data-theme="dark"] .feed-page-content .post-stats > .like-btn:hover {
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}
html[data-theme="dark"] .feed-page-content .post-stats > .like-btn.liked,
html[data-theme="dark"] .feed-page-content .like-btn.liked {
    background: rgba(18, 175, 200, .14) !important;
    color: var(--brand-300) !important;
    border-color: transparent !important;
}
html[data-theme="dark"] .feed-page-content .post-stats > .like-btn.liked:hover,
html[data-theme="dark"] .feed-page-content .like-btn.liked:hover {
    background: rgba(18, 175, 200, .22) !important;
    color: var(--brand-300) !important;
}
html[data-theme="dark"] .feed-page-content .post-stats > .comment-btn {
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .feed-page-content .post-stats > .comment-btn:hover {
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}

/* Comentários: feed.css usa #333 — precisa override explícito no dark */
html[data-theme="dark"] .feed-page-content .comment-item {
    background: transparent !important;
}
html[data-theme="dark"] .feed-page-content .comment-item:hover {
    background: rgba(18, 175, 200, .08) !important;
}
html[data-theme="dark"] .feed-page-content .comment-item.comment-highlight {
    background: rgba(18, 175, 200, .16) !important;
}
html[data-theme="dark"] .feed-page-content .comment-author,
html[data-theme="dark"] .feed-page-content .comment-text,
html[data-theme="dark"] .feed-page-content .comment-text *,
html[data-theme="dark"] .feed-page-content .comment-content {
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .feed-page-content .comment-time,
html[data-theme="dark"] .feed-page-content .comment-edited-tag,
html[data-theme="dark"] .feed-page-content .comment-like-count,
html[data-theme="dark"] .feed-page-content .comment-like-btn:not(.liked),
html[data-theme="dark"] .feed-page-content .comment-dropdown .btn {
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .feed-page-content .comment-text .mention,
html[data-theme="dark"] .feed-page-content .comment-text .mention-in-comment,
html[data-theme="dark"] .feed-page-content .comment-text .hashtag {
    color: var(--brand-300) !important;
}
html[data-theme="dark"] .feed-page-content .comment-like-btn.liked {
    color: #e74c3c !important;
}
html[data-theme="dark"] .feed-page-content .comment-dropdown .dropdown-menu {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .comment-dropdown .dropdown-item {
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .feed-page-content .comment-dropdown .dropdown-item:hover {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .feed-page-content .comment-form .comment-input,
html[data-theme="dark"] .feed-page-content .comment-form .comment-input[contenteditable] {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .comment-form .comment-input[contenteditable]:empty::before {
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .feed-page-content .likes-count,
html[data-theme="dark"] .feed-page-content .comments-count,
html[data-theme="dark"] .feed-page-content .like-count,
html[data-theme="dark"] .feed-page-content .comment-count {
    color: var(--sm-text-soft) !important;
}

/* Avatares do feed — placeholder e fotos (post, curtida, comentário) */
html[data-theme="dark"] .feed-page-content {
    --feed-avatar-ph-bg: #0f2a31;
    --feed-avatar-ph-icon: var(--brand-300);
    --feed-avatar-ph-border: var(--sm-border);
    --feed-avatar-photo-border: var(--sm-border);
    --feed-avatar-stack-ring: var(--sm-bg);
}

html[data-theme="dark"] .feed-page-content .pm-avatar-placeholder.feed-avatar-ph,
html[data-theme="dark"] .feed-page-content .avatar-container .pm-avatar-placeholder,
html[data-theme="dark"] .feed-page-content .author-avatar .pm-avatar-placeholder,
html[data-theme="dark"] .feed-page-content .comment-avatar .pm-avatar-placeholder {
    background: var(--feed-avatar-ph-bg) !important;
    color: var(--feed-avatar-ph-icon) !important;
    border-color: var(--feed-avatar-ph-border) !important;
}

html[data-theme="dark"] .feed-page-content .author-avatar img[data-pm-avatar="photo"],
html[data-theme="dark"] .feed-page-content .comment-avatar img[data-pm-avatar="photo"],
html[data-theme="dark"] .feed-page-content .avatar-container img[data-pm-avatar="photo"],
html[data-theme="dark"] .feed-page-content .avatar-container img.avatar-img,
html[data-theme="dark"] .feed-page-content .avatar-container img.avatar-mini,
html[data-theme="dark"] .feed-page-content .avatar-container img.avatar-small,
html[data-theme="dark"] .feed-page-content .avatar-container img.avatar-comment,
html[data-theme="dark"] .feed-page-content .avatar-container img.avatar-large {
    border-color: var(--feed-avatar-photo-border) !important;
}

html[data-theme="dark"] .feed-page-content .likes-avatars .avatar-mini,
html[data-theme="dark"] .feed-page-content .likes-avatars .pm-avatar-placeholder,
html[data-theme="dark"] .feed-page-content .likes-avatars .avatar-container img,
html[data-theme="dark"] .feed-page-content .likes-avatars .avatar-container .pm-avatar-placeholder {
    border-color: var(--feed-avatar-stack-ring) !important;
}

html[data-theme="dark"] .feed-page-content .likes-list .avatar-container-tooltip img,
html[data-theme="dark"] .feed-page-content .likes-list .avatar-container-tooltip .pm-avatar-placeholder {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .feed-page-content .comment-input-wrapper,
html[data-theme="dark"] .feed-page-content .comment-form .comment-input-wrapper {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .comment-form .emoji-btn {
    background: var(--sm-surface) !important;
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .feed-page-content .comment-form .emoji-btn:hover,
html[data-theme="dark"] .feed-page-content .comment-form .emoji-btn:focus {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .feed-page-content .feed-title,
html[data-theme="dark"] .feed-page-content .feed-header .feed-title + * { color: var(--sm-text-soft) !important; }

/* Posts por categoria (system_update, announcement, celebration) */
html[data-theme="dark"] .feed-page-content .post-card[data-category="system_update"],
html[data-theme="dark"] .feed-page-content .post-card[data-category="announcement"] {
    background: var(--sm-surface) !important;
}
html[data-theme="dark"] .feed-page-content .post-card[data-category="system_update"] {
    border-left-color: var(--brand-500) !important;
}
html[data-theme="dark"] .feed-page-content .post-card[data-category="announcement"] {
    border-left-color: #ed8936 !important;
}
html[data-theme="dark"] .feed-page-content .post-category-badge {
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
    border-bottom-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .post-card[data-category="system_update"] .post-category-badge {
    background: rgba(6, 62, 72, .65) !important;
    color: var(--brand-300) !important;
    border-bottom-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .post-card[data-category="announcement"] .post-category-badge {
    background: rgba(237, 137, 54, .15) !important;
    color: #f6ad55 !important;
    border-bottom-color: var(--sm-border) !important;
}
html[data-theme="dark"] .feed-page-content .post-card[data-category="celebration"] {
    background: linear-gradient(135deg, #0b2a31 0%, #12313a 50%, #0f2a31 100%) !important;
    border: 1px solid var(--sm-border) !important;
}

/* Conteúdo colado do editor (Quill) pode trazer fundo/cor inline claros */
html[data-theme="dark"] .feed-page-content .post-text,
html[data-theme="dark"] .feed-page-content .post-text *,
html[data-theme="dark"] .feed-page-content .post-content [style*="background"] {
    background-color: transparent !important;
    background: transparent !important;
}
html[data-theme="dark"] .feed-page-content .post-text,
html[data-theme="dark"] .feed-page-content .post-text *:not(.hashtag):not(.mention) {
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .feed-page-content .post-text .hashtag,
html[data-theme="dark"] .feed-page-content .post-text .mention {
    color: var(--brand-300) !important;
}
html[data-theme="dark"] .feed-page-content .post-media.media-portrait,
html[data-theme="dark"] .feed-page-content .gallery-item,
html[data-theme="dark"] .feed-page-content .media-gallery-grid.grid-1 .gallery-item {
    background: var(--sm-surface-2) !important;
}
html[data-theme="dark"] .feed-page-content .post-media-gallery {
    background: transparent !important;
}

/* Badges e botões auxiliares do post */
html[data-theme="dark"] .feed-page-content .visibility-badge {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}
html[data-theme="dark"] .feed-page-content .visibility-badge[data-visibility="public"] {
    background: rgba(72, 187, 120, .15) !important;
    border-color: rgba(72, 187, 120, .35) !important;
    color: #68d391 !important;
}
html[data-theme="dark"] .feed-page-content .visibility-badge[data-visibility="sector"],
html[data-theme="dark"] .feed-page-content .visibility-badge[data-visibility="course"],
html[data-theme="dark"] .feed-page-content .visibility-badge[data-visibility="profile"] {
    background: rgba(18, 175, 200, .12) !important;
    border-color: rgba(18, 175, 200, .28) !important;
    color: var(--brand-300) !important;
}
html[data-theme="dark"] .feed-page-content .post-actions .btn-outline-secondary {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

/* --- Modal Nova/Editar postagem (feed) --- */
html[data-theme="dark"] .new-post-modal-content {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border: 1px solid var(--sm-border) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
}

html[data-theme="dark"] .new-post-header {
    background: var(--sm-surface) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-modal-content[data-active-category="system_update"] .new-post-header {
    background: rgba(15, 118, 110, 0.12) !important;
    border-bottom-color: rgba(18, 175, 200, 0.25) !important;
}

html[data-theme="dark"] .new-post-modal-content[data-active-category="announcement"] .new-post-header {
    background: rgba(230, 126, 34, 0.12) !important;
    border-bottom-color: rgba(230, 126, 34, 0.28) !important;
}

html[data-theme="dark"] .new-post-modal-content[data-active-category="celebration"] .new-post-header {
    background: linear-gradient(135deg, rgba(241, 196, 15, 0.08), rgba(231, 76, 60, 0.08)) !important;
    border-bottom-color: rgba(241, 196, 15, 0.25) !important;
}

html[data-theme="dark"] .new-post-author-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .new-post-author-sector,
html[data-theme="dark"] .media-bar-label,
html[data-theme="dark"] .new-post-modal-content .visibility-hint {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .new-post-header .close {
    color: var(--sm-text-soft) !important;
    text-shadow: none !important;
    opacity: 0.85;
}

html[data-theme="dark"] .new-post-header .close:hover {
    color: var(--sm-text) !important;
    opacity: 1;
}

html[data-theme="dark"] .new-post-avatar img.new-post-avatar-img {
    border-color: rgba(255, 255, 255, 0.22) !important;
}

html[data-theme="dark"] .new-post-avatar .pm-avatar-placeholder.new-post-avatar-img {
    --pm-avatar-ph-bg: rgba(255, 255, 255, 0.1);
    --pm-avatar-ph-icon: rgba(255, 255, 255, 0.78);
    border-color: rgba(255, 255, 255, 0.22) !important;
}

html[data-theme="dark"] .new-post-category-bar {
    background: var(--sm-surface-2) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .category-pill {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .category-pill:hover {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .category-pill.active {
    color: #fff !important;
}

html[data-theme="dark"] .category-pill[data-category="normal"].active,
html[data-theme="dark"] .category-pill.active:not([data-category="system_update"]):not([data-category="announcement"]):not([data-category="celebration"]) {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] #quillEditorContainer,
html[data-theme="dark"] #editQuillEditorContainer {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-container {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-editor {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-editor.ql-blank::before {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar .ql-stroke {
    stroke: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar .ql-fill {
    fill: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar button:hover .ql-stroke,
html[data-theme="dark"] .new-post-modal-content .ql-toolbar .ql-picker-label:hover .ql-stroke {
    stroke: var(--brand-300) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar button:hover .ql-fill {
    fill: var(--brand-300) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar .ql-picker-label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .new-post-modal-content .ql-toolbar .ql-picker-options {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-media-bar {
    border-color: var(--sm-border) !important;
    background: var(--sm-surface) !important;
}

html[data-theme="dark"] .media-dropzone {
    border-color: var(--sm-border) !important;
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .media-dropzone i,
html[data-theme="dark"] .media-dropzone small {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .media-dropzone:hover,
html[data-theme="dark"] .media-dropzone.dragover {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, 0.1) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .media-preview-item {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .visibility-toggle-group {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .visibility-toggle-btn {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .visibility-toggle-btn:hover {
    color: var(--sm-text) !important;
    background: var(--sm-surface) !important;
}

html[data-theme="dark"] .visibility-toggle-btn.active {
    background: var(--brand-700) !important;
    color: #fff !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .new-post-footer {
    background: var(--sm-surface-2) !important;
    border-top-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-btn-cancel {
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-btn-cancel:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-btn-draft {
    color: var(--brand-300) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .new-post-btn-draft:hover {
    background: var(--sm-surface) !important;
    color: var(--brand-300) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .new-post-btn-publish {
    background: var(--brand-700) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

html[data-theme="dark"] .new-post-btn-publish:hover {
    background: var(--brand-600) !important;
}

html[data-theme="dark"] #newPostModal .select2-container--bootstrap4 .select2-selection--multiple,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4 .select2-selection--multiple {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] #newPostModal .select2-container--bootstrap4.select2-container--focus .select2-selection--multiple,
html[data-theme="dark"] #newPostModal .select2-container--bootstrap4.select2-container--open .select2-selection--multiple,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4.select2-container--focus .select2-selection--multiple,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4.select2-container--open .select2-selection--multiple {
    border-color: var(--brand-600) !important;
    background: var(--sm-surface) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, 0.15) !important;
}

html[data-theme="dark"] #newPostModal .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
    background: var(--brand-700) !important;
    color: #fff !important;
}

html[data-theme="dark"] #newPostModal .select2-container--bootstrap4 .select2-search--inline .select2-search__field,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4 .select2-search--inline .select2-search__field {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #newPostModal .select2-container--bootstrap4 .select2-search--inline .select2-search__field::placeholder,
html[data-theme="dark"] #editPostModal .select2-container--bootstrap4 .select2-search--inline .select2-search__field::placeholder {
    color: var(--sm-text-soft) !important;
}

/* --- Utilitários Bootstrap comuns --- */
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-light { background: var(--sm-surface) !important; color: var(--sm-text) !important; }
html[data-theme="dark"] .text-dark { color: var(--sm-text) !important; }
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .text-secondary { color: var(--sm-text-soft) !important; }
html[data-theme="dark"] hr,
html[data-theme="dark"] .border,
html[data-theme="dark"] .border-top,
html[data-theme="dark"] .border-bottom,
html[data-theme="dark"] .border-left,
html[data-theme="dark"] .border-right { border-color: var(--sm-border) !important; }

/* ============================================================
   5) Dropdowns de usuário — cabeçalho teal (substitui navy/azul)
   ============================================================ */
.main-header.navbar .pm-navbar-dd-header,
.main-header .navbar .pm-navbar-dd-header,
.pm-user-dropdown-header--compact {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 45%, var(--brand-700) 100%) !important;
}

.main-header.navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover i,
.main-header .navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover i,
.pm-user-dropdown-item:not(.pm-user-dropdown-item--danger):hover i {
    color: var(--brand-600) !important;
}

.main-header.navbar .pm-navbar-dd-item--danger,
.main-header .navbar .pm-navbar-dd-item--danger,
.pm-user-dropdown-item--danger {
    color: #b91c1c !important;
}

.main-header.navbar .pm-navbar-dd-item--danger i,
.main-header .navbar .pm-navbar-dd-item--danger i,
.pm-user-dropdown-item--danger i {
    color: #ef4444 !important;
}

.main-header.navbar .pm-navbar-dd-item--danger:hover,
.main-header .navbar .pm-navbar-dd-item--danger:hover,
.pm-user-dropdown-item--danger:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
}

.main-header.navbar .pm-navbar-dd-item--danger:hover i,
.main-header .navbar .pm-navbar-dd-item--danger:hover i,
.pm-user-dropdown-item--danger:hover i {
    color: #dc2626 !important;
}

html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover i,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover i,
html[data-theme="dark"] .pm-user-dropdown-item:not(.pm-user-dropdown-item--danger):hover i {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item--danger,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item--danger,
html[data-theme="dark"] .pm-user-dropdown-item--danger {
    color: #fca5a5 !important;
}

html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item--danger i,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item--danger i,
html[data-theme="dark"] .pm-user-dropdown-item--danger i {
    color: #f87171 !important;
}

html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item--danger:hover,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item--danger:hover,
html[data-theme="dark"] .pm-user-dropdown-item--danger:hover {
    background: rgba(239, 68, 68, 0.14) !important;
    color: #fecaca !important;
}

html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item--danger:hover i,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item--danger:hover i,
html[data-theme="dark"] .pm-user-dropdown-item--danger:hover i {
    color: #fca5a5 !important;
}

/* ============================================================
   6) Avatar — sidebar quadrada; placeholder com ícone
   ============================================================ */
.pm-avatar-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-sizing: border-box;
    background: var(--pm-avatar-ph-bg, #dbe7ea);
    color: var(--pm-avatar-ph-icon, var(--brand-700));
    border: 2px solid var(--pm-avatar-ph-border, rgba(0, 0, 0, 0.06));
    line-height: 1;
}

.pm-avatar-placeholder i {
    pointer-events: none;
    display: block;
    line-height: 1;
}

/* Navbar/dropdown: garante centralização (custom-theme usa display:block só em img) */
.main-header.navbar .pm-avatar-placeholder.pm-navbar-avatar,
.main-header.navbar .pm-avatar-placeholder.pm-navbar-dd-avatar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-avatar-placeholder--rounded {
    border-radius: 10px;
}

/* Navbar + dropdown: foto e placeholder quadrados (paridade com sidebar) */
.main-header.navbar .pm-navbar-avatar-wrap > img,
.main-header.navbar .pm-navbar-avatar-wrap > .pm-avatar-placeholder,
.main-header.navbar .pm-navbar-dd-avatar-wrap > img,
.main-header.navbar .pm-navbar-dd-avatar-wrap > .pm-avatar-placeholder {
    border-radius: 10px !important;
    object-fit: cover;
}

/* Tamanhos padrão das FOTOS por contexto (fallback para sistemas sem CSS
   de layout próprio — ex.: SISCON). Placeholders já têm tamanho abaixo. */
.main-header.navbar img.pm-navbar-avatar {
    width: 32px;
    height: 32px;
    border: 2px solid rgba(0, 0, 0, 0.06);
}

.main-header.navbar img.pm-navbar-dd-avatar {
    width: 44px;
    height: 44px;
    border: 2px solid rgba(255, 255, 255, 0.25);
}

.pm-avatar-placeholder.pm-navbar-avatar {
    width: 32px;
    height: 32px;
    font-size: 14px;
}

.pm-avatar-placeholder.pm-navbar-dd-avatar {
    width: 44px;
    height: 44px;
    font-size: 18px;
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .82);
}

/* Sidebar: foto e placeholder quadrados com cantos arredondados */
.main-sidebar .pm-user-panel-avatar > img,
.main-sidebar .pm-user-panel-avatar > .pm-avatar-placeholder {
    width: 38px;
    height: 38px;
    border-radius: 10px !important;
    object-fit: cover;
}

.main-sidebar .pm-user-panel-avatar > .pm-avatar-placeholder {
    --pm-avatar-ph-bg: rgba(255, 255, 255, 0.14);
    --pm-avatar-ph-icon: rgba(255, 255, 255, 0.78);
    --pm-avatar-ph-border: rgba(255, 255, 255, 0.22);
    font-size: 16px;
}

.sidebar-mini.sidebar-collapse .main-sidebar .pm-user-panel-avatar > img,
.sidebar-mini.sidebar-collapse .main-sidebar .pm-user-panel-avatar > .pm-avatar-placeholder {
    width: 42px !important;
    height: 42px !important;
    font-size: 17px;
}

.main-sidebar .pm-user-panel-online-dot {
    border-color: var(--brand-900) !important;
}

/* ============================================================
   6.5) Sidebar — scroll padrão do ecossistema
   Topo (user panel + seletor de sistemas) fica FIXO; apenas a
   área do menu rola. Scrollbar escura/translúcida integrada ao
   degradê da sidebar (que é escura nos DOIS temas, light e dark).
   Cobre AdminLTE 3 (.sidebar > nav) e AdminLTE 2 (> .sidebar-menu).
   !important necessário: AdminLTE 3 injeta overflow-y:auto inline.
   ============================================================ */

.main-sidebar .sidebar {
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
}

/* Tudo que não é menu (user panel, switcher, headers) não encolhe */
.main-sidebar .sidebar > * {
    flex: 0 0 auto;
}

/* Área do menu: única região com scroll */
.main-sidebar .sidebar > nav,
.main-sidebar .sidebar > .sidebar-menu {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: 20px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.30) transparent;
}

.main-sidebar .sidebar > nav::-webkit-scrollbar,
.main-sidebar .sidebar > .sidebar-menu::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.main-sidebar .sidebar > nav::-webkit-scrollbar-track,
.main-sidebar .sidebar > .sidebar-menu::-webkit-scrollbar-track {
    background: transparent;
}

.main-sidebar .sidebar > nav::-webkit-scrollbar-thumb,
.main-sidebar .sidebar > .sidebar-menu::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.26);
    border-radius: 3px;
}

.main-sidebar .sidebar > nav::-webkit-scrollbar-thumb:hover,
.main-sidebar .sidebar > .sidebar-menu::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.42);
}

/* Modo mini/recolhido: flyouts precisam escapar — sem clipping */
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar,
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar > nav,
.sidebar-mini.sidebar-collapse .main-sidebar .sidebar > .sidebar-menu {
    overflow: visible !important;
}

/* ============================================================
   7) Dark mode — cobertura transversal (AVA, catálogo, admin)
   ============================================================ */

/* --- PGA-modern: stats, filtros, tabelas, cards, empty --- */
html[data-theme="dark"] .pm-stat-card,
html[data-theme="dark"] .pm-filters,
html[data-theme="dark"] .pm-table-card,
html[data-theme="dark"] .box.pm-table-card,
html[data-theme="dark"] .pm-card:not(.pga-sys-card):not([class*="pga-sys-card--"]),
html[data-theme="dark"] .pm-empty,
html[data-theme="dark"] .cat-box,
html[data-theme="dark"] .tx-wrap,
html[data-theme="dark"] .pm-catalog .pm-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

html[data-theme="dark"] .pm-table-card > .box-header,
html[data-theme="dark"] .pm-table-card > .panel-heading,
html[data-theme="dark"] .pm-table-card .pm-table-card-header,
html[data-theme="dark"] .pm-table-card > .pm-cu-list-toolbar,
html[data-theme="dark"] .pm-table-card > .pm-lic-list-toolbar,
html[data-theme="dark"] .pm-table-card > .box-footer,
html[data-theme="dark"] .pm-table-card .pm-table-card-footer,
html[data-theme="dark"] .pm-table-card .pm-cu-dt-bottom,
html[data-theme="dark"] .pm-table-card .pm-lic-dt-bottom,
html[data-theme="dark"] .pm-table-card .table > thead > tr > th {
    background: rgba(0, 0, 0, 0.22) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-table-card > .box-header .box-title,
html[data-theme="dark"] .pm-table-card > .box-header h3,
html[data-theme="dark"] .pm-table-card > .panel-heading h3,
html[data-theme="dark"] .pm-table-card .pm-table-card-title,
html[data-theme="dark"] .pm-table-card .pm-cu-list-toolbar-title,
html[data-theme="dark"] .pm-table-card .pm-lic-list-toolbar-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-table-card > .box-header .box-title .fa,
html[data-theme="dark"] .pm-table-card .pm-table-card-title .fa,
html[data-theme="dark"] .pm-table-card .pm-cu-list-toolbar-title .fa,
html[data-theme="dark"] .pm-table-card .pm-cu-list-toolbar-title i,
html[data-theme="dark"] .pm-table-card .pm-lic-list-toolbar-title .fa,
html[data-theme="dark"] .pm-table-card .pm-lic-list-toolbar-title i {
    color: var(--brand-300, #40c8db) !important;
}

html[data-theme="dark"] .pm-table-card .table > tbody > tr > td {
    color: var(--sm-text) !important;
    border-color: rgba(29, 70, 80, 0.9) !important;
    background: transparent !important;
}

html[data-theme="dark"] .pm-table-card .table.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: rgba(255, 255, 255, 0.025) !important;
}

html[data-theme="dark"] .pm-table-card .table > tbody > tr:hover > td {
    background-color: rgba(64, 200, 219, 0.08) !important;
}

html[data-theme="dark"] .box.pm-table-card.box-primary,
html[data-theme="dark"] .box.pm-table-card.box-success,
html[data-theme="dark"] .box.pm-table-card.box-info,
html[data-theme="dark"] .box.pm-table-card.box-warning,
html[data-theme="dark"] .box.pm-table-card.box-danger {
    border-top-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-stat-info h3,
html[data-theme="dark"] .pm-stat-info .pm-stat-number,
html[data-theme="dark"] .pm-stat-info .stat-value,
html[data-theme="dark"] .pm-card-title,
html[data-theme="dark"] .pm-card-body,
html[data-theme="dark"] .pm-card-meta,
html[data-theme="dark"] .pm-card-meta span,
html[data-theme="dark"] .pm-empty h4,
html[data-theme="dark"] .pm-empty p,
html[data-theme="dark"] .mcv-section-title,
html[data-theme="dark"] .lc-empty-text,
html[data-theme="dark"] .lc-empty-text strong {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-stat-info p,
html[data-theme="dark"] .pm-stat-info .pm-stat-label,
html[data-theme="dark"] .pm-card-meta,
html[data-theme="dark"] .lc-empty-text {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-card.pm-card-closed {
    opacity: .85 !important;
    border-color: var(--sm-border) !important;
}

/* Minhas Inscrições — container de listagem (.mle-box sobrescreve inline #fff) */
html[data-theme="dark"] .mle-box {
    background: var(--sm-surface) !important;
    border: 1px solid var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
    color: var(--sm-text) !important;
}

/* Meus Certificados — empty state (.lc-empty-soft) */
html[data-theme="dark"] .lc-empty-soft {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-soft .lc-empty-icon {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-soft h4 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lc-empty-soft p {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-soft .lc-empty-action {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-soft .lc-empty-action:hover {
    background: var(--sm-bg) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

/* Biblioteca — empty por seção (livros, audiobooks, podcasts) */
html[data-theme="dark"] .lib-empty-section {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-empty-section i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-subhead {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-subcount {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--sm-text-soft) !important;
}

/* Empty states compartilhados (catálogo / inscrições) */
html[data-theme="dark"] .lc-empty-text .lc-empty-icon {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-text a.lc-empty-action {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-empty-text a.lc-empty-action:hover {
    background: var(--sm-bg) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

/* --- Toolbar catálogo / listagens (cat-*, lc-*) --- */
html[data-theme="dark"] .cat-typetabs {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cat-typetab {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-typetab:hover {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cat-typetab.is-active {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25) !important;
}

html[data-theme="dark"] .cat-typetab .cat-tab-count {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-typetab.is-active .cat-tab-count {
    background: rgba(18, 175, 200, .18) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lc-search-bar,
html[data-theme="dark"] .lc-search-field,
html[data-theme="dark"] .cat-toolbar--compact-search .lc-search-input-wrap.is-search-open .lc-search-field {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .lc-status-group {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lc-status-btn,
html[data-theme="dark"] .lc-search-toggle,
html[data-theme="dark"] .lc-category-select,
html[data-theme="dark"] .lc-search-input {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

/* Variante cal-search-bar (calendário): botões de status dentro do grupo */
html[data-theme="dark"] .lc-search-bar .lc-status-btn {
    background: transparent !important;
    border: none !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-search-bar .lc-status-btn:hover {
    color: var(--sm-text) !important;
    background: rgba(255, 255, 255, .06) !important;
}

html[data-theme="dark"] .lc-search-bar .lc-status-btn.active {
    background: var(--sm-surface) !important;
    color: var(--brand-300) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25) !important;
}

html[data-theme="dark"] .lc-status-btn:hover,
html[data-theme="dark"] .lc-search-toggle:hover,
html[data-theme="dark"] .lc-search-clear:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .lc-search-icon,
html[data-theme="dark"] .lc-search-clear {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-search-input::placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lc-search-input:focus,
html[data-theme="dark"] .lc-category-select:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

/* Status ativos — tons adaptados ao escuro */
html[data-theme="dark"] .lc-status-btn[data-value=""].active,
html[data-theme="dark"] .lc-status-btn[data-value="progress"].active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lc-status-btn[data-value="open"].active,
html[data-theme="dark"] .lc-status-btn[data-value="concluded"].active {
    border-color: #34d399 !important;
    background: rgba(52, 211, 153, .12) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .lc-status-btn[data-value="closed"].active {
    border-color: #fbbf24 !important;
    background: rgba(251, 191, 36, .12) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .lc-status-btn[data-value="past"].active {
    border-color: #94a3b8 !important;
    background: rgba(148, 163, 184, .12) !important;
    color: #cbd5e1 !important;
}

html[data-theme="dark"] .lc-status-btn[data-value="waitlist"].active {
    border-color: #a78bfa !important;
    background: rgba(167, 139, 250, .12) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] .mle-status-count {
    background: rgba(255, 255, 255, .1) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-toolbar--compact-search .lc-search-input-wrap.has-value .lc-search-toggle,
html[data-theme="dark"] .cat-toolbar--compact-search .lc-search-input-wrap.is-search-open .lc-search-toggle {
    border-color: var(--brand-500) !important;
    color: var(--brand-300) !important;
    background: rgba(18, 175, 200, .12) !important;
}

/* --- Abas (Bootstrap + pm-tabs + cs-main-tabs) --- */
html[data-theme="dark"] .nav-tabs,
html[data-theme="dark"] .pm-tabs .nav-tabs,
html[data-theme="dark"] .cs-main-tabs .cs-tabs-bar,
html[data-theme="dark"] .ec-main-tabs .ec-tabs-bar,
html[data-theme="dark"] .ec-tabs-bar {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cs-main-tabs .cs-tabs-bar,
html[data-theme="dark"] .ec-main-tabs .ec-tabs-bar {
    border-radius: 14px !important;
    overflow: hidden;
}

html[data-theme="dark"] .nav-tabs .nav-link,
html[data-theme="dark"] .pm-tabs .nav-tabs > li > a,
html[data-theme="dark"] .cs-main-tabs .nav-link,
html[data-theme="dark"] .ec-main-tabs .nav-link {
    color: var(--sm-text-soft) !important;
    border-color: transparent !important;
    background: transparent !important;
}

html[data-theme="dark"] .cs-main-tabs .nav-link,
html[data-theme="dark"] .ec-main-tabs .nav-link {
    border-radius: 8px !important;
}

html[data-theme="dark"] .nav-tabs .nav-link:hover,
html[data-theme="dark"] .pm-tabs .nav-tabs > li > a:hover,
html[data-theme="dark"] .cs-main-tabs .nav-link:hover:not(.active),
html[data-theme="dark"] .ec-main-tabs .nav-link:hover:not(.active) {
    color: var(--sm-text) !important;
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .nav-tabs .nav-link.active,
html[data-theme="dark"] .pm-tabs .nav-tabs > li.active > a,
html[data-theme="dark"] .cs-main-tabs .nav-link.active,
html[data-theme="dark"] .ec-main-tabs .nav-link.active {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

html[data-theme="dark"] .tab-content,
html[data-theme="dark"] .tab-pane {
    color: var(--sm-text) !important;
}

/* --- Definições AVA (cs-*) --- */
html[data-theme="dark"] .cs-card,
html[data-theme="dark"] .cs-card-header,
html[data-theme="dark"] .cs-card-body {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-card-header h4,
html[data-theme="dark"] .cs-field-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-field-desc,
html[data-theme="dark"] .cs-suffix {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cs-field-row {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cs-field-control input[type="number"],
html[data-theme="dark"] .cs-field-control select,
html[data-theme="dark"] .cs-field-control textarea {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-toggle .cs-slider {
    background: var(--sm-border) !important;
}

html[data-theme="dark"] .cs-toggle input:checked + .cs-slider {
    background: var(--brand-600) !important;
}

/* Integrações — provedor de mapa / chave Google */
html[data-theme="dark"] .cs-provider-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-provider-btn:hover {
    border-color: var(--brand-600) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cs-provider-btn .cs-provider-meta b {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-provider-btn .cs-provider-meta span {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cs-provider-btn .cs-provider-check {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cs-provider-btn.is-selected {
    background: rgba(18, 175, 200, .12) !important;
    border-color: var(--brand-600) !important;
    box-shadow: 0 4px 14px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .cs-provider-btn.is-selected .cs-provider-check {
    background: var(--brand-600) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .cs-gmaps-input {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cs-gmaps-input:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .cs-int-tip {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cs-int-tip code {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border: 1px solid var(--sm-border);
}

html[data-theme="dark"] .cs-saved-toast {
    background: rgba(16, 185, 129, .16) !important;
    border-color: rgba(16, 185, 129, .35) !important;
    color: #6ee7b7 !important;
}

/* ===== Auditoria (aud-*) — Definições > aba Auditoria ===== */
html[data-theme="dark"] .aud-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .aud-filters,
html[data-theme="dark"] .aud-tl-wrapper {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-filter-label,
html[data-theme="dark"] .aud-filter-label i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-filters .form-control,
html[data-theme="dark"] .aud-filters .select2-container--default .select2-selection--single {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-filters .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-filters .select2-container--default.select2-container--focus .select2-selection--single,
html[data-theme="dark"] .aud-filters .select2-container--default.select2-container--open .select2-selection--single,
html[data-theme="dark"] .aud-filters .form-control:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .aud-btn-clear {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-btn-clear:hover {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-tl-counter,
html[data-theme="dark"] .aud-tl-day {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-tl-counter i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .aud-tl-list::before {
    background: linear-gradient(180deg, var(--sm-border) 0%, rgba(29, 70, 80, .4) 100%) !important;
}

html[data-theme="dark"] .aud-tl-marker {
    box-shadow: 0 0 0 4px var(--sm-surface-2), 0 2px 6px rgba(0, 0, 0, .35) !important;
}

html[data-theme="dark"] .aud-tl-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-tl-card:hover {
    border-color: var(--brand-600) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .aud-tl-entity {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-tl-entity i,
html[data-theme="dark"] .aud-tl-entity-id,
html[data-theme="dark"] .aud-tl-time,
html[data-theme="dark"] .aud-tl-meta,
html[data-theme="dark"] .aud-tl-meta i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-tl-msg {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-tl-user {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-tl-diffsum,
html[data-theme="dark"] .aud-tl-diffsum i {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .aud-tl-empty,
html[data-theme="dark"] .aud-tl-loading {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-tl-empty i {
    color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-user-option-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-user-option-meta {
    color: var(--sm-text-soft) !important;
}

/* Modal de detalhe da auditoria */
html[data-theme="dark"] .aud-detail-modal .modal-body {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .aud-detail-modal .modal-footer,
html[data-theme="dark"] .aud-dt-summary {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-dt-msg,
html[data-theme="dark"] .aud-dt-meta-item strong,
html[data-theme="dark"] .aud-dt-diff-table .diff-key {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .aud-dt-headline .aud-dt-time,
html[data-theme="dark"] .aud-dt-headline .aud-dt-time i,
html[data-theme="dark"] .aud-dt-diff h6 {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-dt-meta-item {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .aud-dt-meta-item i,
html[data-theme="dark"] .aud-dt-diff h6 i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .aud-dt-diff-table {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-dt-diff-table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-dt-diff-table tbody tr + tr {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .aud-dt-diff-table .diff-before {
    background: rgba(239, 68, 68, .14) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .aud-dt-diff-table .diff-after {
    background: rgba(16, 185, 129, .14) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .aud-dt-diff-empty {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

/* --- Edição de curso / módulos (ec-*, em-*, nm-*) — painéis brancos inline --- */
html[data-theme="dark"] .ec-main-tabs,
html[data-theme="dark"] [class*="ec-mod-card"],
html[data-theme="dark"] [class*="ec-block-card"],
html[data-theme="dark"] .em-form-card,
html[data-theme="dark"] .nm-form-card,
html[data-theme="dark"] .eb-form-card,
html[data-theme="dark"] .nb-form-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .em-status-btn,
html[data-theme="dark"] .nm-status-btn,
html[data-theme="dark"] .em-modalidade-btn,
html[data-theme="dark"] .nm-modalidade-btn,
html[data-theme="dark"] .ec-profile-btn,
html[data-theme="dark"] .ec-icon-btn,
html[data-theme="dark"] .eb-quiz-stat,
html[data-theme="dark"] .eva-action-btn,
html[data-theme="dark"] .lib-mode-btn,
html[data-theme="dark"] .nb-type-card:not(.is-disabled) {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .em-status-btn:hover,
html[data-theme="dark"] .nm-status-btn:hover,
html[data-theme="dark"] .em-modalidade-btn:hover:not(:disabled),
html[data-theme="dark"] .nm-modalidade-btn:hover:not(:disabled),
html[data-theme="dark"] .ec-profile-btn:hover,
html[data-theme="dark"] .lib-mode-btn:hover,
html[data-theme="dark"] .eva-action-btn:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .em-drop-zone,
html[data-theme="dark"] .nm-drop-zone,
html[data-theme="dark"] .ec-teachers-drop,
html[data-theme="dark"] .ec-blocks-empty,
html[data-theme="dark"] .eva-empty {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-block-row,
html[data-theme="dark"] .ec-mod-row,
html[data-theme="dark"] .eva-table-wrap,
html[data-theme="dark"] .eva-card,
html[data-theme="dark"] .vie-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .eva-table th,
html[data-theme="dark"] .eva-table thead td {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .eva-table td,
html[data-theme="dark"] .ec-forum-msg-body,
html[data-theme="dark"] .ec-forum-msg-author {
    color: var(--sm-text) !important;
}

/* --- Dropdowns de usuário (corpo branco) ---
   Aceita .main-header.navbar (mesmo nó) e .main-header .navbar (Helpdesk/AdminLTE 2). */
html[data-theme] .main-header.navbar .pm-navbar-user-dropdown,
html[data-theme] .main-header .navbar .pm-navbar-user-dropdown {
    border: none !important;
}

html[data-theme="dark"] .pm-user-dropdown,
html[data-theme="dark"] .main-header.navbar .pm-navbar-user-dropdown,
html[data-theme="dark"] .main-header .navbar .pm-navbar-user-dropdown {
    background: var(--sm-surface) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .pm-user-dropdown-item,
html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-user-dropdown-item:hover,
html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item:not(.pm-navbar-dd-item--danger):hover {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-user-dropdown-divider,
html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-divider,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-divider {
    background: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-user-dropdown-item i,
html[data-theme="dark"] .main-header.navbar .pm-navbar-dd-item i,
html[data-theme="dark"] .main-header .navbar .pm-navbar-dd-item i {
    color: var(--sm-text-soft) !important;
}

/* --- Notificações (dropdown navbar + página my_notifications) --- */
html[data-theme="dark"] .pm-notif-dropdown,
html[data-theme="dark"] .pm-notif-dd-footer,
html[data-theme="dark"] .pm-mynotif-page-header ~ .content .card,
html[data-theme="dark"] .pm-mynotif-filters,
html[data-theme="dark"] .pm-mynotif-card,
html[data-theme="dark"] .pm-notif-item,
html[data-theme="dark"] .pga-notif-item,
html[data-theme="dark"] .pga-notif-list-wrap {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-notif-dd-body,
html[data-theme="dark"] .pm-mynotif-pagination {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-notif-item:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .pm-notif-item.is-unread,
html[data-theme="dark"] .pga-notif-item.unread {
    background: rgba(18, 175, 200, .1) !important;
}

html[data-theme="dark"] .pm-notif-item.is-unread:hover {
    background: rgba(18, 175, 200, .16) !important;
}

html[data-theme="dark"] .pm-notif-item-title,
html[data-theme="dark"] .pga-notif-title,
html[data-theme="dark"] .pga-notif-message {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-notif-item-text,
html[data-theme="dark"] .pm-notif-item-time,
html[data-theme="dark"] .pga-notif-meta,
html[data-theme="dark"] .pga-notif-time {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-notif-loading,
html[data-theme="dark"] .pm-notif-empty,
html[data-theme="dark"] .pm-mynotif-empty,
html[data-theme="dark"] .pm-mynotif-empty-title {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-notif-see-all {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-notif-see-all:hover {
    background: rgba(255, 255, 255, .04) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-notif-dd-header,
html[data-theme="dark"] .pm-mynotif-header {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 45%, var(--brand-700) 100%) !important;
}

html[data-theme="dark"] .pm-notif-enable-push {
    background: var(--sm-surface-2) !important;
    color: var(--brand-300) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-notif-enable-push:hover {
    background: rgba(255, 255, 255, .04) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-mynotif-filter-pill {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-mynotif-filter-pill:hover {
    border-color: var(--brand-500) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-mynotif-filter-pill.is-active {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
    color: #fff !important;
}

html[data-theme="dark"] .pm-mynotif-pagination button {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-mynotif-pagination button:hover:not(:disabled) {
    background: var(--sm-surface-2) !important;
    border-color: var(--brand-600) !important;
}

/* --- Botões secundários / outline no conteúdo --- */
html[data-theme="dark"] .content-wrapper .btn-light:not(.pm-period-btn) {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .content-wrapper .btn-light:not(.pm-period-btn):hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

/* CTAs do banner: sempre branco + texto teal (não herdar btn-light de conteúdo) */
html[data-theme="dark"] .content-wrapper .pm-header .btn-light,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light.btn-sm,
html[data-theme="dark"] .content-wrapper .vm-header .btn-light,
html[data-theme="dark"] .content-wrapper .mo-header .btn-light,
html[data-theme="dark"] .content-wrapper .ss-header .btn-light,
html[data-theme="dark"] .content-wrapper .sc-header .btn-light,
html[data-theme="dark"] .content-wrapper .si-header .btn-light,
html[data-theme="dark"] .content-wrapper .moc-header .btn-light,
html[data-theme="dark"] .content-wrapper .mydata-profile-header .btn-light,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light {
    background: #fff !important;
    color: var(--brand-700, #0b7f92) !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}

/* Filhos (span/i) — content-wrapper span força --sm-text claro e some no botão branco */
html[data-theme="dark"] .content-wrapper .pm-header .btn-light i,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light span,
html[data-theme="dark"] .content-wrapper .vm-header .btn-light i,
html[data-theme="dark"] .content-wrapper .vm-header .btn-light span,
html[data-theme="dark"] .content-wrapper .mo-header .btn-light i,
html[data-theme="dark"] .content-wrapper .mo-header .btn-light span,
html[data-theme="dark"] .content-wrapper .ss-header .btn-light i,
html[data-theme="dark"] .content-wrapper .ss-header .btn-light span,
html[data-theme="dark"] .content-wrapper .sc-header .btn-light i,
html[data-theme="dark"] .content-wrapper .sc-header .btn-light span,
html[data-theme="dark"] .content-wrapper .si-header .btn-light i,
html[data-theme="dark"] .content-wrapper .si-header .btn-light span,
html[data-theme="dark"] .content-wrapper .moc-header .btn-light i,
html[data-theme="dark"] .content-wrapper .moc-header .btn-light span,
html[data-theme="dark"] .content-wrapper .mydata-profile-header .btn-light i,
html[data-theme="dark"] .content-wrapper .mydata-profile-header .btn-light span,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light i,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light span,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light i,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light span {
    color: var(--brand-700, #0b7f92) !important;
}

html[data-theme="dark"] .content-wrapper .pm-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light.btn-sm:hover,
html[data-theme="dark"] .content-wrapper .vm-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .mo-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .ss-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .sc-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .si-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .moc-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .mydata-profile-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light:hover,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light:hover {
    background: rgba(255, 255, 255, 0.94) !important;
    color: var(--brand-800, #085f6d) !important;
}

html[data-theme="dark"] .content-wrapper .pm-header .btn-light:hover i,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light:hover span,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light:hover i,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-light:hover span,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light:hover i,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-light:hover span {
    color: var(--brand-800, #085f6d) !important;
}

/* Voltar (outline) no banner — texto/ícone brancos legíveis */
html[data-theme="dark"] .content-wrapper .pm-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .vm-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .mo-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .ss-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .sc-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .si-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .moc-header .btn-outline-light,
html[data-theme="dark"] .content-wrapper .mydata-profile-header .btn-outline-light {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
    color: #fff !important;
}

html[data-theme="dark"] .content-wrapper .pm-header .btn-outline-light i,
html[data-theme="dark"] .content-wrapper .pm-header .btn-outline-light span,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-outline-light i,
html[data-theme="dark"] .content-wrapper .pm-sup-header .btn-outline-light span,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-outline-light i,
html[data-theme="dark"] .content-wrapper .pm-sv-header .btn-outline-light span {
    color: #fff !important;
}

/* CTA do banner (Período Letivo etc.) — fundo branco + texto teal sempre legível */
html[data-theme] .pm-header .btn-light.pm-period-btn,
html[data-theme] .pm-header .pm-period-btn,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light.pm-period-btn,
html[data-theme="dark"] .content-wrapper .pm-header .pm-period-btn {
    background: #fff !important;
    color: var(--brand-700, #0b7f92) !important;
    border: none !important;
}
html[data-theme] .pm-header .btn-light.pm-period-btn:hover,
html[data-theme] .pm-header .pm-period-btn:hover,
html[data-theme="dark"] .content-wrapper .pm-header .btn-light.pm-period-btn:hover,
html[data-theme="dark"] .content-wrapper .pm-header .pm-period-btn:hover {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--brand-800, #085f6d) !important;
}

html[data-theme="dark"] .content-wrapper .btn-secondary,
html[data-theme="dark"] .content-wrapper .btn-outline-secondary {
    background: transparent !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .content-wrapper .btn-secondary:hover,
html[data-theme="dark"] .content-wrapper .btn-outline-secondary:hover {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .content-wrapper .btn-default {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

/* --- Alerts, list-group, input-group, select2 --- */
html[data-theme="dark"] .alert {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .alert-info {
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .alert-warning {
    background: rgba(251, 191, 36, .12) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .alert-success {
    background: rgba(52, 211, 153, .12) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .alert-danger {
    background: rgba(248, 113, 113, .12) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .list-group-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .list-group-item.active {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .input-group-text {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--single,
html[data-theme="dark"] .select2-container--default .select2-selection--multiple,
html[data-theme="dark"] .select2-dropdown,
html[data-theme="dark"] .select2-container--default .select2-dropdown,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-selection--single,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-selection--multiple,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-dropdown {
    background: var(--sm-surface-2) !important;
    background-color: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
html[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-selection__rendered {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder,
html[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--sm-text-soft) transparent transparent transparent !important;
}

html[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--sm-text-soft) transparent !important;
}

html[data-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-search--dropdown .select2-search__field,
html[data-theme="dark"] .select2-search--dropdown .select2-search__field {
    background: var(--sm-surface) !important;
    background-color: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-results__option,
html[data-theme="dark"] .select2-results__option {
    color: var(--sm-text) !important;
    background-color: transparent !important;
}

html[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"],
html[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected=true] {
    background: rgba(18, 175, 200, 0.16) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
html[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected="true"],
html[data-theme="dark"] .select2-container--bootstrap4 .select2-results__option--highlighted {
    background: var(--brand-700) !important;
    color: #fff !important;
}

html[data-theme="dark"] .select2-container--default .select2-results__option[aria-disabled="true"] {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: rgba(18, 175, 200, 0.18) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--sm-text-soft) !important;
}

/* Native select */
html[data-theme="dark"] select,
html[data-theme="dark"] select.form-control,
html[data-theme="dark"] select.form-control-sm,
html[data-theme="dark"] .custom-select {
    background-color: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
    color-scheme: dark;
}

html[data-theme="dark"] select:focus,
html[data-theme="dark"] select.form-control:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup {
    background-color: var(--sm-surface-2);
    color: var(--sm-text);
}

/* --- SweetAlert2 --- */
html[data-theme="dark"] .swal2-popup,
html[data-theme="dark"] .sc-swal-popup,
html[data-theme="dark"] .ss-swal-popup {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .swal2-title,
html[data-theme="dark"] .sc-swal-title,
html[data-theme="dark"] .ss-swal-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .swal2-html-container,
html[data-theme="dark"] .sc-swal-html,
html[data-theme="dark"] .ss-swal-html,
html[data-theme="dark"] .ss-swal-hint {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ss-swal-school-card,
html[data-theme="dark"] .ss-swal-criteria-card {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ss-swal-school-name,
html[data-theme="dark"] .ss-swal-criteria-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ss-swal-school-address,
html[data-theme="dark"] .ss-swal-criteria-item {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ss-swal-error-box {
    background: rgba(220, 38, 38, 0.14) !important;
    border-color: rgba(248, 113, 113, 0.35) !important;
}

html[data-theme="dark"] .ss-swal-error-box > span {
    color: #fecaca !important;
}

html[data-theme="dark"] .ss-swal-error-box > i {
    color: #f87171 !important;
}

html[data-theme="dark"] .ss-swal-info-box {
    background: rgba(18, 175, 200, 0.12) !important;
    border-color: rgba(94, 200, 216, 0.3) !important;
}

html[data-theme="dark"] .ss-swal-info-box > span {
    color: #cfe8ec !important;
}

html[data-theme="dark"] .ss-swal-obs-box {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(245, 158, 11, 0.35) !important;
    color: #fde68a !important;
}

html[data-theme="dark"] .ss-swal-cancel {
    background: transparent !important;
    color: #cfe8ec !important;
    border-color: rgba(94, 200, 216, 0.35) !important;
}

/* --- Modal alterar avatar (footer.php) --- */
html[data-theme="dark"] .portal-av-modal__header {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 65%, var(--brand-700) 100%) !important;
}

html[data-theme="dark"] .portal-av-modal__content {
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] #myModalChangeAvatar .modal-body,
html[data-theme="dark"] .portal-av-modal__body {
    background: var(--sm-bg) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #portal-av-dropzone,
html[data-theme="dark"] .portal-av-dropzone {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .portal-av-dropzone--dragover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] #portal-av-dropzone p,
html[data-theme="dark"] #portal-av-dropzone i,
html[data-theme="dark"] .portal-av-dropzone-title,
html[data-theme="dark"] .portal-av-dropzone-hint {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] #portal-av-dropzone i.fa-upload,
html[data-theme="dark"] .portal-av-dropzone-icon {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] #myModalChangeAvatar .modal-footer,
html[data-theme="dark"] .portal-av-modal__footer {
    background: var(--sm-surface) !important;
    border-top-color: var(--sm-border) !important;
}

html[data-theme="dark"] #myModalChangeAvatar .modal-footer .btn-default,
html[data-theme="dark"] .portal-av-btn-cancel {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #myModalChangeAvatar .modal-footer .btn-default:hover,
html[data-theme="dark"] #myModalChangeAvatar .modal-footer .btn-default:focus,
html[data-theme="dark"] .portal-av-btn-cancel:hover,
html[data-theme="dark"] .portal-av-btn-cancel:focus {
    background: var(--sm-bg) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #portal-av-btn-remove,
html[data-theme="dark"] .portal-av-btn-remove {
    color: #f87171 !important;
}

html[data-theme="dark"] #portal-av-crop-wrap p,
html[data-theme="dark"] #portal-av-current-wrap > p,
html[data-theme="dark"] .portal-av-current-label,
html[data-theme="dark"] .portal-av-preview-label,
html[data-theme="dark"] .portal-av-crop-tips {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] #portal-av-btn-trocar,
html[data-theme="dark"] .portal-av-btn-trocar {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] #portal-av-preview,
html[data-theme="dark"] .portal-av-preview {
    background: var(--sm-surface-2) !important;
    border-color: rgba(64, 200, 219, 0.35) !important;
}

html[data-theme="dark"] .portal-av-crop-tips i {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .portal-av-current-badge {
    background: var(--brand-700) !important;
}

/* --- Calendário de cursos (cal-*) + FullCalendar legado --- */
html[data-theme="dark"] .lc-search-bar.cal-search-bar {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cal-nav-bar,
html[data-theme="dark"] .cal-nav-bar.cal-nav-bar--inline {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cal-nav-btn {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-nav-btn:hover {
    background: rgba(255, 255, 255, .06) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

html[data-theme] a.cal-nav-btn.cal-nav-today,
html[data-theme] a.cal-nav-btn.cal-nav-today:hover,
html[data-theme] a.cal-nav-btn.cal-nav-today:focus,
html[data-theme] a.cal-nav-btn.cal-nav-today i {
    color: #fff !important;
}

html[data-theme="dark"] .cal-nav-today {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
    color: #fff !important;
}

html[data-theme="dark"] .cal-nav-label,
html[data-theme="dark"] .cal-nav-bar--inline .cal-nav-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-select {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-clear-link {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-clear-link:hover {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-wrapper {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cal-header-row {
    background: linear-gradient(135deg, var(--brand-900), var(--brand-800)) !important;
}

html[data-theme="dark"] .cal-day {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cal-day:hover {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .cal-day--empty {
    background: var(--sm-bg) !important;
}

html[data-theme="dark"] .cal-day--today {
    background: rgba(18, 175, 200, .12) !important;
}

html[data-theme="dark"] .cal-day--today:hover {
    background: rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .cal-day-num {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-day-num--today {
    background: var(--brand-600) !important;
    color: #fff !important;
}

html[data-theme="dark"] .cal-event--available {
    background: rgba(18, 175, 200, .15) !important;
    border-left-color: var(--brand-500) !important;
}

html[data-theme="dark"] .cal-event--available .cal-event-name {
    color: #7dd3fc !important;
}

html[data-theme="dark"] .cal-event--enrolled {
    background: rgba(72, 187, 120, .15) !important;
    border-left-color: #48bb78 !important;
}

html[data-theme="dark"] .cal-event--enrolled .cal-event-name {
    color: #9ae6b4 !important;
}

html[data-theme="dark"] .cal-event-badge--start {
    background: rgba(52, 211, 153, .2) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .cal-event-badge--end {
    background: rgba(251, 191, 36, .2) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .cal-empty-footer {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cal-empty-footer-text strong {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-empty-footer-text span {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-empty-footer-btn {
    background: var(--sm-surface) !important;
    border-color: rgba(18, 175, 200, .35) !important;
    color: var(--brand-400, #5eead4) !important;
}

html[data-theme="dark"] .cal-empty-footer-btn:hover {
    background: rgba(18, 175, 200, .12) !important;
    border-color: var(--brand-500) !important;
    color: #fff !important;
}

html[data-theme="dark"] .cal-day-view-header {
    background: linear-gradient(135deg, var(--brand-900), var(--brand-800)) !important;
}

html[data-theme="dark"] .cal-legend {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cal-legend-title,
html[data-theme="dark"] .cal-legend-item {
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cal-day-view-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-day-view-item:hover {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .cal-dvi-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cal-dvi-meta {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-dvi-go {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-day-view-empty strong {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cal-day-view-empty span {
    color: var(--sm-text-soft) !important;
}

/* FullCalendar (legado) */
html[data-theme="dark"] .fc-theme-standard .fc-scrollgrid,
html[data-theme="dark"] .fc-theme-standard td,
html[data-theme="dark"] .fc-theme-standard th {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .fc .fc-col-header-cell-cushion,
html[data-theme="dark"] .fc .fc-daygrid-day-number {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .fc .fc-button-primary {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .fc .fc-button-primary:not(:disabled).fc-button-active,
html[data-theme="dark"] .fc .fc-button-primary:not(:disabled):active {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
    color: #fff !important;
}

/* --- Meus dados (profile) --- */
html[data-theme] .mydata-profile-header {
    background: var(--pm-gradient-primary) !important;
    box-shadow: var(--pm-shadow-primary, 0 4px 20px rgba(6, 62, 72, .18)) !important;
}

html[data-theme="dark"] .mydata-profile-header {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-800) 65%, var(--brand-700) 100%) !important;
}

html[data-theme="dark"] .mydata-form-card,
html[data-theme="dark"] .mydata-section-card,
html[data-theme="dark"] .mydata-section {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mydata-section-title,
html[data-theme="dark"] .mydata-form-card label,
html[data-theme="dark"] .mydata-section .form-group label {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-section-title i {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .mydata-section .form-control,
html[data-theme="dark"] .photo-dropzone {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

/* Select2 bootstrap4 — perfil (Meus Dados) */
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection--single,
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection--multiple {
    background-color: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection__rendered,
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection__choice__display {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-search--inline .select2-search__field {
    background: transparent !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection__placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
    border-color: var(--sm-text-soft, #9fb9bf) transparent transparent transparent !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--sm-text-soft, #9fb9bf) transparent !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4.select2-container--focus .select2-selection--single,
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4.select2-container--focus .select2-selection--multiple,
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4.select2-container--open .select2-selection--single,
html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4.select2-container--open .select2-selection--multiple {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 2px rgba(18, 175, 200, .22) !important;
}

html[data-theme="dark"] .gw-profile-page .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
    background: var(--brand-700) !important;
    border-color: var(--brand-800) !important;
    color: #fff !important;
}

html[data-theme="dark"] .gw-profile-page .select2-selection__choice[title*="🔒"] {
    background: rgba(159, 185, 191, .18) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .35) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-search--dropdown .select2-search__field {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-results__option {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-results__option--highlighted,
html[data-theme="dark"] .select2-container--bootstrap4 .select2-dropdown.sm-profile-select2-dropdown .select2-results__option--highlighted {
    background: rgba(18, 175, 200, .2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-results__option[aria-selected="true"],
html[data-theme="dark"] .select2-container--bootstrap4 .select2-dropdown.sm-profile-select2-dropdown .select2-results__option[aria-selected="true"] {
    background: rgba(18, 175, 200, .1) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-results__option:has([data-locked="true"]),
html[data-theme="dark"] .select2-dropdown.sm-profile-select2-dropdown .select2-results__option:has([data-locked="true"]):hover {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

/* Legado: selects fora do escopo gw-profile-page */
html[data-theme="dark"] .select2-container:not(.select2-modal-specific) .select2-selection--single,
html[data-theme="dark"] .select2-container:not(.select2-modal-specific) .select2-selection--multiple {
    background-color: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .select2-container:not(.select2-modal-specific) .select2-selection__rendered {
    color: var(--sm-text) !important;
}

/* Modal Deficiências + Programas Sociais (profile) */
html[data-theme="dark"] #modalDeficiencias .sm-deficiency-flag-box,
html[data-theme="dark"] #modalProgramasSociais .sm-deficiency-flag-box {
    background: rgba(18, 175, 200, .08) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] #modalDeficiencias .sm-deficiency-flag-label,
html[data-theme="dark"] #modalProgramasSociais .sm-deficiency-flag-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #modalDeficiencias .sm-deficiency-field-label,
html[data-theme="dark"] #modalProgramasSociais .sm-profile-modal-help {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] #modalProgramasSociais .sm-profile-modal-option-box {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] #modalProgramasSociais .sm-profile-modal-option-box:hover {
    border-color: rgba(18, 175, 200, .35) !important;
    background: rgba(18, 175, 200, .06) !important;
}

html[data-theme="dark"] #modalProgramasSociais .sm-profile-modal-option-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #modalProgramasSociais .sm-profile-modal-option-meta {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] #modalDeficiencias .modal-footer .btn[data-dismiss="modal"],
html[data-theme="dark"] #modalProgramasSociais .modal-footer .btn[data-dismiss="modal"] {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] #modalDeficiencias #autismLevel.form-control {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] #modalDeficiencias #DivAutismLevel .mydata-section {
    background: rgba(245, 158, 11, .1) !important;
    border-color: rgba(245, 158, 11, .28) !important;
}

html[data-theme="dark"] #modalDeficiencias #DivAutismLevel label {
    color: #fcd34d !important;
}

html[data-theme="dark"] .select2-disabled-custom .select2-selection,
html[data-theme="dark"] .readonly-select2 + .select2-container .select2-selection,
html[data-theme="dark"] .readonly-select {
    background-color: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .photo-dropzone:hover {
    border-color: var(--brand-600) !important;
    background: rgba(18, 175, 200, .06) !important;
}

html[data-theme="dark"] .btn-avatar-main {
    background: rgba(99, 102, 241, .15) !important;
    color: #a5b4fc !important;
    border-color: rgba(99, 102, 241, .3) !important;
}

html[data-theme="dark"] .btn-avatar-view {
    background: rgba(52, 211, 153, .12) !important;
    color: #6ee7b7 !important;
    border-color: rgba(52, 211, 153, .3) !important;
}

html[data-theme="dark"] .btn-avatar-delete {
    background: rgba(248, 113, 113, .12) !important;
    color: #fca5a5 !important;
    border-color: rgba(248, 113, 113, .3) !important;
}

html[data-theme="dark"] .gw-profile-page .btn.mydata-modal-trigger,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-info,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-programasSociais,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-dadosSocioeconomicos,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-transtornos,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-alimentar,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-nae,
html[data-theme="dark"] .mydata-modal-trigger,
html[data-theme="dark"] .btn-modal-info,
html[data-theme="dark"] .btn-modal-programasSociais,
html[data-theme="dark"] .btn-modal-dadosSocioeconomicos,
html[data-theme="dark"] .btn-modal-transtornos,
html[data-theme="dark"] .btn-modal-alimentar,
html[data-theme="dark"] .btn-modal-nae {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .gw-profile-page .btn.mydata-modal-trigger:hover,
html[data-theme="dark"] .gw-profile-page .btn.mydata-modal-trigger:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-info:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-info:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-programasSociais:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-programasSociais:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-dadosSocioeconomicos:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-dadosSocioeconomicos:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-transtornos:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-transtornos:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-alimentar:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-alimentar:focus,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-nae:hover,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-nae:focus,
html[data-theme="dark"] .mydata-modal-trigger:hover,
html[data-theme="dark"] .mydata-modal-trigger:focus,
html[data-theme="dark"] .btn-modal-info:hover,
html[data-theme="dark"] .btn-modal-info:focus,
html[data-theme="dark"] .btn-modal-programasSociais:hover,
html[data-theme="dark"] .btn-modal-programasSociais:focus,
html[data-theme="dark"] .btn-modal-dadosSocioeconomicos:hover,
html[data-theme="dark"] .btn-modal-dadosSocioeconomicos:focus,
html[data-theme="dark"] .btn-modal-transtornos:hover,
html[data-theme="dark"] .btn-modal-transtornos:focus,
html[data-theme="dark"] .btn-modal-alimentar:hover,
html[data-theme="dark"] .btn-modal-alimentar:focus,
html[data-theme="dark"] .btn-modal-nae:hover,
html[data-theme="dark"] .btn-modal-nae:focus {
    background: color-mix(in srgb, var(--brand-700) 22%, var(--sm-surface-2)) !important;
    border-color: color-mix(in srgb, var(--brand-600) 45%, var(--sm-border)) !important;
    color: var(--sm-text) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .28) !important;
}

html[data-theme="dark"] .gw-profile-page .btn.mydata-modal-trigger > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-info > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-programasSociais > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-dadosSocioeconomicos > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-transtornos > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-alimentar > i,
html[data-theme="dark"] .gw-profile-page .btn.btn-modal-nae > i,
html[data-theme="dark"] .mydata-modal-trigger > i,
html[data-theme="dark"] .btn-modal-info > i,
html[data-theme="dark"] .btn-modal-programasSociais > i,
html[data-theme="dark"] .btn-modal-dadosSocioeconomicos > i,
html[data-theme="dark"] .btn-modal-transtornos > i,
html[data-theme="dark"] .btn-modal-alimentar > i,
html[data-theme="dark"] .btn-modal-nae > i,
html[data-theme="dark"] .mydata-modal-trigger__badge {
    color: var(--brand-500) !important;
}

html[data-theme="dark"] .mydata-profile-tabs {
    border-color: var(--sm-border) !important;
    background: var(--sm-surface) !important;
}

html[data-theme="dark"] .mydata-profile-tabs .nav-link {
    color: var(--sm-text-soft) !important;
    background: transparent !important;
    border-color: transparent !important;
}

html[data-theme="dark"] .mydata-profile-tabs .nav-link:hover:not(.active) {
    color: var(--sm-text) !important;
    background: rgba(18, 175, 200, .06) !important;
}

html[data-theme="dark"] .mydata-profile-tabs .nav-link.active,
html[data-theme="dark"] .mydata-profile-tabs .nav-link.active:hover,
html[data-theme="dark"] .mydata-profile-tabs .nav-link.active:focus {
    color: var(--sm-text) !important;
    background: rgba(18, 175, 200, .12) !important;
    background-image: none !important;
    border-bottom-color: var(--brand-500) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .mydata-tab-badge {
    background: rgba(18, 175, 200, .18) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .mydata-system-card {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-system-card__body h4,
html[data-theme="dark"] .mydata-access-card__heading h4,
html[data-theme="dark"] .mydata-access-table tbody td {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mydata-access-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-access-card__header {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-access-card__badge {
    background: rgba(18, 175, 200, .16) !important;
    color: var(--brand-300, #5ed4e6) !important;
}

html[data-theme="dark"] .mydata-access-level {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mydata-access-card .mydata-access-table thead th {
    background: transparent !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-access-table thead th {
    background: rgba(18, 175, 200, .08) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-access-card .mydata-access-table tbody td {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-access-card .mydata-access-table tbody tr:hover {
    background: rgba(18, 175, 200, .08) !important;
}

html[data-theme="dark"] .mydata-access-table td,
html[data-theme="dark"] .mydata-access-table th {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mydata-systems-intro p,
html[data-theme="dark"] .mydata-subsection-help,
html[data-theme="dark"] .mydata-empty-state {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .titleStyle {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

/* --- Fila virtual (queue settings) --- */
html[data-theme="dark"] .qs-card,
html[data-theme="dark"] .qs-stat,
html[data-theme="dark"] .qs-panel {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-card,
html[data-theme="dark"] .qs-wrapper .cs-card-header,
html[data-theme="dark"] .qs-wrapper .cs-card-body {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-card-header {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-card-header h4,
html[data-theme="dark"] .qs-wrapper .cs-field-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-field-desc,
html[data-theme="dark"] .qs-wrapper .cs-field-control .cs-suffix {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-field-row {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-field-control input[type="number"],
html[data-theme="dark"] .qs-wrapper .qs-textarea {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-toggle .cs-slider {
    background: var(--sm-border) !important;
}

html[data-theme="dark"] .qs-wrapper .cs-toggle input:checked + .cs-slider {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
}

html[data-theme="dark"] .qs-status-on {
    background: rgba(16, 185, 129, .14) !important;
    border-color: rgba(16, 185, 129, .35) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .qs-status-off {
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(239, 68, 68, .35) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .qs-saved-toast {
    background: rgba(16, 185, 129, .14) !important;
    border-color: rgba(16, 185, 129, .35) !important;
    color: #6ee7b7 !important;
}

/* --- Summernote (editor de aula / rich text AVA) --- */
html[data-theme="dark"] .content-wrapper .note-editor.note-frame,
html[data-theme="dark"] .content-wrapper .note-editor {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-toolbar {
    background: var(--sm-surface) !important;
    border-bottom-color: var(--sm-border) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-editing-area,
html[data-theme="dark"] .content-wrapper .note-editor .note-editable,
html[data-theme="dark"] .content-wrapper .note-editor .note-codable {
    background: var(--sm-surface-2) !important;
    background-color: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-statusbar {
    background: var(--sm-surface) !important;
    border-top-color: var(--sm-border) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-btn {
    background: transparent !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-btn:hover,
html[data-theme="dark"] .content-wrapper .note-editor .note-btn.active {
    background: rgba(18, 175, 200, 0.18) !important;
    color: var(--sm-text) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-dropdown-menu {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}
html[data-theme="dark"] .content-wrapper .note-editor .note-dropdown-menu > li > a,
html[data-theme="dark"] .content-wrapper .note-editor .dropdown-item {
    color: var(--sm-text) !important;
}

/* --- Callouts pga-modern (HTML de aula / páginas) — fundo claro nativo --- */
html[data-theme="dark"] .pm-callout,
html[data-theme="dark"] .content-wrapper .pm-callout {
    background: rgba(18, 175, 200, 0.12) !important;
    color: var(--sm-text, #e6f2f4) !important;
    border-left-color: #12afc8;
}
html[data-theme="dark"] .pm-callout.info,
html[data-theme="dark"] .content-wrapper .pm-callout.info {
    background: rgba(59, 130, 246, 0.16) !important;
    border-left-color: #60a5fa;
}
html[data-theme="dark"] .pm-callout.success,
html[data-theme="dark"] .content-wrapper .pm-callout.success {
    background: rgba(16, 185, 129, 0.16) !important;
    border-left-color: #34d399;
}
html[data-theme="dark"] .pm-callout.warning,
html[data-theme="dark"] .content-wrapper .pm-callout.warning {
    background: rgba(245, 158, 11, 0.16) !important;
    border-left-color: #fbbf24;
}
html[data-theme="dark"] .pm-callout.danger,
html[data-theme="dark"] .content-wrapper .pm-callout.danger {
    background: rgba(239, 68, 68, 0.16) !important;
    border-left-color: #f87171;
}
html[data-theme="dark"] .pm-callout p,
html[data-theme="dark"] .pm-callout strong,
html[data-theme="dark"] .pm-callout em,
html[data-theme="dark"] .pm-callout li,
html[data-theme="dark"] .content-wrapper .pm-callout p,
html[data-theme="dark"] .content-wrapper .pm-callout strong {
    color: var(--sm-text, #e6f2f4) !important;
}
html[data-theme="dark"] .pm-callout.info h5,
html[data-theme="dark"] .content-wrapper .pm-callout.info h5 {
    color: #93c5fd !important;
}
html[data-theme="dark"] .pm-callout.success h5 {
    color: #6ee7b7 !important;
}
html[data-theme="dark"] .pm-callout.warning h5 {
    color: #fcd34d !important;
}
html[data-theme="dark"] .pm-callout.danger h5 {
    color: #fca5a5 !important;
}

/* --- pre/code em rich text (editor Summernote + player) --- */
html[data-theme="dark"] .content-wrapper .note-editable pre,
html[data-theme="dark"] .content-wrapper .note-editable code,
html[data-theme="dark"] .content-wrapper .pli-text pre,
html[data-theme="dark"] .content-wrapper .pli-text code {
    background: #0a1f24 !important;
    color: #e6f2f4 !important;
    border-color: var(--sm-border, #1d4650);
}

/* --- Conteúdo Quill / rich text com fundo inline branco --- */
html[data-theme="dark"] .content-wrapper [style*="background-color: rgb(255, 255, 255)"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background-color:#fff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background-color: #fff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background-color:#ffffff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background-color: #ffffff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background:#fff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background: #fff"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background:white"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface),
html[data-theme="dark"] .content-wrapper [style*="background-color:white"]:not(.cert-tpl-root):not(.cert-tpl-sheet):not(.certificate-print-container):not(.cte-canvas):not(.cert-doc-surface) {
    background-color: var(--sm-surface) !important;
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

/* --- Taxonomia (renderTaxonomyManager) --- */
html[data-theme="dark"] .tx-tree-item,
html[data-theme="dark"] .tx-node-row {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .tx-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tx-empty i {
    color: var(--sm-border) !important;
}

/* ============================================================
   8) Dark mode — páginas com CSS inline / módulos específicos
   ============================================================ */

/* --- Edição de curso (ec-section e filhos) --- */
html[data-theme="dark"] .ec-section {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .ec-section-header {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ec-section-header h4,
html[data-theme="dark"] .ec-section-body label,
html[data-theme="dark"] .ec-form-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-form-control,
html[data-theme="dark"] .ec-section textarea.ec-form-control {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-form-control:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

/* Select2 bootstrap4 na edição de curso (tema real dos selects AVA) */
html[data-theme="dark"] .ec-section .select2-container--bootstrap4 .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--bootstrap4 .select2-selection--multiple,
html[data-theme="dark"] .ec-section .select2-container--default .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--default .select2-selection--multiple,
html[data-theme="dark"] #modalAddMinistrante .select2-container--default .select2-selection--single,
html[data-theme="dark"] #modalAddMinistrante .select2-container--bootstrap4 .select2-selection--single {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-section .select2-container--bootstrap4 .select2-selection__rendered,
html[data-theme="dark"] .ec-section .select2-container--default .select2-selection__rendered,
html[data-theme="dark"] .ec-section .select2-selection__rendered .ec-cat-option .ec-cat-name,
html[data-theme="dark"] #modalAddMinistrante .select2-container .select2-selection__rendered {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-section .select2-container--bootstrap4 .select2-selection__placeholder,
html[data-theme="dark"] .ec-section .select2-container--default .select2-selection__placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-section .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,
html[data-theme="dark"] .ec-section .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: rgba(18, 175, 200, .15) !important;
    border-color: rgba(18, 175, 200, .28) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .ec-section .select2-container--bootstrap4.select2-container--focus .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--bootstrap4.select2-container--open .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--bootstrap4.select2-container--focus .select2-selection--multiple,
html[data-theme="dark"] .ec-section .select2-container--default.select2-container--focus .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--default.select2-container--open .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .cs-main-tabs .nav-tabs,
html[data-theme="dark"] .ec-main-tabs .nav-tabs {
    background: var(--sm-surface-2) !important;
    border-radius: 10px !important;
    overflow: hidden;
    padding: 4px !important;
    gap: 4px;
}

/* Pickers modais — tipo de curso, setor, público-alvo (cp-trigger) */
html[data-theme="dark"] .cp-trigger {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cp-trigger:hover {
    border-color: #64748b !important;
}

html[data-theme="dark"] .cp-trigger:focus,
html[data-theme="dark"] .cp-trigger.cp-trigger-open {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .cp-trigger-empty .cp-trigger-text,
html[data-theme="dark"] .cp-trigger-placeholder-icon,
html[data-theme="dark"] .cp-trigger-caret {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cp-trigger-type .cp-type-name,
html[data-theme="dark"] .cp-sector-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cp-trigger-type .cp-type-modality,
html[data-theme="dark"] .cp-sector-alias,
html[data-theme="dark"] .cp-sector-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cp-chip {
    background: rgba(18, 175, 200, .15) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .cp-chip-more {
    background: var(--sm-surface) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-main-tabs .ec-tab-counter {
    background: rgba(255, 255, 255, .1) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-main-tabs .nav-link:hover:not(.active) .ec-tab-counter {
    background: rgba(255, 255, 255, .14) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-main-tabs .nav-link.active .ec-tab-counter {
    background: rgba(255, 255, 255, .22) !important;
    color: #fff !important;
}

html[data-theme="dark"] .ec-banner-wrap {
    background: linear-gradient(135deg, var(--brand-900) 0%, var(--brand-700) 55%, var(--brand-600) 100%) !important;
}

html[data-theme="dark"] .ec-empty-hint {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-continuous-toggle {
    background: rgba(245, 158, 11, .12) !important;
    border-color: rgba(251, 191, 36, .32) !important;
}

html[data-theme="dark"] .ec-continuous-toggle label {
    color: #fcd34d !important;
}

html[data-theme="dark"] .ec-continuous-toggle .ec-continuous-desc {
    color: rgba(252, 211, 77, .82) !important;
}

/* Modalidades permitidas (chips nc-mod-*) */
html[data-theme="dark"] .nc-mod-display {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .nc-mod-display-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .nc-mod-chip {
    border-color: transparent !important;
}

html[data-theme="dark"] .nc-mod-chip.online {
    background: rgba(99, 102, 241, 0.22) !important;
    color: #c7d2fe !important;
    border-color: rgba(129, 140, 248, 0.35) !important;
}

html[data-theme="dark"] .nc-mod-chip.inPerson {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #fcd34d !important;
    border-color: rgba(251, 191, 36, 0.35) !important;
}

html[data-theme="dark"] .nc-mod-chip.hibrid {
    background: rgba(6, 182, 212, 0.18) !important;
    color: #67e8f9 !important;
    border-color: rgba(34, 211, 238, 0.32) !important;
}

html[data-theme="dark"] .nc-mod-chip.eadTutoria {
    background: rgba(34, 197, 94, 0.18) !important;
    color: #86efac !important;
    border-color: rgba(74, 222, 128, 0.32) !important;
}

html[data-theme="dark"] .nc-mod-chip.eadSelf {
    background: rgba(192, 38, 211, 0.18) !important;
    color: #f0abfc !important;
    border-color: rgba(217, 70, 239, 0.32) !important;
}

html[data-theme="dark"] .nc-mod-chip i {
    color: inherit !important;
}

html[data-theme="dark"] .ec-enroll-btn,
html[data-theme="dark"] .ec-vacancy-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-enroll-btn:hover,
html[data-theme="dark"] .ec-vacancy-btn:hover,
html[data-theme="dark"] .ec-enroll-btn.active,
html[data-theme="dark"] .ec-vacancy-btn.active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .ec-profile-btn.active {
    border-color: rgba(251, 191, 36, 0.45) !important;
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .ec-mod-placeholder,
html[data-theme="dark"] .ec-block-placeholder,
html[data-theme="dark"] .nc-mod-display {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ec-mod-drag-handle:hover,
html[data-theme="dark"] .ec-block-drag-handle:hover {
    background: rgba(255, 255, 255, .06) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-ministrante-item,
html[data-theme="dark"] .ec-block-icon,
html[data-theme="dark"] .ec-block-position-badge {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-ministrante-item .ec-min-name,
html[data-theme="dark"] .ec-block-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-ministrante-item .ec-min-type,
html[data-theme="dark"] .ec-block-meta,
html[data-theme="dark"] .ec-meta-pill {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-meta-pill {
    background: rgba(255, 255, 255, .05) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ec-block-row {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ec-turmas-hint-box {
    background: rgba(52, 211, 153, .1) !important;
    border-color: rgba(52, 211, 153, .25) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .ec-turmas-hint-body p,
html[data-theme="dark"] .ec-turmas-hint-body strong {
    color: inherit !important;
}

html[data-theme="dark"] .ec-crop-container {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .ec-tab-switch {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .ec-tab-switch button {
    background: transparent !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-tab-switch button.active {
    background: var(--brand-700) !important;
    border-color: var(--brand-600) !important;
    color: #fff !important;
}

html[data-theme="dark"] .ec-icon-btn.edit {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-icon-btn.quiz {
    background: rgba(37, 99, 235, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .ec-icon-btn.del {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.28) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .ec-block-content-pill.lesson {
    background: rgba(37, 99, 235, 0.18) !important;
    color: #93c5fd !important;
    border-color: rgba(96, 165, 250, 0.28) !important;
}

html[data-theme="dark"] .ec-block-content-pill.quiz {
    background: rgba(109, 40, 217, 0.18) !important;
    color: #c4b5fd !important;
    border-color: rgba(167, 139, 250, 0.28) !important;
}

html[data-theme="dark"] .ec-block-content-pill.forum {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #6ee7b7 !important;
    border-color: rgba(52, 211, 153, 0.28) !important;
}

html[data-theme="dark"] .ec-block-content-pill.notice {
    background: rgba(251, 191, 36, .12) !important;
    color: #fcd34d !important;
    border-color: rgba(251, 191, 36, 0.28) !important;
}

html[data-theme="dark"] .ec-block-content-pill.is-empty,
html[data-theme="dark"] .ec-block-content-pill.empty {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ec-enroll-item,
html[data-theme="dark"] .ec-enroll-empty {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-enroll-empty strong,
html[data-theme="dark"] .ec-enroll-list-label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ec-enroll-turma-hint {
    background: rgba(251, 191, 36, .1) !important;
    color: #fcd34d !important;
    border-color: rgba(251, 191, 36, 0.28) !important;
}

html[data-theme="dark"] .ec-enroll-turma-hint-link {
    color: #fde68a !important;
}

html[data-theme="dark"] .ec-mod-pub-toggle .ec-mod-toggle-label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ec-field-error,
html[data-theme="dark"] .ec-form-control.ec-field-error,
html[data-theme="dark"] .ec-group-error {
    background-color: rgba(239, 68, 68, 0.1) !important;
}

html[data-theme="dark"] .ec-section .select2-error.select2-container--bootstrap4 .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-error.select2-container--bootstrap4 .select2-selection--multiple,
html[data-theme="dark"] .ec-section .select2-error.select2-container--default .select2-selection--single,
html[data-theme="dark"] .ec-section .select2-error.select2-container--default .select2-selection--multiple {
    background-color: rgba(239, 68, 68, 0.1) !important;
    border-color: #f87171 !important;
}

/* --- Ouvidoria --- */
html[data-theme="dark"] .ombudsman-tabs {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ombudsman-tabs-header {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ombudsman-tipos-banner {
    background: rgba(18, 175, 200, .1) !important;
    border-color: rgba(18, 175, 200, .25) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ombudsman-tipos-banner .ombudsman-tipos-title,
html[data-theme="dark"] .ombudsman-tipo-nome {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .ombudsman-tipos-list,
html[data-theme="dark"] .ombudsman-tipos-list li {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ombudsman-tabs-body {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li > a {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li > a:hover {
    color: var(--sm-text) !important;
    background: rgba(255, 255, 255, .04) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li.active > a,
html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li.active > a:hover,
html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li.active > a:focus {
    color: var(--brand-300) !important;
    border-bottom-color: var(--brand-500) !important;
}

html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li > a .count {
    background: rgba(255, 255, 255, .1) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .ombudsman-tabs .nav-tabs > li.active > a .count {
    background: var(--brand-700) !important;
    color: #fff !important;
}

html[data-theme="dark"] .ombudsman-search-bar .form-control,
html[data-theme="dark"] .ombudsman-per-page select {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ombudsman-per-page {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tableStyle thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tableStyle tbody tr:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .ombudsman-pagination .pag-btn {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ombudsman-pagination .pag-btn:hover {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .ombudsman-search-bar .input-group-text {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .timeline-content {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ombudsman-attachment-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

/* --- Suporte ao sistema (hub usuário + FAQ / manuais / dicas) --- */
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-card,
html[data-theme="dark"] .pm-support-view-module .pm-table-card.pm-sv-hub-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .pm-sv-hub-intro__title,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile__title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-sv-hub-intro__text,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile__text {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-sv-hub-tile,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--faq:hover,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--faq:focus {
    border-color: #fbbf24 !important;
    box-shadow: 0 12px 32px rgba(245, 158, 11, 0.22) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--manual:hover,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--manual:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 12px 32px rgba(59, 130, 246, 0.22) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--clue:hover,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--clue:focus {
    border-color: #4ade80 !important;
    box-shadow: 0 12px 32px rgba(34, 197, 94, 0.22) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--faq .pm-sv-hub-tile__cta {
    background: rgba(251, 191, 36, .12) !important;
    border-color: rgba(251, 191, 36, .35) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--manual .pm-sv-hub-tile__cta {
    background: rgba(59, 130, 246, .14) !important;
    border-color: rgba(59, 130, 246, .35) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--clue .pm-sv-hub-tile__cta {
    background: rgba(34, 197, 94, .12) !important;
    border-color: rgba(34, 197, 94, .35) !important;
    color: #86efac !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--faq:hover .pm-sv-hub-tile__cta,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--faq:focus .pm-sv-hub-tile__cta {
    background: #f59e0b !important;
    border-color: #f59e0b !important;
    color: #fff !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--manual:hover .pm-sv-hub-tile__cta,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--manual:focus .pm-sv-hub-tile__cta {
    background: #3b82f6 !important;
    border-color: #3b82f6 !important;
    color: #fff !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--clue:hover .pm-sv-hub-tile__cta,
html[data-theme="dark"] .pm-support-view-module .pm-sv-hub-tile--clue:focus .pm-sv-hub-tile__cta {
    background: #22c55e !important;
    border-color: #22c55e !important;
    color: #fff !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-content-card,
html[data-theme="dark"] .pm-support-view-module .pm-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-card > div:first-child {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-card h3 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-table-wrap {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-table-wrap .table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-manual-link {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-manual-link:hover,
html[data-theme="dark"] .pm-support-view-module .pm-sv-manual-link:focus {
    background: rgba(59, 130, 246, .12) !important;
    border-color: var(--brand-500) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-toggle {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-toggle:hover,
html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-toggle:focus,
html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-toggle[aria-expanded="true"] {
    background: rgba(18, 175, 200, .1) !important;
    color: var(--brand-300) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-accordion-body,
html[data-theme="dark"] .pm-support-view-module .pm-sv-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-support-view-module .pm-sv-empty {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-view-module .sv-empty-state,
html[data-theme="dark"] .pm-support-view-module .sv-empty-state p,
html[data-theme="dark"] .pm-support-view-module .sv-empty-state i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .support-accordion .accordion-item,
html[data-theme="dark"] .support-clue-accordion .clue-item {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-accordion .accordion-header,
html[data-theme="dark"] .support-clue-accordion .clue-header {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-accordion .accordion-header:hover,
html[data-theme="dark"] .support-clue-accordion .clue-header:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .support-accordion .accordion-header.active {
    background: rgba(99, 102, 241, .14) !important;
    border-bottom-color: var(--sm-border) !important;
    color: #a5b4fc !important;
}

html[data-theme="dark"] .support-accordion .accordion-header.active i.caret {
    color: #a5b4fc !important;
}

html[data-theme="dark"] .support-clue-accordion .clue-header.active {
    background: rgba(34, 197, 94, .12) !important;
    border-bottom-color: var(--sm-border) !important;
    color: #86efac !important;
}

html[data-theme="dark"] .support-clue-accordion .clue-header.active i.caret {
    color: #86efac !important;
}

html[data-theme="dark"] .support-accordion .accordion-header i.caret,
html[data-theme="dark"] .support-clue-accordion .clue-header i.caret {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .support-accordion .accordion-body,
html[data-theme="dark"] .support-clue-accordion .clue-body {
    color: var(--sm-text-soft) !important;
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .support-manual-list .manual-item {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-manual-list .manual-item:hover {
    border-color: var(--brand-500) !important;
    background: rgba(59, 130, 246, .1) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-manual-list .manual-info h4 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-manual-list .manual-info p {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-sup-table thead th,
html[data-theme="dark"] .support-table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-sup-table tbody tr:hover,
html[data-theme="dark"] .support-table tbody tr:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .support-table tbody td {
    color: var(--sm-text) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs-card,
html[data-theme="dark"] .pm-support-system-module .pm-table-card.pm-sup-tabs-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs {
    background: var(--sm-surface-2) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs > .nav-item > .nav-link {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs > .nav-item > .nav-link:hover,
html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs > .nav-item > .nav-link:focus {
    color: var(--sm-text) !important;
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs > .nav-item > .nav-link.active,
html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .nav-tabs > .nav-item.active > .nav-link.active {
    color: var(--brand-300) !important;
    border-bottom-color: var(--brand-500) !important;
    background: transparent !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tabs .tab-content {
    border-top-color: var(--sm-border) !important;
    background: var(--sm-surface) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tab-toolbar {
    border-bottom-color: var(--sm-border) !important;
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-tab-toolbar h3 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-table-wrap table.pm-sup-table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-table-wrap table.pm-sup-table tbody td {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-table-wrap table.pm-sup-table tbody tr:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-action-btn {
    background: rgba(59, 130, 246, .14) !important;
    border-color: rgba(59, 130, 246, .35) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-action-btn--danger,
html[data-theme="dark"] .support-table .btn-pm-delete {
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(239, 68, 68, .35) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .support-table .btn-pm-edit {
    background: rgba(99, 102, 241, .14) !important;
    border-color: rgba(99, 102, 241, .35) !important;
    color: #a5b4fc !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-manual-link {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-modal-footer,
html[data-theme="dark"] .support-modal .modal-footer {
    background: var(--sm-surface-2) !important;
    border-top-color: var(--sm-border) !important;
}

html[data-theme="dark"] .support-modal .modal-content {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .support-modal .modal-body label,
html[data-theme="dark"] .support-checkbox-wrap label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .support-modal .modal-body .form-control,
html[data-theme="dark"] .support-modal .modal-body textarea {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-flash--success {
    background: rgba(16, 185, 129, .14) !important;
    border-color: rgba(16, 185, 129, .35) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .pm-support-system-module .pm-sup-flash--danger {
    background: rgba(239, 68, 68, .14) !important;
    border-color: rgba(239, 68, 68, .35) !important;
    color: #fca5a5 !important;
}

/* --- Catálogo / seções auxiliares --- */
html[data-theme="dark"] .mcv-section {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .mcv-section-title {
    color: var(--sm-text-soft) !important;
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mcv-section .pm-empty {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .mcv-section .pm-empty i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .mcv-section .pm-empty h4 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .mcv-section .pm-empty p {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .pm-card.has-banner .pm-card-image:not([style*="background-image"]) {
    background: var(--sm-surface-2) !important;
}

/* --- Scrollbar (webkit) no dark mode --- */
html[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

html[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--sm-bg);
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--sm-border);
    border-radius: 4px;
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--brand-700);
}

/* ============================================================
   9) Dark mode — Administração AVA (dashboard, biblioteca,
      certificados, cadastros)
   ============================================================ */

/* --- Dashboard Gerencial (da-*) --- */
html[data-theme="dark"] .da-period-btn,
html[data-theme="dark"] .da-action-btn:not(.da-action-btn--primary) {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .da-period-btn:hover,
html[data-theme="dark"] .da-action-btn:not(.da-action-btn--primary):hover {
    background: var(--sm-surface-2) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .da-period-btn.is-active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .14) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .da-kpi,
html[data-theme="dark"] .da-card,
html[data-theme="dark"] .da-alert:not(.da-alert--danger):not(.da-alert--warning):not(.da-alert--info),
html[data-theme="dark"] .da-audit-card,
html[data-theme="dark"] .da-lib-stat {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
    box-shadow: var(--sm-shadow) !important;
}

/* printPages.css define fundo claro em todo tbody tr — corrigir no dark mode */
html[data-theme="dark"] .content-wrapper table tbody tr,
html[data-theme="dark"] .content-wrapper table tbody tr.odd {
    background: transparent !important;
}

html[data-theme="dark"] .content-wrapper table thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .da-table-wrap,
html[data-theme="dark"] .da-table {
    background: transparent !important;
}

html[data-theme="dark"] .da-table tbody tr,
html[data-theme="dark"] .da-table tbody tr.odd,
html[data-theme="dark"] .da-table tbody tr:nth-child(odd),
html[data-theme="dark"] .da-table tbody tr:nth-child(even) {
    background: transparent !important;
}

html[data-theme="dark"] .da-kpi h6,
html[data-theme="dark"] .da-kpi .sub,
html[data-theme="dark"] .da-kpi-lib-item,
html[data-theme="dark"] .da-course-table .da-progress-val,
html[data-theme="dark"] .da-audit-day,
html[data-theme="dark"] .da-audit-user,
html[data-theme="dark"] .da-audit-time,
html[data-theme="dark"] .da-empty,
html[data-theme="dark"] .da-loading,
html[data-theme="dark"] .da-lib-stat .l,
html[data-theme="dark"] .da-table td.da-muted {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .da-kpi .v,
html[data-theme="dark"] .da-card h4,
html[data-theme="dark"] .da-table td,
html[data-theme="dark"] .da-table td.da-title,
html[data-theme="dark"] .da-row,
html[data-theme="dark"] .da-audit-msg,
html[data-theme="dark"] .da-lib-stat .n {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .da-card h4 a,
html[data-theme="dark"] .da-table a {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .da-table th,
html[data-theme="dark"] .da-table thead th {
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .da-table td,
html[data-theme="dark"] .da-table tbody tr:hover {
    background: transparent !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .da-table tbody tr:hover td {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .da-table tbody tr:hover {
    background: transparent !important;
}

html[data-theme="dark"] .da-course-table .da-progress .bar,
html[data-theme="dark"] .da-row .bar {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .da-audit-entity {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .da-audit-group + .da-audit-group {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .da-audit-item:not(:last-child) .da-audit-avatar-wrap::after {
    background: linear-gradient(180deg, var(--sm-border) 0%, transparent 100%) !important;
}

html[data-theme="dark"] .da-audit-avatar {
    border-color: var(--sm-surface) !important;
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .da-badge--muted {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .da-badge--info {
    background: rgba(18, 175, 200, .18) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .da-badge--ok {
    background: var(--sm-tint-success-bg, rgba(16, 185, 129, 0.15)) !important;
    color: var(--sm-tint-success-text, #6ee7b7) !important;
}

html[data-theme="dark"] .da-badge--warn {
    background: var(--sm-tint-warning-bg, rgba(245, 158, 11, 0.15)) !important;
    color: var(--sm-tint-warning-text, #fcd34d) !important;
}

/* Alertas tonais: fundo pastel claro + texto herdado do card (--sm-text)
   ficava ilegível. Usar tints do casco (texto claro sobre fundo translúcido). */
html[data-theme="dark"] .da-alert--danger {
    background: var(--sm-tint-danger-bg, rgba(239, 68, 68, 0.15)) !important;
    border-color: var(--sm-tint-danger-border, rgba(239, 68, 68, 0.40)) !important;
    color: var(--sm-tint-danger-text, #fca5a5) !important;
}

html[data-theme="dark"] .da-alert--warning {
    background: var(--sm-tint-warning-bg, rgba(245, 158, 11, 0.15)) !important;
    border-color: var(--sm-tint-warning-border, rgba(245, 158, 11, 0.40)) !important;
    color: var(--sm-tint-warning-text, #fcd34d) !important;
}

html[data-theme="dark"] .da-alert--info {
    background: var(--sm-tint-info-bg, rgba(59, 130, 246, 0.15)) !important;
    border-color: var(--sm-tint-info-border, rgba(59, 130, 246, 0.40)) !important;
    color: var(--sm-tint-info-text, #93c5fd) !important;
}

html[data-theme="dark"] .da-alert--danger a,
html[data-theme="dark"] .da-alert--warning a,
html[data-theme="dark"] .da-alert--info a {
    color: inherit !important;
    opacity: 0.95;
}

html[data-theme="dark"] .da-alert--danger a:hover,
html[data-theme="dark"] .da-alert--warning a:hover,
html[data-theme="dark"] .da-alert--info a:hover {
    opacity: 1;
    text-decoration: underline !important;
}

/* --- Relatórios AVA / sistema (rp-*) --- */
html[data-theme="dark"] .rp-card,
html[data-theme="dark"] .rp-filter-card,
html[data-theme="dark"] .rp-alert-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .rp-card h4,
html[data-theme="dark"] .rp-report-name,
html[data-theme="dark"] .rp-grd-print-title-text {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .rp-card p,
html[data-theme="dark"] .rp-report-desc,
html[data-theme="dark"] .rp-card-title {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .rp-card:hover,
html[data-theme="dark"] .rp-report-item:hover {
    border-color: var(--brand-600) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .25) !important;
}

html[data-theme="dark"] .rp-card-title {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .rp-report-item {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .rp-report-item:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .rp-report-icon {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .rp-table th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .rp-table td {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .rp-header {
    background: linear-gradient(135deg, var(--brand-900), var(--brand-700)) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .grd-view-rp .table-responsive.rp-grd-table-shell {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .grd-view-rp table.grdTable thead th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .rp-empty {
    background: rgba(251, 191, 36, .12) !important;
    border-color: rgba(251, 191, 36, .35) !important;
    color: #fcd34d !important;
}

/* --- Biblioteca admin (lib-toolbar, lib-pill, lib-empty) --- */
html[data-theme="dark"] .lib-toolbar-wrap,
html[data-theme="dark"] .lib-empty,
html[data-theme="dark"] .lib-media-card,
html[data-theme="dark"] .lib-cover-inherit-preview,
html[data-theme="dark"] .lib-pl-empty {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .lib-filter-pills {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lib-pill {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-pill:hover {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lib-pill.active {
    background: var(--sm-surface) !important;
    color: var(--brand-300) !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25) !important;
}

html[data-theme="dark"] .lib-search input {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lib-search input::placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-search i,
html[data-theme="dark"] .lib-empty i {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-kind-opt {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lib-kind-opt i,
html[data-theme="dark"] .lib-kind-opt span {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lib-kind-opt.active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .12) !important;
}

html[data-theme="dark"] .lib-kind-opt.active i,
html[data-theme="dark"] .lib-kind-opt.active span {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lib-drop,
html[data-theme="dark"] .lib-add-box,
html[data-theme="dark"] .lcat-preview {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lib-drop-title,
html[data-theme="dark"] .lib-media-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lib-drop-hint,
html[data-theme="dark"] .lib-media-sub,
html[data-theme="dark"] .lib-form-label {
    color: var(--sm-text-soft) !important;
}

/* --- Categorias da biblioteca (lcat-*) --- */
html[data-theme="dark"] .lcat-card,
html[data-theme="dark"] .lcat-section,
html[data-theme="dark"] .lcat-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .lcat-section-head {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lcat-section-title,
html[data-theme="dark"] .lcat-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lcat-section-count {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lcat-section-empty,
html[data-theme="dark"] .lcat-empty,
html[data-theme="dark"] .lcat-drag {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lcat-kind-pill {
    background: rgba(18, 175, 200, .14) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lcat-item:hover {
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .lcat-icon-grid,
html[data-theme="dark"] .lcat-kind-opt {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lcat-kind-opt.active,
html[data-theme="dark"] .lcat-icon-opt.active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .12) !important;
    color: var(--brand-300) !important;
}

/* --- Playlists (plm-*, pl-ep-*) --- */
html[data-theme="dark"] .plm-card,
html[data-theme="dark"] .pl-ep-item,
html[data-theme="dark"] .pl-add-row {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .plm-cover,
html[data-theme="dark"] .pl-ep-thumb,
html[data-theme="dark"] .pl-add-box {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .plm-title,
html[data-theme="dark"] .pl-ep-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .plm-count {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .plm-btn,
html[data-theme="dark"] .plm-drag,
html[data-theme="dark"] .pl-ep-sub,
html[data-theme="dark"] .pl-ep-empty,
html[data-theme="dark"] .plm-empty,
html[data-theme="dark"] .pl-ep-handle {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .plm-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .plm-btn:hover,
html[data-theme="dark"] .pl-add-row:hover {
    background: rgba(18, 175, 200, .1) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .pl-ep-section {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .pl-ep-head h6,
html[data-theme="dark"] .pl-form-label {
    color: var(--sm-text) !important;
}

/* --- Certificados hub (cm-*) --- */
html[data-theme="dark"] .cm-main-tabs .cm-tabs-bar {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cm-main-tabs .nav-tabs {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .cm-main-tabs .nav-link {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cm-main-tabs .nav-link:hover:not(.active) {
    color: var(--sm-text) !important;
    background: rgba(255, 255, 255, .06) !important;
}

html[data-theme="dark"] .cm-main-tabs .nav-link.active {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(8, 95, 109, .35) !important;
}

html[data-theme="dark"] .cm-main-tabs .nav-link.active i {
    color: #fff !important;
}

/* --- Chamadas — listagem (lac-*) --- */
html[data-theme="dark"] .lac-search {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .lac-search input[type="text"] {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lac-search input[type="text"]:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .lac-search input[type="text"]::placeholder {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lac-mine {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lac-clear {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lac-clear:hover {
    background: rgba(18, 175, 200, .12) !important;
    border-color: var(--brand-600) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lac-course,
html[data-theme="dark"] .lac-empty {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lac-course-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .lac-course-meta,
html[data-theme="dark"] .lac-teachers,
html[data-theme="dark"] .lac-act-info {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lac-teacher-chip {
    background: rgba(18, 175, 200, .12) !important;
    border-color: rgba(18, 175, 200, .28) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lac-badge.total {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .lac-badge.pending {
    background: rgba(251, 191, 36, .15) !important;
    color: #fbbf24 !important;
}

html[data-theme="dark"] .lac-badge.ok {
    background: rgba(52, 211, 153, .15) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .lac-act {
    background: rgba(18, 175, 200, .06) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lac-act-name {
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .lac-act-teachers {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] a.lac-btn,
html[data-theme="dark"] a.lac-btn:hover {
    color: #fff !important;
}

/* --- Chamadas — registro (att-*) --- */
html[data-theme="dark"] .att-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .att-card h3,
html[data-theme="dark"] .att-modal-head h4,
html[data-theme="dark"] .att-form-label,
html[data-theme="dark"] .att-toggle-row,
html[data-theme="dark"] .att-legend-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .att-session-title,
html[data-theme="dark"] .att-table tbody td {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .att-session-meta,
html[data-theme="dark"] .att-roster-info,
html[data-theme="dark"] .att-empty,
html[data-theme="dark"] .att-legend,
html[data-theme="dark"] .att-qr-note,
html[data-theme="dark"] .att-sess-group {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .att-input,
html[data-theme="dark"] .att-select,
html[data-theme="dark"] .att-obs-input {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .att-input:focus,
html[data-theme="dark"] .att-select:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .att-session-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-session-item:hover {
    border-color: var(--brand-600) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2) !important;
}

html[data-theme="dark"] .att-session-item.is-active {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

html[data-theme="dark"] .att-session-item.is-future {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .att-icon-btn,
html[data-theme="dark"] .att-mini-btn,
html[data-theme="dark"] .att-status-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .att-icon-btn:hover,
html[data-theme="dark"] .att-mini-btn:hover,
html[data-theme="dark"] .att-status-btn:hover {
    background: var(--sm-surface) !important;
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .att-table {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-table th,
html[data-theme="dark"] .att-table td {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-table thead th {
    background: rgba(18, 175, 200, .1) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .att-table tbody tr:hover {
    background: rgba(18, 175, 200, .06) !important;
}

html[data-theme="dark"] .att-modal {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-modal-head {
    border-bottom-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-modal-close {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .att-modal-close:hover {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .att-print-frame {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .att-qr-url {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .att-future-note {
    background: rgba(251, 191, 36, .12) !important;
    border-color: rgba(251, 191, 36, .28) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .att-roster-readonly .att-obs-input {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .att-sess-group {
    border-top-color: var(--sm-border) !important;
}

/* --- Modelos de certificado (cert-tpl-*) --- */
html[data-theme="dark"] .cert-tpl-card-wrapper,
html[data-theme="dark"] .cert-tpl-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cert-tpl-card-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cert-tpl-card-desc,
html[data-theme="dark"] .cert-tpl-card-meta,
html[data-theme="dark"] .cert-tpl-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cert-tpl-card-meta i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .cert-tpl-card:hover {
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .cert-tpl-status-active {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .cert-tpl-status-inactive {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .cert-tpl-empty i {
    color: var(--sm-border) !important;
}

html[data-theme="dark"] .cert-tpl-btn-delete {
    background: rgba(248, 113, 113, .12) !important;
    border-color: rgba(248, 113, 113, .3) !important;
    color: #fca5a5 !important;
}

/* Modal preview / edição — chrome do tema (não o documento) */
html[data-theme="dark"] .cert-tpl-modal-overlay {
    background: rgba(0, 0, 0, .65) !important;
}

html[data-theme="dark"] .cert-tpl-modal {
    background: var(--sm-surface) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cert-tpl-modal-header {
    background: var(--pm-gradient-primary, linear-gradient(135deg, var(--brand-600), var(--brand-800))) !important;
    color: #fff !important;
}

html[data-theme="dark"] .cert-tpl-modal-body:not(.cert-preview-modal-body) {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cert-preview-modal-body {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .cert-tpl-modal-footer {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cert-tpl-form-group label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cert-tpl-form-group input,
html[data-theme="dark"] .cert-tpl-form-group textarea,
html[data-theme="dark"] .cert-tpl-form-group select {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cert-tpl-btn-edit,
html[data-theme] .cert-tpl-btn-edit {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border: none !important;
}

html[data-theme="dark"] .cert-tpl-btn-edit:hover,
html[data-theme] .cert-tpl-btn-edit:hover {
    background: linear-gradient(135deg, var(--brand-700), var(--brand-900)) !important;
}

html[data-theme="dark"] .cert-tpl-btn-cancel,
html[data-theme="dark"] .cert-tpl-modal-footer button:not(.cert-tpl-btn-edit):not(.cert-tpl-btn-delete) {
    background: var(--sm-surface-2) !important;
    border: 1px solid var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cert-preview-nav {
    background: var(--sm-surface) !important;
    color: var(--brand-300) !important;
    border: 1px solid var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cert-preview-nav:hover:not(:disabled) {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
    border-color: transparent !important;
}

html[data-theme="dark"] .cert-preview-side-badge {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cert-preview-counter {
    color: var(--sm-text-soft) !important;
}

/*
 * Ilha do documento — preview/impressão do certificado.
 * Sempre fundo claro + tipografia do modelo (não herda dark mode).
 */
html[data-theme] .cert-doc-surface.cte-canvas,
html[data-theme] .cert-doc-surface .cert-tpl-root,
html[data-theme] .cert-doc-surface .cert-tpl-sheet,
html[data-theme] .cert-doc-surface .certificate-print-container {
    background-color: #fff !important;
    color: #1a202c !important;
}

html[data-theme="dark"] .cert-doc-surface h1,
html[data-theme="dark"] .cert-doc-surface h2,
html[data-theme="dark"] .cert-doc-surface h3,
html[data-theme="dark"] .cert-doc-surface h4,
html[data-theme="dark"] .cert-doc-surface h5,
html[data-theme="dark"] .cert-doc-surface h6,
html[data-theme="dark"] .cert-doc-surface p,
html[data-theme="dark"] .cert-doc-surface span,
html[data-theme="dark"] .cert-doc-surface div,
html[data-theme="dark"] .cert-doc-surface td,
html[data-theme="dark"] .cert-doc-surface th,
html[data-theme="dark"] .cert-doc-surface li,
html[data-theme="dark"] .cert-doc-surface label {
    color: unset !important;
}

/* Editor visual — chrome escuro, canvas branco */
html[data-theme="dark"] .cte-page {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cte-topbar,
html[data-theme="dark"] .cte-sidebar,
html[data-theme="dark"] .cte-sidebar-right {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cte-side-bar {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cte-topbar-back {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-topbar-back:hover {
    background: var(--sm-bg) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cte-topbar-title input,
html[data-theme="dark"] .cte-props input,
html[data-theme="dark"] .cte-props select,
html[data-theme="dark"] .cte-props textarea,
html[data-theme="dark"] .cte-sidebar .form-control {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cte-sidebar h5,
html[data-theme="dark"] .cte-props label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-tool-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cte-tool-btn:hover {
    border-color: var(--brand-600) !important;
    background: rgba(18, 175, 200, .08) !important;
}

html[data-theme="dark"] .cte-tool-btn i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .cte-side-tab {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-side-tab.active,
html[data-theme] .cte-side-tab.active {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    border-color: transparent !important;
    color: #fff !important;
}

html[data-theme="dark"] .cte-btn-primary,
html[data-theme] .cte-btn-primary {
    background: linear-gradient(135deg, var(--brand-600), var(--brand-800)) !important;
    color: #fff !important;
}

html[data-theme="dark"] .cte-btn-secondary {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-dropzone {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-dropzone:hover,
html[data-theme="dark"] .cte-dropzone.dragover {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .08) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .cte-layer-item {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cte-layer-item:hover {
    background: rgba(255, 255, 255, .04) !important;
}

html[data-theme="dark"] .cte-layer-item.selected {
    background: rgba(18, 175, 200, .12) !important;
    border-color: var(--brand-600) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .cte-props-empty,
html[data-theme="dark"] .cte-vars-help {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-vars-help code {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cte-canvas-wrap {
    background-color: #64748b !important;
    background-image:
        linear-gradient(45deg, #475569 25%, transparent 25%),
        linear-gradient(-45deg, #475569 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #475569 75%),
        linear-gradient(-45deg, transparent 75%, #475569 75%) !important;
}

html[data-theme="dark"] .cte-el-variable {
    background: rgba(15, 156, 179, .1) !important;
    border-color: var(--brand-500) !important;
    color: var(--brand-800) !important;
}

/* --- Certificados ministrantes (tc-*) --- */
html[data-theme="dark"] .tc-table th {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tc-table td {
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tc-empty {
    color: var(--sm-text-soft) !important;
}

/* --- Cadastros: Tipos de curso (cat-row, cat-pill) --- */
html[data-theme="dark"] .cat-row {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cat-row:hover {
    border-color: var(--brand-600) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2) !important;
}

html[data-theme="dark"] .cat-row-title {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cat-row-handle,
html[data-theme="dark"] .cat-row-icon {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-row-icon {
    background: rgba(18, 175, 200, .12) !important;
}

html[data-theme="dark"] .cat-pill {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-mod-chip {
    border-color: transparent !important;
}

html[data-theme="dark"] .cat-mod-chip.cat-mod-online {
    background: rgba(99, 102, 241, 0.22) !important;
    color: #c7d2fe !important;
    border-color: rgba(129, 140, 248, 0.35) !important;
}

html[data-theme="dark"] .cat-mod-chip.cat-mod-inPerson {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #fcd34d !important;
    border-color: rgba(251, 191, 36, 0.35) !important;
}

html[data-theme="dark"] .cat-mod-chip.cat-mod-eadTutoria {
    background: rgba(34, 197, 94, 0.18) !important;
    color: #86efac !important;
    border-color: rgba(74, 222, 128, 0.32) !important;
}

html[data-theme="dark"] .cat-mod-chip.cat-mod-eadSelf {
    background: rgba(192, 38, 211, 0.18) !important;
    color: #f0abfc !important;
    border-color: rgba(217, 70, 239, 0.32) !important;
}

html[data-theme="dark"] .cat-mod-chip.cat-mod-hibrid {
    background: rgba(6, 182, 212, 0.18) !important;
    color: #67e8f9 !important;
    border-color: rgba(34, 211, 238, 0.32) !important;
}

html[data-theme="dark"] .cat-mod-chip i {
    color: inherit !important;
}

html[data-theme="dark"] .cat-badge-active {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .cat-badge-inactive {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .cat-row-position {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .cat-row-placeholder {
    background: rgba(18, 175, 200, .08) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .cat-mod-toggle {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cat-mod-toggle:hover,
html[data-theme="dark"] .cat-mod-toggle.active {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .1) !important;
    color: var(--brand-300) !important;
}

/* --- Cadastros: Taxonomia / Público-alvo (tx-row) --- */
html[data-theme="dark"] .tx-row {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tx-row:hover {
    border-color: var(--brand-600) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .18) !important;
}

html[data-theme="dark"] .tx-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .tx-name small,
html[data-theme="dark"] .tx-drag-handle {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tx-level {
    background: rgba(99, 102, 241, 0.22) !important;
    color: #c7d2fe !important;
    border: 1px solid rgba(129, 140, 248, 0.32) !important;
}

html[data-theme="dark"] .tx-badge-on {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .tx-badge-off {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .tx-children {
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tx-children.tx-drop-target {
    border-color: var(--brand-500) !important;
    background: rgba(18, 175, 200, .08) !important;
}

html[data-theme="dark"] .tx-node-placeholder {
    background: rgba(18, 175, 200, .08) !important;
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .tx-iconbtn {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tx-iconbtn:hover {
    border-color: var(--brand-600) !important;
    color: var(--sm-text) !important;
}

/* --- Cadastros: Locais (loc-*) --- */
html[data-theme="dark"] .loc-card,
html[data-theme="dark"] .loc-item {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .loc-item-name {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .loc-item-desc,
html[data-theme="dark"] .loc-item-addr,
html[data-theme="dark"] .loc-item-coords,
html[data-theme="dark"] .loc-empty,
html[data-theme="dark"] .loc-form-label {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .loc-item-addr i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .loc-item:hover {
    border-color: var(--brand-600) !important;
}

html[data-theme="dark"] .loc-empty i {
    color: var(--sm-border) !important;
}

/* --- Cadastros: Turmas (tm-*) --- */
html[data-theme="dark"] .tm-filter-bar,
html[data-theme="dark"] .tm-card,
html[data-theme="dark"] .tm-empty {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tm-status-btn,
html[data-theme="dark"] .tm-filter-select,
html[data-theme="dark"] .tm-search-input,
html[data-theme="dark"] .tm-icon-btn {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tm-status-btn:hover,
html[data-theme="dark"] .tm-search-clear:hover {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .tm-status-btn.active[data-value="1"] {
    border-color: #34d399 !important;
    background: rgba(52, 211, 153, .12) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .tm-status-btn.active[data-value="0"] {
    border-color: #f87171 !important;
    background: rgba(248, 113, 113, .12) !important;
    color: #fca5a5 !important;
}

html[data-theme="dark"] .tm-card-head,
html[data-theme="dark"] .tm-card-foot {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .tm-card-name,
html[data-theme="dark"] .tm-card-info-item strong,
html[data-theme="dark"] .tm-empty h5 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .tm-card-info,
html[data-theme="dark"] .tm-tab-header h4 {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .tm-card-info-item i,
html[data-theme="dark"] .tm-tab-header h4 i {
    color: var(--brand-400) !important;
}

html[data-theme="dark"] .tm-vagas-pill {
    background: rgba(18, 175, 200, .14) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .tm-icon-btn:hover {
    border-color: var(--brand-600) !important;
    color: var(--brand-300) !important;
    background: rgba(18, 175, 200, .1) !important;
}

html[data-theme="dark"] .tm-search-input:focus,
html[data-theme="dark"] .tm-filter-select:focus {
    border-color: var(--brand-500) !important;
    box-shadow: 0 0 0 3px rgba(18, 175, 200, .18) !important;
}

/* --- Cadastros: Bancos de questões (qb-*) --- */
html[data-theme="dark"] .qb-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .qb-bank-row {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .qb-bank-row h4 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qb-bank-row p,
html[data-theme="dark"] .qb-empty {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .qb-empty i {
    color: var(--sm-border) !important;
}

/* --- Correções (cor-*) --- */
html[data-theme="dark"] .cor-shell {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cor-card {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .cor-card:hover {
    border-color: var(--brand-600) !important;
    box-shadow: var(--sm-shadow) !important;
}

html[data-theme="dark"] .cor-card h4,
html[data-theme="dark"] .cor-empty h4 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .cor-empty,
html[data-theme="dark"] .cor-empty p {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .cor-empty i {
    color: var(--sm-border) !important;
}

html[data-theme="dark"] .cor-pill.tasks {
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fbbf24 !important;
}

html[data-theme="dark"] .cor-pill.essays {
    background: rgba(124, 58, 237, 0.18) !important;
    color: #c4b5fd !important;
}

html[data-theme="dark"] .qbi-row {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .qbi-row h5 {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .qbi-pill {
    background: var(--sm-surface) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .qbi-empty {
    color: var(--sm-text-soft) !important;
}

/* Cards do carrossel admin (Biblioteca com itens) */
html[data-theme="dark"] .lib-pa-card {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lib-pa-admin-foot {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .lib-carousel-nav button {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}


/* --- AdminLTE 2 (BS3): boxes / footer — satélites Helpdesk, OneGate, SISCON --- */
html[data-theme="dark"] .content-wrapper > .content > .box,
html[data-theme="dark"] .content-wrapper .box:not(.pm-table-card),
html[data-theme="dark"] .content-wrapper .box .box-body,
html[data-theme="dark"] .content-wrapper .box .box-footer {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

/* AdminLTE 2: .nav-tabs-custom > .tab-content { background:#fff } — superfície dark */
html[data-theme="dark"] .content-wrapper .nav-tabs-custom,
html[data-theme="dark"] .content-wrapper .nav-tabs-custom > .tab-content {
    background: var(--sm-surface) !important;
    background-color: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    box-shadow: none !important;
}

/* CKEditor 5 — área editável (header PGA força fundo claro) */
html[data-theme="dark"] .ck.ck-toolbar {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .ck.ck-toolbar .ck-button,
html[data-theme="dark"] .ck.ck-toolbar .ck-dropdown__button,
html[data-theme="dark"] .ck.ck-toolbar .ck-icon,
html[data-theme="dark"] .ck.ck-toolbar .ck-button__label {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ck.ck-toolbar .ck-button:not(.ck-disabled):hover,
html[data-theme="dark"] .ck.ck-toolbar .ck-button.ck-on {
    background: rgba(64, 200, 219, 0.16) !important;
    color: var(--brand-300, #40c8db) !important;
}

html[data-theme="dark"] .ck.ck-editor__main > .ck-editor__editable,
html[data-theme="dark"] .ck.ck-editor__editable_inline,
html[data-theme="dark"] .ck.ck-content,
html[data-theme="dark"] .ck-editor__editable_inline {
    background: var(--sm-surface-2) !important;
    background-color: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .ck.ck-editor__editable p,
html[data-theme="dark"] .ck.ck-content p,
html[data-theme="dark"] .ck.ck-editor__editable li,
html[data-theme="dark"] .ck.ck-content li {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .ck.ck-content table,
html[data-theme="dark"] .ck.ck-content table td,
html[data-theme="dark"] .ck.ck-content table th,
html[data-theme="dark"] .ck.ck-editor__editable table,
html[data-theme="dark"] .ck.ck-editor__editable table td,
html[data-theme="dark"] .ck.ck-editor__editable table th {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--sm-text) !important;
    border-color: rgba(159, 185, 191, 0.35) !important;
}

html[data-theme="dark"] .ck.ck-content a,
html[data-theme="dark"] .ck.ck-editor__editable a {
    color: var(--brand-300, #40c8db) !important;
}

html[data-theme="dark"] .content-wrapper .box > .box-header {
    background: var(--sm-surface-2) !important;
    border-bottom-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .content-wrapper .box > .box-header .box-title,
html[data-theme="dark"] .content-wrapper .box > .box-header > .fa,
html[data-theme="dark"] .content-wrapper .box > .box-header > .glyphicon,
html[data-theme="dark"] .content-wrapper .box > .box-header > .ion,
html[data-theme="dark"] .content-wrapper .box > .box-header > i {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .content-wrapper .box.box-solid > .box-header {
    background: var(--sm-surface-2) !important;
}

/* --- BS3: labels / badges — tons translúcidos legíveis no dark --- */
html[data-theme="dark"] .content-wrapper .badge,
html[data-theme="dark"] .content-wrapper .label-default {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border: 1px solid var(--sm-border);
}

html[data-theme="dark"] .content-wrapper .label-primary,
html[data-theme="dark"] .content-wrapper .badge.bg-light-blue {
    background: rgba(18, 175, 200, 0.18) !important;
    color: var(--brand-300) !important;
}

html[data-theme="dark"] .content-wrapper .label-success,
html[data-theme="dark"] .content-wrapper .badge.bg-green {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
}

html[data-theme="dark"] .content-wrapper .label-info,
html[data-theme="dark"] .content-wrapper .badge.bg-aqua {
    background: rgba(59, 130, 246, 0.18) !important;
    color: #93c5fd !important;
}

html[data-theme="dark"] .content-wrapper .label-warning,
html[data-theme="dark"] .content-wrapper .badge.bg-yellow {
    background: rgba(245, 158, 11, 0.20) !important;
    color: #fcd34d !important;
}

html[data-theme="dark"] .content-wrapper .label-danger,
html[data-theme="dark"] .content-wrapper .badge.bg-red {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #fca5a5 !important;
}

/* --- BS3: addon de input-group (datas, prefixos) --- */
html[data-theme="dark"] .content-wrapper .input-group-addon,
html[data-theme="dark"] .modal .input-group-addon {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

/* --- pm-badge (PGA): tons translúcidos no dark
   (vence .content-wrapper span e o remap --pm-dark → texto claro,
   que deixava .pm-badge.dark como “pílula branca”) --- */
html[data-theme="dark"] .pm-badge.light {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--sm-text-soft) !important;
    border: 1px solid var(--sm-border);
}

html[data-theme="dark"] .pm-badge.dark {
    background: rgba(148, 163, 184, 0.18) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(148, 163, 184, 0.35);
}

html[data-theme="dark"] .pm-badge.primary {
    background: rgba(18, 175, 200, 0.18) !important;
    color: var(--brand-300, #40c8db) !important;
    border: 1px solid rgba(18, 175, 200, 0.40);
}

html[data-theme="dark"] .pm-badge.success {
    background: var(--sm-tint-success-bg, rgba(16, 185, 129, 0.15)) !important;
    color: var(--sm-tint-success-text, #6ee7b7) !important;
    border: 1px solid var(--sm-tint-success-border, rgba(16, 185, 129, 0.40));
}

html[data-theme="dark"] .pm-badge.info {
    background: rgba(18, 175, 200, 0.18) !important;
    color: #7dd3fc !important;
    border: 1px solid rgba(18, 175, 200, 0.40);
}

html[data-theme="dark"] .pm-badge.warning {
    background: var(--sm-tint-warning-bg, rgba(245, 158, 11, 0.15)) !important;
    color: var(--sm-tint-warning-text, #fcd34d) !important;
    border: 1px solid var(--sm-tint-warning-border, rgba(245, 158, 11, 0.40));
}

html[data-theme="dark"] .pm-badge.danger {
    background: var(--sm-tint-danger-bg, rgba(239, 68, 68, 0.15)) !important;
    color: var(--sm-tint-danger-text, #fca5a5) !important;
    border: 1px solid var(--sm-tint-danger-border, rgba(239, 68, 68, 0.40));
}

html[data-theme="dark"] .pm-badge.purple {
    background: var(--sm-tint-purple-bg, rgba(139, 92, 246, 0.15)) !important;
    color: var(--sm-tint-purple-text, #c4b5fd) !important;
    border: 1px solid var(--sm-tint-purple-border, rgba(139, 92, 246, 0.40));
}

html[data-theme="dark"] .pm-badge.outline-primary {
    color: var(--brand-300) !important;
    border-color: var(--brand-500) !important;
}

html[data-theme="dark"] .pm-badge.outline-success {
    color: #6ee7b7 !important;
    border-color: rgba(16, 185, 129, 0.55) !important;
}

html[data-theme="dark"] .pm-badge.outline-warning {
    color: #fcd34d !important;
    border-color: rgba(245, 158, 11, 0.55) !important;
}

html[data-theme="dark"] .pm-badge.outline-danger {
    color: #fca5a5 !important;
    border-color: rgba(239, 68, 68, 0.55) !important;
}

/* --- DataTables: paginação/controles no dark --- */
html[data-theme="dark"] .content-wrapper .dataTables_wrapper .paginate_button,
html[data-theme="dark"] .content-wrapper .dataTables_paginate .paginate_button {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .content-wrapper .dataTables_paginate .paginate_button.current,
html[data-theme="dark"] .content-wrapper .dataTables_paginate .paginate_button:hover,
html[data-theme="dark"] .content-wrapper .pagination > li > a,
html[data-theme="dark"] .content-wrapper .pagination > li > span {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .content-wrapper .pagination > .active > a,
html[data-theme="dark"] .content-wrapper .pagination > .active > span {
    background: var(--brand-600, #0b7f92) !important;
    color: #fff !important;
    border-color: var(--brand-600, #0b7f92) !important;
}

html[data-theme="dark"] .content-wrapper .pagination > .disabled > a,
html[data-theme="dark"] .content-wrapper .pagination > .disabled > span {
    background: var(--sm-surface) !important;
    color: var(--sm-text-soft) !important;
    border-color: var(--sm-border) !important;
    opacity: 0.6;
}

html[data-theme="dark"] .content-wrapper .dataTables_info,
html[data-theme="dark"] .content-wrapper .dataTables_length,
html[data-theme="dark"] .content-wrapper .dataTables_filter {
    color: var(--sm-text-soft) !important;
}

/* --- Botão secundário pm (Cancelar em modais) no dark --- */
html[data-theme="dark"] .btn-pm-secondary {
    background: var(--sm-surface-2) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .btn-pm-secondary:hover,
html[data-theme="dark"] .btn-pm-secondary:focus {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .content-wrapper .content-header h1,
html[data-theme="dark"] .content-wrapper .breadcrumb > li,
html[data-theme="dark"] .content-wrapper .breadcrumb > li > a,
html[data-theme="dark"] .content-wrapper .breadcrumb > .active {
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .content-wrapper .breadcrumb > li + li:before {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .main-footer:not(.pm-portal-footer),
html[data-theme="dark"] .main-footer.pm-portal-footer {
    background: var(--sm-bg) !important;
    border-top-color: var(--sm-border) !important;
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .main-footer a,
html[data-theme="dark"] .main-footer b,
html[data-theme="dark"] .main-footer strong,
html[data-theme="dark"] .main-footer p,
html[data-theme="dark"] .main-footer span {
    color: var(--sm-text-soft) !important;
}

html[data-theme="dark"] .main-footer a:hover {
    color: var(--brand-300, #40c8db) !important;
}

html[data-theme="dark"] .modal-content {
    background: var(--sm-surface) !important;
    color: var(--sm-text) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .modal-body,
html[data-theme="dark"] .modal-footer {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .modal-footer .btn-default {
    background: var(--sm-surface-2) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}

html[data-theme="dark"] .main-header .navbar .dropdown-menu,
html[data-theme="dark"] .main-header.pm-portal-navbar .navbar .dropdown-menu {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
}

html[data-theme="dark"] .main-header .user-footer {
    background: var(--sm-surface-2) !important;
}

html[data-theme="dark"] .main-header .user-footer .btn-default {
    background: var(--sm-surface) !important;
    border-color: var(--sm-border) !important;
    color: var(--sm-text) !important;
}


/* --- Matrícula Online stepSearch / stepCheckData --- */
html[data-theme="dark"] .content-wrapper .ss-student-card,
html[data-theme="dark"] .content-wrapper .ss-info-card,
html[data-theme="dark"] .content-wrapper .ss-search-card,
html[data-theme="dark"] .content-wrapper .ss-school-card,
html[data-theme="dark"] .content-wrapper .ss-schools-results.pm-table-card,
html[data-theme="dark"] .content-wrapper .sc-steps-card,
html[data-theme="dark"] .content-wrapper .sc-data-card,
html[data-theme="dark"] .content-wrapper .sc-actions-card {
    background: #12313a !important;
    background-color: #12313a !important;
    border-color: #1d4650 !important;
    color: #e6f2f4 !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28) !important;
}

html[data-theme="dark"] .content-wrapper .ss-student-name,
html[data-theme="dark"] .content-wrapper .ss-search-card-title,
html[data-theme="dark"] .content-wrapper .ss-schools-header,
html[data-theme="dark"] .content-wrapper .ss-school-name,
html[data-theme="dark"] .content-wrapper .ss-school-card-name,
html[data-theme="dark"] .content-wrapper .ss-info-card-header,
html[data-theme="dark"] .content-wrapper .ss-info-card-header strong {
    color: #e6f2f4 !important;
}

html[data-theme="dark"] .content-wrapper .ss-field label,
html[data-theme="dark"] .content-wrapper .ss-info-item,
html[data-theme="dark"] .content-wrapper .ss-info-item span,
html[data-theme="dark"] .content-wrapper .ss-school-address,
html[data-theme="dark"] .content-wrapper .ss-student-meta,
html[data-theme="dark"] .content-wrapper .ss-student-meta span {
    color: #9fb9bf !important;
}

html[data-theme="dark"] .content-wrapper .ss-info-card-header {
    background: #0f2a31 !important;
    border-bottom-color: #1d4650 !important;
}

html[data-theme="dark"] .content-wrapper .ss-schools-header {
    background: #0f2a31 !important;
    border-bottom-color: #1d4650 !important;
}

html[data-theme="dark"] .content-wrapper .ss-tag-blue {
    background: rgba(18, 175, 200, 0.22) !important;
    color: #7ee0ef !important;
    border-color: rgba(94, 200, 216, 0.45) !important;
}

html[data-theme="dark"] .content-wrapper .ss-info-item i,
html[data-theme="dark"] .content-wrapper .ss-search-card-title i,
html[data-theme="dark"] .content-wrapper .ss-schools-header i,
html[data-theme="dark"] .content-wrapper .ss-info-card-header i:first-child {
    color: #40c8db !important;
}

html[data-theme="dark"] .content-wrapper .ss-field .select2-container .select2-choice,
html[data-theme="dark"] .content-wrapper .ss-field .select2-container .select2-selection--single,
html[data-theme="dark"] .content-wrapper .ss-field .form-control {
    background: #0f2a31 !important;
    background-color: #0f2a31 !important;
    border-color: #1d4650 !important;
    color: #e6f2f4 !important;
}

html[data-theme="dark"] .content-wrapper .ss-field .select2-container .select2-chosen,
html[data-theme="dark"] .content-wrapper .ss-field .select2-container .select2-selection__rendered,
html[data-theme="dark"] .content-wrapper .ss-field .select2-container .select2-selection__placeholder {
    color: #e6f2f4 !important;
}

html[data-theme="dark"] .content-wrapper .ss-btn-search {
    background: linear-gradient(135deg, #0f9cb3 0%, #0b7f92 100%) !important;
    color: #fff !important;
}

html[data-theme="dark"] .content-wrapper .ss-btn-search:disabled {
    background: #0f2a31 !important;
    color: #9fb9bf !important;
    border: 1px solid #1d4650 !important;
}

html[data-theme="dark"] .content-wrapper #loadingOverlay {
    background: rgba(11, 31, 36, 0.88) !important;
}

html[data-theme="dark"] .content-wrapper .ss-loading-content span,
body #loadingOverlay .ss-loading-content span {
    color: #7ee0ef !important;
}

html[data-theme="dark"] #loadingOverlay {
    background: rgba(11, 31, 36, 0.88) !important;
}


/* --- Matrícula Online stepCheckData (verificação) --- */
html[data-theme="dark"] .content-wrapper .sc-data-card-body .info-display {
    background: #0f2a31 !important;
    background-color: #0f2a31 !important;
    border-color: #1d4650 !important;
    color: #e6f2f4 !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body .info-display,
html[data-theme="dark"] .content-wrapper .sc-data-card-body .info-display span,
html[data-theme="dark"] .content-wrapper .sc-data-card-body .info-display li,
html[data-theme="dark"] .content-wrapper .sc-info-empty {
    color: #cfe8ec !important;
}

html[data-theme="dark"] .content-wrapper .sc-info-empty {
    color: #9fb9bf !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body .data-value,
html[data-theme="dark"] .content-wrapper .sc-data-card-body .data-label,
html[data-theme="dark"] .content-wrapper .sc-data-card-body strong {
    color: #e6f2f4 !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body .data-row-vertical > strong,
html[data-theme="dark"] .content-wrapper .sc-data-card-body .data-row > strong {
    color: #9fb9bf !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body .data-value:empty::before,
html[data-theme="dark"] .content-wrapper .sc-data-card-body .info-display:empty::before {
    color: #9fb9bf !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body h4[data-toggle="collapse"] {
    background: #0f2a31 !important;
    border-color: #1d4650 !important;
    color: #7ee0ef !important;
}

html[data-theme="dark"] .content-wrapper .sc-data-card-body .form-group {
    border-bottom-color: #1d4650 !important;
}

html[data-theme="dark"] .content-wrapper .sc-btn-cancel {
    background: transparent !important;
    color: #cfe8ec !important;
    border-color: rgba(94, 200, 216, 0.35) !important;
}

html[data-theme="dark"] .content-wrapper .sc-btn-submit {
    background: linear-gradient(135deg, #0f9cb3 0%, #0b7f92 100%) !important;
    color: #fff !important;
}
