.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--card)}.auth-card{width:min(100%,420px);margin:auto;padding:48px 24px}.auth-brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:40px}.auth-card h1{margin:0 0 6px;font-size:28px;letter-spacing:-.025em}.auth-card p.auth-subtitle{color:var(--muted);font-size:15px;margin:0 0 28px}.auth-card form{display:grid;gap:16px}.auth-card label{display:grid;gap:6px;color:var(--text);font-size:14px;font-weight:500}.auth-card label input{height:44px;font-size:15px}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;margin-top:4px;border:0;border-radius:var(--radius);background:var(--brand);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-xs);transition:background-color .15s}.auth-submit svg{margin:0!important}.auth-submit:hover{background:var(--brand-hover)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-error{color:var(--danger);background:#fef3f2;border:1px solid #fecdca;border-radius:var(--radius);padding:10px 12px;font-size:14px;margin:0}.auth-switch{text-align:center;font-size:14px;color:var(--muted);margin-top:24px}.auth-switch a{color:var(--brand);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}@media (max-width:900px){.auth-shell{grid-template-columns:1fr;background:var(--paper)}.auth-card{margin:0 auto;padding:56px 20px 40px}.auth-card h1{font-size:24px}}.auth-aside{position:relative;overflow:hidden;display:flex;align-items:center;padding:56px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(200,240,110,.32),transparent 42%),radial-gradient(circle at 10% 90%,rgba(200,240,110,.16),transparent 45%),linear-gradient(140deg,#14532d,#0b2e1c)}.auth-aside-inner{max-width:460px}.auth-aside-eyebrow{margin:0 0 16px;color:var(--lime);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.auth-aside h2{margin:0 0 28px;color:#fff;font-size:clamp(26px,2.6vw,34px);line-height:1.2;letter-spacing:-.025em}.auth-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.auth-aside li{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.5}.auth-aside li svg{flex-shrink:0;margin-top:2px;color:var(--lime)}@media (max-width:900px){.auth-aside{display:none}}