/* Owner-only connection widget. Theme-independent and excluded from every print route. */
#onlineUsersWrap { position:relative; direction:rtl; }
#onlineUsersWrap[hidden],#onlineUsersPanel[hidden] { display:none!important; }
#onlineUsersButton { display:flex; align-items:center; gap:8px; min-height:40px; padding:8px 11px; border:1px solid var(--line,#cbd5d1); border-radius:12px; background:var(--panel,#fff); color:var(--ink,#172922); font:inherit; font-size:12px; cursor:pointer; white-space:nowrap; }
#onlineUsersCount { min-width:1.3em; text-align:center; font-weight:800; font-variant-numeric:tabular-nums; }
#onlineUsersWrap .online-users-dot { width:8px; height:8px; border-radius:50%; background:var(--muted,#52645e); flex-shrink:0; }
#onlineUsersPanel { position:absolute; top:calc(100% + 12px); left:0; z-index:1200; width:420px; max-width:calc(100vw - 28px); max-height:70vh; overflow:auto; padding:18px; border:1px solid var(--line,#cbd5d1); border-radius:16px; background:var(--panel,#fff); color:var(--ink,#172922); box-shadow:0 18px 60px #0004; text-align:right; }
#onlineUsersPanel .online-users-heading,#onlineUsersPanel .online-users-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#onlineUsersPanel button { color:var(--ink,#172922); background:transparent; border:1px solid var(--line,#cbd5d1); border-radius:9px; padding:6px 10px; font:inherit; cursor:pointer; }
#onlineUsersPanel button:disabled { opacity:.55; cursor:wait; }
#onlineUsersPanel .online-users-help,#onlineUsersUpdated { font-size:11px; line-height:1.8; color:var(--muted,#52645e); }
#onlineUsersStatus { font-size:12px; line-height:1.8; }
#onlineUsersList { list-style:none; padding:0; margin:14px 0; display:grid; gap:8px; }
#onlineUsersList li { display:grid; gap:5px; padding:12px; border:1px solid var(--line,#cbd5d1); border-radius:10px; overflow-wrap:anywhere; }
#onlineUsersList strong { font-size:13px; color:var(--ink,#172922); }
#onlineUsersList span,#onlineUsersList small { color:var(--muted,#52645e); font-size:11px; line-height:1.7; }
#onlineUsersWrap button:focus-visible { outline:2px solid var(--gold,#2baf76); outline-offset:3px; }
@media(max-width:650px) {
  #onlineUsersPanel { position:fixed; top:var(--presence-top,90px); left:14px; right:14px; width:auto; max-height:min(65vh,calc(100dvh - var(--presence-top,90px) - 14px)); }
}
@media print { html body #onlineUsersWrap,html body #onlineUsersPanel { display:none!important; visibility:hidden!important; } }
#onlineUsersWrap[data-current="true"] .online-users-dot { background:var(--green,#2baf76); }
