/* 認証の処理や利用者区分を変えず、スマホでも入力幅と操作領域を確保する。 */
@media screen and (max-width: 600px) {
  html:has(body.gs-auth-surface) {
    height: auto;
    min-height: 100svh;
    -webkit-text-size-adjust: 100%;
  }
  body.gs-auth-surface {
    height: auto;
    min-height: 100svh;
    background: #fffaf5;
    overflow-wrap: anywhere;
  }
  .gs-client-login .login-container {
    min-height: 100svh;
    padding: 24px 16px;
  }
  .gs-client-login .login-card,
  .gs-platform-login .login-container,
  .gs-password-reset .reset-card {
    padding: 24px 16px;
    min-width: 0;
    box-shadow: none;
  }
  body.gs-platform-login {
    padding: 24px 16px;
  }
  body.gs-password-reset {
    padding: 24px 16px;
  }
  .gs-client-login .login-header {
    margin-bottom: 24px;
  }
  .gs-client-login .login-logo {
    margin-bottom: 16px;
  }
  .gs-platform-login .login-logo img {
    max-width: 100%;
    max-height: 80px;
  }
  .gs-auth-surface :is(.login-subtitle, .intro, .form-label, label) {
    font-size: 16px;
  }
  .gs-auth-surface input {
    min-width: 0;
    max-width: 100%;
    min-height: 52px;
    font-size: 16px;
  }
  .gs-auth-surface :is(.btn-login, .primary) {
    min-height: 52px;
  }
  .gs-auth-surface :is(.login-footer a, footer a, .resend) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .gs-client-login .login-footer {
    margin-top: 24px;
    padding-top: 16px;
  }
  .gs-client-login .powered-by {
    margin-top: 24px;
  }
  .gs-platform-login .password-toggle {
    min-width: 44px;
    min-height: 44px;
  }
}
