html,
body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  color: #1f2933;
  background: #f4f6f8;
  font-family: Inter, Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

@media (prefers-color-scheme: dark) {
  body {
    background: #111417;
  }
}

.root {
  display: flex;
  flex-direction: column;
  height: 100%;
}

:root {
  --cs-ink: #1f2933;
  --cs-panel: #ffffff;
  --cs-border: #d7dde3;
  --cs-muted: #637381;
  --cs-primary: #263238;
  --cs-primary-strong: #172026;
  --cs-accent: #16735f;
  --cs-warning: #b7791f;
}

.MuiAppBar-root {
  background: var(--cs-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 0 rgba(23, 32, 38, 0.28) !important;
}

.MuiToolbar-root {
  min-height: 64px !important;
  gap: 8px;
}

.MuiDrawer-paper,
.MuiPaper-root {
  border-color: var(--cs-border) !important;
}

.MuiDrawer-paper {
  background: #fbfcfd !important;
}

.MuiListItemButton-root {
  min-height: 52px !important;
  border-radius: 6px !important;
  margin: 2px 8px !important;
}

.MuiListItemButton-root.Mui-selected {
  background: rgba(22, 115, 95, 0.12) !important;
  color: var(--cs-primary-strong) !important;
}

.MuiListItemIcon-root {
  min-width: 44px !important;
  color: var(--cs-muted) !important;
}

.MuiButton-root,
.MuiIconButton-root,
.MuiToggleButton-root,
.MuiTab-root {
  min-height: 48px !important;
  border-radius: 6px !important;
}

.MuiIconButton-root {
  min-width: 48px !important;
}

.MuiButton-containedPrimary,
.MuiFab-primary {
  background: var(--cs-accent) !important;
  color: #ffffff !important;
}

.MuiButton-containedPrimary:hover,
.MuiFab-primary:hover {
  background: #105947 !important;
}

.MuiTextField-root,
.MuiFormControl-root {
  min-width: 180px;
}

.MuiInputBase-root {
  min-height: 48px !important;
  border-radius: 6px !important;
  background: #ffffff;
}

.MuiTableCell-root {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  font-size: 0.95rem !important;
}

.MuiDialog-paper {
  border-radius: 8px !important;
}

.MuiDialogActions-root {
  padding: 16px 24px 20px !important;
  gap: 8px;
}

.MuiChip-root {
  min-height: 32px !important;
  border-radius: 6px !important;
}

.maplibregl-ctrl button,
.mapboxgl-ctrl button {
  width: 48px !important;
  height: 48px !important;
}

@media (pointer: coarse) {
  .MuiButton-root,
  .MuiIconButton-root,
  .MuiToggleButton-root,
  .MuiTab-root,
  .MuiListItemButton-root {
    min-height: 56px !important;
  }

  .MuiIconButton-root {
    min-width: 56px !important;
  }

  .MuiInputBase-root {
    min-height: 56px !important;
  }

  .MuiTableCell-root {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
}

@media print {
  * {
    height: auto !important;
    overflow: visible !important;
  }
}
