/* Correctifs Safari iPhone/iPad — Administration — 2026-07-21 */
html,
body {
  max-width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-x: clip;
}

.topbar {
  box-sizing: border-box;
  height: auto;
  min-height: 80px;
  padding-top: env(safe-area-inset-top);
  padding-left: max(clamp(22px, 4vw, 64px), env(safe-area-inset-left));
  padding-right: max(clamp(22px, 4vw, 64px), env(safe-area-inset-right));
}

main,
.login-card,
.login-card > *,
.login-card form,
.login-card label,
.dashboard,
.dashboard > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.login-card {
  width: 100%;
}

.login-card h1,
.login-card form,
.login-card input,
.login-card button {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 680px) {
  .topbar {
    min-height: 68px;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  main {
    min-height: calc(100vh - 68px);
    min-height: calc(100dvh - 68px - env(safe-area-inset-top));
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
    padding-bottom: max(30px, env(safe-area-inset-bottom));
    box-sizing: border-box;
  }

  .login-card {
    padding: 32px 0;
  }

  .login-card h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 0.98;
    letter-spacing: -0.055em;
    overflow-wrap: anywhere;
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea {
    font-size: 16px !important;
  }
}
