.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,2vw,2rem);background:radial-gradient(circle at top right,rgba(76,92,140,.1),transparent 30%),linear-gradient(180deg,#fcfbf8 0,var(--surface-2) 100%)}.auth-layout{width:100%;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(250px,.72fr) minmax(460px,1.28fr);grid-gap:1.25rem;gap:1.25rem;align-items:stretch}.auth-panel{min-width:0}.auth-panel--brand{flex-direction:column;text-align:center;padding:clamp(1.5rem,4vw,2.75rem)}.auth-panel--brand,.auth-panel--form{display:flex;justify-content:center;align-items:center}.auth-brand-content{display:flex;flex-direction:column;gap:1.7rem;max-width:340px}.auth-brand-bar{display:flex;align-items:center;justify-content:center;width:100%}.auth-logo{display:inline-block;text-decoration:none}.auth-logo-wordmark{font-family:var(--font-serif),serif;font-size:clamp(2rem,2.6vw,2.35rem);font-weight:500;line-height:1;color:var(--ink);letter-spacing:-.03em}.auth-logo-wordmark .logo-accent{font-style:italic}.auth-hero{max-width:340px}.auth-hero-title{font-family:var(--font-serif),serif;font-size:clamp(2.2rem,4vw,3.15rem);font-weight:400;line-height:1.05;letter-spacing:-.04em;color:var(--ink);margin-bottom:.9rem}.auth-sub{max-width:330px;font-size:15px;line-height:1.7;color:var(--ink-2)}.auth-card{width:100%;max-width:520px;padding:clamp(1.5rem,3.5vw,2.6rem);border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 20px 40px rgba(15,15,15,.06),0 2px 10px rgba(15,15,15,.04);display:flex;flex-direction:column;justify-content:center}.auth-card-head{margin-bottom:1.6rem}.auth-card-eyebrow{display:inline-block;margin-bottom:.75rem;color:var(--accent-text);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-card-title{color:var(--ink);font-size:clamp(1.7rem,2.6vw,2.1rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:.55rem}.auth-card-sub{color:var(--ink-3);font-size:14px;line-height:1.65}.auth-form{gap:1rem}.auth-form,.auth-form-stack{display:flex;flex-direction:column}.auth-form-stack{gap:.95rem}.auth-field{display:flex;flex-direction:column;gap:.45rem}.auth-field label{color:var(--ink-2);font-size:13px;font-weight:600}.auth-field input{width:100%;padding:14px 15px;border:1.5px solid var(--border);border-radius:6px;font-size:15px;font-family:var(--font-sans),sans-serif;outline:none;background:var(--surface-2);color:var(--ink);transition:border-color .15s,background .15s,box-shadow .15s}.auth-field input::placeholder{color:var(--ink-4)}.auth-field input:hover{background:#fff}.auth-field input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(76,92,140,.08)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:46px}.auth-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--ink-3);cursor:pointer}.auth-password-toggle:hover{color:var(--ink-2);background:rgba(76,92,140,.06)}.auth-password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-submit{width:100%;border:none;border-radius:6px;padding:14px 18px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;font-family:var(--font-sans),sans-serif;cursor:pointer;transition:background .15s,transform .15s}.auth-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-form-footnote{color:var(--ink-3);font-size:12px;line-height:1.6}.auth-error,.auth-success{padding:.9rem 1rem;border-radius:6px;font-size:13px;line-height:1.55}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.auth-success{display:flex;flex-direction:column;gap:.25rem;background:var(--green-bg);border:1px solid var(--green-border);color:var(--green)}.auth-success strong{font-size:14px}.auth-checkbox{display:flex;align-items:flex-start;gap:.8rem;padding:.95rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s}.auth-checkbox:hover{border-color:var(--border-strong);background:#fff}.auth-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.auth-checkbox span{color:var(--ink-2);font-size:13px;line-height:1.55}.auth-checkbox a{color:var(--accent);text-decoration:none;font-weight:600}.auth-checkbox a:hover{color:var(--accent-hover);text-decoration:underline}.auth-switch{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);color:var(--ink-3);font-size:13px}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:600}.auth-switch a:hover{color:var(--accent-hover);text-decoration:underline}.auth-form-skeleton{display:flex;flex-direction:column;gap:.95rem}.auth-skeleton-line{border-radius:6px;background:linear-gradient(90deg,#f2f0eb,#faf9f6 50%,#f2f0eb);background-size:200% 100%;animation:auth-skeleton 1.2s ease-in-out infinite}.auth-skeleton-line--input{height:52px}.auth-skeleton-line--button{height:52px;margin-top:.2rem}@keyframes auth-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:980px){.auth-layout{grid-template-columns:1fr;gap:1rem}.auth-panel--brand{padding:1.35rem}.auth-card{max-width:none}.auth-brand-content{gap:1rem;max-width:100%}.auth-hero{max-width:100%}}@media (max-width:640px){.auth-shell{padding:1rem}.auth-card,.auth-panel--brand{border-radius:8px;padding:1.3rem}.auth-logo-wordmark{font-size:27px}.auth-hero-title{font-size:1.75rem;margin-bottom:0}.auth-sub{display:none}.auth-card-head{margin-bottom:1.15rem}.auth-checkbox{padding:.9rem}.auth-password-wrap input{padding-right:50px}.auth-password-toggle{right:1px;width:44px;height:44px}}