.auth-body{display:flex;align-items:stretch;background:radial-gradient(circle at 75% 30%,rgba(var(--accent-rgb),.12),transparent 36%),var(--page)}
.auth-shell{min-height:calc(100vh - 24px)}
.auth-header{grid-template-columns:minmax(280px,1fr) auto auto;min-height:104px}
.auth-back{color:var(--muted);font-size:14px;font-weight:650;transition:.2s}
.auth-back:hover{color:var(--accent-strong)}
.auth-stage{min-height:calc(100vh - 132px);display:grid;grid-template-columns:minmax(420px,1fr) minmax(400px,560px);gap:60px;align-items:center;padding:54px clamp(36px,6vw,110px);overflow:hidden}
.auth-decoration{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:40px 0}
.auth-decoration:before{content:"";position:absolute;inset:10% -30% 5% -10%;background:radial-gradient(circle at 48% 48%,rgba(var(--accent-rgb),.16),transparent 55%);pointer-events:none}
.auth-decoration__eyebrow{position:relative;color:var(--accent-strong);font-size:13px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.auth-decoration h2{position:relative;max-width:690px;margin:16px 0;font-size:clamp(34px,4.3vw,66px);line-height:1.04}
.auth-decoration p{position:relative;max-width:590px;margin:0;color:var(--muted);font-size:18px;line-height:1.55}
.auth-decoration img{position:relative;width:min(720px,105%);height:290px;margin:16px 0 -30px -4%;object-fit:contain;object-position:left center;filter:drop-shadow(0 25px 35px rgba(0,0,0,.34))}
.auth-card{position:relative;padding:38px 42px;border:1px solid var(--border);border-radius:24px;background:var(--surface-raised);background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(14px)}
.auth-card__icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:20px;border:1px solid rgba(var(--accent-rgb),.55);border-radius:50%;color:var(--accent-strong)}
.auth-card__icon svg{width:27px;height:27px}
.auth-card h1{margin:0 0 8px;font-size:34px;line-height:1.1}
.auth-lead{margin:0 0 27px;color:var(--muted);line-height:1.5}
.auth-lead strong{color:var(--text);overflow-wrap:anywhere}
.auth-form{display:grid;gap:16px}
.auth-form label:not(.auth-check){display:grid;gap:8px;color:var(--text);font-size:13px;font-weight:750}
.auth-form input:not([type=checkbox]){width:100%;height:50px;padding:0 15px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);outline:0;transition:.2s}
.auth-form input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}
.auth-form input::placeholder{color:var(--muted);opacity:.7}
.auth-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-check{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:13px;line-height:1.4;cursor:pointer}
.auth-check input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--accent)}
.auth-primary,.auth-secondary{width:100%;min-height:50px;border-radius:11px;font-weight:800;cursor:pointer;transition:.2s}
.auth-primary{border:0;background:linear-gradient(135deg,var(--accent-strong),var(--accent));color:#fff;box-shadow:0 12px 28px rgba(var(--accent-rgb),.2)}
.auth-primary:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(var(--accent-rgb),.28)}
.auth-secondary{margin-top:12px;border:1px solid var(--border);background:transparent;color:var(--text)}
.auth-secondary:hover{border-color:var(--accent);color:var(--accent-strong)}
.auth-switch{margin:24px 0 0;color:var(--muted);text-align:center;font-size:14px}
.auth-switch a{color:var(--accent-strong);font-weight:800}
.auth-forgot{justify-self:end;margin-top:-6px;color:var(--accent-strong);font-size:13px;font-weight:750}
.auth-forgot:hover{text-decoration:underline}
.auth-error{margin:-9px 0 0;color:#ff6469;font-size:12px;line-height:1.35}
.auth-success{margin:0 0 20px;padding:12px 14px;border:1px solid rgba(49,190,105,.35);border-radius:10px;background:rgba(49,190,105,.1);color:#55d486;font-size:13px;line-height:1.45}
@media(max-width:980px){.auth-stage{grid-template-columns:1fr;padding:38px clamp(20px,6vw,60px)}.auth-decoration{display:none}.auth-card{width:min(560px,100%);margin:auto}}
@media(max-width:650px){.auth-body{padding:0}.auth-shell{width:100%;min-height:100vh;border:0;border-radius:0}.auth-header{grid-template-columns:1fr auto;padding:16px 20px}.auth-header .brand__copy small,.auth-back{display:none}.auth-stage{min-height:calc(100vh - 96px);padding:24px 15px}.auth-card{padding:28px 22px}.auth-password-grid{grid-template-columns:1fr}.auth-card h1{font-size:29px}}
