.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot.status-online{background-color:#28c76f;animation:pulse-online 2s infinite}.status-dot.status-away{background-color:#ff9f43}.status-dot.status-busy{background-color:#ea5455}.status-dot.status-offline{background-color:#b4b7bd}.presence-status-selector{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:.375rem;background:transparent;border:1px solid var(--bs-border-color);cursor:pointer;transition:all .2s;font-size:.875rem}.presence-status-selector:hover{background-color:rgba(var(--bs-primary-rgb),.1);border-color:var(--bs-primary)}.presence-status-selector[data-status=online]{border-color:#28c76f4d}.presence-status-selector[data-status=away]{border-color:#ff9f434d}.presence-status-selector[data-status=busy]{border-color:#ea54554d}.presence-dropdown-item{display:flex;align-items:center;padding:.5rem 1rem;cursor:pointer;transition:background-color .2s}.presence-dropdown-item:hover{background-color:rgba(var(--bs-primary-rgb),.08)}.presence-dropdown-item .status-dot{width:10px;height:10px;margin-right:10px}.presence-dropdown-item.active{background-color:rgba(var(--bs-primary-rgb),.12);font-weight:500}.online-users-list{max-height:400px;overflow-y:auto}.online-user-item{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--bs-border-color);transition:background-color .2s}.online-user-item:hover{background-color:rgba(var(--bs-primary-rgb),.05)}.online-user-item:last-child{border-bottom:none}.online-user-item .avatar{margin-right:.75rem}.online-user-info{flex:1;min-width:0}.online-user-name{font-weight:500;font-size:.875rem;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-user-status-text{font-size:.75rem;color:var(--bs-secondary);display:flex;align-items:center}.online-count-badge{position:relative;display:inline-flex;align-items:center}.online-count-badge .badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;line-height:18px;border-radius:10px;background-color:#28c76f;color:#fff}.presence-status-label{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.presence-status-label.status-online{background-color:#28c76f1f;color:#28c76f}.presence-status-label.status-away{background-color:#ff9f431f;color:#ff9f43}.presence-status-label.status-busy{background-color:#ea54551f;color:#ea5455}.presence-status-label.status-offline{background-color:#b4b7bd1f;color:#b4b7bd}.last-seen-text{font-size:.75rem;color:var(--bs-secondary);font-style:italic}@media(max-width:576px){.presence-status-selector{padding:.375rem .75rem;font-size:.8125rem}.online-user-item{padding:.5rem .75rem}.online-count-badge .badge{min-width:16px;height:16px;line-height:16px;font-size:9px}}[data-theme=dark] .presence-status-selector{border-color:#ffffff1a}[data-theme=dark] .presence-status-selector:hover{background-color:#ffffff0d}[data-theme=dark] .online-user-item{border-color:#ffffff1a}[data-theme=dark] .online-user-item:hover{background-color:#ffffff0d}.presence-status-selector:focus,.presence-dropdown-item:focus{outline:2px solid var(--bs-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.avatar-online:after,.status-dot.status-online{animation:none}.presence-status-selector,.presence-dropdown-item,.online-user-item{transition:none}}.presence-selector-wrapper{padding:0}.presence-toggle-btn{cursor:pointer;transition:background-color .2s ease}.presence-toggle-btn:hover{background-color:var(--bs-dropdown-link-hover-bg)!important}.presence-toggle-btn .transition-icon{transition:transform .3s ease}.presence-toggle-btn.expanded .transition-icon{transform:rotate(90deg)}.presence-options-panel{background:var(--bs-dropdown-bg);overflow:hidden;transition:max-height .3s ease}.presence-option-item{padding-top:.5rem;padding-bottom:.5rem;cursor:pointer;transition:background-color .15s ease}.presence-option-item:hover{background-color:var(--bs-dropdown-link-hover-bg)!important}.presence-option-item .status-check-icon{font-size:1rem}.presence-option-item small{font-size:.75rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.presence-options-panel[style*="display: block"]{animation:slideDown .2s ease}[data-theme=dark] .presence-toggle-btn:hover,[data-theme=dark] .presence-option-item:hover{background-color:#ffffff0d!important}
