.auth-page{min-height:100vh;margin:0;padding:32px 20px;display:grid;place-items:center;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 44%),linear-gradient(180deg,var(--surface-2),var(--bg))}
.auth-shell{width:100%;max-width:480px}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:36px;color:var(--ink)}.auth-brand .brand-mark{width:42px;height:42px}.auth-brand strong{font-size:22px;letter-spacing:-.03em}
.auth-card{border:1px solid color-mix(in srgb,var(--border) 82%,var(--primary));border-radius:22px;background:var(--surface);box-shadow:0 24px 70px rgba(23,22,31,.09);overflow:hidden}
.auth-head{padding:32px 32px 22px;text-align:center}.auth-head h1{font-size:30px;line-height:1.4;margin:7px 0 0;letter-spacing:-.035em}.auth-portal{display:inline-flex;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary);font-size:12px;font-weight:800}
.auth-body{padding:0 32px 32px}.auth-form{display:grid;gap:20px}.auth-form .field{display:grid;gap:8px}.auth-form .field>label{font-size:13px;font-weight:750;color:var(--ink)}.auth-form .input{height:48px;padding:0 14px;border-radius:12px;background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.auth-form .input:focus{border-color:color-mix(in srgb,var(--primary) 65%,var(--border));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.remember input{width:16px;height:16px;margin:0;accent-color:var(--primary)}
.password-wrap{position:relative}.password-wrap .input{padding-left:50px;width:100%}.password-toggle{position:absolute;left:7px;top:7px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.password-toggle:hover{background:var(--surface-2);color:var(--ink)}.password-toggle .icon{width:17px;height:17px}
.auth-mfa{border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.auth-mfa summary{padding:12px 14px;cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);list-style:none}.auth-mfa summary::-webkit-details-marker{display:none}.auth-mfa summary:after{content:"+";float:left;font-size:18px;line-height:1}.auth-mfa[open] summary:after{content:"−"}.auth-mfa[open] summary{border-bottom:1px solid var(--border);color:var(--ink)}.auth-mfa .field{padding:14px}
.auth-submit{width:100%;height:48px;border-radius:12px;font-size:14px;font-weight:800}.auth-note{display:flex;align-items:flex-start;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.auth-note .icon{width:16px;height:16px;margin-top:2px;color:var(--primary)}
.auth-method-radio{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.auth-methods{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 20px;padding:5px;border-radius:13px;background:var(--surface-2)}.auth-methods label{display:flex;justify-content:center;padding:9px 12px;border-radius:9px;color:var(--muted);font-size:13px;font-weight:750;cursor:pointer}.auth-method-radio:focus-visible+.auth-method-radio+.auth-methods label[for=auth_method_password],#auth_method_otp:focus-visible~.auth-methods label[for=auth_method_otp]{outline:2px solid var(--primary);outline-offset:2px}#auth_method_password:checked~.auth-methods label[for=auth_method_password],#auth_method_otp:checked~.auth-methods label[for=auth_method_otp]{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px rgba(23,22,31,.08)}[data-auth-panel]{display:none}#auth_method_password:checked~[data-auth-panel=password],#auth_method_otp:checked~[data-auth-panel=otp]{display:block}.otp-sent{display:grid;gap:4px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.otp-sent strong{font-size:14px}.otp-sent span{color:var(--muted);font-size:12px}.otp-destination{display:inline-block;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}.otp-code{text-align:center;font-size:22px;font-weight:850;letter-spacing:.4em;direction:ltr}.auth-resend{margin-top:15px;text-align:center;font-size:12px}.auth-resend label{color:var(--primary);font:inherit;font-weight:750;cursor:pointer}.has-pending-otp [data-otp-stage=request]{display:none}#otp_use_another_number:checked~[data-otp-stage=verify]{display:none}#otp_use_another_number:checked~[data-otp-stage=request]{display:block}.auth-forgot{color:var(--primary);font-size:12px;font-weight:750}
.auth-shell-wide{max-width:520px}.auth-eyebrow{display:inline-flex;margin-bottom:8px;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary);font-size:11px;font-weight:700}.auth-consent{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:12px;line-height:1.9}.auth-consent input{width:16px;height:16px;flex:0 0 auto;margin-top:5px;accent-color:var(--primary)}.auth-consent a,.auth-switch a{color:var(--primary);font-weight:700}.auth-switch{margin-top:18px;text-align:center;color:var(--muted);font-size:13px}.field-error{display:block;margin-top:6px;color:var(--danger);font-size:11px}.otp-input{text-align:center;font-size:22px;font-weight:800;letter-spacing:.45em;direction:ltr}.auth-expiry{margin:0;padding:10px 12px;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:520px){.auth-page{padding:20px 14px}.auth-head{padding:26px 20px 18px}.auth-head h1{font-size:27px}.auth-body{padding:0 20px 24px}.auth-brand{margin-bottom:26px}.auth-form{gap:18px}}
