.live-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.live-invite h2{margin:8px 0}.live-empty{text-align:center;padding:36px 12px}.live-empty>span{font-size:40px}.live-empty p{color:var(--muted)}.live-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;min-height:80px}.live-track{position:relative;border-radius:16px;overflow:hidden;background:#142032}.live-track video{width:100%;max-height:55vh;display:block;object-fit:contain}.live-track span{position:absolute;bottom:10px;left:12px;color:white;background:#0009;border-radius:8px;padding:5px 10px}.live-track:has(audio){background:transparent}.live-controls{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.live-controls button{flex:1;min-width:135px}@media(max-width:600px){.live-invite{align-items:stretch;flex-direction:column}.live-media{grid-template-columns:1fr}.live-controls button{min-width:120px}}
.live-stage-panel{border-top:1px solid #ffffff20;padding-top:16px;margin-top:16px}.live-guest{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #ffffff14}.live-guest small{display:block;opacity:.7;margin-top:4px}.live-guest>div:last-child{display:flex;gap:8px;flex-wrap:wrap}#live-stage-status{font-size:14px;line-height:1.5;color:#95caff}.live-controls [hidden]{display:none!important}@media(max-width:600px){.live-guest{align-items:flex-start;flex-direction:column}.live-guest>div:last-child{width:100%}.live-guest button{flex:1}}

/* Live call: bounded video stage, separate audio players and reachable controls. */
.live-room-dialog{width:min(960px,calc(100% - 24px));max-height:94dvh;padding:24px;overflow:auto;background:#111e2c;border:1px solid #35475c;border-radius:22px}
.live-room-dialog .modal-close{position:sticky;top:0;float:right;z-index:4;background:#263a4e;border-radius:50%;width:34px;height:34px}
.live-heading{padding-right:40px}.live-heading .modal-eyebrow{color:#80d5bd;font-size:11px;letter-spacing:1.5px}.live-heading h2{font-size:24px;line-height:1.25;margin:8px 0;overflow-wrap:anywhere}
.live-room-dialog #live-status{font-size:12px;line-height:1.5;color:#a6b8cd;margin:8px 0 16px}
.live-room-dialog .live-media{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;max-height:48dvh;overflow:auto;border-radius:14px}
.live-room-dialog .live-media:empty::before{content:'Cameras are off. You can still talk together.';grid-column:1/-1;text-align:center;padding:36px 16px;color:#a6b8cd;font-size:14px;background:#182b3e;border-radius:14px}
.live-room-dialog .live-track{min-width:0;min-height:0;box-sizing:border-box;aspect-ratio:4/3;border:1px solid #31465a;background:#080f18}
.live-room-dialog .live-track:only-child{grid-column:1/-1;aspect-ratio:16/9;max-height:44dvh}
.live-room-dialog .live-track video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.live-room-dialog .live-track span{bottom:8px;left:8px;max-width:calc(100% - 16px);box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;padding:5px 8px;background:#0a142bd9}
.live-room-dialog #live-stage-status{font-size:12px;margin:12px 0;line-height:1.5}
.live-room-dialog .live-controls{position:sticky;bottom:-24px;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#111e2cf5;padding:12px 0;margin:0;border-top:1px solid #31465a;box-shadow:0 -8px 18px #111e2c77}
.live-room-dialog .live-controls button{min-width:0;min-height:44px;padding:9px 6px;font-size:12px;line-height:1.3}
.live-room-dialog [data-live-end]{background:#402b38;color:#ffb5bb;border:1px solid #825063}
.live-room-dialog .live-stage-panel{background:#1a2c3e;border:1px solid #354b62;border-radius:12px;padding:14px;margin:14px 0}
.live-room-dialog .live-stage-panel h3{font-size:14px;margin:0 0 8px}.live-room-dialog .live-stage-panel p{font-size:12px;margin:8px 0;color:#a6b8cd}
.live-room-dialog .live-guest{padding:10px 0;flex-direction:row;align-items:center}.live-room-dialog .live-guest strong{font-size:13px}.live-room-dialog .live-guest small{font-size:11px}.live-room-dialog .live-guest>div:last-child{width:auto}.live-room-dialog .live-guest button{font-size:12px;min-height:40px;padding:8px 12px}
.live-room-dialog .notice{font-size:11px;line-height:1.5;color:#8fa7be;margin:12px 0 0}
@media(max-width:600px){.live-room-dialog{padding:16px;width:calc(100% - 16px);max-height:96dvh;border-radius:18px}.live-heading h2{font-size:21px}.live-room-dialog .live-media{gap:8px;max-height:40dvh}.live-room-dialog .live-controls{bottom:-16px}.live-room-dialog .live-track{aspect-ratio:4/3}.live-room-dialog .live-track:only-child{aspect-ratio:4/3;max-height:38dvh}}

.live-room-dialog .live-enlarge{position:absolute;top:8px;right:8px;z-index:1;min-height:36px;padding:6px 10px;border:1px solid #8cb1d17a;border-radius:8px;background:#101e30e6;color:white;font-size:12px;cursor:pointer}
.live-room-dialog .live-enlarge:focus-visible{outline:3px solid #83c5ff;outline-offset:2px}
.live-room-dialog .live-media:has(.live-focused){max-height:62dvh;scroll-behavior:smooth}
.live-room-dialog .live-track.live-focused{width:100%;grid-column:1/-1;order:-1;aspect-ratio:4/3;max-height:54dvh;border-color:#83c5ff}
.admin-intro,.admin-hint{color:#a6b8cd;font-size:13px;line-height:1.6}.admin-tabs{display:flex;gap:8px;margin:18px 0}.admin-row{display:flex;gap:12px;justify-content:space-between;align-items:center;border:1px solid #354b62;border-radius:12px;padding:14px;margin:12px 0}.admin-row>div{min-width:0}.admin-row strong,.admin-row small{display:block;overflow-wrap:anywhere}.admin-row small{color:#a6b8cd;font-size:12px;margin-top:6px}.admin-row p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.admin-id{font-size:10px!important}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-actions button{font-size:12px}.admin-empty{padding:20px;border:1px dashed #354b62;border-radius:12px}#admin-player video{width:100%;max-height:45vh;background:#080f18;border-radius:12px}@media(max-width:600px){.admin-row{align-items:stretch;flex-direction:column}.admin-actions button{flex:1}}

.admin-confirm{padding:16px;border:1px solid #83c5ff;background:#20354b;border-radius:12px;margin:12px 0}.admin-confirm button{margin-right:8px}.admin-confirm p{font-size:14px;line-height:1.5}

.admin-delete{color:#ffb5bb;border-color:#825063}
