:root,
:root[data-theme="light"] {
  color-scheme: light;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --background: #0b1120;
  --surface-primary: #111c2e;
  --surface-secondary: #17263c;
  --surface-tertiary: #1f2f46;
  --card-bg: #152238;
  --sidebar-bg: #0b1120;
  --sidebar-border: rgba(148, 163, 184, 0.18);
  --topbar-bg: rgba(15, 23, 42, 0.85);
  --border: rgba(148, 163, 184, 0.18);
  --text-primary: #e2e8f0;
  --text-secondary: #cbd5f5;
  --muted: #94a3b8;
  --primary: #38bdf8;
  --primary-hover: #0ea5e9;
  --primary-soft: rgba(56, 189, 248, 0.18);
  --success: #34d399;
  --warning: #facc15;
  --error: #f87171;
  --input-bg: #0f172a;
  --input-border: rgba(148, 163, 184, 0.28);
  --input-placeholder: rgba(148, 163, 184, 0.55);
  --shadow-soft: 0 18px 40px rgba(8, 15, 31, 0.55);
  --scrollbar-track: rgba(148, 163, 184, 0.08);
  --scrollbar-thumb: rgba(148, 163, 184, 0.28);
}

:root[data-theme="dark"] body {
  background-color: var(--background);
  color: var(--text-primary);
}

:root[data-theme="dark"] .topbar {
  background: var(--topbar-bg);
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

:root[data-theme="dark"] .topbar-search {
  background: rgba(15, 23, 42, 0.7);
  border-color: var(--border);
}

:root[data-theme="dark"] .topbar-search input {
  color: var(--text-primary);
  background: transparent;
}

:root[data-theme="dark"] .topbar-icon-btn {
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.04);
}

:root[data-theme="dark"] .topbar-icon-btn:hover,
:root[data-theme="dark"] .topbar-icon-btn:focus-visible,
:root[data-theme="dark"] .topbar-icon-btn.is-dark {
  color: var(--primary);
  background: rgba(56, 189, 248, 0.16);
}

:root[data-theme="dark"] .sidebar,
:root[data-theme="dark"] #sidebar {
  background: var(--sidebar-bg);
  border-right: 1px solid var(--sidebar-border);
  box-shadow: inset -1px 0 0 rgba(15, 23, 42, 0.5);
}

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

:root[data-theme="dark"] .sidebar .nav-link.active,
:root[data-theme="dark"] .sidebar .nav-link:hover {
  color: var(--text-primary);
  background: rgba(56, 189, 248, 0.18);
}

:root[data-theme="dark"] .main-content,
:root[data-theme="dark"] .page-content,
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .section-card,
:root[data-theme="dark"] .insight-card,
:root[data-theme="dark"] .product-card,
:root[data-theme="dark"] .profile-menu,
:root[data-theme="dark"] .notification,
:root[data-theme="dark"] .export-menu,
:root[data-theme="dark"] .modal {
  background: var(--surface-secondary);
  color: var(--text-primary);
  border-color: var(--border);
  box-shadow: var(--shadow-soft);
}

:root[data-theme="dark"] .card-header,
:root[data-theme="dark"] .profile-menu-info,
:root[data-theme="dark"] .table thead {
  background: var(--surface-tertiary);
  color: var(--text-secondary);
}

:root[data-theme="dark"] .table tbody tr:nth-child(even) {
  background: rgba(148, 163, 184, 0.05);
}

:root[data-theme="dark"] .form-control,
:root[data-theme="dark"] .form-select,
:root[data-theme="dark"] .form-textarea,
:root[data-theme="dark"] input[type="text"],
:root[data-theme="dark"] input[type="number"],
:root[data-theme="dark"] input[type="search"],
:root[data-theme="dark"] input[type="email"],
:root[data-theme="dark"] input[type="password"],
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
  background: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

/* ✅ Melhor contraste para campos preenchidos no tema escuro */
:root[data-theme="dark"] .form-control:not(:placeholder-shown),
:root[data-theme="dark"] .form-select:not(:placeholder-shown),
:root[data-theme="dark"] input[type="text"]:not(:placeholder-shown),
:root[data-theme="dark"] input[type="number"]:not(:placeholder-shown),
:root[data-theme="dark"] input[type="search"]:not(:placeholder-shown),
:root[data-theme="dark"] input[type="email"]:not(:placeholder-shown),
:root[data-theme="dark"] input[type="password"]:not(:placeholder-shown),
:root[data-theme="dark"] textarea:not(:placeholder-shown),
:root[data-theme="dark"] select:has(option:checked:not([value=""])) {
  background: rgba(56, 189, 248, 0.08) !important;
  color: #f1f5f9 !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
  font-weight: 500;
}

/* ✅ Campos select com valor selecionado - força estilo mesmo sem :placeholder-shown */
:root[data-theme="dark"] select.form-select,
:root[data-theme="dark"] select.form-control {
  background: rgba(56, 189, 248, 0.08) !important;
  color: #f1f5f9 !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
}

/* ✅ Melhor contraste para campos com autocomplete do navegador */
:root[data-theme="dark"] input:-webkit-autofill,
:root[data-theme="dark"] input:-webkit-autofill:hover,
:root[data-theme="dark"] input:-webkit-autofill:focus,
:root[data-theme="dark"] input:-webkit-autofill:active,
:root[data-theme="dark"] textarea:-webkit-autofill,
:root[data-theme="dark"] textarea:-webkit-autofill:hover,
:root[data-theme="dark"] textarea:-webkit-autofill:focus,
:root[data-theme="dark"] select:-webkit-autofill,
:root[data-theme="dark"] select:-webkit-autofill:hover,
:root[data-theme="dark"] select:-webkit-autofill:focus {
  -webkit-text-fill-color: #f1f5f9 !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(56, 189, 248, 0.08) inset !important;
  box-shadow: 0 0 0 1000px rgba(56, 189, 248, 0.08) inset !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
  caret-color: #f1f5f9;
}

:root[data-theme="dark"] .form-control::placeholder,
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder {
  color: var(--input-placeholder) !important;
  opacity: 0.6;
}

/* ✅ Melhor visibilidade para campos select no tema escuro */
:root[data-theme="dark"] select option {
  background: var(--surface-secondary) !important;
  color: var(--text-primary) !important;
}

:root[data-theme="dark"] select option:checked,
:root[data-theme="dark"] select option:hover {
  background: rgba(56, 189, 248, 0.2) !important;
  color: #f1f5f9 !important;
}

/* ✅ Estados de foco com visual minimalista */
:root[data-theme="dark"] .form-control:focus,
:root[data-theme="dark"] input:focus,
:root[data-theme="dark"] textarea:focus,
:root[data-theme="dark"] select:focus {
  background: rgba(56, 189, 248, 0.05) !important;
  border-color: var(--primary) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.15) !important;
}

:root[data-theme="dark"] .btn-primary {
  background: var(--primary);
  color: #06121f;
}

:root[data-theme="dark"] .btn-secondary {
  background: rgba(148, 163, 184, 0.15);
  color: var(--text-primary);
  border-color: rgba(148, 163, 184, 0.28);
}

:root[data-theme="dark"] .btn-secondary:hover {
  background: rgba(148, 163, 184, 0.2);
}

:root[data-theme="dark"] .notification.notification-info {
  border-left-color: var(--primary);
}

:root[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

:root[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
}

:root[data-theme="dark"] .apexcharts-tooltip {
  background: var(--surface-secondary) !important;
  border-color: var(--border) !important;
  color: var(--text-primary) !important;
}

:root[data-theme="dark"] .apexcharts-xaxistooltip,
:root[data-theme="dark"] .apexcharts-yaxistooltip {
  background: var(--surface-secondary) !important;
  color: var(--text-primary) !important;
  border-color: var(--border) !important;
}

body,
.main-content,
.topbar,
.sidebar,
.card,
.section-card,
.product-card,
.profile-menu,
.notification,
.export-menu,
.modal {
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

:root[data-theme="dark"] .profile-menu {
  background: var(--surface-secondary);
  border-color: var(--border);
  box-shadow: var(--shadow-soft);
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .kpi-card,
:root[data-theme="dark"] .kpi-card-enhanced,
:root[data-theme="dark"] .chart-widget,
:root[data-theme="dark"] .charts-main-column .card,
:root[data-theme="dark"] .metric-item,
:root[data-theme="dark"] .goal-metric,
:root[data-theme="dark"] .insight-item,
:root[data-theme="dark"] .ai-assistant-card,
:root[data-theme="dark"] .help-card,
:root[data-theme="dark"] .support-card,
:root[data-theme="dark"] .logs-card {
  background: var(--surface-secondary) !important;
  background-image: none !important;
  border-color: var(--border) !important;
  color: var(--text-primary);
  box-shadow: var(--shadow-soft);
}

:root[data-theme="dark"] .chart-primary {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.82) 0%, rgba(14, 116, 243, 0.22) 100%) !important;
  border-color: var(--border);
}

:root[data-theme="dark"] .filter-select-enhanced,
:root[data-theme="dark"] .form-input,
:root[data-theme="dark"] .btn-icon,
:root[data-theme="dark"] .chat-input,
:root[data-theme="dark"] .badge,
:root[data-theme="dark"] .metric-item span,
:root[data-theme="dark"] .goal-metric span {
  background: var(--input-bg);
  color: var(--text-primary);
  border-color: var(--input-border);
}

:root[data-theme="dark"] .btn-icon {
  color: var(--text-secondary);
}

:root[data-theme="dark"] .btn-icon:hover,
:root[data-theme="dark"] .btn-icon:focus-visible {
  background: rgba(148, 163, 184, 0.18);
  border-color: rgba(148, 163, 184, 0.3);
}

:root[data-theme="dark"] .filter-select-enhanced,
:root[data-theme="dark"] .form-input,
:root[data-theme="dark"] .chat-input {
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.45);
}

:root[data-theme="dark"] .badge {
  color: var(--text-secondary);
}

:root[data-theme="dark"] .metric-item::before,
:root[data-theme="dark"] .goal-metric::before {
  opacity: 0.25;
}

:root[data-theme="dark"] .logs-card pre,
:root[data-theme="dark"] .logs-card code,
:root[data-theme="dark"] #logsContent {
  background: rgba(15, 23, 42, 0.72);
  color: var(--text-primary);
  border-color: var(--border);
}

:root[data-theme="dark"] .help-card,
:root[data-theme="dark"] .support-card {
  border-color: rgba(148, 163, 184, 0.22);
}

:root[data-theme="dark"] .chart-widget-header,
:root[data-theme="dark"] .card-header,
:root[data-theme="dark"] .analytics-section-header,
:root[data-theme="dark"] .section-heading,
:root[data-theme="dark"] .kpi-card-enhanced .kpi-header,
:root[data-theme="dark"] .metric-card-header,
:root[data-theme="dark"] .goal-card-header,
:root[data-theme="dark"] .card .card-header,
:root[data-theme="dark"] .dashboard-card-header {
  background: linear-gradient(180deg, rgba(8, 13, 28, 0.92) 0%, rgba(9, 16, 32, 0.88) 100%) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
  color: var(--text-primary);
  box-shadow: inset 0 -1px 0 rgba(8, 13, 28, 0.55);
}

:root[data-theme="dark"] #aiAssistantCard,
:root[data-theme="dark"] .ai-assistant-card {
  background: linear-gradient(165deg, rgba(8, 11, 33, 0.92) 0%, rgba(18, 45, 91, 0.88) 35%, rgba(29, 78, 216, 0.62) 100%) !important;
  border-color: rgba(59, 130, 246, 0.48) !important;
  box-shadow: 0 28px 48px -28px rgba(30, 64, 175, 0.9);
}

:root[data-theme="dark"] .ai-assistant-card .assistant-header,
:root[data-theme="dark"] .ai-assistant-card .assistant-body,
:root[data-theme="dark"] .ai-assistant-card .assistant-metadata,
:root[data-theme="dark"] .ai-assistant-card .assistant-footer,
:root[data-theme="dark"] .ai-assistant-card p,
:root[data-theme="dark"] #aiAssistantCard p {
  color: var(--text-primary);
}
:root[data-theme="dark"] #aiAssistantCard .assistant-header,
:root[data-theme="dark"] .ai-assistant-card .assistant-header {
  background: linear-gradient(180deg, rgba(12, 19, 43, 0.95) 0%, rgba(18, 36, 80, 0.85) 100%);
  border-bottom: 1px solid rgba(59, 130, 246, 0.35);
}

:root[data-theme="dark"] #aiAssistantCard .assistant-body,
:root[data-theme="dark"] .ai-assistant-card .assistant-body {
  background: rgba(9, 14, 30, 0.85);
  border-radius: 18px;
  border: 1px solid rgba(59, 130, 246, 0.18);
  box-shadow: inset 0 1px 0 rgba(147, 197, 253, 0.12);
}

:root[data-theme="dark"] #aiAssistantCard .assistant-section,
:root[data-theme="dark"] .ai-assistant-card .assistant-section {
  background: rgba(6, 11, 24, 0.9) !important;
  border: 1px solid rgba(38, 70, 146, 0.4) !important;
  box-shadow: inset 0 1px 0 rgba(96, 165, 250, 0.18);
  color: var(--text-primary);
}

:root[data-theme="dark"] #aiAssistantCard .assistant-section + .assistant-section,
:root[data-theme="dark"] .ai-assistant-card .assistant-section + .assistant-section {
  margin-top: 12px;
}

:root[data-theme="dark"] .card-body,
:root[data-theme="dark"] .card-content,
:root[data-theme="dark"] .chart-widget-body,
:root[data-theme="dark"] .chart-body,
:root[data-theme="dark"] .kpi-card-enhanced .kpi-body,
:root[data-theme="dark"] .metric-card-body,
:root[data-theme="dark"] .goal-card-body,
:root[data-theme="dark"] .dashboard-card-body,
:root[data-theme="dark"] .analytics-card-body {
  background: rgba(6, 12, 26, 0.92) !important;
  border-color: rgba(28, 43, 72, 0.7) !important;
  color: var(--text-primary);
}


:root[data-theme="dark"] #aiInsights .insight-card,
:root[data-theme="dark"] .insight-card {
  background: rgba(13, 24, 52, 0.78) !important;
  border-color: rgba(59, 130, 246, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.08);
}

:root[data-theme="dark"] #aiInsights .insight-card .insight-type,
:root[data-theme="dark"] .insight-card .insight-type {
  color: #93c5fd;
}

:root[data-theme="dark"] #chatMessages .assistant-message {
  background: rgba(30, 58, 138, 0.35);
  border-color: rgba(96, 165, 250, 0.3);
  color: var(--text-primary);
}
