/* ============================================
   TOP TRACKING RASTREAMENTO - Custom Theme
   Supports Dark & Light modes
   ============================================ */

/* === DARK THEME (default) === */
:root, [data-theme="dark"] {
  --dt-primary: #2563eb;
  --dt-primary-dark: #1d4ed8;
  --dt-bg: #0f172a;
  --dt-bg-card: #1e293b;
  --dt-bg-input: #334155;
  --dt-text: #f1f5f9;
  --dt-text-muted: #94a3b8;
  --dt-border: #334155;
  --dt-success: #22c55e;
  --dt-warning: #f59e0b;
  --dt-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  --dt-shadow: 0 4px 6px -1px rgba(0,0,0,0.3);
  --dt-scrollbar-track: #0f172a;
  --dt-selection-bg: rgba(37, 99, 235, 0.3);
  --dt-selection-color: white;
}

/* === LIGHT THEME === */
[data-theme="light"] {
  --dt-primary: #2563eb;
  --dt-primary-dark: #1d4ed8;
  --dt-bg: #f1f5f9;
  --dt-bg-card: #ffffff;
  --dt-bg-input: #f8fafc;
  --dt-text: #1e293b;
  --dt-text-muted: #64748b;
  --dt-border: #e2e8f0;
  --dt-success: #16a34a;
  --dt-warning: #d97706;
  --dt-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  --dt-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
  --dt-scrollbar-track: #f1f5f9;
  --dt-selection-bg: rgba(37, 99, 235, 0.2);
  --dt-selection-color: #1e293b;
}

/* === THEME TOGGLE - BOTTOM NAV === */
.tt-theme-nav-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 0;
  min-width: 48px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--dt-text-muted, #94a3b8);
  font-size: 10px;
  font-family: inherit;
  transition: color 0.2s;
  -webkit-tap-highlight-color: transparent;
}

.tt-theme-nav-btn:hover {
  color: var(--dt-primary, #2563eb);
}

.tt-theme-nav-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

/* === OVERRIDE MUI (theme-aware) === */
body, .MuiPaper-root, .MuiDialog-paper, .MuiDrawer-paper {
  background-color: var(--dt-bg) !important;
  color: var(--dt-text) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.MuiTypography-root {
  color: var(--dt-text) !important;
}

.MuiInputBase-root, .MuiOutlinedInput-root, .MuiTextField-root {
  background-color: var(--dt-bg-input) !important;
  color: var(--dt-text) !important;
}

.MuiOutlinedInput-notchedOutline {
  border-color: var(--dt-border) !important;
}

.MuiInputBase-input {
  color: var(--dt-text) !important;
}

.MuiInputLabel-root {
  color: var(--dt-text-muted) !important;
}

.MuiButton-containedPrimary, .MuiButton-contained {
  background: var(--dt-gradient) !important;
  color: white !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-transform: none !important;
  padding: 10px 24px !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4) !important;
  transition: all 0.2s !important;
}

.MuiButton-containedPrimary:hover, .MuiButton-contained:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(37, 99, 235, 0.5) !important;
}

.MuiButton-outlined {
  border-color: var(--dt-border) !important;
  color: var(--dt-text-muted) !important;
  border-radius: 8px !important;
}

.MuiButton-text {
  color: var(--dt-primary) !important;
}

/* === APP BAR === */
.MuiAppBar-root {
  background: var(--dt-bg-card) !important;
  border-bottom: 1px solid var(--dt-border) !important;
  box-shadow: none !important;
}

/* === SIDEBAR / DRAWER === */
.MuiDrawer-paper, .MuiListItem-root {
  background: var(--dt-bg-card) !important;
  border-right: 1px solid var(--dt-border) !important;
}

.MuiListItem-root:hover {
  background: rgba(37, 99, 235, 0.1) !important;
}

.MuiListItem-root.Mui-selected {
  background: rgba(37, 99, 235, 0.15) !important;
  border-right: 3px solid var(--dt-primary) !important;
}

/* === TABLES === */
.MuiTable-root, .MuiTableCell-root {
  color: var(--dt-text) !important;
  border-color: var(--dt-border) !important;
}

.MuiTableHead-root .MuiTableCell-root {
  background: var(--dt-bg-card) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
}

.MuiTableBody-root .MuiTableRow-root:hover {
  background: rgba(37, 99, 235, 0.05) !important;
}

/* === CARDS === */
.MuiPaper-rounded, .MuiCard-root {
  background: var(--dt-bg-card) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--dt-shadow) !important;
}

/* === MAP CONTAINER === */
.map-container, [class*="Map"], .ol-viewport {
  border-radius: 12px !important;
}

/* === SCROLLBAR === */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--dt-scrollbar-track);
}

::-webkit-scrollbar-thumb {
  background: var(--dt-border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--dt-primary);
}

/* === STATUS CHIPS === */
.MuiChip-root {
  border-radius: 8px !important;
}

/* === FORMS === */
.MuiFormHelperText-root {
  color: var(--dt-text-muted) !important;
}

/* === TABS === */
.MuiTab-root {
  color: var(--dt-text-muted) !important;
}

.MuiTab-root.Mui-selected {
  color: var(--dt-primary) !important;
}

.MuiTabs-indicator {
  background-color: var(--dt-primary) !important;
}

/* === DIALOGS === */
.MuiDialog-paper {
  background: var(--dt-bg-card) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: 16px !important;
}

/* === TOOLTIPS === */
.MuiTooltip-tooltip {
  background: var(--dt-bg-card) !important;
  border: 1px solid var(--dt-border) !important;
  border-radius: 8px !important;
}

/* === LOADING === */
.loader {
  border-color: var(--dt-border) !important;
  border-right-color: var(--dt-primary) !important;
}

/* === SELECTION === */
::selection {
  background: var(--dt-selection-bg);
  color: var(--dt-selection-color);
}

/* === POPUP ACTION BUTTONS - LIGHT MODE FIX === */
[data-theme="light"] .MuiIconButton-root {
  color: #1e293b !important;
}

[data-theme="light"] .MuiIconButton-root:hover {
  background: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .MuiSpeedDialAction-speedDialButton {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .MuiSpeedDialAction-speedDialButton:hover {
  background: #f1f5f9 !important;
}

/* Command buttons in popup */
[data-theme="light"] .MuiChip-root {
  background: #f1f5f9 !important;
  color: #1e293b !important;
  border: 1px solid #e2e8f0 !important;
}

/* Popup action bar */
[data-theme="light"] .MuiCardActions-root {
  background: #ffffff !important;
}

[data-theme="light"] .MuiCardActions-root .MuiIconButton-root {
  color: #475569 !important;
}

[data-theme="light"] .MuiCardActions-root .MuiIconButton-root:hover {
  background: #f1f5f9 !important;
}

/* Speed dial / FAB buttons */
[data-theme="light"] .MuiFab-root {
  background: #ffffff !important;
  color: #1e293b !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

[data-theme="light"] .MuiFab-root:hover {
  background: #f1f5f9 !important;
}

/* Device popup commands section */
[data-theme="light"] .MuiCollapse-root .MuiButton-root {
  color: #1e293b !important;
}

[data-theme="light"] .MuiListItem-root .MuiListItemIcon-root {
  color: #475569 !important;
}
