/* ============================================================
   TRACCAR 6.x - Custom Theme (GPSWOX-style light UI)
   Seletores MUI v5 reais extraidos do bundle index-5SzKMvtG.js
   ============================================================ */

/* --- BASE (original styles.css - obrigatorio) --- */
html, body { height: 100%; }
body { margin: 0; padding: 0; }
@media (prefers-color-scheme: dark) { body { background: black; } }
.root { display: flex; flex-direction: column; height: 100%; }

/* CORES GLOBAIS */
body {
  background-color: #f0f2f5 !important;
  color: #1a2340 !important;
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif !important;
}

/* APP BAR - MuiAppBar, MuiToolbar */
.MuiAppBar-root {
  background-color: #1565c0 !important;
  box-shadow: 0 2px 8px rgba(21,101,192,0.30) !important;
}
.MuiAppBar-root .MuiTypography-root,
.MuiAppBar-root .MuiIconButton-root,
.MuiAppBar-root .MuiSvgIcon-root { color: #ffffff !important; }
.MuiToolbar-root { min-height: 56px !important; }

/* DRAWER / SIDEBAR - MuiDrawer, MuiDrawer-paper */
.MuiDrawer-root .MuiPaper-root,
.MuiDrawer-paper {
  background-color: #ffffff !important;
  border-right: 1px solid #e3e8f0 !important;
  box-shadow: 2px 0 12px rgba(0,0,0,0.06) !important;
}

/* LISTA DISPOSITIVOS - MuiList, MuiListItem, MuiListItemButton,
   MuiListItemText, MuiListItemAvatar, MuiListSubheader */
.MuiList-root { padding: 6px !important; }
.MuiListItem-root { border-radius: 10px !important; margin-bottom: 4px !important; }
.MuiListItemButton-root {
  border-radius: 10px !important;
  padding: 10px 12px !important;
  transition: background-color 0.15s ease !important;
}
.MuiListItemButton-root:hover { background-color: #e8f0fe !important; }
.MuiListItemButton-root.Mui-selected,
.MuiListItemButton-root.Mui-selected:hover {
  background-color: #dce8fb !important;
  border-left: 3px solid #1565c0 !important;
}
.MuiListItemText-primary {
  font-weight: 600 !important; font-size: 0.875rem !important; color: #1a2340 !important;
}
.MuiListItemText-secondary { font-size: 0.75rem !important; color: #6b7280 !important; }
.MuiListItemAvatar-root .MuiAvatar-root {
  background-color: #1565c0 !important; width: 36px !important; height: 36px !important;
}
.MuiListSubheader-root {
  background-color: #f0f2f5 !important; color: #6b7280 !important;
  font-size: 0.7rem !important; font-weight: 700 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important; line-height: 2.2 !important;
}

/* PAPER / CARDS - MuiPaper, MuiCard, MuiCardContent, MuiCardActions */
.MuiPaper-root {
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
}
.MuiCard-root {
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
  border: 1px solid #e3e8f0 !important;
}
.MuiCardContent-root { padding: 14px 16px !important; }
.MuiCardActions-root { padding: 8px 16px 12px !important; }

/* BOTOES - MuiButton, MuiFab, MuiIconButton, MuiButtonGroup */
.MuiButton-root {
  border-radius: 8px !important; font-weight: 600 !important;
  font-size: 0.8125rem !important; text-transform: none !important; padding: 7px 18px !important;
}
.MuiButton-containedPrimary {
  background-color: #1565c0 !important; color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(21,101,192,0.35) !important;
}
.MuiButton-containedPrimary:hover { background-color: #0d47a1 !important; }
.MuiButton-outlinedPrimary { border-color: #1565c0 !important; color: #1565c0 !important; }
.MuiFab-root {
  border-radius: 14px !important;
  box-shadow: 0 4px 12px rgba(21,101,192,0.30) !important;
}
.MuiFab-primary { background-color: #1565c0 !important; color: #ffffff !important; }
.MuiIconButton-root {
  border-radius: 8px !important; transition: background-color 0.15s ease !important;
}
.MuiIconButton-root:hover { background-color: #e8f0fe !important; }

/* DIALOGS - MuiDialog, MuiDialogTitle, MuiDialogContent, MuiDialogActions */
.MuiDialog-paper {
  border-radius: 14px !important; box-shadow: 0 12px 40px rgba(0,0,0,0.15) !important;
}
.MuiDialogTitle-root {
  background-color: #f8fafc !important; border-bottom: 1px solid #e3e8f0 !important;
  padding: 14px 20px !important; font-weight: 700 !important;
  font-size: 1rem !important; color: #1a2340 !important;
}
.MuiDialogContent-root { padding: 18px 20px !important; }
.MuiDialogActions-root {
  padding: 10px 18px 14px !important; border-top: 1px solid #e3e8f0 !important;
}

/* INPUTS - MuiOutlinedInput, MuiInputLabel, MuiTextField */
.MuiOutlinedInput-root { border-radius: 8px !important; background-color: #ffffff !important; }
.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
  border-color: #1565c0 !important; border-width: 2px !important;
}
.MuiInputLabel-root.Mui-focused { color: #1565c0 !important; }

/* TABELAS - MuiTable, MuiTableCell, MuiTableRow */
.MuiTableCell-root {
  border-bottom: 1px solid #e3e8f0 !important; font-size: 0.8125rem !important;
}
.MuiTableCell-head {
  font-weight: 700 !important; color: #6b7280 !important;
  background-color: #f8fafc !important; text-transform: uppercase !important;
  font-size: 0.7rem !important; letter-spacing: 0.06em !important;
}
.MuiTableRow-root:hover { background-color: #f0f4ff !important; }

/* MENU - MuiMenu, MuiMenuItem */
.MuiMenu-paper {
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  border: 1px solid #e3e8f0 !important;
}
.MuiMenuItem-root {
  border-radius: 6px !important; margin: 2px 6px !important; font-size: 0.875rem !important;
}
.MuiMenuItem-root:hover { background-color: #e8f0fe !important; }

/* CHIPS / BADGES - MuiChip, MuiBadge */
.MuiChip-root { border-radius: 8px !important; font-weight: 600 !important; font-size: 0.75rem !important; }
.MuiBadge-badge { font-weight: 700 !important; font-size: 0.65rem !important; }

/* DIVIDERS - MuiDivider */
.MuiDivider-root { border-color: #e3e8f0 !important; }

/* ALERTAS - MuiAlert, MuiSnackbar */
.MuiAlert-root { border-radius: 10px !important; font-size: 0.875rem !important; }
.MuiSnackbarContent-root { border-radius: 10px !important; }

/* TIPOGRAFIA - MuiTypography */
.MuiTypography-h6 { font-weight: 700 !important; color: #1a2340 !important; }
.MuiTypography-body2 { color: #6b7280 !important; font-size: 0.8125rem !important; }
.MuiTypography-caption { color: #9ca3af !important; font-size: 0.75rem !important; }

/* ACCORDION - MuiAccordion, MuiAccordionSummary */
.MuiAccordion-root {
  border-radius: 10px !important; box-shadow: 0 1px 6px rgba(0,0,0,0.06) !important;
  border: 1px solid #e3e8f0 !important; margin-bottom: 6px !important;
}
.MuiAccordionSummary-root { border-radius: 10px !important; font-weight: 600 !important; }

/* SWITCH - MuiSwitch */
.MuiSwitch-colorPrimary.Mui-checked { color: #1565c0 !important; }
.MuiSwitch-colorPrimary.Mui-checked + .MuiSwitch-track { background-color: #1565c0 !important; }

/* MAPA MapLibre GL */
.maplibregl-ctrl-group {
  border-radius: 10px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.10) !important;
  background: #ffffff !important;
}
.maplibregl-ctrl-group button:first-child { border-radius: 10px 10px 0 0 !important; }
.maplibregl-ctrl-group button:last-child  { border-radius: 0 0 10px 10px !important; }
.maplibregl-ctrl-group button:only-child  { border-radius: 10px !important; }
