.auth-body{background:var(--bg-subtle);min-height:100vh;display:grid}.auth{width:100%;max-width:400px;margin:auto;padding:24px 16px}.auth-card{background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:28px 24px}.auth-brand{align-items:center;gap:10px;margin-bottom:20px;font-weight:600;display:flex}.auth-logo{background:var(--accent-solid);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.auth h1{font-size:var(--fs-xl);margin-bottom:6px}.auth form{gap:14px;margin-top:16px;display:grid}.auth .field{font-size:var(--fs-sm);gap:6px;font-weight:500;display:grid}.auth input{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);width:100%;height:40px;padding:0 12px;font-size:16px}.auth input:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:0}.auth .btn{border-radius:var(--r-md);background:var(--accent-solid);color:#fff;border:0;height:40px;font-weight:600}.auth .btn:hover{background:var(--accent-hover)}.auth .alert{border-radius:var(--r-md);font-size:var(--fs-sm);margin-top:14px;padding:10px 12px}.auth .alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent)}.auth .alert-info{background:var(--accent-soft);color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent)}.auth-foot{text-align:center;color:var(--text-2);font-size:var(--fs-xs);margin-top:16px}.auth-alt{text-align:center;font-size:var(--fs-sm);margin-top:14px}.auth .muted{color:var(--text-2);font-size:var(--fs-sm)}
