.login-page { padding-left: 0; }
.login-shell { display: grid; place-items: center; min-height: calc(100vh - 4px); padding: 32px 20px; }
.login-card { width: min(100%, 440px); padding: 36px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-strong); }
.login-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 32px; font-size: 20px; letter-spacing: -.04em; }
.login-brand .console-mark { width: 24px; height: 24px; }
.login-card h1 { font-size: 20px; }
.login-card form { display: grid; gap: 10px; margin-top: 28px; }
.login-card label { margin-top: 8px; font-size: 12px; font-weight: 600; }
.login-card input { width: 100%; padding: 12px; border: 1px solid var(--line-dark); border-radius: 6px; background: #fff; font: inherit; }
.login-card button { margin-top: 14px; padding: 12px; border: 0; border-radius: 6px; font: 600 13px var(--font-sans); cursor: pointer; }
.login-card button:disabled { opacity: .65; cursor: wait; }
#login-error { margin: 8px 0 0; color: var(--danger); font-size: 12px; }
#login-status { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
#login-google { width: 100%; margin-top: 24px; }
.login-or { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.login-link { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.login-card .login-link input { width: auto; margin: 0; }
