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%;
}

@media print {
  * {
    height: auto !important;
    overflow: visible !important;
  }
}
/* GEOZAB overlay v1; generated from current stock styles.css */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(/geozab/fonts/archivo-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/geozab/fonts/manrope-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/geozab/fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/geozab/fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/geozab/fonts/manrope-700.ttf) format('truetype');
}
/* Self-hosted font declarations above. */
body, .MuiTypography-root, .MuiButton-root, .MuiInputBase-root, .MuiInputLabel-root, .MuiMenuItem-root, .MuiSelect-root, .MuiTableCell-root, .MuiFormLabel-root, .MuiFormHelperText-root, .MuiChip-root, .MuiListItemText-root, .MuiTooltip-tooltip { font-family: Manrope, Arial, sans-serif !important; }
h1,h2,h3,h4,h5,h6 {font-family: Archivo, Manrope, sans-serif !important;}
[class$="-sidebar"] img[src="/geozab/logo.svg"] {background:#fcfdfb; padding:18px; border-radius:12px; box-sizing:content-box; max-width:182px;}
.MuiButton-root {border-radius:8px; min-height:44px;}
.MuiOutlinedInput-root {border-radius:8px;}
@media (max-width:599px) {
  main[class$="-root"] {min-height:100dvh; height:auto;}
  [class$="-paper"]:has(form) {min-height:100dvh; overflow:auto;}
  form[class$="-form"] {box-sizing:border-box; max-width:416px; padding:96px 24px 40px;}
  .MuiInputBase-input {font-size:16px;}
}

/* GEOZAB v1.1: floating surfaces only. No layout, clipping, blur or animation. */
:root .MuiDialog-paper:not(.MuiDialog-paperFullScreen) {
  border-radius: 18px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.16), 0 3px 12px rgba(0, 0, 0, 0.08);
}
:root .MuiPopover-paper,
:root .MuiMenu-paper,
:root .MuiAutocomplete-paper {
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.06);
}
:root .MuiCard-root:has(> .draggable-header),
:root .maplibregl-popup-content {
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.06);
}
/* Full-screen dialogs must stay flush with the phone edges. */
:root .MuiDialog-paperFullScreen {
  border-radius: 0;
}