.presence-menu { position: relative; margin-right: 1rem; }
.presence-menu summary { cursor: pointer; color: #e4eee9; padding: .5rem; list-style: none; white-space: nowrap; }
.presence-menu summary::before { content: ""; display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: #91b5a1; margin-right: .45rem; }
.presence-menu summary:focus-visible { outline: 2px solid #91b5a1; outline-offset: 2px; }
.presence-menu > .team-presence { position: absolute; z-index: 1050; right: 0; top: 100%; width: 310px; max-width: 90vw; padding: 1rem; color: #21382f; background: #fffefa; border: 1px solid #deded5; border-radius: .75rem; box-shadow: 0 8px 28px #0002; }
.people-panel { background: #fffefa; border: 1px solid #deded5; border-radius: .8rem; padding: 1.1rem 1.3rem; margin-bottom: 1.5rem; color: #21382f; }
.people-panel h2 { font-size: 1.1rem; margin: 0 0 .4rem; }
.presence-explanation, .presence-message { font-size: .8rem; color: #637369; margin: 0 0 .6rem; }
.presence-message:empty { display: none; }
.presence-people { display: flex; flex-wrap: wrap; gap: .7rem 2rem; }
.presence-menu .presence-people { display: grid; gap: .75rem; }
.presence-person { display: flex; align-items: center; gap: .65rem; min-width: 140px; }
.presence-person strong { font-size: .85rem; overflow-wrap: anywhere; }
.presence-avatar { flex: 0 0 2.1rem; height: 2.1rem; display: grid; place-items: center; border-radius: 50%; background: #e9e6f3; color: #5d5176; position: relative; }
.presence-avatar::after { content: ""; position: absolute; bottom: 0; right: 0; border: 2px solid #fffefa; border-radius: 50%; width: .65rem; height: .65rem; background: #8b9690; }
.presence-status { display: block; font-size: .75rem; color: #6a756e; }
.is-online .presence-avatar { background: #dcefe3; color: #2c6550; }
.is-online .presence-avatar::after { background: #328251; }
.is-online .presence-status { color: #287443; }
@media (max-width: 991px) { .presence-menu > .team-presence { left: 0; right: auto; } }
