/* Player operations: scoped to the administrative roster and its drawers. */
.ap-filterbar .ap-sort{min-width:210px;flex:0 1 240px;margin:0}
.ap-filterbar .ap-sort .select{width:100%}
.ap-players{min-width:1100px}
.ap-players td{vertical-align:middle}
.ap-players .c-row-actions{max-width:430px;gap:6px}
.ap-players tr.ap-player-online td{background:rgba(41,129,81,.14)}
.ap-players tr.ap-player-online td:first-child{box-shadow:inset 3px 0 #51cf8b}
.ap-players tr.ap-player-online:hover td{background:rgba(41,129,81,.23)}
.ap-presence{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#a4a7b4;white-space:nowrap}
.ap-presence i{width:7px;height:7px;border-radius:50%;background:#777b88;flex:none}
.ap-presence.is-online{color:#9ce7b8;font-weight:700}
.ap-presence.is-online i{background:#60db95;box-shadow:0 0 10px #60db9533}
.ap-presence.is-offline i{background:#a68b8f}
.ap-weekly{display:block;margin-top:8px;font-size:13px;font-variant-numeric:tabular-nums}
.ap-weekly small{font-weight:400;color:#969aa9;white-space:nowrap}
.ap-activity{min-width:180px}
.ap-delete{color:#f3a0ac!important}
.ap-operation-identity{margin-bottom:18px}
.ap-operation-note{padding:14px 16px;border:1px solid #3c4555;border-radius:8px;background:#1a202a;font-size:13px;line-height:1.6}
.ap-operation-note.is-danger{border-color:#713541;background:#311e27;color:#f4cbd2}
.ap-operation-note ul{padding-left:20px;margin:8px 0}
.ap-confirmation-target{display:block;margin-top:10px;overflow-wrap:anywhere;font-family:monospace;font-weight:700}
.ap-grant-help{font-size:12px;color:#aeb3c1;line-height:1.6}
@media(max-width:700px){.ap-filterbar .ap-sort{min-width:0;flex:1 1 100%}.ap-filterbar .c-search{flex-basis:100%}.ap-operation-note{padding:12px}}
