/* Pi8 ERP — Tema Escuro (paleta inspirada no finAI) */
[data-theme="dark"] {
  --pi8-blue-dark: #0d1117;
  --pi8-blue-mid: #1f2937;
  --pi8-blue-action: #ff8c42;
  --pi8-blue-action-hover: #ff6b1f;
  --pi8-danger: #dc3545;
  --pi8-danger-hover: #bb2d3b;
  --pi8-gray-bg: #0a0a0f;
  --pi8-gray-text: #9ca3af;
  --pi8-white: #f5f5f5;
  --pi8-bg: #0a0a0f;
  --pi8-surface: #111827;
  --pi8-surface-elevated: #1f2937;
  --pi8-text: #f5f5f5;
  --pi8-text-muted: #9ca3af;
  --pi8-border: #1e293b;
  --pi8-border-input: #2d3748;
  --pi8-accent: #ff8c42;
  --pi8-accent-hover: #ff6b1f;
  --pi8-table-hover: #1a1f2e;
  color-scheme: dark;
}

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

/* ——— Sidebar ——— */
[data-theme="dark"] .pi8-app-sidebar {
  background-color: var(--pi8-blue-dark);
  border-right: 1px solid var(--pi8-border);
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .pi8-app-sidebar .nav-link:hover {
  background-color: var(--pi8-surface-elevated);
  color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-app-sidebar .nav-link.active {
  background-color: rgba(255, 140, 66, 0.15);
  color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-app-sidebar .pi8-app-subtoggle.active,
[data-theme="dark"] .pi8-app-sidebar .pi8-app-submenu .nav-link.active {
  background-color: rgba(255, 140, 66, 0.12);
  color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-sidebar-overlay {
  background: rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .pi8-sidebar-collapse-btn {
  background: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text-muted);
}

[data-theme="dark"] .pi8-sidebar-collapse-btn:hover {
  color: var(--pi8-accent);
  border-color: var(--pi8-accent);
}

[data-theme="dark"] body.pi8-shell.pi8-sidebar-collapsed .pi8-sidebar-collapse-btn {
  background: var(--pi8-surface);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text-muted);
}

[data-theme="dark"] body.pi8-shell.pi8-sidebar-collapsed .pi8-sidebar-collapse-btn:hover {
  color: var(--pi8-accent);
  border-color: var(--pi8-accent);
}

/* ——— Topbar ——— */
[data-theme="dark"] .pi8-topbar {
  background-color: var(--pi8-surface);
  border-bottom-color: var(--pi8-border);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] .pi8-topbar-title {
  color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-topbar-menu-btn,
[data-theme="dark"] .pi8-topbar-tarefas-btn {
  color: var(--pi8-accent) !important;
}

[data-theme="dark"] .pi8-topbar-tarefas-btn:hover,
[data-theme="dark"] .pi8-topbar-tarefas-btn:focus-visible {
  color: var(--pi8-accent-hover) !important;
}

[data-theme="dark"] .pi8-topbar-user {
  color: var(--pi8-text-muted) !important;
}

[data-theme="dark"] .pi8-topbar-user .btn-link {
  color: var(--pi8-text-muted) !important;
}

/* ——— Títulos e texto ——— */
[data-theme="dark"] .pi8-title {
  color: var(--pi8-accent);
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .pi8-content.text-muted,
[data-theme="dark"] .pi8-footer {
  color: var(--pi8-text-muted) !important;
}

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

[data-theme="dark"] .link-primary {
  color: var(--pi8-accent) !important;
}

[data-theme="dark"] .link-primary:hover {
  color: var(--pi8-accent-hover) !important;
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--pi8-accent);
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  color: var(--pi8-accent-hover);
}

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

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

/* ——— Cartões ——— */
[data-theme="dark"] .pi8-shell .card,
[data-theme="dark"] .pi8-shell .pi8-card,
[data-theme="dark"] .card {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
  color: var(--pi8-text);
}

/* ——— Botões ——— */
[data-theme="dark"] .pi8-shell .btn-primary,
[data-theme="dark"] .btn-primary {
  background-color: var(--pi8-accent);
  border-color: var(--pi8-accent);
  color: #000;
  font-weight: 600;
}

[data-theme="dark"] .pi8-shell .btn-primary:hover,
[data-theme="dark"] .pi8-shell .btn-primary:focus,
[data-theme="dark"] .pi8-shell .btn-primary:active,
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary:active {
  background-color: var(--pi8-accent-hover);
  border-color: var(--pi8-accent-hover);
  color: #000;
}

[data-theme="dark"] .pi8-shell .btn-outline-primary,
[data-theme="dark"] .btn-outline-primary {
  color: var(--pi8-accent);
  border-color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-shell .btn-outline-primary:hover,
[data-theme="dark"] .pi8-shell .btn-outline-primary:focus,
[data-theme="dark"] .pi8-shell .btn-outline-primary:active,
[data-theme="dark"] .btn-outline-primary:hover {
  background-color: var(--pi8-accent);
  border-color: var(--pi8-accent);
  color: #000;
}

[data-theme="dark"] .btn-secondary {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text);
}

[data-theme="dark"] .btn-secondary:hover {
  background-color: #374151;
  border-color: #4b5563;
  color: var(--pi8-text);
}

[data-theme="dark"] .btn-outline-secondary {
  color: var(--pi8-text-muted);
  border-color: var(--pi8-border-input);
}

[data-theme="dark"] .btn-outline-secondary:hover {
  background-color: var(--pi8-surface-elevated);
  color: var(--pi8-text);
}

[data-theme="dark"] .pi8-btn-primary-action {
  background-color: var(--pi8-accent);
  border-color: var(--pi8-accent);
  color: #000;
}

[data-theme="dark"] .pi8-btn-primary-action:hover,
[data-theme="dark"] .pi8-btn-primary-action:focus,
[data-theme="dark"] .pi8-btn-primary-action:active {
  background-color: var(--pi8-accent-hover);
  border-color: var(--pi8-accent-hover);
  color: #000;
}

[data-theme="dark"] button.pi8-fab-mensagens {
  background-color: var(--pi8-accent);
  border-color: var(--pi8-accent);
  color: #000;
  box-shadow: 0 4px 12px rgba(255, 140, 66, 0.35);
}

[data-theme="dark"] button.pi8-fab-mensagens .pi8-fab-mensagens-badge {
  border-color: var(--pi8-surface);
}

/* ——— Tabelas ——— */
[data-theme="dark"] .pi8-table thead th {
  background-color: var(--pi8-surface-elevated);
  color: var(--pi8-accent);
  border-color: var(--pi8-border-input);
}

[data-theme="dark"] .pi8-table tbody tr:hover > td {
  background-color: var(--pi8-table-hover);
}

[data-theme="dark"] .table {
  --bs-table-bg: var(--pi8-surface);
  --bs-table-color: var(--pi8-text);
  --bs-table-border-color: var(--pi8-border-input);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
  --bs-table-hover-bg: var(--pi8-table-hover);
}

[data-theme="dark"] .table > :not(caption) > * > * {
  border-color: var(--pi8-border-input);
}

[data-theme="dark"] .pi8-card .table tbody tr:hover > td,
[data-theme="dark"] .pi8-row-link:hover > td {
  background-color: var(--pi8-table-hover);
}

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

/* ——— Formulários ——— */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text);
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-accent);
  color: var(--pi8-text);
  box-shadow: 0 0 0 0.2rem rgba(255, 140, 66, 0.25);
}

[data-theme="dark"] .form-control::placeholder {
  color: #6b7280;
}

[data-theme="dark"] .form-label,
[data-theme="dark"] .col-form-label,
[data-theme="dark"] label:not(.btn) {
  color: var(--pi8-text);
}

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

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

[data-theme="dark"] .pi8-filter-select-btn {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text);
}

[data-theme="dark"] .pi8-filter-select-btn:hover,
[data-theme="dark"] .pi8-filter-select-btn:focus,
[data-theme="dark"] .pi8-filter-select-btn.show {
  background-color: var(--pi8-surface-elevated) !important;
  border-color: var(--pi8-accent) !important;
  color: var(--pi8-text) !important;
}

/* ——— Paginação ——— */
[data-theme="dark"] .pi8-pagination {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
  color: var(--pi8-text);
}

[data-theme="dark"] .pi8-pagination .page-item .page-link {
  color: var(--pi8-accent);
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border-input);
}

[data-theme="dark"] .pi8-pagination .page-item:not(.disabled):not(.active) .page-link:hover {
  background-color: var(--pi8-surface-elevated);
  border-color: #4b5563;
}

[data-theme="dark"] .pi8-pagination .page-item.active .page-link {
  color: #000;
  background-color: var(--pi8-accent);
  border-color: var(--pi8-accent);
}

[data-theme="dark"] .pi8-pagination .page-item.disabled .page-link {
  color: #6b7280;
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border);
}

/* ——— Modais, dropdowns, offcanvas ——— */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .offcanvas {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
  color: var(--pi8-text);
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .offcanvas-header {
  border-color: var(--pi8-border);
}

[data-theme="dark"] .modal-title,
[data-theme="dark"] .offcanvas-title {
  color: var(--pi8-accent);
}

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

[data-theme="dark"] .dropdown-menu {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
}

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

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: var(--pi8-surface-elevated);
  color: var(--pi8-accent);
}

[data-theme="dark"] .dropdown-divider {
  border-color: var(--pi8-border-input);
}

[data-theme="dark"] .dropdown-header {
  color: var(--pi8-text-muted);
}

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

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

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

[data-theme="dark"] .nav-tabs .nav-link:hover {
  border-color: var(--pi8-border-input);
  color: var(--pi8-accent);
}

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

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

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

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: rgba(255, 140, 66, 0.12);
  color: var(--pi8-accent);
}

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

/* ——— Alertas ——— */
[data-theme="dark"] .alert-success {
  background-color: #1a3d2e;
  border-color: #22c55e;
  color: #22c55e;
}

[data-theme="dark"] .alert-danger {
  background-color: #3d1a1a;
  border-color: #f87171;
  color: #f87171;
}

[data-theme="dark"] .alert-warning {
  background-color: #3d2e1a;
  border-color: var(--pi8-accent);
  color: var(--pi8-accent);
}

[data-theme="dark"] .alert-info {
  background-color: #1e293b;
  border-color: #3b82f6;
  color: #60a5fa;
}

[data-theme="dark"] .alert-secondary {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text-muted);
}

/* ——— Badges e utilitários ——— */
[data-theme="dark"] .text-primary {
  color: var(--pi8-accent) !important;
}

[data-theme="dark"] .text-success {
  color: #22c55e !important;
}

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

[data-theme="dark"] .text-warning {
  color: var(--pi8-accent) !important;
}

[data-theme="dark"] .text-info {
  color: #60a5fa !important;
}

[data-theme="dark"] .bg-light {
  background-color: var(--pi8-surface-elevated) !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--pi8-surface) !important;
}

[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: var(--pi8-border) !important;
}

[data-theme="dark"] code {
  color: #ffb347;
  background-color: rgba(255, 140, 66, 0.1);
}

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

/* ——— Select2 ——— */
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
  background-color: var(--pi8-surface);
  border-color: var(--pi8-border);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-results__option--highlighted {
  background-color: rgba(255, 140, 66, 0.2);
  color: var(--pi8-accent);
}

[data-theme="dark"] .select2-container--bootstrap-5 .select2-search__field {
  background-color: var(--pi8-surface-elevated);
  border-color: var(--pi8-border-input);
  color: var(--pi8-text);
}

/* ——— Toggle de tema na topbar ——— */
[data-theme="dark"] .pi8-theme-toggle-btn {
  color: var(--pi8-accent) !important;
}

.pi8-theme-toggle-btn {
  color: var(--pi8-blue-dark) !important;
  text-decoration: none !important;
}

/* ——— Pré-visualização no painel de temas ——— */
.pi8-theme-preview {
  border: 2px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pi8-theme-preview:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.pi8-theme-preview.is-selected {
  border-color: var(--pi8-blue-action, #0d6efd);
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
}

[data-theme="dark"] .pi8-theme-preview.is-selected {
  border-color: var(--pi8-accent);
  box-shadow: 0 0 0 3px rgba(255, 140, 66, 0.25);
}

.pi8-theme-preview-light {
  background: linear-gradient(135deg, #e9ecef 50%, #ffffff 50%);
  border: 1px solid #dee2e6;
  min-height: 80px;
}

.pi8-theme-preview-dark {
  background: linear-gradient(135deg, #0a0a0f 50%, #111827 50%);
  border: 1px solid #1e293b;
  min-height: 80px;
}

.pi8-theme-preview-light .pi8-theme-preview-bar {
  background: #0d1b2a;
  height: 12px;
  border-radius: 4px 4px 0 0;
}

.pi8-theme-preview-dark .pi8-theme-preview-bar {
  background: #0d1117;
  height: 12px;
  border-radius: 4px 4px 0 0;
}

.pi8-theme-preview-light .pi8-theme-preview-accent {
  color: #0d1b2a;
  font-weight: 600;
  font-size: 11px;
  padding: 8px;
}

.pi8-theme-preview-dark .pi8-theme-preview-accent {
  color: #ff8c42;
  font-weight: 600;
  font-size: 11px;
  padding: 8px;
}
