/* ================================================================
   DARK MODE — overrides para componentes customizados
   Ativado via [data-bs-theme="dark"] no <html>
   ================================================================ */

/* ── Paleta base ──────────────────────────────────────────────── */
:root {
  --dm-bg:        #0f172a;
  --dm-surface:   #1e293b;
  --dm-surface2:  #263348;
  --dm-border:    #334155;
  --dm-text:      #e2e8f0;
  --dm-muted:     #94a3b8;
  --dm-subtle:    #64748b;
}

/* ── Layout geral ─────────────────────────────────────────────── */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .app-wrapper,
[data-bs-theme="dark"] .app-container,
[data-bs-theme="dark"] .main-content,
[data-bs-theme="dark"] .app-content {
  background-color: var(--dm-bg) !important;
  color: var(--dm-text) !important;
}

[data-bs-theme="dark"] .app-header {
  background-color: var(--dm-surface) !important;
  border-bottom-color: var(--dm-border) !important;
}

[data-bs-theme="dark"] .app-sidebar,
[data-bs-theme="dark"] #sidebar,
[data-bs-theme="dark"] .sidebar-menu {
  background-color: var(--dm-surface) !important;
  border-right-color: var(--dm-border) !important;
}

/* ── Logo ────────────────────────────────────────────────── */
[data-bs-theme="dark"] .app-sidebar-logo-default,
[data-bs-theme="dark"] .app-sidebar-logo-minimize {
  filter: brightness(1.1) saturate(1.1) !important;
  opacity: 0.95 !important;
}

/* ── Menu items ──────────────────────────────────────────── */
[data-bs-theme="dark"] .side-menu__item,
[data-bs-theme="dark"] .side-menu__label {
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .menu-title {
  color: var(--dm-muted) !important;
  font-weight: 800;
}
[data-bs-theme="dark"] .slide > a:hover {
  background-color: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .slide.active > a,
[data-bs-theme="dark"] .slide.open > a {
  background-color: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .slide-menu {
  background-color: transparent !important;
}
[data-bs-theme="dark"] .slide-menu .side-menu__item {
  color: var(--dm-text) !important;
}

[data-bs-theme="dark"] .footer {
  background-color: var(--dm-surface) !important;
  border-top-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}

/* ── Cards e Painéis ──────────────────────────────────────────── */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .crm-panel {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .card-footer {
  background-color: transparent !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* ── Tabelas ──────────────────────────────────────────────────── */
[data-bs-theme="dark"] .table {
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .table thead th {
  background-color: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .table tbody td {
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .table tbody tr:hover td {
  background-color: var(--dm-surface2) !important;
}

/* ── Formulários ──────────────────────────────────────────────── */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .input-group-text {
  background-color: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .form-control::placeholder { color: var(--dm-subtle) !important; }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--dm-surface2) !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,.2) !important;
}

/* ── Dropdowns ────────────────────────────────────────────────── */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .dropdown-item { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  background-color: var(--dm-surface2) !important;
}
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--dm-border) !important; }

/* ── Badges / Alertas ─────────────────────────────────────────── */
[data-bs-theme="dark"] .alert {
  border-color: var(--dm-border) !important;
}

/* ── CRM Shell ────────────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell {
  --crm-surface:      var(--dm-surface) !important;
  --crm-surface-soft: var(--dm-surface2) !important;
  --crm-line:         var(--dm-border) !important;
  --crm-text:         var(--dm-text) !important;
  --crm-muted:        var(--dm-muted) !important;
  --crm-shadow:       0 1px 4px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.25) !important;
  background: var(--dm-bg) !important;
}

[data-bs-theme="dark"] .crm-ticket-shell .crm-panel,
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-panel,
[data-bs-theme="dark"] .crm-ticket-shell .card {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}

/* ── CRM KPI Cards ────────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-kpi {
  box-shadow: 0 8px 28px rgba(0,0,0,.5) !important;
}

/* ── CRM Panel Header ─────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-panel-header {
  background-color: var(--dm-surface) !important;
  border-bottom-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-panel-subtitle { color: var(--dm-muted) !important; }

/* ── CRM Op Tabs ──────────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-op-tab {
  color: var(--dm-muted) !important;
  border-bottom-color: transparent !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-op-tab.active {
  color: #60a5fa !important;
  border-bottom-color: #60a5fa !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-op-tab-count {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}

/* ── CRM Filter Bar ───────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-filter-bar {
  background: var(--dm-surface2) !important;
  border-bottom-color: var(--dm-border) !important;
}

/* ── CRM Ticket Table ─────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .table,
[data-bs-theme="dark"] .crm-ticket-shell .crm-table,
[data-bs-theme="dark"] .crm-ticket-shell .table-responsive,
[data-bs-theme="dark"] .crm-ticket-shell .crm-table-wrap,
[data-bs-theme="dark"] .crm-ticket-shell .pagination,
[data-bs-theme="dark"] .crm-ticket-shell .pagination * {
  background-color: var(--dm-surface) !important;
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .events-table thead th,
[data-bs-theme="dark"] .crm-ticket-shell .crm-table thead th,
[data-bs-theme="dark"] .crm-ticket-shell .table thead th {
  background: var(--dm-surface2) !important;
  background-color: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-table tbody tr {
  background: var(--dm-surface) !important;
  background-color: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .table tbody td,
[data-bs-theme="dark"] .crm-ticket-shell .crm-table tbody td {
  background: var(--dm-surface) !important;
  background-color: var(--dm-surface) !important;
  border-bottom-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-table tbody tr:hover td {
  background: var(--dm-surface2) !important;
  background-color: var(--dm-surface2) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-protocol-code { color: #60a5fa !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-subject-title { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-cell-muted    { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-date-main     { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-date-time     { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-ticket-subject { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-ticket-meta    { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-empty {
  color: var(--dm-muted) !important;
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-empty-icon { color: var(--dm-border) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-client-avatar {
  border-color: var(--dm-border) !important;
  box-shadow: 0 0 0 2px var(--dm-surface) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-category-pill {
  background: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}

/* ── CRM Chat ─────────────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-header {
  background: linear-gradient(135deg, #1e293b 0%, #263348 100%) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-area { background: var(--dm-bg) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-day span {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-day::before {
  background: var(--dm-border) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-msg-bubble {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-msg.crm-msg-agent .crm-msg-bubble {
  background: #1e3a5f !important;
  border-color: #1d4ed8 !important;
  color: #e0f2fe !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-msg-name { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-msg-time { color: var(--dm-subtle) !important; }

/* ── CRM Note (interna) ───────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-note {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  border-left-color: #475569 !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-note-head { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-note-body { color: var(--dm-text) !important; }

/* ── CRM Composer ─────────────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-chat-composer {
  background: var(--dm-surface) !important;
  border-top-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-composer-toolbar {
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-reply-textarea {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-attach-btn {
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-attach-chip {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* ── CRM Sidebar (show) ───────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-detail { border-bottom-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-detail-label { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-detail-value { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-section-title { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-assignee {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-client-name { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-client-email { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-pills { border-bottom-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .crm-side-label { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .crm-ticket-shell .bg-light { background: var(--dm-surface2) !important; color: var(--dm-text) !important; }

/* ── CRM Attachments (show) ───────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-msg-file-link {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* ── Events page ──────────────────────────────────────────────── */
[data-bs-theme="dark"] .events-page .section-card {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .events-page .section-card-head {
  background: linear-gradient(135deg, var(--dm-surface2) 0%, var(--dm-surface) 100%) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .events-page .section-card-title { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .events-page .events-table thead th {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .events-page .events-table tbody td { border-bottom-color: var(--dm-border) !important; color: var(--dm-text) !important; }
[data-bs-theme="dark"] .events-page .events-table tbody tr:hover td { background: var(--dm-surface2) !important; }
[data-bs-theme="dark"] .events-page .event-name { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .events-page .api-endpoint {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .events-page .stat-pill {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .events-page .occupancy-bar { background: var(--dm-border) !important; }
[data-bs-theme="dark"] .events-page .empty-state { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .events-page .empty-state i { color: var(--dm-border) !important; }

/* ── Teams page ───────────────────────────────────────────────── */
[data-bs-theme="dark"] .teams-page .card,
[data-bs-theme="dark"] .teams-page .team-card {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .card-header {
  background: transparent !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .card-subtitle { color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .teams-page .team-card-head {
  background: linear-gradient(135deg, var(--dm-surface2) 0%, #1e2d42 100%) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .team-card-name { color: var(--dm-text) !important; }

[data-bs-theme="dark"] .teams-page .team-section { border-top-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .teams-page .team-section-label { color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .teams-page .member-row { border-top-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .teams-page .member-name  { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .teams-page .member-email { color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .teams-page .stat-pill {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .teams-page .form-field-label  { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .teams-page .form-hint          { color: var(--dm-subtle) !important; }
[data-bs-theme="dark"] .teams-page .modal-section-title { color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .teams-page .topic-picker {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .topic-chip {
  background: var(--dm-surface) !important;
  color: var(--dm-muted) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .topic-chip:hover {
  background: var(--dm-surface2) !important;
  border-color: #475569 !important;
}
[data-bs-theme="dark"] .teams-page .topic-picker-toolbar { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .teams-page .topic-picker-toolbar button { color: #60a5fa !important; }

[data-bs-theme="dark"] .teams-page .perm-grid {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .perm-grid .form-check-label { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .teams-page .perm-badge {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}

[data-bs-theme="dark"] .teams-page .chip        { background: #1e3a5f !important; color: #93c5fd !important; }
[data-bs-theme="dark"] .teams-page .chip.chip-member { background: #14352a !important; color: #6ee7b7 !important; }
[data-bs-theme="dark"] .teams-page .chip.chip-perm   { background: #3a2208 !important; color: #fbbf24 !important; }
[data-bs-theme="dark"] .teams-page .chip.chip-muted  { background: var(--dm-surface2) !important; color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .teams-page .chip-more-btn {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-color: var(--dm-border) !important;
}

[data-bs-theme="dark"] .teams-page .team-table thead th {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .teams-page .team-table tbody td { border-top-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .teams-page .team-name { color: var(--dm-text) !important; }

[data-bs-theme="dark"] .teams-page .empty-state { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .teams-page .empty-state i { color: var(--dm-border) !important; }

[data-bs-theme="dark"] .teams-page .member-perm-row {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}

/* ── Topics page ──────────────────────────────────────────────── */
[data-bs-theme="dark"] .topics-page .card,
[data-bs-theme="dark"] .topics-page .section-card {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .topics-page .card-header {
  background: transparent !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .topics-page .badge-hidden  { background: var(--dm-surface2) !important; color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .topics-page .badge-visible { background: #14352a !important; color: #6ee7b7 !important; }
[data-bs-theme="dark"] .topics-page .badge-tickets { background: #1e3a5f !important; color: #93c5fd !important; }
[data-bs-theme="dark"] .topics-page .table thead th {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .topics-page .table tbody td {
  border-bottom-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* ── FAQ / CMS page ──────────────────────────────────────────── */
[data-bs-theme="dark"] .faq-toolbar {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .faq-toolbar .help { color: var(--dm-muted) !important; }

[data-bs-theme="dark"] .faq-category-item {
  border-color: var(--dm-border) !important;
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .faq-category-header {
  background: var(--dm-surface2) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .faq-category-title { color: var(--dm-text) !important; }

[data-bs-theme="dark"] .faq-entry-list {
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .faq-entry-item {
  background: var(--dm-surface) !important;
  border-bottom-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .faq-entry-item:hover { background: var(--dm-surface2) !important; }
[data-bs-theme="dark"] .faq-entry-title { color: var(--dm-text) !important; }

[data-bs-theme="dark"] .faq-empty-state {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}

[data-bs-theme="dark"] .accordion-item {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .accordion-button {
  background: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
  box-shadow: none !important;
}
[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .accordion-button::after {
  filter: invert(1) brightness(1.5);
}
[data-bs-theme="dark"] .accordion-body {
  background: var(--dm-surface) !important;
  color: var(--dm-text) !important;
}

/* ── Utilitários globais ──────────────────────────────────────── */
[data-bs-theme="dark"] .text-muted { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-white { background-color: var(--dm-surface) !important; }
[data-bs-theme="dark"] h1,[data-bs-theme="dark"] h2,[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,[data-bs-theme="dark"] h5,[data-bs-theme="dark"] h6 {
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .modal-content {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .modal-title { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .btn-close { filter: invert(1); }
[data-bs-theme="dark"] .list-group-item {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .nav-tabs .nav-link { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .nav-tabs .nav-link.active {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .pagination .page-link {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .pagination .page-item.active .page-link {
  background-color: #2563eb !important;
  border-color: #2563eb !important;
}

/* ── Knowledge Base page ──────────────────────────────────────── */
[data-bs-theme="dark"] .kb-category {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .kb-category-header {
  background: var(--dm-surface2) !important;
  border-bottom-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .kb-entry {
  border-bottom-color: var(--dm-border) !important;
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .kb-entry-title  { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .kb-entry-preview { color: var(--dm-muted) !important; }

/* ── Events page extras ───────────────────────────────────────── */
[data-bs-theme="dark"] .events-page .stat-pill {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .events-page .section-card-body { background: var(--dm-surface) !important; }
[data-bs-theme="dark"] .events-page .api-endpoint {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .events-page .event-name { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .events-page .events-table tbody td { background: var(--dm-surface) !important; }
[data-bs-theme="dark"] .events-page .events-table tbody tr:hover td { background: var(--dm-surface2) !important; }

/* ── Chatbot page extras ──────────────────────────────────────── */
[data-bs-theme="dark"] .crm-ticket-shell .crm-stat-card-neutral .crm-stat-icon {
  background: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
}

/* ── CTS Shell (tickets/show) ────────────────────────────────── */
[data-bs-theme="dark"] .cts-shell {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  --cts-card:   var(--dm-surface);
  --cts-bg:     var(--dm-bg);
  --cts-border: var(--dm-border);
  --cts-text:   var(--dm-text);
  --cts-muted:  var(--dm-muted);
}

/* Header e Composer */
[data-bs-theme="dark"] .cts-header,
[data-bs-theme="dark"] .cts-composer {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-header-name { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-header-meta { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-back-btn {
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .cts-back-btn:hover {
  background: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-header-divider { background: var(--dm-border) !important; }

/* Área de chat */
[data-bs-theme="dark"] .cts-chat-area {
  background: #0d1117 !important;
}

/* Separador de dia */
[data-bs-theme="dark"] .cts-day-pill span {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}

/* Bolha do cliente */
[data-bs-theme="dark"] .cts-msg--client .cts-bubble {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* Bolha do agente — mantém azul mas versão dark */
[data-bs-theme="dark"] .cts-msg--agent .cts-bubble {
  background: #1e3a5f !important;
  color: #e0f2fe !important;
}

/* Nome e hora do remetente */
[data-bs-theme="dark"] .cts-msg-name  { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-msg-time-inline { color: var(--dm-subtle) !important; }

/* Nota interna */
[data-bs-theme="dark"] .cts-note {
  background: #1a1500 !important;
  border-color: #7c5e10 !important;
  border-left-color: #d97706 !important;
}
[data-bs-theme="dark"] .cts-note-head { color: #fbbf24 !important; }
[data-bs-theme="dark"] .cts-note-head i { color: #d97706 !important; }
[data-bs-theme="dark"] .cts-note-time { color: #d97706 !important; }
[data-bs-theme="dark"] .cts-note-body { color: #fde68a !important; }

/* Anexos */
[data-bs-theme="dark"] .cts-attach-file {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-attach-file:hover { background: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-attach-img { border-color: var(--dm-border) !important; }

/* Compositor */
[data-bs-theme="dark"] .cts-composer-toolbar { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-textarea-wrap {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-textarea-wrap:focus-within {
  border-color: #3b82f6 !important;
  background: var(--dm-surface) !important;
}
[data-bs-theme="dark"] .cts-textarea {
  color: var(--dm-text) !important;
  background: transparent !important;
}
[data-bs-theme="dark"] .cts-textarea::placeholder { color: var(--dm-subtle) !important; }
[data-bs-theme="dark"] .cts-textarea-footer { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-chip {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-internal-label {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .cts-select-mini,
[data-bs-theme="dark"] .cts-select,
[data-bs-theme="dark"] .cts-input {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

/* Sidebar */
[data-bs-theme="dark"] .cts-sidebar {
  background: var(--dm-bg) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-card {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-card-title   { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-client-name  { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-client-since { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-client-row   { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-client-val   { color: var(--dm-text) !important; }

[data-bs-theme="dark"] .cts-detail-row dt { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-detail-row dd { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-field-label   { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-field-static  {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-assignee-block {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-assignee-name { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-assignee-meta { color: var(--dm-muted) !important; }

/* Badges CTS */
[data-bs-theme="dark"] .cts-badge--slate  { background: var(--dm-surface2) !important; color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-badge--outline {
  background: transparent !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}

/* IA card */
[data-bs-theme="dark"] .cts-ai-header {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-ai-title    { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-ai-subtitle { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-ai-cell {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-ai-cell-label { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-confidence-block {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-confidence-top { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-confidence-bar { background: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-ai-kv-label { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-suggested-editor {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-ai-section  { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-warn-box {
  background: #2a0f0f !important;
  border-color: #7f1d1d !important;
  color: #fca5a5 !important;
}
[data-bs-theme="dark"] .cts-missing-box {
  background: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .cts-missing-head { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-collapsible-trigger {
  color: var(--dm-muted) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .cts-collapsible-body { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .cts-ai-explain { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-source-item .cts-source-type  { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-source-item .cts-source-title { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .cts-ai-empty {
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .cts-ai-empty-title { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-ai-empty-text  { color: var(--dm-subtle) !important; }
[data-bs-theme="dark"] .cts-next-action { color: var(--dm-muted) !important; }

/* Feedback card */
[data-bs-theme="dark"] .cts-feedback-card { }
[data-bs-theme="dark"] .cts-feedback-header { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-feedback-comment { color: var(--dm-muted) !important; }

/* IA info card */
[data-bs-theme="dark"] .cts-ai-info-card { }
[data-bs-theme="dark"] .cts-ai-info-header { color: var(--dm-muted) !important; }
[data-bs-theme="dark"] .cts-ai-info-list li { color: var(--dm-muted) !important; }

/* Botões ghost/outline dentro do shell */
[data-bs-theme="dark"] .cts-btn--ghost {
  background: transparent !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
[data-bs-theme="dark"] .cts-btn--ghost:hover {
  background: var(--dm-surface2) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-btn--outline {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .cts-btn--outline:hover { background: var(--dm-surface2) !important; }

/* ── Utilitários Bootstrap globais ────────────────────────────── */
[data-bs-theme="dark"] .bg-light-subtle { background-color: var(--dm-surface2) !important; }
[data-bs-theme="dark"] .bg-white        { background-color: var(--dm-surface) !important; }
[data-bs-theme="dark"] .bg-light        { background-color: var(--dm-surface2) !important; }
[data-bs-theme="dark"] .text-dark       { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .border          { border-color: var(--dm-border) !important; }
[data-bs-theme="dark"] .fw-semibold     { color: var(--dm-text) !important; }
[data-bs-theme="dark"] .badge.bg-light  {
  background-color: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .btn-light {
  background-color: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}
[data-bs-theme="dark"] .btn-light:hover {
  background-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > th {
  background-color: var(--dm-surface2) !important;
}
[data-bs-theme="dark"] .table > tbody > tr > td,
[data-bs-theme="dark"] .table > tbody > tr > th {
  background-color: var(--dm-surface) !important;
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .table > thead > tr > th {
  background-color: var(--dm-surface2) !important;
  color: var(--dm-muted) !important;
  border-color: var(--dm-border) !important;
}
[data-bs-theme="dark"] .input-group-text {
  background-color: var(--dm-surface2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-muted) !important;
}
