/* ---------- login ---------- */
.login { height: 100vh; display: grid; place-items: center; background: var(--bg); }
.login-art { display: none; }
.login-card { width: 340px; display: flex; flex-direction: column; align-items: flex-start; }
.login-card .wordmark { height: 22px; margin-bottom: 28px; }
.login-card h1 { font-size: 20px; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 6px; font-weight: 600; }
.login-card p.muted { font-size: 13px; margin: 0 0 20px; }
.login-card form { width: 100%; }
.btn-primary { width: 100%; background: var(--accent); color: var(--on-accent); padding: 8px 14px; border-radius: 6px; font-weight: 500; font-size: 13px; transition: filter .12s; }
.btn-primary:hover { filter: brightness(1.06); }
.fine { color: var(--muted); font-size: 12px; margin-top: 14px; }


.demo-users { display: flex; flex-direction: column; gap: 10px; }
.demo-user { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 14px; text-align: left; border-radius: 10px; border: 1px solid var(--line-2); background: var(--raise); box-shadow: var(--sh); color: var(--text); transition: border-color .12s, transform .12s, box-shadow .12s; }
.demo-user:hover { border-color: var(--accent); transform: translateY(-1px); box-shadow: var(--sh-lg); }
.demo-user:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.demo-user .av { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 600; color: #fff; background: var(--accent); flex: none; }
.demo-user .av[data-n="2"] { background: #5b8def; }
.demo-user .who { flex: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1.3; } .demo-user .who b { font-weight: 600; font-size: 13.5px; } .demo-user .who small { color: var(--muted); font-size: 11.5px; }
