.login-shell{min-height:100vh;padding:var(--space-5);background:var(--bg);place-items:center;display:grid}.login-card{width:min(400px,100%);padding:var(--space-6);gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid}.login-brand{align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:flex;position:relative}.login-brand:after{content:"";inset-inline-start:0;background:var(--gold-rule);border-radius:var(--radius-full);width:64px;height:2px;position:absolute;bottom:-1px}.login-brand>img{border-radius:var(--radius-md);background:var(--parchment-50);border:1px solid var(--border);width:128px;height:auto;padding:8px 10px}.login-brand>b{border-radius:var(--radius-md);background:var(--brand-gradient);width:46px;height:46px;color:var(--text-on-brand);font-family:var(--font-serif);font-size:var(--text-lg);place-items:center;font-weight:700;display:grid}.login-brand strong{font-family:var(--font-serif);font-size:var(--text-md);display:block}.login-brand small{color:var(--text-muted);font-size:var(--text-xs)}.login-card h1{font-size:var(--text-xl);margin-top:var(--space-2)}.login-note{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0}.login-card label{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600;display:grid}.login-error{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--text-sm);margin:0}.login-card button{margin-top:var(--space-2);border-radius:var(--radius-full);background:var(--accent);color:var(--text-on-brand);padding:var(--space-3) var(--space-5);font-weight:700;font-size:var(--text-base);cursor:pointer;transition:background var(--transition);border:none}.login-card button:hover{background:var(--accent-hover)}.login-card button:disabled{opacity:.6;cursor:wait}.login-google{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-weight:600;text-decoration:none;display:flex}.login-google:hover,.login-google:focus-visible{border-color:var(--brand,currentColor);background:var(--bg)}
