:root { --live-ink:#171715; --live-paper:#f4f0e8; --live-accent:#d95d39; --live-sage:#9ca88c; --live-line:rgba(23,23,21,.16); }
.live-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:4rem; align-items:end; padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,7vw,6rem); border-bottom:1px solid var(--live-line); }
.live-hero h1 { margin:.75rem 0 0; max-width:900px; font-size:clamp(3.4rem,9vw,8.5rem); line-height:.84; letter-spacing:-.055em; text-transform:uppercase; }
.live-hero-copy { margin:0; max-width:430px; font-size:1.05rem; line-height:1.7; }
.live-status { margin:2rem 0; padding:1rem 1.2rem; border-left:3px solid var(--live-accent); background:rgba(217,93,57,.07); }
.live-status:empty { display:none; }
.live-section,.manager-panel { padding:clamp(3rem,7vw,6rem) 0; border-bottom:1px solid var(--live-line); }
.section-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.section-heading h2 { margin:0; font-size:clamp(2rem,4vw,4rem); text-transform:uppercase; letter-spacing:-.035em; }
.session-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.session-card { position:relative; min-height:330px; padding:clamp(1.5rem,3vw,2.5rem); display:flex; flex-direction:column; border:1px solid var(--live-line); background:rgba(255,255,255,.56); overflow:hidden; }
.session-card::after { content:""; position:absolute; width:190px; height:190px; right:-80px; bottom:-90px; border-radius:50%; background:var(--live-sage); opacity:.2; }
.session-time { display:flex; justify-content:space-between; gap:1rem; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; }
.session-card h3 { margin:auto 0 1rem; max-width:560px; font-size:clamp(2rem,4vw,3.8rem); line-height:.95; text-transform:uppercase; }
.session-card p { max-width:560px; line-height:1.6; }
.session-actions { position:relative; z-index:1; display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; margin-top:1rem; }
.consent-line { display:flex; align-items:flex-start; gap:.65rem; width:100%; font-size:.82rem; line-height:1.45; }
.consent-line input { margin-top:.15rem; }
.empty-state { padding:2rem; border:1px dashed var(--live-line); color:rgba(23,23,21,.64); }
.recording-list { display:grid; gap:.75rem; }
.recording-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:1rem; align-items:center; padding:1.2rem 0; border-top:1px solid var(--live-line); }
.recording-row strong { display:block; font-size:1.1rem; }
.recording-row span { font-size:.8rem; color:rgba(23,23,21,.62); }
.session-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:2rem; background:var(--live-ink); color:white; }
.session-form label { display:grid; gap:.55rem; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.session-form .wide { grid-column:1/-1; }
.session-form input,.session-form select,.session-form textarea { width:100%; padding:.9rem; border:1px solid rgba(255,255,255,.28); background:#232320; color:white; font:inherit; }
.recording-check { display:flex!important; grid-template-columns:auto 1fr; align-items:center; text-transform:none!important; letter-spacing:normal!important; }
.recording-check input { width:auto; }
.media-stage { position:fixed; z-index:1000; inset:0; display:grid; grid-template-rows:auto 1fr; background:#0d0d0c; }
.media-stage[hidden] { display:none; }
.media-stage-bar { display:flex; justify-content:space-between; align-items:center; padding:.9rem 1.2rem; color:white; border-bottom:1px solid rgba(255,255,255,.15); }
.media-stage-bar button { padding:.65rem 1rem; border:1px solid rgba(255,255,255,.28); background:transparent; color:white; cursor:pointer; }
.live-dot { display:inline-block; width:.65rem; height:.65rem; margin-right:.65rem; border-radius:50%; background:var(--live-accent); box-shadow:0 0 0 6px rgba(217,93,57,.14); }
#wherebyFrame,#recordingPlayer { width:100%; height:100%; border:0; background:#0d0d0c; }
@media (max-width:760px) { .live-hero,.session-grid,.session-form { grid-template-columns:1fr; } .live-hero { gap:2rem; } .live-hero h1 { font-size:clamp(3rem,17vw,5.5rem); } .session-form .wide { grid-column:auto; } .recording-row { grid-template-columns:1fr auto; } .recording-row .recording-size { display:none; } }
