/* =========================================================================
   Dark mode do painel (organizador/admin) — aplicado em body.dark-mode.
   Só carrega/atua nas rotas /dashboard/* (ver include_css.blade.php).
   Paleta: fundo #0f172a (slate-900), superfícies #1e293b/#1f2937,
   bordas #334155, texto #e2e8f0, muted #94a3b8.
   ========================================================================= */

body.dark-mode {
    background: #0f172a !important;
    color: #e2e8f0 !important;
}

/* Áreas de conteúdo do painel */
body.dark-mode #db-wrapper,
body.dark-mode #page-content-for-mini,
body.dark-mode .bg-light,
body.dark-mode .bg-white,
body.dark-mode section,
body.dark-mode .page-content {
    background-color: #0f172a !important;
    color: #e2e8f0;
}

/* Tipografia */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .h1,
body.dark-mode .h2,
body.dark-mode .h3,
body.dark-mode .h4,
body.dark-mode .h5,
body.dark-mode .h6,
body.dark-mode strong,
body.dark-mode label,
body.dark-mode .text-dark,
body.dark-mode .text-black {
    color: #f1f5f9 !important;
}
body.dark-mode .text-muted,
body.dark-mode small,
body.dark-mode .small {
    color: #94a3b8 !important;
}
body.dark-mode a {
    color: #f472b6;
}
body.dark-mode a:hover {
    color: #f9a8d4;
}
body.dark-mode hr {
    border-color: #334155;
    opacity: 1;
}

/* Cards / painéis */
body.dark-mode .card,
body.dark-mode .panel,
body.dark-mode .list-group-item,
body.dark-mode .accordion-item,
body.dark-mode .modal-content,
body.dark-mode .dropdown-menu {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}
body.dark-mode .card-header,
body.dark-mode .panel-heading,
body.dark-mode .card-footer,
body.dark-mode .modal-header,
body.dark-mode .modal-footer {
    background-color: #172033 !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
}

/* Tabelas */
body.dark-mode .table {
    color: #e2e8f0;
    border-color: #334155;
}
body.dark-mode .table > :not(caption) > * > * {
    background-color: transparent;
    border-bottom-color: #334155;
    color: #e2e8f0;
}
body.dark-mode .table thead th,
body.dark-mode .table th {
    color: #f1f5f9;
    border-color: #334155;
}
body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, 0.03);
    color: #e2e8f0;
}
body.dark-mode .table-hover > tbody > tr:hover > * {
    background-color: rgba(255, 255, 255, 0.06);
    color: #fff;
}

/* Formulários */
body.dark-mode .form-control,
body.dark-mode .form-select,
body.dark-mode .input-group-text,
body.dark-mode textarea,
body.dark-mode select,
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="number"],
body.dark-mode input[type="tel"],
body.dark-mode input[type="password"],
body.dark-mode input[type="date"],
body.dark-mode input[type="time"],
body.dark-mode input[type="search"] {
    background-color: #0f172a !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}
body.dark-mode .form-control::placeholder,
body.dark-mode textarea::placeholder,
body.dark-mode input::placeholder {
    color: #64748b !important;
}
body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: #0f172a !important;
    border-color: #cf0053 !important;
    color: #fff !important;
    box-shadow: 0 0 0 0.2rem rgba(207, 0, 83, 0.25);
}
body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly] {
    background-color: #172033 !important;
    color: #94a3b8 !important;
}

/* Botões neutros (o primário/rosa mantém o próprio estilo do tema) */
body.dark-mode .btn-light,
body.dark-mode .btn-white,
body.dark-mode .btn-outline-secondary {
    background-color: #334155;
    border-color: #475569;
    color: #e2e8f0;
}
body.dark-mode .btn-light:hover,
body.dark-mode .btn-white:hover,
body.dark-mode .btn-outline-secondary:hover {
    background-color: #475569;
    border-color: #64748b;
    color: #fff;
}
body.dark-mode .btn-secondary {
    background-color: #475569;
    border-color: #475569;
    color: #fff;
}
body.dark-mode .btn-outline-primary {
    color: #f472b6;
    border-color: #cf0053;
}
body.dark-mode .btn-outline-primary:hover {
    background-color: #cf0053;
    color: #fff;
}
body.dark-mode .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Header / navbar do painel */
body.dark-mode .nav-header,
body.dark-mode .header-container,
body.dark-mode header,
body.dark-mode .navbar,
body.dark-mode .nav-header .navbar-collapse {
    background-color: #0b1120 !important;
    border-color: #334155 !important;
}
body.dark-mode .navbar .nav-link,
body.dark-mode .navbar-nav .nav-link,
body.dark-mode header a {
    color: #cbd5e1 !important;
}
body.dark-mode .navbar .nav-link:hover,
body.dark-mode .navbar-nav .nav-link:hover {
    color: #fff !important;
}

/* Sidebar do dashboard (nav vertical compacta do organizador: #db-wrapper-two > .navbar-vertical-compact) */
body.dark-mode .navbar-vertical-compact,
body.dark-mode .navbar-vertical,
body.dark-mode #db-wrapper-two,
body.dark-mode .o-dashboard-sidebar,
body.dark-mode .db-sidebar,
body.dark-mode #db-sidebar,
body.dark-mode .sidebar,
body.dark-mode aside {
    background-color: #0b1120 !important;
    border-color: #334155 !important;
    color: #cbd5e1;
}
/* Ícones do menu lateral (tema usa $gray-600 sobre branco) */
body.dark-mode .navbar-vertical-compact .navbar-nav .nav-item .nav-link,
body.dark-mode .navbar-vertical .navbar-nav .nav-item .nav-link {
    color: #94a3b8;
}
body.dark-mode .navbar-vertical-compact .navbar-nav .nav-item .nav-link:hover .nav-icon,
body.dark-mode .navbar-vertical .navbar-nav .nav-item .nav-link:hover .nav-icon {
    color: #f1f5f9;
    background-color: #334155;
}
/* Item ativo mantém o círculo rosa do tema (contraste ok no escuro) */
body.dark-mode .sidebar a,
body.dark-mode aside a {
    color: #cbd5e1;
}
body.dark-mode .sidebar a:hover,
body.dark-mode .sidebar a.active,
body.dark-mode aside a:hover {
    background-color: rgba(207, 0, 83, 0.15);
    color: #fff;
}

/* Dropdowns */
body.dark-mode .dropdown-item {
    color: #e2e8f0;
}
body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
    background-color: #334155;
    color: #fff;
}
body.dark-mode .dropdown-divider {
    border-color: #334155;
}

/* List group / breadcrumb / bordas gerais */
body.dark-mode .list-group-item-action:hover {
    background-color: #334155;
    color: #fff;
}
body.dark-mode .breadcrumb {
    background-color: transparent;
}
body.dark-mode .breadcrumb-item,
body.dark-mode .breadcrumb-item a {
    color: #94a3b8;
}
body.dark-mode .border,
body.dark-mode .border-top,
body.dark-mode .border-bottom,
body.dark-mode .border-start,
body.dark-mode .border-end,
body.dark-mode .border-2 {
    border-color: #334155 !important;
}

/* Fundos utilitários claros que ficariam “estourados” no escuro */
body.dark-mode .bg-light,
body.dark-mode .bg-gray-100,
body.dark-mode .bg-body,
body.dark-mode .bg-body-tertiary {
    background-color: #172033 !important;
    color: #e2e8f0 !important;
}

/* Alertas mantêm contraste legível */
body.dark-mode .alert-info {
    background-color: #0c4a6e;
    border-color: #075985;
    color: #e0f2fe;
}
body.dark-mode .alert-warning {
    background-color: #713f12;
    border-color: #854d0e;
    color: #fef9c3;
}
body.dark-mode .alert-success {
    background-color: #14532d;
    border-color: #166534;
    color: #dcfce7;
}
body.dark-mode .alert-danger {
    background-color: #7f1d1d;
    border-color: #991b1b;
    color: #fee2e2;
}

/* PDV — tabela de ingressos */
body.dark-mode .pos-ticket-table-wrap {
    background: #1e293b !important;
    border-color: #334155 !important;
}
body.dark-mode .pos-ticket-table thead th {
    color: #94a3b8;
}
body.dark-mode .pos-remaining-badge {
    background: #334155;
    color: #e2e8f0;
    border-color: #475569;
}
body.dark-mode .pos-cart-qty {
    background: #334155;
    color: #f1f5f9;
    border-color: #475569;
}
body.dark-mode .pos-ticket-tr.is-active td {
    background-color: rgba(207, 0, 83, 0.18);
}
@media (max-width: 767.98px) {
    body.dark-mode .pos-ticket-table tr.pos-ticket-tr {
        border-bottom-color: #334155;
    }
    body.dark-mode .pos-ticket-tr.is-active {
        background-color: rgba(207, 0, 83, 0.18);
    }
}

/* Grids de cards de evento (myevents / pos / cortesias) */
body.dark-mode .mev-event-poster-empty,
body.dark-mode .pos-event-poster-empty,
body.dark-mode .comp-event-poster-empty {
    background: #334155 !important;
}
body.dark-mode .mev-create-card {
    background: #172033 !important;
    border-color: #475569 !important;
    color: #94a3b8;
}
body.dark-mode .mev-create-card:hover {
    border-color: #cf0053 !important;
    color: #f472b6;
    background: #1e293b !important;
}

/* Faixa de dias (modal Configurar Validação do check-in) */
body.dark-mode .day-strip::-webkit-scrollbar {
    height: 6px;
}

/* Seções recolhíveis do modal de ingresso */
body.dark-mode .tkt-section {
    border-color: #334155 !important;
}
body.dark-mode .tkt-section-header {
    background: #172033;
    color: #e2e8f0;
}
body.dark-mode .tkt-section-header:hover {
    background: #1e293b;
}
body.dark-mode .tkt-section-body {
    border-top-color: #334155;
}

/* Scrollbar discreta no escuro */
body.dark-mode ::-webkit-scrollbar-thumb {
    background: #475569;
}
body.dark-mode ::-webkit-scrollbar-track {
    background: #0f172a;
}

/* =========================================================================
   Logo da marca por tema (header do painel)
   O Blade renderiza as DUAS logos; aqui decidimos qual aparece. O !important
   é necessário porque a logo dark vem com style="display:none" inline.
   Sem logo dark configurada, a clara recebe .tnb-logo-solo e fica nos dois.
   ========================================================================= */
body.dark-mode .tnb-logo-light {
    display: none !important;
}
body.dark-mode .tnb-logo-light.tnb-logo-solo {
    display: block !important;
}
body.dark-mode .tnb-logo-dark {
    display: block !important;
}
