.customer-auth { margin: 0; background: #0d0d10; color: #f4f4f5; font: 14px/1.55 system-ui, -apple-system, 'Segoe UI', sans-serif; overflow-x: clip; }
.customer-auth-shell { position: relative; width: min(100%, 470px); min-height: 100svh; margin: auto; padding: 32px 20px; }
.customer-auth-shell::before { content: ''; position: fixed; z-index: -1; inset: 0; background: radial-gradient(ellipse at 50% 10%, #ff174b12, transparent 60%); pointer-events: none; }
.customer-back { display: inline-block; margin-bottom: 20px; color: #a1a1aa; font-size: 13px; }
.customer-auth-card { min-width: 0; padding: 30px; border: 1px solid #2d2d33; border-radius: 20px; background: #17171b; box-shadow: 0 20px 70px #0005; }
.customer-auth h1 { font-size: 23px; font-weight: 650; line-height: 1.3; margin: 0 0 8px; }
.customer-muted { color: #a1a1aa; }
.customer-form { display: grid; gap: 16px; }
.customer-auth .customer-form { margin-top: 26px; }
.customer-form label, .customer-field label { display: block; margin-bottom: 7px; color: #d4d4d8; font-size: 12px; font-weight: 500; }
.customer-form .account-input { min-width: 0; width: 100%; font-size: 16px; }
.customer-help { margin: 7px 0 0; color: #a1a1aa; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.customer-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.customer-check input { margin-top: 4px; accent-color: #ff174b; flex-shrink: 0; }
.customer-check small { display: block; margin-top: 4px; color: #a1a1aa; font-size: 11px; }
.customer-password { position: relative; }
.customer-password .account-input { padding-right: 75px; }
.customer-password-toggle { position: absolute; top: 0; right: 10px; height: 46px; font-size: 11px; color: #a1a1aa; }
.customer-primary { width: 100%; min-height: 46px; border-radius: 10px; padding: 12px 16px; background: #ff174b; color: #fff; font-weight: 600; }
.customer-link { color: #ff728e; text-align: left; font-size: 12px; }
.customer-switch { margin-top: 24px; text-align: center; font-size: 12px; }
.customer-message { padding: 12px; border: 1px solid #454550; border-radius: 9px; color: #d4d4d8; font-size: 12px; overflow-wrap: anywhere; }
.customer-message[data-state=error] { color: #ff93a7; border-color: #ff174b60; }
.customer-message[data-state=saved] { color: #86d9ae; border-color: #86d9ae50; }
.customer-auth button:disabled { opacity: .55; cursor: wait; }
.customer-auth :is(button, a):focus-visible { outline: 2px solid #ff728e; outline-offset: 3px; }
.customer-auth [hidden], .account-drawer [hidden] { display: none !important; }
.customer-auth .hidden, .account-drawer .hidden { display: none !important; }
.account-drawer { max-width: 100vw; }
.account-drawer-content { overflow-x: hidden; }
.account-drawer .account-input { font-size: 16px; }
.account-drawer .customer-form { margin-top: 16px; }
.account-drawer .customer-field { margin-top: 14px; }
.account-drawer .customer-email-section { border-top: 1px solid #2d2d33; margin-top: 20px; padding: 18px; }
.account-drawer .customer-email-section h4 { font-size: 13px; font-weight: 600; }
.account-drawer .customer-email-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.account-drawer .customer-email-actions button { min-width: 0; }
.account-drawer .customer-profile-note { padding: 0 18px 18px; }
.account-drawer :is(p, dd, a) { overflow-wrap: anywhere; }
@media (max-width: 380px) { .customer-auth-shell { padding: 24px 14px; } .customer-auth-card { padding: 24px 18px; } }
@media (prefers-reduced-motion: reduce) { .customer-auth *, .account-drawer * { scroll-behavior: auto; } }
