.customer-auth { min-height: 100vh; font-family: Poppins, system-ui, sans-serif; }
.customer-auth main { width: min(780px, calc(100% - 40px)); margin: 56px auto 0; padding-bottom: 56px; }
.customer-auth .content { padding: 0; min-height: 0; }
.customer-auth h1 { margin: 0 0 14px; font-size: clamp(26px, 4vw, 36px); line-height: 1.25; letter-spacing: -.7px; color: var(--n); }
.customer-auth .content > p { margin: 0 0 26px; font-size: 14px; line-height: 1.75; color: #526779; }
.customer-auth form { padding: 32px; border: 1px solid #dce9e2; border-radius: 20px; overflow: visible; box-shadow: 0 16px 45px #08243d12; }
.customer-auth .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
.customer-auth .fields label { min-width: 0; color: #27465a; font-size: 13px; font-weight: 600; line-height: 1.6; }
.customer-auth label small { font-weight: 400; }
.customer-auth input:not([type=hidden]) { margin-top: 8px; min-height: 48px; padding: 12px 14px; font: 400 14px/1.5 Poppins, system-ui, sans-serif; color: #16364b; border: 1px solid #cedfd8; background: #fff; }
.customer-auth input:focus-visible { outline: 0; border-color: #079b27; box-shadow: 0 0 0 3px #079b271c; }
.customer-auth .actions { align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; padding-top: 24px; }
.customer-auth .actions a { margin-right: auto; font-size: 13px; color: #315e73; }
.customer-auth .actions button { margin: 0; cursor: pointer; min-height: 46px; font: 600 13px/1.5 Poppins, system-ui, sans-serif; padding: 12px 16px; }
.customer-auth .back { background: #eaf1f5; color: #16364b; }
.customer-auth .otp-message { margin: 20px 0; color: #526779; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.customer-auth .otp-test { padding: 14px 16px; background: #fff8df; border: 1px solid #eadba6; border-radius: 10px; font-size: 13px; line-height: 1.8; color: #69521b; }
.customer-auth .otp-test strong { font-size: 20px; letter-spacing: 3px; }
.customer-auth button:focus-visible, .customer-auth a:focus-visible { outline: 3px solid #079b27; outline-offset: 3px; }
.customer-auth .content > p[role=alert] { padding: 12px 16px; border: 1px solid #f3c8c1; border-radius: 10px; color: #a52d21; background: #fff3f1; }
@media (max-width: 560px) {
  .customer-auth main { width: calc(100% - 32px); margin-top: 28px; padding-bottom: 28px; }
  .customer-auth form { padding: 24px 20px; border-radius: 16px; }
  .customer-auth .fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .customer-auth input:not([type=hidden]) { font-size: 16px; }
  .customer-auth .actions { align-items: stretch; gap: 12px; }
  .customer-auth .actions a { margin: 0 0 4px; text-align: center; }
  .customer-auth .actions button { width: 100%; }
}
