.live-sessions { margin: 16px 0 24px; padding: 18px 0; border-block: 1px solid var(--line); min-width: 0; }
.live-sessions-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.live-sessions h3 { margin: 0 0 6px; font-size: 17px; }
.live-sessions [data-live-count] { font-size: 13px; font-weight: 600; }
.live-sessions small { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); }
.live-sessions form { display: flex; align-items: center; gap: 8px; margin: 0; }
.live-sessions input { width: 220px; min-width: 0; }
.live-sessions [data-live-status], .live-sessions [data-live-empty] { font-size: 13px; color: var(--muted); }
.live-sessions [data-live-status]:empty { display: none; }
.live-sessions-scroll { overflow: auto; margin-top: 16px; max-height: 390px; }
.live-sessions table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
.live-sessions th, .live-sessions td { padding: 11px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.live-sessions th { position: sticky; top: 0; z-index: 1; color: var(--muted); background: var(--panel-2); font-weight: 600; white-space: nowrap; }
.live-sessions td { overflow-wrap: anywhere; }
.live-sessions td strong { display: block; }
.live-session-current { display: inline-block; margin-top: 6px; padding: 3px 7px; background: #e3f4eb; color: #12603e; border-radius: 4px; font-size: 11px; font-weight: 600; }
body.theme-dark .live-session-current { background: #183a2a; color: #a4e7c3; }
.live-sessions-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.live-sessions-foot > div { display: flex; align-items: center; gap: 12px; font-size: 12px; }
.live-sessions-foot button { width: 36px; height: 36px; padding: 0; }
@media (max-width: 640px) {
  .live-sessions form { width: 100%; }
  .live-sessions form label { flex: 1; min-width: 0; }
  .live-sessions input { width: 100%; box-sizing: border-box; }
  .live-sessions thead { display: none; }
  .live-sessions table, .live-sessions tbody, .live-sessions tr { display: block; }
  .live-sessions tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
  .live-sessions td { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 3px 10px; border: 0; padding: 5px 2px; }
  .live-sessions td::before { content: attr(data-label); color: var(--muted); font-size: 12px; }
  .live-sessions td > * { grid-column: 2; }
  .live-sessions td > :first-child { grid-row: 1; }
  .live-sessions td small { margin: 0; }
  .live-session-current { justify-self: start; }
}
.live-session-policy { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 20px 0; }
.live-session-policy label { display: grid; gap: 6px; font-size: 13px; }
.live-session-policy select { max-width: 100%; min-width: 180px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); color: var(--text); }
.live-session-policy [role="status"] { font-size: 12px; overflow-wrap: anywhere; }
.session-revoke-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:130px}
.session-revoke-actions button{min-height:36px;font-size:12px;white-space:normal}
.session-revoke-dialog{box-sizing:border-box;width:min(440px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}
.session-revoke-dialog::backdrop{background:rgba(0,0,0,.45)}
.session-revoke-dialog form{display:grid;gap:16px}.session-revoke-dialog h3{margin:0;font-size:18px}
.session-revoke-dialog p{margin:0;overflow-wrap:anywhere;font-size:14px}
.session-revoke-dialog label{display:grid;gap:8px;font-size:14px}
.session-revoke-dialog input[type=password]{box-sizing:border-box;width:100%;min-width:0}
.session-revoke-dialog .session-revoke-confirm{display:flex;align-items:center;gap:8px}
.session-revoke-dialog input[type=checkbox]{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-width:18px;padding:0;margin:0}
.session-revoke-dialog form>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.session-revoke-dialog [role=alert]{color:#dc2946}
