/* =====================================================
   DARK MODE - Analytics Intelligence
   ===================================================== */

/* Variáveis CSS */
:root {
    --bg-page: #F8F9FA;
    --bg-card: #FFFFFF;
    --bg-header: #F8F9FA;
    --bg-input: #FFFFFF;
    --border-color: #DEE2E6;
    --text-primary: #212529;
    --text-secondary: #6C757D;
    --text-muted: #6C757D;
    --link-color: #0D6EFD;
    --success-bg: #D1E7DD;
    --success-border: #BADBCC;
    --success-text: #0F5132;
    --warning-bg: #FFF3CD;
    --warning-border: #FFECB5;
    --warning-text: #664D03;
    --danger-bg: #F8D7DA;
    --danger-border: #F5C2C7;
    --danger-text: #842029;
    --table-hover: #F8F9FA;
    --modal-bg: #FFFFFF;
    --dropdown-bg: #FFFFFF;
}

[data-theme="dark"] {
    --bg-page: #0D1117;
    --bg-card: #161B22;
    --bg-header: #21262D;
    --bg-input: #0D1117;
    --border-color: #30363D;
    --text-primary: #E6EDF3;
    --text-secondary: #8B949E;
    --text-muted: #8B949E;
    --link-color: #58A6FF;
    --success-bg: #0D2818;
    --success-border: #238636;
    --success-text: #3FB950;
    --warning-bg: #3D2E00;
    --warning-border: #6E5A00;
    --warning-text: #D29922;
    --danger-bg: #3D1418;
    --danger-border: #F85149;
    --danger-text: #F85149;
    --table-hover: #21262D;
    --modal-bg: #161B22;
    --dropdown-bg: #161B22;
}

/* Aplicar tema ao Analytics IA */
[data-theme="dark"] #page-analytics {
    background-color: var(--bg-page) !important;
}

[data-theme="dark"] #page-analytics .card {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #page-analytics .card-header {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #page-analytics .card-body {
    background-color: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #page-analytics .card-footer {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
}

/* Textos */
[data-theme="dark"] #page-analytics,
[data-theme="dark"] #page-analytics p,
[data-theme="dark"] #page-analytics span,
[data-theme="dark"] #page-analytics div,
[data-theme="dark"] #page-analytics label {
    color: var(--text-primary) !important;
}

[data-theme="dark"] #page-analytics .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="dark"] #page-analytics .text-secondary {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] #page-analytics a:not(.btn) {
    color: var(--link-color) !important;
}

/* Tabelas */
[data-theme="dark"] #page-analytics .table {
    color: var(--text-primary) !important;
    --bs-table-bg: var(--bg-card);
    --bs-table-striped-bg: var(--bg-header);
    --bs-table-hover-bg: var(--table-hover);
    --bs-table-border-color: var(--border-color);
}

[data-theme="dark"] #page-analytics .table-light,
[data-theme="dark"] #page-analytics .table thead {
    background-color: var(--bg-header) !important;
    color: var(--text-primary) !important;
    --bs-table-bg: var(--bg-header);
}

[data-theme="dark"] #page-analytics .table th,
[data-theme="dark"] #page-analytics .table td {
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #page-analytics .table-hover tbody tr:hover {
    background-color: var(--table-hover) !important;
    --bs-table-hover-bg: var(--table-hover);
}

/* Forms */
[data-theme="dark"] #page-analytics .form-control,
[data-theme="dark"] #page-analytics .form-select {
    background-color: var(--bg-input) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] #page-analytics .form-control:focus,
[data-theme="dark"] #page-analytics .form-select:focus {
    background-color: var(--bg-input) !important;
    border-color: var(--link-color) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(88, 166, 255, 0.25);
}

[data-theme="dark"] #page-analytics .form-control::placeholder {
    color: var(--text-muted) !important;
}

/* Alerts */
[data-theme="dark"] #page-analytics .alert-success {
    background-color: var(--success-bg) !important;
    border-color: var(--success-border) !important;
    color: var(--success-text) !important;
}

[data-theme="dark"] #page-analytics .alert-warning {
    background-color: var(--warning-bg) !important;
    border-color: var(--warning-border) !important;
    color: var(--warning-text) !important;
}

[data-theme="dark"] #page-analytics .alert-danger {
    background-color: var(--danger-bg) !important;
    border-color: var(--danger-border) !important;
    color: var(--danger-text) !important;
}

[data-theme="dark"] #page-analytics .alert-info {
    background-color: #0C2D48 !important;
    border-color: #0D6EFD !important;
    color: #58A6FF !important;
}

[data-theme="dark"] #page-analytics .alert-light {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Buttons */
[data-theme="dark"] #page-analytics .btn-outline-primary {
    color: var(--link-color) !important;
    border-color: var(--link-color) !important;
}

[data-theme="dark"] #page-analytics .btn-outline-secondary {
    color: var(--text-secondary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] #page-analytics .btn-outline-success {
    color: var(--success-text) !important;
    border-color: var(--success-border) !important;
}

[data-theme="dark"] #page-analytics .btn-check:checked + .btn-outline-primary {
    background-color: var(--link-color) !important;
    color: #FFFFFF !important;
}

/* Modal */
[data-theme="dark"] .modal-content {
    background-color: var(--modal-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-header {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .modal-body {
    background-color: var(--modal-bg) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .modal-footer {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-title {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Badges - manter cores originais */
[data-theme="dark"] #page-analytics .badge.bg-primary {
    background-color: #0D6EFD !important;
}

[data-theme="dark"] #page-analytics .badge.bg-success {
    background-color: #238636 !important;
}

[data-theme="dark"] #page-analytics .badge.bg-warning {
    background-color: #D29922 !important;
    color: #000 !important;
}

[data-theme="dark"] #page-analytics .badge.bg-danger {
    background-color: #F85149 !important;
}

[data-theme="dark"] #page-analytics .badge.bg-secondary {
    background-color: #6C757D !important;
}

/* Pagination */
[data-theme="dark"] #page-analytics .page-link {
    background-color: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--link-color) !important;
}

[data-theme="dark"] #page-analytics .page-item.active .page-link {
    background-color: var(--link-color) !important;
    border-color: var(--link-color) !important;
    color: #FFFFFF !important;
}

[data-theme="dark"] #page-analytics .page-item.disabled .page-link {
    background-color: var(--bg-header) !important;
    border-color: var(--border-color) !important;
    color: var(--text-muted) !important;
}

/* Stats cards com gradiente */
[data-theme="dark"] #page-analytics .bg-gradient {
    opacity: 0.9;
}

/* Heatmap - cores já são definidas inline */

/* Dropdown */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--dropdown-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--table-hover) !important;
}

/* Transition suave */
#page-analytics,
#page-analytics *,
.modal-content,
.modal-content * {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

/* Dark mode toggle button */
.dark-mode-toggle {
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 0.375rem;
    border: 1px solid var(--border-color);
    background: var(--bg-card);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
}

.dark-mode-toggle:hover {
    background: var(--bg-header);
}

[data-theme="dark"] .dark-mode-toggle {
    border-color: var(--border-color);
    background: var(--bg-card);
    color: var(--text-primary);
}

/* Aplicar ao body quando dark mode ativo */
[data-theme="dark"] body {
    background-color: #0D1117 !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .card {
    background-color: #161B22 !important;
    border-color: #30363D !important;
}

[data-theme="dark"] .card-header {
    background-color: #21262D !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .card-body {
    background-color: #161B22 !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .table {
    --bs-table-bg: #161B22;
    --bs-table-border-color: #30363D;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .table thead,
[data-theme="dark"] .table-light {
    background-color: #21262D !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: #0D1117 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .text-muted {
    color: #8B949E !important;
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #58A6FF !important;
}

/* =====================================================
   CORREÇÕES DARK MODE
   ===================================================== */

/* Cards de estatísticas no topo */
[data-theme="dark"] #page-analytics .card.bg-white,
[data-theme="dark"] #page-analytics .bg-white {
    background-color: #161B22 !important;
}

/* Cards com gradiente - forçar fundo escuro */
[data-theme="dark"] #page-analytics .card[style*="background"],
[data-theme="dark"] #page-analytics .row .col-md-3 .card,
[data-theme="dark"] #page-analytics .row .col-lg-3 .card {
    background: #161B22 !important;
    border-color: #30363D !important;
}

/* Tabela Domínios para Revisar - linhas coloridas */
[data-theme="dark"] .table-danger,
[data-theme="dark"] .table tbody tr.table-danger {
    background-color: #3D1418 !important;
    --bs-table-bg: #3D1418 !important;
    color: #F85149 !important;
}

[data-theme="dark"] .table-danger td {
    background-color: #3D1418 !important;
    color: #F85149 !important;
}

[data-theme="dark"] .table-warning,
[data-theme="dark"] .table tbody tr.table-warning {
    background-color: #3D2E00 !important;
    --bs-table-bg: #3D2E00 !important;
    color: #D29922 !important;
}

[data-theme="dark"] .table-warning td {
    background-color: #3D2E00 !important;
    color: #D29922 !important;
}

[data-theme="dark"] .table-success,
[data-theme="dark"] .table tbody tr.table-success {
    background-color: #0D2818 !important;
    --bs-table-bg: #0D2818 !important;
    color: #3FB950 !important;
}

[data-theme="dark"] .table-success td {
    background-color: #0D2818 !important;
    color: #3FB950 !important;
}

[data-theme="dark"] .table-info,
[data-theme="dark"] .table tbody tr.table-info {
    background-color: #0C2D48 !important;
    --bs-table-bg: #0C2D48 !important;
    color: #58A6FF !important;
}

[data-theme="dark"] .table-info td {
    background-color: #0C2D48 !important;
    color: #58A6FF !important;
}

/* Links dentro de tabelas coloridas */
[data-theme="dark"] .table-danger a,
[data-theme="dark"] .table-warning a,
[data-theme="dark"] .table-success a,
[data-theme="dark"] .table-info a {
    color: inherit !important;
    text-decoration: underline;
}

/* Navbar dentro de Analytics */
[data-theme="dark"] #page-analytics .navbar,
[data-theme="dark"] #page-analytics .nav {
    background-color: #161B22 !important;
}

/* Inputs dentro de cards */
[data-theme="dark"] #page-analytics .card .form-control,
[data-theme="dark"] #page-analytics .card .form-select {
    background-color: #0D1117 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

/* Card footer */
[data-theme="dark"] .card-footer {
    background-color: #21262D !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

/* Hover em linhas de tabela */
[data-theme="dark"] .table-hover tbody tr:hover td {
    background-color: #21262D !important;
}

/* Progress bars mantém cores */
[data-theme="dark"] .progress {
    background-color: #30363D !important;
}

/* Bordas de separação */
[data-theme="dark"] hr,
[data-theme="dark"] .border-bottom {
    border-color: #30363D !important;
}

/* =====================================================
   CORREÇÕES ADICIONAIS - Cards e Tabelas
   ===================================================== */

/* Cards de estatísticas - forçar com !important */
[data-theme="dark"] .card {
    background-color: #161B22 !important;
    background: #161B22 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

/* Qualquer elemento branco */
[data-theme="dark"] .bg-white,
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background: #fff"] {
    background-color: #161B22 !important;
    background: #161B22 !important;
}

/* Mapa de calor - header da tabela */
}

/* Tabela light */
[data-theme="dark"] .table-light th,
[data-theme="dark"] .table-light td,
[data-theme="dark"] thead.table-light,
[data-theme="dark"] thead.table-light th {
    background-color: #21262D !important;
    color: #E6EDF3 !important;
    border-color: #30363D !important;
}

/* Todas as tabelas */
[data-theme="dark"] table,
[data-theme="dark"] table thead,
[data-theme="dark"] table tbody,
[data-theme="dark"] table th,
[data-theme="dark"] table td {
    background-color: #161B22;
    color: #E6EDF3;
    border-color: #30363D !important;
}

[data-theme="dark"] table thead th {
    background-color: #21262D !important;
}

/* Alert info (Melhor horário) */
[data-theme="dark"] .alert-info {
    background-color: #0C2D48 !important;
    border-color: #1F6FEB !important;
    color: #58A6FF !important;
}

/* Override para qualquer inline style branco */
[data-theme="dark"] *[style*="rgb(255, 255, 255)"],
[data-theme="dark"] *[style*="rgb(255,255,255)"],
[data-theme="dark"] *[style*="#ffffff"],
[data-theme="dark"] *[style*="#FFFFFF"] {
    background-color: #161B22 !important;
}

/* =====================================================
   STAT CARDS - Cards de estatísticas
   ===================================================== */

[data-theme="dark"] .stat-card {
    background-color: #161B22 !important;
    background: #161B22 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid #30363D;
}

[data-theme="dark"] .stat-card .text-muted {
    color: #8B949E !important;
}

[data-theme="dark"] .stat-card .value {
    color: #E6EDF3 !important;
}

[data-theme="dark"] .stat-card .text-primary {
    color: #58A6FF !important;
}

[data-theme="dark"] .stat-card .text-success {
    color: #3FB950 !important;
}

[data-theme="dark"] .stat-card .text-info {
    color: #58A6FF !important;
}

[data-theme="dark"] .stat-card .text-warning {
    color: #D29922 !important;
}

[data-theme="dark"] .stat-card .text-danger {
    color: #F85149 !important;
}

/* Icons dentro dos stat-cards */
[data-theme="dark"] .stat-card i.text-primary {
    color: #58A6FF !important;
}

[data-theme="dark"] .stat-card i.text-success {
    color: #3FB950 !important;
}

[data-theme="dark"] .stat-card i.text-info {
    color: #58A6FF !important;
}

[data-theme="dark"] .stat-card i.text-warning {
    color: #D29922 !important;
}

/* =====================================================
   BARRAS E DIVISORES
   ===================================================== */

[data-theme="dark"] hr {
    border-color: #30363D !important;
    background-color: #30363D !important;
    opacity: 1;
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
    border-color: #30363D !important;
}

/* Linha separadora entre seções */
[data-theme="dark"] [style*="border-bottom"],
[data-theme="dark"] [style*="border-top"] {
    border-color: #30363D !important;
}

/* Qualquer div com borda branca */
[data-theme="dark"] .separator,
[data-theme="dark"] .divider {
    background-color: #30363D !important;
    border-color: #30363D !important;
}

/* Server Monitor tooltip/popup */
[data-theme="dark"] .server-monitor,
[data-theme="dark"] [class*="monitor"] {
    background-color: #161B22 !important;
    border-color: #30363D !important;
}

/* =====================================================
   TOPBAR E SIDEBAR
   ===================================================== */

[data-theme="dark"] .topbar {
    background-color: #161B22 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

[data-theme="dark"] .topbar h4,
[data-theme="dark"] .topbar span {
    color: #E6EDF3 !important;
}

[data-theme="dark"] .sidebar {
    background-color: #0D1117 !important;
    border-color: #30363D !important;
}

[data-theme="dark"] .main-content {
    background-color: #0D1117 !important;
}

/* Botão global de dark mode */
[data-theme="dark"] .dark-mode-toggle {
    background-color: #21262D !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
}

/* =====================================================
   FIX HEATMAP - Preservar cores das células
   ===================================================== */

/* Resetar regras anteriores do heatmap */
    background-color: inherit !important;
    background: inherit !important;
}

/* Apenas células SEM estilo inline devem ter fundo escuro */
    background-color: #161B22 !important;
}

/* Header do heatmap */
    background-color: #21262D !important;
    color: #E6EDF3 !important;
}

/* Primeira coluna (dias da semana) */
    background-color: #21262D !important;
    color: #E6EDF3 !important;
}

/* =====================================================
   HEATMAP - Preservar cores das células
   ===================================================== */

/* Header e primeira coluna */
[data-theme="dark"] #aiHeatmap table thead th {
    background-color: #21262D !important;
    color: #E6EDF3 !important;
    border-color: #30363D !important;
}

/* Células dos dias (primeira coluna) */
[data-theme="dark"] #aiHeatmap table tbody th {
    background-color: #21262D !important;
    color: #E6EDF3 !important;
}

/* Células de dados - NÃO sobrescrever background inline */
[data-theme="dark"] #aiHeatmap table tbody td {
    border-color: #30363D !important;
}

/* Bordas da tabela */
[data-theme="dark"] #aiHeatmap table {
    border-color: #30363D !important;
}

/* =====================================================
   DATE PICKER - Ícone do calendário
   ===================================================== */

[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}

[data-theme="dark"] input[type="date"] {
    color-scheme: dark;
}

/* Firefox */
[data-theme="dark"] input[type="date"]::-moz-calendar-picker-indicator {
    filter: invert(1);
}

/* Fix Date Picker Icon - Força bruta */
[data-theme="dark"] input[type="date"] {
    background-color: #0D1117 !important;
    border-color: #30363D !important;
    color: #E6EDF3 !important;
    color-scheme: dark !important;
}

[data-theme="dark"] input[type="date"]::-webkit-datetime-edit {
    color: #E6EDF3 !important;
}

[data-theme="dark"] input[type="date"]::-webkit-datetime-edit-fields-wrapper {
    color: #E6EDF3 !important;
}

[data-theme="dark"] input[type="date"]::-webkit-datetime-edit-text {
    color: #8B949E !important;
}

[data-theme="dark"] input[type="date"]::-webkit-datetime-edit-month-field,
[data-theme="dark"] input[type="date"]::-webkit-datetime-edit-day-field,
[data-theme="dark"] input[type="date"]::-webkit-datetime-edit-year-field {
    color: #E6EDF3 !important;
}

[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator {
    background-color: #E6EDF3;
    border-radius: 3px;
    cursor: pointer;
}

/* Safari/Chrome Date Picker Fix */
[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(2) !important;
    opacity: 1 !important;
}

/* Forçar estilo em todos os inputs date dentro de modals */
[data-theme="dark"] .modal input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(2) !important;
}

[data-theme="dark"] .modal-body input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(2) !important;
}
