/* Ajustes finales de compatibilidad y respuesta para el acceso interno. */
html {
  box-sizing: border-box;
  min-width: 320px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

html,
body,
.auth-shell,
.auth-panel,
.auth-form-wrap {
  max-width: 100%;
  min-width: 0;
}

body {
  overflow-x: hidden;
  font-family: "Public Sans", "Segoe UI", Arial, sans-serif !important;
}

.auth-shell,
.auth-panel,
.auth-form-wrap,
.auth-form,
.auth-form label,
.password-field {
  min-width: 0;
}

.auth-form h2,
.auth-message h1,
.role-preview strong,
.auth-submit {
  font-family: "Manrope", "Segoe UI", Arial, sans-serif !important;
}

.auth-form input {
  min-width: 0;
}

@media (max-width: 900px) {
  .auth-shell {
    display: block;
    width: 100%;
  }

  .auth-panel {
    width: 100%;
    min-height: 100dvh;
  }

  .auth-form-wrap {
    width: min(470px, 100%) !important;
    margin-inline: auto;
  }
}

@media (max-width: 500px) {
  .auth-panel {
    width: 100vw;
    padding: 24px 20px 36px !important;
  }

  .auth-form-wrap,
  .auth-form,
  .auth-form label,
  .auth-form input,
  .password-field,
  .auth-submit {
    width: 100% !important;
    max-width: 100% !important;
  }

  .auth-back,
  .auth-subtitle,
  .auth-help,
  .auth-rule {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
}
