/* Live room and ratings reuse Pass 1 motion tokens and the same chat component. */
.live-primary video[data-remote-camera],.live-support-participant video,.live-screen video[data-remote-screen]{transform:none}
.session-completion-shell{position:fixed;inset:0;width:100%;height:100dvh;z-index:1400;background:var(--bg);color:var(--text);overflow:auto;isolation:isolate}
.session-completion-shell>.session-rating,.session-completion-shell>.session-progress,.session-completion-shell>.live-finished{position:relative;inset:auto;width:100%;min-height:100dvh;height:auto;margin:0;max-width:none;background:radial-gradient(ellipse at top,var(--brand-soft),var(--bg) 58%);color:var(--text)}
.live-session-code{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.live-session-code small{user-select:text;font-family:monospace}.live-session-code button{color:inherit;border:1px solid var(--live-line);border-radius:8px;padding:5px 8px;background:var(--live-surface)}
.support-archive-dialog .dialog{width:min(100%,760px)}.support-archive-dialog .session-support-chat{position:relative;inset:auto;width:100%;max-height:70dvh;min-height:280px;box-shadow:none;margin-top:16px}
.session-record-list{display:grid;gap:10px}.session-record-list .management-row{width:100%;text-align:left;flex-wrap:wrap;gap:12px}.session-record-detail{display:grid;gap:20px}.session-record-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.session-record-detail dl>div{min-width:0}.session-record-detail dt{font-size:12px;color:var(--muted)}.session-record-detail dd{margin:5px 0;overflow-wrap:anywhere}.session-record-detail .ao-timeline{max-height:450px;overflow:auto}.session-record-messages{list-style:none;padding:0;display:grid;gap:12px}.session-record-messages li{padding:14px;border:1px solid var(--line);border-radius:12px}.session-record-messages p{white-space:pre-wrap;overflow-wrap:anywhere}.session-record-messages small{display:block;color:var(--muted)}.session-record-filters{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.session-record-filters input,.session-record-filters select{width:100%}
@media(max-width:620px){.session-record-detail dl{grid-template-columns:minmax(0,1fr)}}
.live-lesson-chat{animation:ux-reveal var(--ux-duration) var(--ux-ease) both}
.live-chat-message{animation:ux-reveal var(--ux-duration) var(--ux-ease) both}
.live-chat-compose textarea{transition:border-color var(--ux-duration),box-shadow var(--ux-duration)}
.live-chat-compose textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}
.session-rating>section,.session-progress>section{animation:ux-reveal var(--ux-duration) var(--ux-ease) both;box-shadow:0 24px 70px color-mix(in srgb,var(--brand) 9%,transparent),var(--shadow)}
.session-rating>section{width:min(100%,550px);padding:clamp(22px,3vh,34px) clamp(22px,4vw,40px)}
.rating-person{position:relative;width:78px;height:78px;margin:16px auto 18px}.session-rating .rating-person img{display:block;width:78px;height:78px;object-fit:cover;margin:0;border-radius:24px;box-shadow:0 8px 26px color-mix(in srgb,var(--brand) 14%,transparent)}
.rating-person>span{position:absolute;right:-7px;bottom:-5px;display:grid;place-items:center;width:28px;height:28px;border:3px solid var(--surface);border-radius:50%;background:var(--green);color:white}.rating-person svg{width:15px;height:15px}
.session-rating h1{font-size:clamp(22px,2vw,29px);margin:0 0 8px;outline:0}.session-rating h1+p{color:var(--muted);margin:0 0 16px;line-height:1.5}.session-rating form{gap:12px}
.session-rating .rating-stars{gap:8px;margin:0;padding:0;border:0;position:relative}.rating-stars legend{font-size:12px;color:var(--muted);margin-bottom:7px;font-weight:650}.rating-stars label{border-radius:14px;touch-action:manipulation;position:relative}.rating-stars label span[aria-hidden]{min-width:46px;min-height:46px;display:grid;place-items:center;font-size:38px;line-height:1;color:color-mix(in srgb,var(--muted) 44%,var(--surface));transition:color var(--ux-duration),transform var(--ux-duration) var(--ux-spring),filter var(--ux-duration)}
.rating-stars label:hover span[aria-hidden]{color:inherit;transform:none}.rating-stars label.selected span[aria-hidden],.rating-stars label.is-preview span[aria-hidden]{color:#ba8114;transform:translateY(-2px)}
:root[data-theme="dark"] .rating-stars label.selected span[aria-hidden],:root[data-theme="dark"] .rating-stars label.is-preview span[aria-hidden]{color:#f4c05b}.rating-stars label:active span[aria-hidden]{transform:scale(.91)}.rating-stars label:has(input:focus-visible){outline:3px solid var(--brand);outline-offset:3px}.rating-stars input:focus-visible+span{outline:0}
.rating-stars:has(.is-preview) label.selected:not(.is-preview) span[aria-hidden]{color:color-mix(in srgb,var(--muted) 44%,var(--surface));transform:none}.rating-stars:has(:disabled){opacity:.7;pointer-events:none}
.rating-selection{min-height:19px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.rating-note>span{display:flex;justify-content:space-between;align-items:center;font-weight:650;font-size:13px}.rating-note>span small{font-weight:450;color:var(--muted);font-size:11px}.rating-note textarea{min-height:90px;resize:vertical;border-radius:14px;padding:13px 15px;transition:border-color var(--ux-duration),box-shadow var(--ux-duration)}.rating-note textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.rating-note>[data-rating-note-count]{text-align:right;color:var(--muted);font-size:10px}.session-rating [type="submit"]{display:flex;justify-content:center;align-items:center;gap:10px;min-height:47px;transition:transform var(--ux-duration) var(--ux-spring),opacity var(--ux-duration)}.session-rating [type="submit"]:active{transform:scale(.98)}.session-rating [type="submit"] svg{width:18px;height:18px}.rating-session-meta{display:block;margin-top:17px;color:var(--muted);font-size:11px}.session-rating .form-error:empty{display:none}.session-rating .form-error{line-height:1.5;font-size:12px}
.rating-thanks{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--line));border-radius:13px;background:var(--green-soft);color:var(--text);font-size:12px;font-weight:600;margin-bottom:18px;animation:ux-reveal var(--ux-duration) var(--ux-ease) both}.rating-thanks svg{width:19px;height:19px;flex:none;color:var(--green)}
.session-progress .progress-step{transition:opacity var(--ux-duration) var(--ux-ease),transform var(--ux-duration) var(--ux-ease);transition-delay:0!important}.session-progress .weekly-progress i{width:var(--target);transition:transform var(--ux-duration) var(--ux-ease);transform:scaleX(0);transform-origin:left}.session-progress .is-active .weekly-progress i{transform:scaleX(1)}.session-progress .is-active .progress-particles i{animation-duration:600ms;animation-delay:0ms}.session-progress .progress-celebration{margin-bottom:12px}
@media(max-height:800px){.session-rating,.session-progress{padding:16px}.session-progress>section{padding:25px 32px}.session-progress h1{font-size:27px}.session-progress .progress-celebration{width:104px;height:104px}.session-progress .progress-celebration img{width:84px;height:84px;inset:10px}}
@media(max-width:620px){.session-rating>section{padding:23px 20px}.session-rating .rating-stars{gap:5px}.rating-stars label span[aria-hidden]{min-width:42px;min-height:42px;font-size:34px}}
@media(prefers-reduced-motion:reduce){.live-lesson-chat,.live-chat-message,.session-rating>section,.session-progress>section,.rating-thanks{animation:none}.session-rating *, .session-progress *{transition:none!important}.session-progress .weekly-progress i{transform:none}.progress-particles{display:none}}
:root[data-economy="on"] .live-lesson-chat,:root[data-economy="on"] .live-chat-message,:root[data-economy="on"] .session-rating>section,:root[data-economy="on"] .session-progress>section,:root[data-economy="on"] .rating-thanks{animation:none}:root[data-economy="on"] .session-rating *,:root[data-economy="on"] .session-progress *{transition:none!important}:root[data-economy="on"] .session-progress .weekly-progress i{transform:none}:root[data-economy="on"] .progress-particles{display:none}
/* Participants and controls each own a grid area; support never overlays a tile. */
.live-room{grid-template-rows:76px 2px minmax(0,1fr) auto}
.live-room .live-stage,.live-room .live-stage.is-support-observer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:clamp(8px,1.4vw,20px);gap:16px;min-height:0;align-items:stretch;justify-items:stretch}
.live-participant-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:clamp(8px,1.4vw,20px);min-width:0;min-height:0}
.has-support .live-participant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.live-room .live-participant-grid>.live-participant{position:relative;inset:auto;grid-column:auto;grid-row:auto;min-width:0;min-height:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;overflow:hidden;border:1px solid var(--live-line);border-radius:20px;background:var(--live-surface);box-shadow:0 8px 28px #0003}
.live-participant-grid>.live-participant[hidden]{display:none}
.live-support-participant video{width:100%;height:100%;object-fit:cover}
.live-support-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px}
.live-support-fallback[hidden]{display:none}
.live-support-fallback img{width:clamp(64px,8vw,130px);height:clamp(64px,8vw,130px);border-radius:50%;object-fit:cover}
.live-support-fallback>span{display:none}
.live-participant-grid .live-tile-meta{position:absolute;inset:auto 0 0;display:flex;flex-wrap:wrap;align-items:end;gap:7px;padding:18px 14px 14px;background:linear-gradient(transparent,#070b13ed);color:#fff}
.live-participant-grid .live-tile-meta>span{min-width:0;max-width:100%;background:none;padding:0}
.live-participant-grid .live-tile-meta b{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.live-participant-grid .live-tile-meta small{display:block;white-space:normal;color:#c4cee2}
.live-participant-grid .live-tile-meta i{font-style:normal;font-size:11px;white-space:normal}
.live-room .live-stage.is-presenting{grid-template-columns:minmax(0,1fr) clamp(235px,22vw,320px)}
.live-stage.is-presenting .live-participant-grid{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.live-stage.is-presenting.has-support .live-participant-grid{grid-template-rows:repeat(3,minmax(0,1fr))}
.live-room .live-stage.is-presenting .live-screen,.live-room .live-stage.is-presenting .live-whiteboard{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;height:100%;min-width:0;min-height:0}
.live-room .live-controls-floating{position:relative;inset:auto;grid-row:4;justify-self:center;transform:none;display:flex;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 24px);margin:0 12px 12px;gap:6px;padding:8px}
.live-controls-floating button{min-height:43px;min-width:0;padding:8px 12px}
.live-participant-panel{width:310px;max-width:calc(100vw - 32px);max-height:50vh;overflow:auto}
.live-participant-panel>div{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--live-line)}
.live-participant-panel img{width:42px;height:42px;object-fit:cover;border-radius:50%}
.live-participant-panel strong,.live-participant-panel small{display:block;overflow-wrap:anywhere}
.akil-support-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);border-radius:8px;background:var(--brand-soft);color:var(--text);font-size:11px;font-weight:700;line-height:1.35;vertical-align:middle;max-width:100%}
.akil-support-badge svg{width:16px;height:16px;flex:none}
.live-room .akil-support-badge{color:#dce4ff;background:#323e6b;border-color:#6579c8}
.live-room-notice .akil-support-badge{margin-right:8px}
.ao-filters{display:grid;grid-template-columns:minmax(230px,2fr) repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.ao-filters label,.ao-picker-search label{display:grid;gap:5px;font-size:12px;min-width:0}
.ao-filters input,.ao-filters select,.ao-picker-search input,.ao-picker-search select{width:100%;min-width:0}
.ao-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0;border-bottom:1px solid var(--line);padding-bottom:9px}
.ao-tabs button{padding:9px 12px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px}
.ao-tabs button[aria-selected=true]{color:var(--brand);background:var(--brand-soft);border-color:var(--brand)}
.ao-health{display:inline-flex;align-items:center;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:700;white-space:nowrap}
.ao-health[data-health=CRITICAL]{color:var(--red);background:var(--red-soft)}.ao-health[data-health=WARNING]{color:#ad7508;background:#bc890f19}.ao-health[data-health=HEALTHY]{color:var(--green);background:var(--green-soft)}.ao-health[data-health=UNKNOWN]{color:var(--muted);background:var(--bg)}
.ao-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:520px;overflow:auto}
.ao-timeline li{display:grid;gap:4px;border-left:3px solid var(--brand);padding:8px 14px;background:var(--bg);border-radius:0 10px 10px 0}
.ao-timeline time,.ao-timeline small{font-size:11px;color:var(--muted)}.ao-timeline p{margin:0;font-size:12px;overflow-wrap:anywhere}
.ao-issue{padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.ao-issue strong{margin-left:9px}.ao-issue ul,.ao-ai ul{padding-left:22px;font-size:13px;line-height:1.5}
.ao-refund-preview{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);line-height:1.6}.ao-refund-preview{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ao-refund-preview>div{display:flex;justify-content:space-between;gap:12px}.ao-refund-preview dt{color:var(--muted)}.ao-refund-preview dd{margin:0;text-align:right;font-weight:700}
.ao-picker-search{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:10px;margin:10px 0}
.student-picker [data-student-results]{max-height:280px;overflow:auto;min-height:45px;border:1px solid var(--line);border-radius:10px;padding:8px}
.student-picker-result{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--line)}.student-picker-result input{width:18px;flex:none}.student-picker-result img{width:38px;height:38px;border-radius:50%;object-fit:cover}.student-picker-result strong,.student-picker-result small{display:block;overflow-wrap:anywhere}.student-picker-result small{color:var(--muted)}
.student-picker-chips{display:flex;flex-wrap:wrap;gap:7px}.student-picker-chips button{display:flex;align-items:center;gap:7px;background:var(--brand-soft);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:6px 9px;font-size:12px}.student-picker-chips svg{width:14px;height:14px;flex:none}
@media(max-width:1050px){.ao-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ao-filters label:first-child{grid-column:span 2}}
@media(max-width:760px){.live-room{grid-template-rows:auto 2px minmax(0,1fr) auto}.live-room .live-stage{gap:8px}.live-participant-grid,.has-support .live-participant-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.has-support .live-participant-grid{grid-template-rows:repeat(3,minmax(0,1fr))}.live-room .live-stage.is-presenting{grid-template-columns:minmax(0,1fr) 140px}.live-support-fallback img{width:54px;height:54px}.live-participant-grid .live-tile-meta{padding:8px}.live-participant-grid .live-tile-meta small{font-size:9px}.live-controls-floating button{padding:5px 7px;min-height:44px}.live-participant-grid .akil-support-badge{font-size:9px}.ao-filters{grid-template-columns:1fr 1fr}.ao-filters label:first-child{grid-column:1/-1}}

.live-controls-floating [data-support-test]{min-width:140px;white-space:nowrap}.live-participant-grid .live-avatar{max-width:100%;padding:14px}.live-participant-grid .live-avatar strong{overflow-wrap:anywhere;white-space:normal}

.live-controls-floating [data-support-test]{display:flex;align-items:center;justify-content:center;flex:none;min-width:140px}.live-controls-floating [data-support-test] span{width:auto;white-space:nowrap}
.live-participant-grid .live-tile-meta>[data-support-state]{width:auto;height:auto;min-width:0;max-width:100%;border-radius:8px;padding:4px 7px;flex:none;background:#26354d;color:#d7e5ff}
.live-participant-grid .live-tile-meta>[data-support-media]{flex-basis:100%;font-size:10px}.live-participant-grid .live-tile-meta>span{flex:1 1 120px}

.live-stage.is-presenting .live-support-fallback{inset:0 0 94px}.live-stage.is-presenting .live-support-fallback img,.live-stage.is-presenting .live-local .live-avatar img{width:40px;height:40px}.live-stage.is-presenting [data-local-fallback]{position:absolute;inset:0 0 94px}.live-stage.is-presenting .live-local .live-avatar strong,.live-stage.is-presenting .live-local .live-avatar>span{display:none}

/* Session-linked support panel; existing chat keyboard and scroll behavior. */
.session-support-chat{position:absolute;right:16px;top:76px;bottom:96px;width:min(390px,calc(100% - 32px));z-index:30;border:1px solid var(--border,#334155);background:var(--surface,#101c30);border-radius:18px;box-shadow:0 18px 55px #0005;display:flex;flex-direction:column;overflow:hidden}
.session-support-chat[hidden]{display:none!important}.session-support-chat.is-post-session{position:fixed;top:auto;bottom:22px;height:min(570px,calc(100dvh - 44px));z-index:2000}
.ao-detail .session-support-chat{position:relative;inset:auto;width:100%;height:480px;box-shadow:none}.support-incident-actions{padding:12px 16px;border-top:1px solid var(--border,#334155)}.support-incident-actions:empty{display:none}.support-incident-actions p{margin:0 0 8px}.live-support-participant [data-support-media]{display:flex;gap:8px}.live-support-participant [data-support-media] svg{width:15px;height:15px}.ao-snapshot{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}.ao-beta-summary{font-size:13px;color:var(--muted,#94a3b8)}

/* Support flow delta: bounded context, category and safe history. */
.support-category-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.support-session-context{flex:none;margin:0;padding:8px 14px;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}
.support-incident-actions{flex:none;max-height:45%;overflow:auto;font-size:12px}.support-safe-history ol{padding-left:18px}.support-safe-history li{margin:8px 0;overflow-wrap:anywhere}.support-safe-history time{color:var(--muted)}
[data-technical-issue] .support-unread{padding:2px 6px;border-radius:20px;background:var(--brand,#635bff);color:white;font-size:11px;min-width:20px}.support-unread[hidden]{display:none}
.session-support-chat .live-chat-heading{flex:none}.session-support-chat .live-chat-messages{min-height:70px;flex:1;overflow:auto}.session-support-chat .live-chat-compose{flex:none}
.live-controls-floating [data-technical-issue]{display:flex;flex:none;min-width:165px;max-width:240px;justify-content:center}.live-controls-floating [data-technical-issue]>span{white-space:nowrap}
.support-safe-history{max-height:150px;overflow:auto}
