/* Accounts: sign-in / link screens, account menu, access-denied panel (web/core/auth.js). Dark, sober (DESIGN.md). */
#auth-screen{position:fixed;inset:0;z-index:70;background:var(--bg);overflow:auto}
body.auth-required .shell{visibility:hidden}
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}
.auth-card{width:min(400px,100%);border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:30px 28px 24px;display:flex;flex-direction:column;gap:18px}
.auth-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:-.2px;color:var(--muted)}
.auth-brand .brand-mark{display:grid;place-items:center;background:var(--primary);width:26px;height:26px;border-radius:6px;font-size:24px;font-weight:700;line-height:1;padding-bottom:3px;color:oklch(1 0 0)}
.auth-card h1{font-size:22px;font-weight:600;letter-spacing:-.5px}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-form .ui-field{font-size:11.5px}
.auth-error{margin:0;font-size:12px;line-height:1.6;color:var(--danger)}
.auth-note{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.auth-hint{margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
.auth-langs{display:flex;gap:6px;justify-content:flex-end}
.auth-langs .ui-toggle,.auth-languages .ui-toggle{min-width:40px;padding:5px 9px;font-size:10.5px;letter-spacing:.3px}
.button.full{width:100%}
/* sidebar brand = workspace name */
.brand.workspace{font-size:17px;letter-spacing:-.4px;gap:9px;justify-content:flex-start}
.brand.workspace>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:6px;display:block}
/* account menu */
.auth-pop{position:fixed;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;border:1px solid oklch(.36 0 0);border-radius:11px;background:oklch(.215 0 0);color:var(--ink);z-index:65;overflow:hidden;outline:none;animation:ui-in .16s ease-out}
.auth-pop-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}
.auth-pop-head>div{min-width:0}
.auth-pop-head strong{display:block;font-size:13px;font-weight:580;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-pop-head small{display:block;margin-top:3px;font-size:10.5px;color:var(--muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-pop-head .auth-role{color:var(--accent);text-transform:uppercase;letter-spacing:.4px;font-size:9.5px}
.auth-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid oklch(.4 .05 48);background:oklch(.28 .035 48);color:var(--accent);font-size:12px;font-weight:600;flex-shrink:0;overflow:hidden}
.auth-avatar img{width:100%;height:100%;object-fit:cover}
.auth-pop-body{overflow-y:auto;padding:4px 0}
.auth-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:0;background:none;color:var(--ink);font-size:12px;text-align:left;text-decoration:none;cursor:pointer}
.auth-item:hover{background:oklch(.245 0 0)}.auth-item:focus-visible{outline-offset:-2px}.auth-item .icon{width:14px;height:14px;color:var(--muted)}
.auth-item small{margin-left:auto;color:var(--muted);font-size:10.5px;white-space:nowrap}
.auth-item.danger{color:var(--danger)}.auth-item.danger .icon{color:var(--danger)}
.auth-languages{padding:8px 16px 10px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:4px 0}
.auth-languages>div{display:flex;gap:6px}
.auth-section{font-size:9.5px;letter-spacing:.6px;color:var(--muted)}
.auth-pop-foot{border-top:1px solid var(--border);background:oklch(.2 0 0)}
.auth-secret{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;font-size:11px;color:var(--muted)}
.auth-secret>span{grid-column:1/-1}
.auth-secret code{font-size:11px;word-break:break-all;color:var(--ink);background:var(--ui-field);padding:7px 9px;border-radius:6px;border:1px solid var(--border)}
.auth-denied{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.auth-denied .icon{width:28px;height:28px;color:var(--muted)}.auth-denied h2{font-size:15px;font-weight:560}.auth-denied p{font-size:12px;color:var(--muted);line-height:1.6;max-width:460px}
@media(prefers-reduced-motion:reduce){.auth-pop{animation:none}}
