/* =============================================================================
   Bootstrap — ajustes de tema escuro
   Só o que o Bootstrap não herda dos tokens. Componentes SGAU ficam no
   design-system.css (não duplicar estilos de .btn/.badge/.card aqui).
   ============================================================================= */

[data-theme="dark"] * {
  scrollbar-color: var(--border-2) transparent;
}

[data-theme="dark"] #userDropdown {
  color: var(--text-2) !important;
}

[data-theme="dark"] #userDropdown:hover {
  color: var(--text-1) !important;
}

[data-theme="dark"] .dropdown-header {
  color: var(--text-2);
  padding: var(--space-lg);
  background: var(--surface-3);
  border-bottom: 1px solid var(--border-1);
}

[data-theme="dark"] .dropdown-header .fw-bold {
  color: var(--text-1);
  font-size: var(--font-size-body);
  margin-bottom: var(--space-xs);
}

[data-theme="dark"] .dropdown-header .text-muted {
  color: var(--text-3) !important;
  font-size: var(--font-size-label);
}

[data-theme="dark"] .user-avatar .bg-secondary {
  background: var(--surface-3) !important;
  border: 1px solid var(--border-1);
}

[data-theme="dark"] .user-avatar img {
  border: 1px solid var(--border-1);
}

[data-theme="dark"] a:not(.btn) {
  color: var(--text-2);
}

[data-theme="dark"] a:not(.btn):hover {
  color: var(--text-1);
}

[data-theme="dark"] .fa,
[data-theme="dark"] .fas,
[data-theme="dark"] .far,
[data-theme="dark"] .fal,
[data-theme="dark"] .fab {
  color: inherit;
}

[data-theme="dark"] .fa-youtube,
[data-theme="dark"] .fa-instagram,
[data-theme="dark"] .fa-facebook,
[data-theme="dark"] .fa-twitter,
[data-theme="dark"] .fa-linkedin {
  color: var(--text-3);
}

[data-theme="dark"] a:hover .fa-youtube,
[data-theme="dark"] a:hover .fa-instagram,
[data-theme="dark"] a:hover .fa-facebook,
[data-theme="dark"] a:hover .fa-twitter,
[data-theme="dark"] a:hover .fa-linkedin {
  color: var(--text-1);
}

[data-theme="dark"] .nav-link {
  color: var(--text-2) !important;
}

[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] .nav-link:focus {
  color: var(--text-1) !important;
}

[data-theme="dark"] .footer-modern a,
[data-theme="dark"] footer a {
  color: var(--text-3) !important;
}

[data-theme="dark"] .footer-modern a:hover,
[data-theme="dark"] footer a:hover {
  color: var(--text-1) !important;
}

[data-theme="dark"] .badge:not([class*="badge-"]) {
  background: var(--glass-1);
  color: var(--text-2);
  border: 1px solid var(--glass-border);
}

[data-theme="dark"] .alert {
  border: 1px solid var(--border-1);
  background: var(--brand-wash);
}

[data-theme="dark"] .alert-info {
  background: var(--blue-dim);
  border-color: var(--blue-mid);
  color: var(--blue);
}

[data-theme="dark"] .alert-success {
  background: var(--green-dim);
  border-color: var(--green-mid);
  color: var(--green);
}

[data-theme="dark"] .alert-warning {
  background: var(--amber-dim);
  border-color: var(--amber-mid);
  color: var(--amber);
}

[data-theme="dark"] .alert-danger {
  background: var(--red-dim);
  border-color: var(--red-mid);
  color: var(--red);
}

[data-theme="dark"] .breadcrumb {
  background: var(--surface-2);
}

[data-theme="dark"] .breadcrumb-item,
[data-theme="dark"] .breadcrumb-item a {
  color: var(--text-2);
}

[data-theme="dark"] .breadcrumb-item:hover,
[data-theme="dark"] .breadcrumb-item a:hover {
  color: var(--text-1);
}

[data-theme="dark"] .breadcrumb-item.active {
  color: var(--text-3);
}

[data-theme="dark"] .breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-3);
}

[data-theme="dark"] .pagination .page-link {
  background: var(--surface-2);
  border-color: var(--border-2);
  color: var(--text-2);
}

[data-theme="dark"] .pagination .page-link:hover {
  background: var(--brand-dim);
  border-color: var(--border-3);
  color: var(--text-1);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--btn-on-primary);
}

[data-theme="dark"] .pagination .page-item.disabled .page-link {
  background: var(--surface-2);
  border-color: var(--border-1);
  color: var(--text-3);
}

[data-theme="dark"] .spinner-border,
[data-theme="dark"] .spinner-grow {
  color: var(--brand);
}

[data-theme="dark"] .nav-tabs {
  border-bottom-color: var(--border-1);
}

[data-theme="dark"] .nav-tabs .nav-link {
  color: var(--text-2);
  border-color: transparent;
}

[data-theme="dark"] .nav-tabs .nav-link:hover {
  color: var(--text-1);
  border-color: var(--border-2) var(--border-2) var(--border-1);
}

[data-theme="dark"] .nav-tabs .nav-link.active {
  color: var(--text-1);
  background: var(--surface-2);
  border-color: var(--border-2) var(--border-2) transparent;
}

[data-theme="dark"] .nav-pills .nav-link {
  color: var(--text-2);
}

[data-theme="dark"] .nav-pills .nav-link:hover {
  color: var(--text-1);
  background: var(--surface-2);
}

[data-theme="dark"] .nav-pills .nav-link.active {
  background: var(--brand);
  color: var(--btn-on-primary);
}

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

[data-theme="dark"] .list-group-item:hover {
  background: var(--brand-dim);
  color: var(--text-1);
}

[data-theme="dark"] .list-group-item.active {
  background: var(--brand);
  border-color: var(--brand);
  color: var(--btn-on-primary);
}

[data-theme="dark"] .progress {
  background: var(--surface-3);
}

[data-theme="dark"] .progress-bar {
  background: var(--brand);
}

[data-theme="dark"] .toast {
  background: var(--glass-3);
  backdrop-filter: var(--blur-3);
  -webkit-backdrop-filter: var(--blur-3);
  border: 1px solid var(--glass-border);
  color: var(--text-2);
  box-shadow: var(--shadow-lg);
}

[data-theme="dark"] .toast-header {
  background: transparent;
  border-bottom-color: var(--glass-border);
  color: var(--text-1);
}

[data-theme="dark"] .tooltip-inner {
  background: var(--surface-3);
  color: var(--text-1);
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-top .tooltip-arrow::before {
  border-top-color: var(--surface-3);
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: var(--surface-3);
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-start .tooltip-arrow::before {
  border-left-color: var(--surface-3);
}

[data-theme="dark"] .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before,
[data-theme="dark"] .bs-tooltip-end .tooltip-arrow::before {
  border-right-color: var(--surface-3);
}

[data-theme="dark"] .popover {
  background: var(--glass-3);
  backdrop-filter: var(--blur-3);
  -webkit-backdrop-filter: var(--blur-3);
  border-color: var(--glass-border);
}

[data-theme="dark"] .popover-header {
  background: transparent;
  border-bottom-color: var(--glass-border);
  color: var(--text-1);
}

[data-theme="dark"] .popover-body {
  color: var(--text-2);
}

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

[data-theme="dark"] .form-select {
  background-color: var(--surface-1);
  border-color: var(--border-2);
  color: var(--text-1);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238F8F8C' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
}

[data-theme="dark"] .form-select:focus {
  background-color: var(--surface-1);
  border-color: var(--brand);
  color: var(--text-1);
  box-shadow: 0 0 0 3px var(--brand-dim);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238F8F8C' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
}

[data-theme="dark"] .form-select option {
  background-color: var(--surface-2);
  color: var(--text-1);
}

[data-theme="dark"] .form-check-input {
  background-color: var(--surface-1);
  border-color: var(--border-2);
}

[data-theme="dark"] .form-check-input:checked {
  background-color: var(--brand);
  border-color: var(--brand);
}

[data-theme="dark"] .form-check-input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 0.25rem var(--brand-dim);
}

[data-theme="dark"] .form-check-label {
  color: var(--text-2);
}

[data-theme="dark"] .form-switch .form-check-input:checked {
  background-color: var(--brand);
  border-color: var(--brand);
}

[data-theme="dark"] .btn-close {
  filter: none;
  opacity: 1;
}

[data-theme="dark"] .btn-close:hover {
  opacity: 1;
}

[data-theme="dark"] code {
  background: var(--surface-3);
  color: var(--text-1);
}

[data-theme="dark"] pre {
  background: var(--surface-3);
  border-color: var(--border-1);
}

[data-theme="dark"] pre code {
  color: var(--text-2);
}

[data-theme="dark"] .accordion-item {
  background: var(--surface-1);
  border-color: var(--border-1);
}

[data-theme="dark"] .accordion-button {
  background: var(--surface-2);
  color: var(--text-1);
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background: var(--brand-dim);
  color: var(--text-1);
  box-shadow: inset 0 -1px 0 var(--border-1);
}

[data-theme="dark"] .accordion-button:focus {
  border-color: var(--border-2);
  box-shadow: 0 0 0 0.25rem var(--brand-dim);
}

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

[data-theme="dark"] .accordion-body {
  color: var(--text-2);
}

[data-theme="dark"] hr {
  border-color: var(--border-1);
  opacity: 1;
}

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

[data-theme="dark"] .border-top {
  border-top-color: var(--border-1) !important;
}

[data-theme="dark"] .border-bottom {
  border-bottom-color: var(--border-1) !important;
}

[data-theme="dark"] .border-start {
  border-left-color: var(--border-1) !important;
}

[data-theme="dark"] .border-end {
  border-right-color: var(--border-1) !important;
}
