/* Solo espacio protegido del dispositivo. Con insets 0, el diseño no cambia. */
body {
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}
.shell,
body:not(.has-results):has(#provider-view[hidden]) .shell {
  min-height: calc(100svh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}
dialog {
  max-height: min(92svh, calc(100svh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 24px));
}

/* El fondo del Home llega hasta el borde; los controles conservan su área segura. */
body:not(.has-results):has(#provider-view[hidden]) {
  padding-bottom: 0;
}
body:not(.has-results):has(#provider-view[hidden]) .shell {
  min-height: calc(100svh - env(safe-area-inset-top, 0px));
}
body:not(.has-results):has(#provider-view[hidden]) footer {
  padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
  min-height: calc(144px + env(safe-area-inset-bottom, 0px));
}
