.login-body { min-height:100vh; }
.login-topbar { justify-content:center; }
.login-main { display:flex; flex-direction:column; align-items:center; padding-top:64px; }
.login-qr { width:320px; min-height:360px; }
.login-hint { color:var(--ui-muted); }
.login-error { color:var(--ui-danger); }
.font-credit { color:var(--ui-muted); font-size:.75rem; margin-top:32px; }
.password-login-enabled .login-main, .password-page .login-main { padding:48px 20px; }
.login-choices { display:flex; gap:8px; margin-bottom:24px; }
.login-choice { padding:10px 20px; border:1px solid var(--ui-border,#d8dce3); border-radius:8px; background:transparent; color:inherit; cursor:pointer; }
.login-choice[aria-pressed="true"] { background:var(--ui-accent,#2563eb); color:white; }
.account-form { display:flex; flex-direction:column; gap:18px; width:min(100%,380px); }
.account-form h1 { font-size:1.4rem; margin:0; }
.account-form label { display:flex; flex-direction:column; gap:7px; }
.account-form input { box-sizing:border-box; width:100%; font:inherit; padding:11px 12px; border:1px solid var(--ui-border,#cbd5e1); border-radius:8px; background:var(--ui-surface,#fff); color:inherit; }
.account-submit { padding:12px 18px; border:0; border-radius:8px; background:var(--ui-accent,#2563eb); color:#fff; font:inherit; cursor:pointer; }
.account-submit:disabled { opacity:.6; cursor:wait; }
[hidden] { display:none !important; }
.account-create, .account-card { padding:24px; margin:20px 0; }
.accounts-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:20px; }
.account-card { margin:0; min-width:0; }
.account-card h3 { overflow-wrap:anywhere; }
.account-inline, .account-actions { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; align-items:end; }
.account-inline label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.account-card input { max-width:100%; box-sizing:border-box; font:inherit; padding:8px; }
.account-card button, #passwordLogout { padding:9px 14px; border:1px solid var(--ui-border,#cbd5e1); border-radius:8px; font:inherit; cursor:pointer; }
