/* ==========================================
   MODO ESCURO
   O Bootstrap 5.3 já adapta a maioria dos componentes com data-bs-theme="dark".
   Aqui corrigem-se as classes de cor fixa usadas nos templates (bg-white, bg-light,
   text-dark, table-light, btn-dark...), que de outra forma ficariam claras no modo escuro.
   ========================================== */
:root {
    --app-page-bg: #f4f6f9;
    /* Fixa o esquema claro: sem isto, com o sistema operativo em modo escuro, o browser desenha os
       controlos nativos (ícone do calendário/relógio) em branco, invisíveis sobre o fundo claro */
    color-scheme: light;
}

[data-bs-theme="dark"] {
    --app-page-bg: #121416;
    color-scheme: dark;
}

body { background-color: var(--app-page-bg); }

/* Campos de data/hora: todo o campo abre o seletor (ver base.html), por isso o cursor indica clique */
input[type="date"], input[type="time"] { cursor: pointer; }
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: .8; }

/* Fundos fixos claros → superfícies do tema (as imagens mantêm o fundo branco: logos/emblemas) */
[data-bs-theme="dark"] .bg-white:not(img) { background-color: var(--bs-body-bg) !important; }
[data-bs-theme="dark"] .bg-light:not(img) { background-color: var(--bs-tertiary-bg) !important; }

/* Elementos bg-dark (badges, barras de título, blocos) fundir-se-iam com o cartão escuro;
   a navbar mantém o seu fundo */
[data-bs-theme="dark"] .bg-dark:not(.navbar) { background-color: var(--bs-secondary-bg) !important; }

/* Texto escuro fixo → cor do texto do tema, exceto em badges/botões de cor clara (amarelo, ciano...) */
[data-bs-theme="dark"] .text-dark:not(.badge):not(.btn) { color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] .badge.bg-light.text-dark { color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] .btn-outline-warning.text-dark { color: var(--bs-warning) !important; }
[data-bs-theme="dark"] .btn-outline-warning.text-dark:hover,
[data-bs-theme="dark"] .btn-outline-warning.text-dark:active { color: #000 !important; }

/* Cabeçalhos de tabela claros */
[data-bs-theme="dark"] .table-light {
    --bs-table-color: var(--bs-emphasis-color);
    --bs-table-bg: var(--bs-tertiary-bg);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-striped-bg: var(--bs-secondary-bg);
    --bs-table-hover-bg: var(--bs-secondary-bg);
    --bs-table-hover-color: var(--bs-emphasis-color);
}

/* Botões "dark" desapareceriam sobre o fundo escuro */
[data-bs-theme="dark"] .btn-dark {
    --bs-btn-bg: #3a4047;
    --bs-btn-border-color: #4a5159;
    --bs-btn-hover-bg: #4a5159;
    --bs-btn-hover-border-color: #5b636c;
    --bs-btn-active-bg: #5b636c;
    --bs-btn-active-border-color: #6b747e;
    --bs-btn-disabled-bg: #3a4047;
    --bs-btn-disabled-border-color: #4a5159;
}
[data-bs-theme="dark"] .btn-outline-dark {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-hover-color: var(--bs-emphasis-color);
    --bs-btn-hover-bg: var(--bs-secondary-bg);
    --bs-btn-hover-border-color: var(--bs-secondary-color);
    --bs-btn-active-color: var(--bs-emphasis-color);
    --bs-btn-active-bg: var(--bs-secondary-bg);
    --bs-btn-active-border-color: var(--bs-secondary-color);
}

/* A navbar (bg-dark) ganha uma linha para se separar do fundo da página */
[data-bs-theme="dark"] .navbar.bg-dark { border-bottom: 1px solid var(--bs-border-color); }

/* As sombras quase não se veem no escuro: reforça o contorno dos cartões */
[data-bs-theme="dark"] .card.border-0 { border: 1px solid var(--bs-border-color-translucent) !important; }

/* Transição suave ao alternar (desativada para quem prefere menos movimento) */
@media (prefers-reduced-motion: no-preference) {
    body, .card, .table, .list-group-item, .form-control, .form-select {
        transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    }
}
