
.auth-page{margin:0;min-height:100vh;background:linear-gradient(145deg,#faf9fb 0%,#f5f2f8 55%,#f8f5ff 100%);color:var(--besual-ink,#17171c);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.auth-page *{box-sizing:border-box}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.auth-card{width:min(100%,480px);background:#fff;border:1px solid var(--besual-line,#e7e3e8);border-radius:28px;padding:38px;box-shadow:0 24px 70px rgba(32,22,44,.09)}.auth-brand{display:inline-flex;margin-bottom:18px}.auth-brand img{width:210px;height:auto;display:block}.auth-header h1{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin:0 0 10px}.auth-header p{margin:0 0 28px;color:var(--besual-muted,#6f6b73);font-size:16px}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:8px}.auth-field label{font-size:13px;font-weight:800}.auth-field input{width:100%;min-height:48px;border:1px solid var(--besual-line,#e7e3e8);border-radius:13px;background:#fff;padding:11px 13px;font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.auth-field input:focus{border-color:var(--besual-violet,#5b43e8);box-shadow:0 0 0 4px rgba(91,67,232,.12)}.auth-submit{min-height:50px;border:0;border-radius:13px;background:#17171c;color:#fff;font:inherit;font-weight:850;cursor:pointer;transition:transform .18s ease,background .18s ease}.auth-submit:hover{background:var(--besual-violet,#5b43e8);transform:translateY(-1px)}.auth-register{margin:24px 0 0;color:var(--besual-muted,#6f6b73);font-size:14px}.auth-register a{color:var(--besual-violet,#5b43e8);font-weight:800;text-decoration:none}.auth-register a:hover{text-decoration:underline}.auth-card [role="alert"]{border:1px solid #f0bdc8;background:#fff5f7;border-radius:14px;padding:14px 16px;margin-bottom:20px}.auth-card [role="alert"] h2{font-size:15px;margin:0 0 8px}.auth-card [role="alert"] ul{margin:0;padding-left:20px}@media(max-width:560px){.auth-shell{padding:18px}.auth-card{padding:28px 22px;border-radius:22px}.auth-header h1{font-size:29px}.auth-brand img{width:190px}}

.auth-help{color:var(--besual-muted,#6f6b73);font-size:12px}.auth-commerce-note{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f7f3ff;color:#665d73;font-size:12px;line-height:1.5}

/* v2.8 auth closure */
.auth-card form:not(.auth-form){display:grid;gap:18px}
.auth-card form:not(.auth-form) label{font-size:13px;font-weight:800}
.auth-card form:not(.auth-form) input,
.auth-card input[type="email"],.auth-card input[type="password"],.auth-card input[type="text"]{
 width:100%;min-height:48px;border:1px solid var(--besual-line,#e7e3e8);border-radius:13px;background:#fff;padding:11px 13px;font:inherit;box-sizing:border-box
}
.auth-card input:focus{border-color:var(--besual-violet,#5b43e8);box-shadow:0 0 0 4px rgba(91,67,232,.12);outline:none}

/* Registration consent line. The auth card is always a light surface,
   so #5b21b6 (8.6:1 on white) is safe here at 12px. */
.auth-legal{margin:16px 0 0;color:#5c5563;font-size:12px;line-height:1.5;text-align:center}
.auth-legal a{color:#5b21b6;text-decoration:underline}
.auth-legal a:hover,.auth-legal a:focus-visible{text-decoration-thickness:2px}
