/* Sign-in overlay, Settings > Users and the Access log window (web/auth.js). */
.auth-ov{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(8,8,8,.94);backdrop-filter:blur(6px)}
.auth-ov[hidden]{display:none}
body.auth-on .top,body.auth-on main{pointer-events:none}
.auth-card{width:min(340px,calc(100vw - 32px));background:#141414;border:1px solid #2c2c2c;border-radius:12px;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:10px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.auth-brand img{height:22px;padding-right:12px;border-right:1px solid var(--line2)}
.auth-brand span{font-size:16px;font-weight:600;color:var(--ink)}
.auth-brand b{color:var(--acc);font-weight:600}
.auth-h{color:var(--acc);font-weight:600;font-size:14px}
.auth-eval{margin-top:6px;padding-top:10px;border-top:1px solid #2c2c2c;color:var(--ink3);font-size:11px;text-align:center;letter-spacing:.02em}
.auth-note{color:var(--ink3);font-size:12px;margin-top:-4px}
.auth-f{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:10px;color:var(--ink2);font-size:12.5px}
.auth-f .field{width:100%;box-sizing:border-box;color:var(--ink);font:inherit;height:32px}
.auth-err{min-height:16px;color:var(--sev);font-size:12px}
.auth-go,.auth-cancel{width:100%}
/* Settings > Users */
.usr-add{width:22px;height:22px;margin-left:6px;font-size:15px;line-height:1;vertical-align:middle}
.usr-list{display:flex;flex-direction:column;gap:2px}
.usr-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;padding:6px;border-radius:8px;cursor:pointer}
.usr-row:hover{background:#1c1c1c}
.usr.off .usr-row{opacity:.55}
.usr-row i{color:var(--ink3);font-style:normal;font-weight:400}
.usr-edit{margin:4px 0 10px 46px;padding:8px 10px;border-left:2px solid rgba(78,205,196,.35);display:flex;flex-direction:column;gap:2px}
#usr-new.usr-edit{margin-left:0}
.usr-edit .sets{justify-content:space-between}
.usr-edit .sets .field{flex:0 0 190px;width:190px;box-sizing:border-box;color:var(--ink)}
.usr-roles{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0}
.usr-role{display:flex;align-items:center;gap:5px;cursor:pointer}
.usr-btns{flex-wrap:wrap;gap:6px;margin-top:6px}
.usr-last{color:var(--ink3);font-size:11px}
.usr-msg{color:var(--mod);font-size:11.5px;min-height:14px}
.usr-msg.bad{color:var(--sev)}
.usr-otp:empty{display:none}
.usr-otp{margin-top:6px;padding:8px;border:1px solid rgba(78,205,196,.35);border-radius:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.usr-otp-h{width:100%;color:var(--acc);font-size:11.5px}
.usr-otp code{font:13px/1 ui-monospace,Menlo,monospace;color:var(--ink);user-select:all}
/* Access log */
.alog{position:fixed;inset:12px;z-index:150;background:#111;border:1px solid #2c2c2c;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.alog[hidden]{display:none}
.alog-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.alog-top b{color:var(--acc);font-weight:600;margin-right:6px}
.alog-top label{display:flex;align-items:center;gap:6px;color:var(--ink3);font-size:12px}
.alog-top .field{width:120px;color:var(--ink);font:inherit;font-size:12px;height:28px;box-sizing:border-box}
.alog-top .field[type=date]{width:136px;color-scheme:dark}
.alog-sp{flex:1}
.alog-chain{color:var(--ink3);font-size:12px}
.alog-chain.bad{color:var(--sev)}
.alog-tw{flex:1;overflow:auto;padding:0 14px 14px}
.alog-t{width:100%;border-collapse:collapse;font-size:12px}
.alog-t th{position:sticky;top:0;background:#111;text-align:left;color:var(--ink3);font-weight:500;padding:8px 10px 6px;border-bottom:1px solid var(--line)}
.alog-t td{padding:5px 10px;border-bottom:1px solid #1b1b1b;color:var(--ink2);white-space:nowrap}
.alog-t tr.warn td{color:var(--mod)}
.alog-t td:nth-child(3){color:var(--ink)}
.alog-more{margin:10px 0 0}
.alog-n{color:var(--ink3);font-size:11.5px;margin-top:8px}
.acc-btns{gap:6px;margin-top:10px}
/* Being read by (web/presence.js) */
.pres-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:10px;max-width:min(760px,calc(100vw - 24px));
  padding:7px 8px 7px 14px;border-radius:9px;background:#1a1a1a;border:1px solid rgba(78,205,196,.4);color:var(--ink2);font-size:12.5px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.pres-bar[hidden]{display:none}
.pres-bar b{color:var(--ink);font-weight:600}
.pres-bar.warn{border-color:rgba(255,179,122,.6)}
.pres-tag{margin-left:8px;padding:1px 7px;border-radius:9px;background:rgba(255,213,138,.12);color:var(--mild);font-size:10.5px;white-space:nowrap;flex:none}

/* two-factor (2026-10-18) */
.tfa-qr{display:grid;place-items:center;margin:4px 0}
.tfa-qr img{width:172px;height:172px;border-radius:8px;background:#fff;image-rendering:pixelated}
.tfa-key{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink3);font-size:11.5px}
.tfa-key code{font:12.5px/1.3 ui-monospace,Menlo,monospace;color:var(--ink);user-select:all;text-align:center;max-width:240px;line-height:1.5}
.tfa-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:10px 12px;border:1px solid rgba(78,205,196,.35);border-radius:8px}
.tfa-codes code{font:13px/1.2 ui-monospace,Menlo,monospace;color:var(--ink);user-select:all;text-align:center}
.setr.tfa-btns{gap:6px;justify-content:center}
#set-sec:empty{display:none}
#set-sec{margin-top:18px}
.sec-row{display:flex;gap:10px;align-items:baseline;font-size:12.5px;margin-top:6px}
.sec-k{flex:0 0 132px;color:var(--ink2)}
.sec-v{color:var(--ink3)}
.sec-on{color:var(--acc);font-weight:600}
.sec-off{color:var(--mod);font-weight:600}
.sec-btns{gap:6px;margin:6px 0 4px 142px}
.sec-list{margin:4px 0 0 142px;display:flex;flex-direction:column;gap:2px;color:var(--ink3);font-size:11.5px}
.sec-list .cur{color:var(--ink2)}
.usr-row em.su{font-style:normal;color:var(--acc)}
