/* ── Auth pages — Responsive ── */

@media (max-width: 900px) {
  .swatch-panel {
    width: 120px;
  }

  .form-panel {
    padding: 42px 32px 36px;
  }
}

@media (max-width: 767px) {
  html,
  body {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .page {
    min-height: 100vh;
    min-height: 100dvh;
    align-items: flex-start;
    padding: 16px;
    padding-top: 20px;
    padding-bottom: 24px;
  }

  .card {
    min-height: 0;
    flex-direction: column;
    border-radius: 16px;
  }

  .swatch-panel {
    display: none;
  }

  .form-panel {
    padding: 32px 22px 28px;
    border-left: none;
  }

  .heading {
    font-size: 22px;
  }

  .subheading {
    font-size: 12px;
    margin-bottom: 22px;
  }

  .logo-row {
    margin-bottom: 24px;
  }

  .status {
    margin-bottom: 18px;
  }

  .options {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .forgot {
    align-self: flex-end;
  }

  .card-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .auth-back {
    padding-top: 12px;
  }

  input[type="email"],
  input[type="password"],
  input[type="text"] {
    font-size: 16px;
  }
}

@media (max-width: 479px) {
  .page {
    padding: 12px;
    padding-top: 16px;
  }

  .form-panel {
    padding: 28px 18px 24px;
  }

  .heading {
    font-size: 20px;
  }

  .logo-icon {
    width: 40px;
    height: 40px;
  }

  .logo-name {
    font-size: 15px;
  }

  .btn-primary {
    padding: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}
