/* 在线状态 (presence.js): the dot on every person, and the status popover on the top-bar avatar.
   Colours come from the theme tokens --wh-presence-* (03); each dot keeps a 2px ring in the surface colour. */
.wh-presence-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:middle;
  box-shadow:0 0 0 2px var(--surface1,#fff);background:var(--wh-presence-offline,#9aa5b4)}
.wh-presence-dot[data-presence="online"]{background:var(--wh-presence-online,#22a35a)}
.wh-presence-dot[data-presence="busy"]{background:var(--wh-presence-busy,#e0a100)}
.wh-presence-dot[data-presence="dnd"]{background:var(--wh-presence-dnd,#d93f3f)}
.wh-presence-dot[data-presence="away"]{background:var(--wh-presence-away,#b08a3e)}
.wh-presence-dot[data-presence="offline"],.wh-presence-dot[data-presence="invisible"]{background:var(--wh-presence-offline,#9aa5b4)}
.wh-presence-dot[data-presence="dnd"]::after{content:"";display:block;width:6px;height:2px;margin:4px auto 0;border-radius:1px;background:#fff}
.wh-presence-dot[data-presence="invisible"]{background:transparent;box-shadow:inset 0 0 0 2px var(--wh-presence-offline,#9aa5b4),0 0 0 2px var(--surface1,#fff)}
/* On a face: the bottom-right corner. */
.self-status-avatar,.office-face{position:relative}
.wh-presence-dot.self{position:absolute;right:-2px;bottom:-2px}
/* The office face clips and sizes its children (office_org.css): the dot sits inside its corner at its own size. */
.office-face>.wh-presence-dot.wh-presence-dot{position:absolute;right:1px;bottom:1px;width:9px!important;height:9px!important;margin:0!important;z-index:1}
.office-face>.wh-presence-dot[data-presence="dnd"]::after{width:5px;margin-top:3.5px}
.office-role-legend i.wh-presence-dot{width:10px;height:10px;border-radius:50%;box-shadow:none}
.wh-presence-note-line{display:block;font-size:12px;color:var(--dim,#65758d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

.wh-presence-pop{position:fixed;z-index:1200;width:300px;max-width:calc(100vw - 16px);padding:10px;border:1px solid var(--line,#d6e0ee);
  border-radius:12px;background:var(--surface1,#fff);color:var(--txt,#20344d);box-shadow:0 12px 32px rgba(15,30,60,.22);max-height:calc(100dvh - 24px);overflow:auto}
.wh-presence-option{display:grid;grid-template-columns:auto 14px 1fr;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer}
.wh-presence-option:hover{background:var(--surface2,#eef3f9)}
.wh-presence-option input{margin:0}
.wh-presence-option span{display:grid;line-height:1.25}
.wh-presence-option small{font-size:12px;color:var(--dim,#65758d)}
.wh-presence-line{display:grid;gap:3px;margin:8px 4px 0;font-size:12px;color:var(--dim,#65758d)}
.wh-presence-line input,.wh-presence-line select{width:100%;box-sizing:border-box;font-size:13px}
.wh-presence-note{margin:6px 4px 0;font-size:12px}
.wh-presence-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}
.wh-presence-actions button{font-size:12px}
.chat-muted-note{font-size:12px;color:var(--wh-presence-dnd,#d93f3f)}
/* 退出登录 at the foot of the status popover (also on the 账户 page). */
.wh-presence-signout{display:block;width:100%;margin-top:10px;padding-top:9px;border:0;border-top:1px solid var(--line,#d6deea);border-radius:0;background:none;box-shadow:none;color:var(--danger,#c0392b);font-size:12px;text-align:left;cursor:pointer}
.wh-presence-signout:hover{text-decoration:underline}
