.main-column{min-width:0}.group-welcome h2{font-size:54px}.group-welcome label,.admin-dashboard label{display:block;font-size:13px;margin:16px 0}.group-welcome input,.admin-dashboard input{display:block;width:100%;margin-top:7px}.group-welcome #invitation-link{max-width:540px;margin-bottom:12px}.admin-dashboard h2{font-size:34px;margin:12px 0}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-dashboard #schedule-meeting{border:1px solid var(--line);border-radius:18px;background:white;padding:24px;margin:28px 0}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.meeting-card{padding:18px;background:white;border:1px solid var(--line);border-radius:14px;margin:12px 0}.meeting-card h4{font-size:18px;margin:0 0 8px}.meeting-card p{font-size:13px}.meeting-card button{padding:9px 12px}.group-stage{display:block;aspect-ratio:auto;min-height:360px;padding:60px 12px 12px}.group-stage:fullscreen{overflow:auto;padding-top:60px}.group-stage #participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.group-stage.many #participant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.participant{position:relative;min-width:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#213d59}.participant video{display:block;width:100%;height:100%;object-fit:contain}.participant>span{position:absolute;bottom:0;left:0;right:0;padding:7px 10px;color:white;background:#10243cdd;font-size:12px}.self-tile video{transform:scaleX(-1)}.shared-screen{position:relative;margin-bottom:14px;border-radius:12px;overflow:hidden;background:#09192e}.shared-screen video{display:block;width:100%;max-height:70vh;object-fit:contain}.shared-screen span{display:block;color:#fff;padding:8px 12px;font-size:12px}#people-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.person-chip{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;background:white}.person-chip button{padding:5px 8px;font-size:10px;margin-left:8px}#admission-dialog{width:min(94vw,520px)}.admission-name{font-size:27px;font-weight:700;overflow-wrap:anywhere}#admission-email{overflow-wrap:anywhere}#admission-form fieldset{border:0;padding:0;margin:22px 0}#admission-form legend{font-size:13px;margin-bottom:14px}.decision{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid;border-radius:12px;font-size:17px;font-weight:650;cursor:pointer}.decision input{width:22px;height:22px;flex-shrink:0}.decision.admit{color:#164b35;border-color:#258148;background:#e6f4e9}.decision.admit input{accent-color:#198345}.decision.deny{color:#a52f27;border-color:#c23832;background:#fff0ed}.decision.deny input{accent-color:#c23832}#confirm-admission{width:100%;background:#142c4b;color:white}.admin-dashboard .small{line-height:1.7}.group-stage .recording-stage-indicator{max-width:60%}#spoken-alerts[aria-pressed=true]{background:#e6f4e9}#people-list .person-chip.admin{border-color:#164b35}
@media(max-width:600px){.group-welcome h2{font-size:40px}.schedule-fields{display:block}.group-stage.many #participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-stage{min-height:240px}.group-stage .recording-stage-indicator{max-width:48%;font-size:10px;padding:7px}#admission-dialog{padding:20px}.admission-name{font-size:24px}}
html.larger-text{font-size:20px}html.larger-text button,html.larger-text input,html.larger-text select,html.larger-text textarea{font-size:1rem}#live-captions{background:#071a2c;color:white;border:2px solid #8ed8ff;padding:1rem;font-size:1.3rem;line-height:1.5}#participant-grid .participant video{width:100%;height:100%;object-fit:contain}.group-stage #shared-screens:empty{display:none}#messages .transfer{border:1px solid #63859d;padding:.8rem;margin:.8rem 0}#messages .transfer strong{overflow-wrap:anywhere}#meeting-lock[data-locked=true]{background:#8d1a25;color:white}

.support-form{display:grid;gap:.75rem}.support-form label{display:grid;gap:.35rem}.support-form input,.support-form textarea{width:100%;box-sizing:border-box;border:1px solid #b8ccd9;border-radius:8px;padding:.7rem;font:inherit}.support-form textarea{resize:vertical}#ticket-list p{white-space:pre-wrap;overflow-wrap:anywhere}header{flex-wrap:wrap}@media(max-width:600px){header h1{font-size:1.2rem}.meeting-top{flex-wrap:wrap}#messages{min-height:150px}}

#email-invitation-dialog{width:min(640px,90vw);max-height:90vh;overflow:auto}#email-invitation-dialog label{display:grid;gap:.4rem;margin:.7rem 0}#email-invitation-dialog input,#email-invitation-dialog textarea{width:100%;box-sizing:border-box;font:inherit;padding:.7rem;border:1px solid #b8ccd9;border-radius:8px}#open-email-draft{display:inline-block;padding:.8rem;background:#145440;color:white;border-radius:8px;margin:.7rem 0}

/* Responsive call display: the active meeting leads the page. */
body:has(#meeting:not([hidden])) header{padding:10px 3% 19px}
body:has(#meeting:not([hidden])) header img{width:42px;height:42px}
body:has(#meeting:not([hidden])) main{max-width:none;padding:12px 3%;gap:18px}
body:has(#meeting:not([hidden])) .main-column{display:contents}
#meeting:not([hidden]){grid-column:1/-1;grid-row:1;min-width:0}
#meeting .meeting-top{justify-content:flex-start;gap:8px;margin-bottom:8px}
#meeting .meeting-top>div{margin-right:auto}
#meeting .meeting-top h2{margin:3px 0;font-size:22px}
#meeting .toolbar{margin-top:8px;gap:6px}
#meeting .toolbar button{padding:9px 12px}
.group-stage{height:clamp(320px,72dvh,1100px);min-height:0;padding:54px 8px 8px;display:grid;grid-template-rows:minmax(0,1fr);gap:8px}
.group-stage #participant-grid{min-height:0;overflow:auto;align-content:start}
.group-stage .participant{max-height:100%;min-height:0}
.group-stage:has(.shared-screen){grid-template-rows:minmax(0,1fr) 96px}
.group-stage #shared-screens:not(:empty){min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;overflow:auto}
.group-stage .shared-screen{margin:0;min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}
.group-stage .shared-screen video{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain}
.group-stage .shared-screen span{padding:4px 8px}
.group-stage:has(.shared-screen) #participant-grid{display:flex;gap:8px;overflow:auto;align-content:normal}
.group-stage:has(.shared-screen) #participant-grid .participant{height:100%;width:128px;flex:0 0 128px;aspect-ratio:4/3}
.group-stage:fullscreen{width:100vw;height:100dvh;max-height:none;min-height:0;overflow:hidden;padding:48px 6px 6px;border-radius:0}
.group-stage:fullscreen:has(.shared-screen){grid-template-rows:minmax(0,1fr) 80px;gap:6px}
.group-stage:fullscreen:has(.shared-screen) #participant-grid .participant{width:107px;flex-basis:107px}
@media(max-width:600px){
 body:has(#meeting:not([hidden])) main{padding:8px;gap:12px}
 .group-stage{height:70dvh;padding-top:54px}
 .group-stage:has(.shared-screen){grid-template-rows:minmax(0,1fr) 72px}
 .group-stage:has(.shared-screen) #participant-grid .participant{width:96px;flex-basis:96px}
 #meeting .meeting-top h2{font-size:18px}
}
