/* INIX mobile authentication compact layout — login/signup pages only. */
@media (max-width: 640px) {
  html { min-height: 100%; -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden; }

  /* One Account login */
  body.inix-login-repair-body {
    width: 100%;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: max(7px, env(safe-area-inset-top)) 8px max(7px, env(safe-area-inset-bottom)) !important;
    place-items: center !important;
    align-content: center !important;
  }
  body.inix-login-repair-body .inix-one-login-shell {
    width: min(430px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }
  body.inix-login-repair-body .centerlogo { gap: 3px !important; margin: 0 0 3px !important; }
  body.inix-login-repair-body .centerlogo img {
    width: 46px !important; height: 46px !important; padding: 4px !important;
    border-radius: 13px !important; box-shadow: 0 8px 20px rgba(0,0,0,.22) !important;
  }
  body.inix-login-repair-body .login-title {
    margin: 0 0 2px !important; font-size: 21px !important; line-height: 1.05 !important;
  }
  body.inix-login-repair-body .login-subcopy {
    margin: 0 0 6px !important; font-size: 11px !important; line-height: 1.25 !important;
  }
  body.inix-login-repair-body .inix-login-tabs {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 5px !important; margin: 4px 0 7px !important; padding: 4px !important; border-radius: 13px !important;
  }
  body.inix-login-repair-body .inix-login-tabs::before { display: none !important; }
  body.inix-login-repair-body .inix-login-tab {
    width: 100% !important; min-width: 0 !important; min-height: 36px !important;
    padding: 7px 6px !important; border-radius: 10px !important; font-size: 12px !important;
    white-space: nowrap !important;
  }
  body.inix-login-repair-body .inix-login-tab.is-active::after { bottom: 4px !important; height: 2px !important; }
  body.inix-login-repair-body .inix-login-panel,
  body.inix-login-repair-body .otpbox,
  body.inix-login-repair-body .createbox {
    padding: 9px !important; border-radius: 14px !important; gap: 6px !important; margin: 0 !important;
  }
  body.inix-login-repair-body .inix-login-field-grid,
  body.inix-login-repair-body .twogrid {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important; align-items: end !important;
  }
  body.inix-login-repair-body label { margin: 0 0 3px !important; font-size: 10.5px !important; line-height: 1.15 !important; }
  body.inix-login-repair-body input {
    min-height: 38px !important; height: 38px !important; padding: 8px 9px !important;
    border-radius: 11px !important; font-size: 16px !important;
  }
  body.inix-login-repair-body .inix-login-main-btn {
    min-height: 38px !important; margin-top: 5px !important; padding: 8px 10px !important;
    border-radius: 11px !important; font-size: 12px !important;
  }
  body.inix-login-repair-body .mini-help,
  body.inix-login-repair-body .create-help,
  body.inix-login-repair-body .resend-note { font-size: 10px !important; line-height: 1.25 !important; margin: 3px 0 0 !important; }
  body.inix-login-repair-body .otpbox h2,
  body.inix-login-repair-body .createbox h2 { font-size: 16px !important; margin: 0 0 4px !important; }
  body.inix-login-repair-body .noticebox {
    padding: 7px !important; margin: 4px 0 6px !important; border-radius: 10px !important;
    font-size: 10px !important; line-height: 1.25 !important;
  }
  body.inix-login-repair-body #mainLoginLinks {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 5px !important; margin-top: 7px !important;
  }
  body.inix-login-repair-body #mainLoginLinks .btn,
  body.inix-login-repair-body #mainLoginLinks button {
    min-width: 0 !important; min-height: 34px !important; height: 34px !important;
    padding: 6px 3px !important; border-radius: 10px !important; font-size: 10px !important;
    line-height: 1.05 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  body.inix-login-repair-body .msg { margin-bottom: 5px !important; padding: 7px 8px !important; font-size: 11px !important; }

  /* Create account page */
  body.inix-create-account-body {
    width: 100%; min-height: 100dvh !important; margin: 0 !important;
    padding: max(7px,env(safe-area-inset-top)) 8px max(7px,env(safe-area-inset-bottom)) !important;
    display: grid !important; place-items: center !important; align-content: center !important;
  }
  body.inix-create-account-body .create-account-wrap {
    width: min(430px,100%) !important; margin: 0 auto !important; padding: 10px !important; border-radius: 18px !important;
  }
  body.inix-create-account-body .create-center-logo { gap: 3px !important; margin: 0 0 4px !important; }
  body.inix-create-account-body .create-center-logo img {
    width: 46px !important; height: 46px !important; padding: 4px !important; border-radius: 13px !important;
  }
  body.inix-create-account-body .create-pill { padding: 5px 9px !important; font-size: 11px !important; }
  body.inix-create-account-body .create-subcopy { margin: 3px 0 6px !important; font-size: 10.5px !important; line-height: 1.25 !important; }
  body.inix-create-account-body .account-warning {
    padding: 7px 8px !important; margin: 4px 0 7px !important; border-radius: 11px !important;
    font-size: 10px !important; line-height: 1.25 !important;
  }
  body.inix-create-account-body .twogrid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 6px !important; }
  body.inix-create-account-body label { margin: 0 0 3px !important; font-size: 10px !important; line-height: 1.15 !important; }
  body.inix-create-account-body input {
    min-height: 38px !important; height: 38px !important; padding: 8px !important; border-radius: 11px !important; font-size: 16px !important;
  }
  body.inix-create-account-body form > .btn { width: 100% !important; min-height: 38px !important; margin-top: 7px !important; padding: 8px !important; }
  body.inix-create-account-body .signup-action-row {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 5px !important; margin-top: 7px !important;
  }
  body.inix-create-account-body .signup-action-row .btn {
    min-width: 0 !important; min-height: 34px !important; padding: 6px 3px !important; font-size: 10px !important; border-radius: 10px !important;
  }
  body.inix-create-account-body .msg { padding: 7px 8px !important; margin: 4px 0 !important; font-size: 11px !important; }

  /* Ads Manager login */
  .auth-shell {
    min-height: 100dvh !important; padding: max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) !important;
    align-content: center !important;
  }
  .auth-shell .login-card {
    width: min(420px,100%) !important; min-height: 0 !important; border-radius: 18px !important; margin: 0 auto !important;
  }
  .auth-shell .login-visual { display: none !important; }
  .auth-shell .login-form-wrap { padding: 14px 12px !important; justify-content: center !important; }
  .auth-shell .login-brand { margin: 0 0 8px !important; }
  .auth-shell .login-brand .inix-logo img { width: 48px !important; height: 42px !important; }
  .auth-shell .login-brand .inix-word strong { font-size: 14px !important; }
  .auth-shell .login-brand .inix-word small { font-size: 9px !important; }
  .auth-shell .login-form-wrap h2 { font-size: 22px !important; line-height: 1.05 !important; margin: 0 !important; }
  .auth-shell .login-form-wrap > p { margin: 4px 0 10px !important; font-size: 10.5px !important; line-height: 1.3 !important; }
  .auth-shell .form-stack { gap: 7px !important; }
  .auth-shell .form-stack label { gap: 3px !important; font-size: 10.5px !important; }
  .auth-shell .form-stack input { min-height: 39px !important; height: 39px !important; padding: 8px 10px !important; font-size: 16px !important; }
  .auth-shell .btn-large { min-height: 40px !important; padding: 8px 10px !important; font-size: 12px !important; }
  .auth-shell .login-form-wrap > small { margin-top: 8px !important; font-size: 9.5px !important; line-height: 1.25 !important; }
  .auth-shell > .alert { width: min(420px,100%) !important; margin: 0 auto 6px !important; padding: 7px 9px !important; font-size: 11px !important; }

  /* Admin login */
  body.inix-admin-login-compact {
    min-height: 100dvh !important; padding: max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important; align-items: center !important;
  }
  body.inix-admin-login-compact form.card {
    width: min(430px,100%) !important; max-width: 430px !important; margin: 0 auto !important;
    padding: 11px !important; border-radius: 18px !important;
  }
  body.inix-admin-login-compact .auth-master-logo {
    width: 142px !important; height: 58px !important; max-height: 58px !important; margin: 0 auto 5px !important;
    padding: 4px !important; border-radius: 11px !important;
  }
  body.inix-admin-login-compact .brand { font-size: 9px !important; text-align: center !important; }
  body.inix-admin-login-compact .title { font-size: 22px !important; line-height: 1.05 !important; margin: 3px 0 2px !important; text-align: center !important; }
  body.inix-admin-login-compact .sub { font-size: 10.5px !important; line-height: 1.25 !important; margin: 0 0 6px !important; text-align: center !important; }
  body.inix-admin-login-compact .panel { padding: 9px !important; border-radius: 13px !important; }
  body.inix-admin-login-compact .msg { padding: 7px 8px !important; margin-bottom: 5px !important; font-size: 10.5px !important; }
  body.inix-admin-login-compact .label { margin: 5px 0 3px !important; font-size: 10.5px !important; }
  body.inix-admin-login-compact .input { min-height: 38px !important; height: 38px !important; padding: 8px 9px !important; font-size: 16px !important; border-radius: 10px !important; }
  body.inix-admin-login-compact .btn { min-height: 39px !important; padding: 8px !important; margin-top: 7px !important; border-radius: 10px !important; font-size: 12px !important; }
  body.inix-admin-login-compact .hint { font-size: 9px !important; line-height: 1.2 !important; margin: 5px 0 0 !important; }
  body.inix-admin-login-compact .quick { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 5px !important; margin-top: 7px !important; }
  body.inix-admin-login-compact .quick a { min-width: 0 !important; min-height: 34px !important; padding: 6px 3px !important; border-radius: 10px !important; font-size: 9px !important; line-height: 1.05 !important; }

  /* Staff login */
  body.inix-staff-login-body { margin: 0 !important; min-height: 100dvh !important; overflow-x: hidden !important; }
  body.inix-staff-login-body .staff-login-wrap {
    min-height: 100dvh !important; padding: max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) !important;
  }
  body.inix-staff-login-body .staff-login-card {
    width: min(430px,100%) !important; max-width: 430px !important; padding: 11px !important; border-radius: 18px !important;
  }
  body.inix-staff-login-body .staff-login-logo {
    width: 142px !important; height: 58px !important; max-height: 58px !important; margin: 0 auto 5px !important;
    padding: 4px !important; border-radius: 11px !important;
  }
  body.inix-staff-login-body .staff-login-card h1 { margin: 3px 0 3px !important; font-size: 22px !important; text-align: center !important; }
  body.inix-staff-login-body .staff-login-card > p { margin: 0 0 6px !important; font-size: 10px !important; line-height: 1.25 !important; text-align: center !important; }
  body.inix-staff-login-body .staff-msg { padding: 7px 8px !important; margin: 5px 0 !important; font-size: 10px !important; }
  body.inix-staff-login-body .staff-form label { margin: 5px 0 3px !important; font-size: 10.5px !important; }
  body.inix-staff-login-body .staff-form input { min-height: 38px !important; height: 38px !important; padding: 8px 9px !important; border-radius: 10px !important; font-size: 16px !important; }
  body.inix-staff-login-body .staff-btn { min-height: 39px !important; padding: 8px !important; margin-top: 7px !important; border-radius: 10px !important; font-size: 12px !important; }

  /* Employee login */
  body.inix-employee-login-body {
    min-height: 100dvh !important; padding: max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) !important;
    align-content: center !important;
  }
  body.inix-employee-login-body .login-card {
    width: min(430px,100%) !important; max-width: 430px !important; margin: 0 auto !important; padding: 12px !important; border-radius: 18px !important;
  }
  body.inix-employee-login-body .inix-auth-logo {
    display: block !important; width: 58px !important; height: 58px !important; object-fit: contain !important;
    margin: 0 auto 5px !important; padding: 4px !important; border-radius: 13px !important; background: #fff !important;
  }
  body.inix-employee-login-body h1 { margin: 0 0 3px !important; font-size: 22px !important; text-align: center !important; }
  body.inix-employee-login-body .muted { margin: 0 0 6px !important; font-size: 10px !important; line-height: 1.25 !important; text-align: center !important; }
  body.inix-employee-login-body .status-ladder {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 4px !important; margin: 5px 0 !important;
  }
  body.inix-employee-login-body .status-ladder span { min-width: 0 !important; padding: 5px 3px !important; justify-content: center !important; font-size: 8.5px !important; white-space: nowrap !important; }
  body.inix-employee-login-body label { display: block !important; margin: 5px 0 3px !important; font-size: 10.5px !important; }
  body.inix-employee-login-body input { min-height: 38px !important; height: 38px !important; padding: 8px 9px !important; font-size: 16px !important; border-radius: 10px !important; }
  body.inix-employee-login-body button { width: 100% !important; min-height: 39px !important; padding: 8px !important; margin-top: 7px !important; border-radius: 10px !important; font-size: 12px !important; }
  body.inix-employee-login-body .alert { padding: 7px 8px !important; margin-bottom: 5px !important; font-size: 10px !important; }

  /* Legacy OTP route */
  body.inix-legacy-otp-login-body { min-height: 100dvh !important; padding: 8px !important; overflow-x: hidden !important; }
  body.inix-legacy-otp-login-body .wrap { width: min(430px,100%) !important; margin: 0 auto !important; }
  body.inix-legacy-otp-login-body .card { padding: 10px !important; margin: 6px 0 !important; border-radius: 14px !important; }
  body.inix-legacy-otp-login-body .hero { display: none !important; }
  body.inix-legacy-otp-login-body h2 { margin: 0 0 5px !important; font-size: 18px !important; }
  body.inix-legacy-otp-login-body label { font-size: 10.5px !important; }
  body.inix-legacy-otp-login-body input,
  body.inix-legacy-otp-login-body select { min-height: 38px !important; padding: 8px 9px !important; margin: 3px 0 6px !important; font-size: 16px !important; }
  body.inix-legacy-otp-login-body .btn { min-height: 35px !important; padding: 7px 8px !important; margin: 3px !important; font-size: 10px !important; }
  body.inix-legacy-otp-login-body .muted { font-size: 10px !important; line-height: 1.25 !important; }
  body.inix-legacy-otp-login-body .inix-mobile-bottom-nav { display: none !important; }
}

/* Standard mobile pages fit within the initial viewport; overflow remains available for keyboard/error states. */

@media (max-width: 360px) {
  body.inix-login-repair-body .inix-one-login-shell,
  body.inix-create-account-body .create-account-wrap { padding: 8px !important; }
  body.inix-login-repair-body .login-subcopy,
  body.inix-create-account-body .create-subcopy { display: none !important; }
  body.inix-create-account-body .twogrid { grid-template-columns: 1fr !important; }
  body.inix-create-account-body .account-warning { font-size: 9px !important; }
}

@media (max-height: 599px) and (max-width: 900px) {
  body.inix-login-repair-body,
  body.inix-create-account-body,
  body.inix-admin-login-compact,
  body.inix-staff-login-body,
  body.inix-employee-login-body,
  body.inix-legacy-otp-login-body { align-content: start !important; overflow-y: auto !important; }
  .auth-shell { align-content: start !important; overflow-y: auto !important; }
}
