/* IMSA Academy — Design System 1.0 / v1.38.0
   One typography scale for both themes. Theme changes affect color only.
   Platform-specific page scopes prevent leaks to the public site.
 */
.imsa-app{
  --ds-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ds-ink:#142138;--ds-muted:#65758c;--ds-soft:#f4f7fb;--ds-panel:#fff;
  --ds-page:#f5f7fa;--ds-line:#e6eaf0;--ds-accent:#315fe8;
  --ds-accent-soft:rgba(49,95,232,.1);--ds-shadow:0 14px 38px rgba(14,32,62,.045);
  --ds-radius:16px;--ds-radius-lg:22px;
  font-family:var(--ds-font);
}
.imsa-app.theme-dark{
  --ds-ink:#f1f5fd;--ds-muted:#9aaac4;--ds-soft:#111f38;--ds-panel:#10213c;
  --ds-page:#09162b;--ds-line:#293954;--ds-accent:#88a7ff;
  --ds-accent-soft:rgba(117,158,255,.16);--ds-shadow:0 15px 45px rgba(0,0,0,.12);
}
/* Fixed type rhythm shared by both themes */
.imsa-app .ds-home,.imsa-app .ds-live-page{font-family:var(--ds-font);font-size:14px;line-height:1.5;color:var(--ds-ink)}
.imsa-app .ds-home :is(h1,h2,h3),.imsa-app .ds-live-page :is(h1,h2,h3){font-family:var(--ds-font)!important;color:var(--ds-ink)!important;font-weight:650!important;letter-spacing:-.034em;margin:0;line-height:1.22}
.imsa-app .ds-home p,.imsa-app .ds-live-page p{font-size:13px;line-height:1.65;font-weight:400;margin:0;color:var(--ds-muted)}
.imsa-app .ds-home button,.imsa-app .ds-live-page button{font-family:inherit;cursor:pointer}
.imsa-app .ds-home button:focus-visible,.imsa-app .ds-live-page :is(button,input,a):focus-visible{outline:3px solid #559aff;outline-offset:3px}
.ds-dot{color:#6384fc!important}
.ds-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ds-accent);font-size:10px;font-weight:750;letter-spacing:.105em;text-transform:uppercase}
.ds-eyebrow .fa-circle{font-size:4px}
.ds-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;min-height:40px;padding:10px 15px;border-radius:11px;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}
.ds-button:hover{transform:translateY(-1px)}
.ds-button-primary{background:#3b68f0;color:white!important}
.ds-button-primary:hover{background:#2653d9}
.ds-button-light{background:#fff;color:#152444!important;border-color:#fff}
.ds-button-secondary{background:var(--ds-soft);border-color:var(--ds-line);color:var(--ds-ink)!important}
.ds-button-danger{color:#fff!important;background:#c83d53}
.ds-button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ds-home{padding:7px 4px 48px;min-width:0}
.ds-home-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 26px}
.imsa-app .ds-home-intro h1{font-size:clamp(26px,2.45vw,35px)!important;font-weight:730!important;margin:10px 0 9px}
.ds-home-intro h1 em{font-weight:450;font-style:normal;color:var(--ds-accent)}
.ds-home-intro p{max-width:570px;font-size:13px!important}
.ds-home-date{display:flex;gap:8px;align-items:center;color:var(--ds-muted);font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap;padding-bottom:4px}
.ds-home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(242px,280px);gap:20px;align-items:start}
.ds-home-main{min-width:0;display:flex;flex-direction:column;gap:27px}
.ds-feature{display:flex;align-items:center;min-height:260px;position:relative;overflow:hidden;border-radius:var(--ds-radius-lg);background:linear-gradient(126deg,#122b54,#2f57ad);color:#fff;padding:32px 38px;background-size:cover;background-position:center right}
.ds-feature-copy{max-width:520px;position:relative;z-index:1}
.ds-feature-chip{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.23);border-radius:40px;background:rgba(255,255,255,.12);color:#fff;font-size:9px;font-weight:700;letter-spacing:.105em}
.imsa-app .ds-feature h2{color:#fff!important;font-size:clamp(25px,2.5vw,36px)!important;font-weight:720!important;margin:13px 0 12px;max-width:500px;line-height:1.16}
.imsa-app .ds-feature p{font-size:13px;color:#dce7fb!important;max-width:425px;margin-bottom:19px}
.ds-feature-pagination{position:absolute;bottom:18px;right:20px;display:flex;gap:6px}
.ds-feature-pagination button{width:7px;height:7px;padding:0;background:#ffffff85;border:0;border-radius:50%}
.ds-feature-pagination button.active{width:21px;border-radius:10px;background:white}
.ds-home-section{min-width:0}
.ds-home-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.imsa-app .ds-home-section h2{font-size:20px!important;margin:4px 0 3px;font-weight:690!important}
.ds-home-section-title p{font-size:12px!important}
.ds-text-link{border:0;padding:7px 0;background:none;font-size:12px;font-weight:680;color:var(--ds-accent);white-space:nowrap}
.ds-text-link i{margin-left:6px}
.ds-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ds-course-card,.ds-discover-card{padding:0;min-width:0;overflow:hidden;text-align:left;border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-panel);box-shadow:var(--ds-shadow);color:var(--ds-ink);display:block}
.ds-course-card:hover,.ds-discover-card:hover{border-color:var(--ds-accent);transform:translateY(-2px)}
.ds-course-card>img{width:100%;height:129px;object-fit:cover;display:block}
.ds-course-copy{padding:14px 14px 13px}
.ds-course-copy>span,.ds-discover-card>div:last-child>span{font-size:9px;font-weight:720;letter-spacing:.055em;color:var(--ds-accent);text-transform:uppercase}
.imsa-app .ds-course-copy h3,.imsa-app .ds-discover-card h3{font-size:13px!important;font-weight:700!important;min-height:34px;line-height:1.35;margin:6px 0 11px;letter-spacing:-.02em}
.ds-course-meter{height:5px;background:var(--ds-soft);border-radius:5px;overflow:hidden;margin:8px 0}
.ds-course-meter i{display:block;height:100%;background:#5278ee;border-radius:5px}
.ds-course-copy p,.ds-discover-card p{display:flex;justify-content:space-between;align-items:center;font-size:10px!important;color:var(--ds-muted)}
.ds-course-copy p i,.ds-discover-card p i{color:var(--ds-accent)}
.ds-home-empty{grid-column:1/-1;border:1px dashed var(--ds-line);background:var(--ds-panel);border-radius:16px;text-align:center;padding:35px 20px;display:flex;align-items:center;flex-direction:column;gap:8px}
.ds-home-empty>i{font-size:30px;color:var(--ds-accent)}
.ds-home-empty p{margin-bottom:8px}
.ds-discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ds-discover-card{display:grid;grid-template-columns:103px minmax(0,1fr);gap:12px;align-items:stretch;min-height:118px}
.ds-discover-image img{display:block;width:100%;height:100%;object-fit:cover}
.ds-discover-card>div:last-child{padding:13px 10px 11px 0}
.imsa-app .ds-discover-card h3{min-height:0;margin:5px 0 8px}
.ds-home-rail{display:grid;gap:13px;min-width:0}
.ds-rail-card{border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:var(--ds-panel);padding:18px;box-shadow:var(--ds-shadow)}
.ds-rail-welcome{background:linear-gradient(138deg,#152b51,#233e72);border-color:#2c4676;color:#fff}
.ds-rail-title{display:flex;align-items:center;gap:10px}
.ds-rail-title small{font-size:9px;color:#b5c5e6;letter-spacing:.12em;font-weight:800}
.imsa-app .ds-rail-title h3{font-size:15px!important;margin:3px 0 0;color:#fff!important}
.ds-rail-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ffffff1d;color:#bed0ff}
.ds-rail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;border-top:1px solid #ffffff25;padding-top:18px}
.ds-rail-metrics>div{display:grid;gap:3px}
.ds-rail-metrics b{font-size:24px;letter-spacing:-.045em;color:#fff!important}
.ds-rail-metrics span{font-size:10px;color:#bdcbe8}
.ds-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}
.imsa-app .ds-rail-head h3{font-size:13px!important;font-weight:730!important}
.ds-rail-head h3 i{color:var(--ds-accent);margin-right:5px}
.ds-rail-head button{border:0;background:var(--ds-soft);width:27px;height:27px;border-radius:8px;color:var(--ds-ink)}
.ds-rail-event{display:flex;gap:10px;border-top:1px solid var(--ds-line);padding:12px 0}
.ds-event-date{min-width:58px;font-weight:700;font-size:10px;color:var(--ds-accent);padding-top:2px}
.ds-rail-event div{display:grid;gap:3px;min-width:0}
.ds-rail-event b{font-size:11px;font-weight:700;color:var(--ds-ink)}
.ds-rail-event small{font-size:10px;color:var(--ds-muted)}
.ds-rail-event button,.ds-rail-empty button{display:inline-flex;width:max-content;border:0;background:transparent;padding:5px 0;color:var(--ds-accent);font-size:10px;font-weight:700}
.ds-rail-empty{font-size:11px;line-height:1.6;color:var(--ds-muted);padding:5px 0}
.ds-rail-shortcuts{display:grid;gap:2px}
.ds-rail-shortcuts button{display:flex;align-items:center;gap:10px;background:transparent;border:0;border-radius:9px;padding:10px 7px;text-align:left;font-size:11px;color:var(--ds-ink);font-weight:620}
.ds-rail-shortcuts button:hover{background:var(--ds-soft)}
.ds-rail-shortcuts button>i:first-child{color:var(--ds-accent);font-size:14px;width:19px}
.ds-rail-shortcuts button>i:last-child{margin-left:auto;font-size:9px;color:var(--ds-muted)}
/* Live room */
.ds-live-page{padding:6px 0 50px}
.ds-page-header{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:24px}
.imsa-app .ds-page-header h1{font-size:clamp(26px,3vw,34px)!important;font-weight:750!important;margin:9px 0 6px}
.ds-page-header p{max-width:580px}
.ds-live-notice{padding:12px;border:1px solid #eeb2b2;background:#ffeded;color:#9b2525;border-radius:10px;margin-bottom:12px;font-size:12px}
.ds-live-breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:17px;color:var(--ds-muted);font-size:11px}
.ds-live-breadcrumb button{border:0;padding:0;background:transparent;color:var(--ds-accent);font-weight:700;font-size:11px}
.ds-live-room-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.ds-live-room-head h2{font-size:22px!important;margin:6px 0!important}
.ds-live-head-actions{display:flex;gap:8px}
.ds-live-pill{display:inline-flex;align-items:center;gap:6px;color:#3485b4;font-size:10px;font-weight:720;letter-spacing:.08em}
.ds-live-pill i{color:#31c08a;font-size:7px}
.ds-live-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,315px);gap:17px;align-items:start}
.ds-live-stage{display:grid;gap:15px;min-width:0}
.ds-live-video{position:relative;border-radius:18px;background:#050c1c;overflow:hidden;aspect-ratio:16/9;min-height:245px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 35px rgba(5,12,30,.15)}
.ds-live-video iframe{width:100%;height:100%;border:0;position:absolute;inset:0;background:#050c1c}
.ds-live-video-placeholder{text-align:center;color:#e9effe;max-width:310px;padding:30px 20px}
.ds-live-video-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin:0 auto 19px;background:#253755;color:#b2cbfc;font-size:23px}
.ds-live-video-placeholder strong{font-size:15px;font-weight:680;display:block;line-height:1.4}
.imsa-app .ds-live-video-placeholder p{color:#9daece;font-size:11px;margin-top:9px}
.ds-live-video-label{pointer-events:none;position:absolute;left:13px;bottom:12px;color:#fff;background:rgba(4,11,29,.7);border:1px solid #ffffff32;padding:6px 9px;border-radius:8px;font-size:9px;letter-spacing:.04em}
.ds-live-video iframe~.ds-live-video-label{display:none}
.ds-live-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 15px;border-radius:13px;border:1px solid var(--ds-line);background:var(--ds-panel);flex-wrap:wrap}
.ds-live-toolbar-meta{font-size:11px;color:var(--ds-muted);font-weight:650}.ds-live-toolbar-meta i{color:var(--ds-accent)}.ds-live-toolbar-meta span{margin:0 7px}
.ds-live-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap}.ds-live-toolbar-actions .ds-button{font-size:10px;min-height:35px;padding:8px 10px}
.ds-live-participants,.ds-live-side{border:1px solid var(--ds-line);border-radius:16px;background:var(--ds-panel);box-shadow:var(--ds-shadow)}
.ds-live-participants{padding:18px}.ds-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.ds-panel-heading h3{font-size:14px!important}.ds-panel-heading small{font-size:10px;color:var(--ds-muted)}
.ds-live-avatars{display:flex;flex-wrap:wrap;gap:10px}.ds-live-person{display:flex;align-items:center;gap:7px;min-width:115px;max-width:175px}.ds-live-person>span:last-child{font-size:10px;font-weight:700;overflow-wrap:anywhere}.ds-live-person small{display:block;font-weight:400;color:var(--ds-muted);font-size:9px}
.ds-live-avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:11px;background:var(--ds-soft);border:1px solid var(--ds-line);font-size:11px;font-weight:800;color:var(--ds-accent)}
.ds-live-avatar.online{box-shadow:0 0 0 2px #22c69e55}.ds-live-avatar.mini{width:30px;height:30px;font-size:10px;border-radius:10px}
.ds-live-side{display:flex;flex-direction:column;min-height:490px;max-height:760px;overflow:hidden}
.ds-live-side-tabs{display:flex;border-bottom:1px solid var(--ds-line);padding:9px;gap:6px}
.ds-live-side-tabs button{flex:1;border:0;border-radius:9px;background:transparent;color:var(--ds-muted);font-size:11px;font-weight:710;padding:11px 4px}
.ds-live-side-tabs button.active{background:var(--ds-accent-soft);color:var(--ds-accent)}
.ds-live-chat-list{flex:1;min-height:350px;max-height:620px;overflow-y:auto;padding:13px 14px;display:flex;flex-direction:column;gap:16px}
.ds-live-message{display:flex;align-items:start;gap:8px}.ds-live-message>div:last-child{min-width:0;flex:1}.ds-live-message-top{display:flex;justify-content:space-between;align-items:start;gap:5px;flex-wrap:wrap}.ds-live-message-top b{font-size:10px;font-weight:720;color:var(--ds-ink)}.ds-live-message-top small{font-size:9px;color:var(--ds-muted)}.imsa-app .ds-live-message p{color:var(--ds-ink);font-size:11px;overflow-wrap:anywhere;margin-top:4px}
.ds-live-compose{padding:13px;border-top:1px solid var(--ds-line);margin-top:auto}.ds-live-compose label{display:block;font-size:10px;color:var(--ds-muted);margin-bottom:7px}.ds-live-compose>div{display:flex;border:1px solid var(--ds-line);border-radius:11px;padding:5px;gap:5px;background:var(--ds-soft)}.ds-live-compose input{min-width:0;flex:1;background:transparent;color:var(--ds-ink);font-size:11px;border:0;padding:8px 6px;outline:0}.ds-live-compose button{width:34px;border:0;border-radius:9px;color:white;background:#3765ed}.ds-live-compose button:disabled{opacity:.45}
.ds-live-resources{flex:1;overflow-y:auto;padding:19px 15px}.ds-live-resources p{margin-bottom:18px}.ds-live-resources a{display:flex;align-items:center;gap:9px;padding:13px 7px;border-bottom:1px solid var(--ds-line);color:var(--ds-ink);text-decoration:none}.ds-live-resources a>span{border-radius:9px;background:var(--ds-accent-soft);padding:10px;color:var(--ds-accent)}.ds-live-resources a>div{flex:1;min-width:0}.ds-live-resources a b{font-size:11px;display:block}.ds-live-resources a small{font-size:9px;color:var(--ds-muted)}.ds-live-resources a>i:last-child{font-size:10px;color:var(--ds-accent)}
.ds-live-disclaimer{margin-top:12px!important;font-size:10px!important}.ds-live-disclaimer i{color:var(--ds-accent)}
.ds-live-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ds-live-list-head h2{font-size:19px!important}.ds-live-list-head span{font-size:10px;color:var(--ds-muted)}
.ds-live-list{display:grid;gap:12px}.ds-live-list-card{border:1px solid var(--ds-line);background:var(--ds-panel);border-radius:16px;display:flex;align-items:center;gap:14px;padding:18px;box-shadow:var(--ds-shadow);flex-wrap:wrap}
.ds-live-list-icon{background:var(--ds-accent-soft);color:var(--ds-accent);width:47px;height:47px;border-radius:14px;display:grid;place-items:center;font-size:17px;flex:none}.ds-live-list-copy{flex:1;min-width:180px}.ds-live-list-copy h3{font-size:14px!important;margin:5px 0!important}.ds-live-list-copy p{font-size:11px!important}.ds-live-status{font-size:10px;font-weight:700;padding:7px 10px;background:var(--ds-soft);color:var(--ds-muted);border-radius:20px}.ds-live-status.live{background:#15a5751d;color:#27ae83}.ds-live-status.finished{opacity:.7}.ds-live-list-empty{grid-column:1/-1;border:1px dashed var(--ds-line);border-radius:16px;text-align:center;padding:50px 20px;color:var(--ds-muted)}.ds-live-list-empty>i{font-size:30px;color:var(--ds-accent);margin-bottom:12px}.ds-live-list-empty h3{font-size:17px!important;margin-bottom:8px}.ds-live-list-empty p{margin-bottom:18px}.ds-empty{font-size:11px;color:var(--ds-muted);padding:25px 5px;text-align:center}
/* Admin uses the same, compact hierarchy as student dashboard */
.imsa-app .ds-admin-home{font-family:var(--ds-font)}
.imsa-app .ds-admin-home :is(h1,h2,h3){font-family:var(--ds-font)!important;letter-spacing:-.03em}
.imsa-app .ds-admin-home .impact-hero h1{font-size:clamp(24px,3vw,34px)!important;font-weight:720!important;line-height:1.18}
.imsa-app .ds-admin-home .impact-panel h2{font-size:17px!important;font-weight:700!important}
@media(max-width:1180px){.ds-home-grid{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.ds-feature{padding:27px}.ds-home-main{gap:24px}.ds-live-layout{grid-template-columns:minmax(0,1fr) 270px;gap:11px}}
@media(max-width:980px){.ds-home-grid{grid-template-columns:1fr}.ds-home-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ds-rail-card{padding:13px}.ds-live-layout{grid-template-columns:1fr}.ds-live-side{max-height:none;min-height:380px}.ds-live-chat-list{max-height:350px;min-height:280px}}
@media(max-width:700px){.ds-home-intro{display:block}.ds-home-date{margin-top:12px}.ds-home-grid{display:block}.ds-home-main{gap:24px}.ds-feature{min-height:250px;padding:25px}.ds-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.ds-discover-grid{grid-template-columns:1fr;margin-bottom:20px}.ds-home-rail{grid-template-columns:1fr}.ds-live-page{padding-top:0}.ds-page-header,.ds-live-room-head{align-items:start;flex-wrap:wrap}.ds-live-toolbar{align-items:start}.ds-live-toolbar-meta{width:100%}.ds-live-list-card{align-items:flex-start}.ds-live-list-card>.ds-button{width:100%}.ds-live-video{min-height:200px}.ds-live-disclaimer{line-height:1.5}}
@media(max-width:420px){.ds-course-grid{grid-template-columns:1fr}.ds-course-card{display:grid;grid-template-columns:122px 1fr;min-height:133px}.ds-course-card>img{height:100%;min-height:133px}.ds-feature{padding:22px 20px}.ds-feature-copy{max-width:100%}.ds-feature h2{font-size:25px!important}.ds-home-section-title{align-items:flex-start}.ds-discover-card{grid-template-columns:95px 1fr}.ds-live-toolbar-actions{width:100%}.ds-live-toolbar-actions .ds-button{flex:1}}
@media(prefers-reduced-motion:reduce){.ds-home button,.ds-live-page button{transition:none!important;scroll-behavior:auto!important}}
/* Shared foundation used by the pre-existing learning and admin workspaces.
   Avoid theme-scoped font-size rules; typography stays identical in dark/light. */
.imsa-app .shell :is(.content,.sidebar,.topbar,.page-head,.table-card,.workspace,.modal){font-family:var(--ds-font)}
.imsa-app .side-nav button,.imsa-app .student-side-actions button{border-radius:11px;font-weight:600!important;letter-spacing:-.005em}
.imsa-app .side-nav button:focus-visible,.imsa-app .student-side-actions button:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}
.imsa-app .shell :is(.btn,.tabs button,.workspace-tabs button,.dashboard-chip){font-weight:650;letter-spacing:-.006em}
.imsa-app .shell :is(.modal,.table-card,.impact-panel){border-radius:var(--ds-radius)}
.imsa-app .shell :is(input,textarea,select){border-radius:10px}
.imsa-app .shell :is(.page-head h1,.workspace-titlebar h1){font-size:clamp(23px,2.5vw,31px)!important;font-weight:720!important;letter-spacing:-.035em;line-height:1.2}

/* v1.38.1 — clean live classroom, without oversized headers */
.ds-live-page .ds-live-compact-bar{display:flex;align-items:center;gap:14px;margin:0 0 12px}
.ds-live-compact-bar .ds-live-head-actions{margin-left:auto}
.ds-live-back,.ds-live-subtle-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ds-line);background:var(--ds-panel);color:var(--ds-ink);padding:9px 12px;border-radius:11px;font-size:12px;font-weight:650;cursor:pointer}
.ds-live-compact-bar .ds-live-status{font-size:10px}.ds-live-compact-bar .ds-live-status i{font-size:6px;margin-right:5px}
.ds-live-page .ds-live-video{border-radius:16px;box-shadow:none;min-height:240px}
.ds-live-video-mount{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.ds-live-video-mount iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ds-live-video-error{position:absolute;bottom:10px;left:12px;right:12px;z-index:5;font-size:11px;color:#fff;background:#7b263c;padding:8px 12px;border-radius:10px}
.ds-live-class-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 3px}
.ds-live-class-info h2{font-size:19px!important;line-height:1.3!important;margin:6px 0 5px!important;font-weight:680!important}
.imsa-app .ds-live-class-info p{font-size:12px;color:var(--ds-muted)}.ds-live-class-info p span{margin:0 5px}
.ds-live-followup{border:1px solid var(--ds-line);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--ds-muted);background:var(--ds-soft)}
.ds-live-resource-heading{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.ds-live-upload{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ds-accent-soft);color:var(--ds-accent);font-size:12px;font-weight:680;border:1px dashed var(--ds-accent);padding:11px;border-radius:11px;cursor:pointer}
.ds-live-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ds-live-upload.is-busy{opacity:.5}
.ds-live-resource-row{display:flex;align-items:center;border-bottom:1px solid var(--ds-line)}
.ds-live-resource-row>a{flex:1;min-width:0;border-bottom:0}.ds-live-resource-row .ds-live-remove{border:0;background:transparent;color:var(--ds-muted);padding:12px;cursor:pointer}
.ds-live-resource-row .ds-live-remove:hover{color:#db5469}
@media(max-width:600px){.ds-live-class-info{align-items:start}.ds-live-class-info h2{font-size:17px!important}.ds-live-video{min-height:195px}.ds-live-compact-bar .ds-live-head-actions .ds-button{padding:8px 9px;font-size:10px}}

/* v1.39 IMSA Classroom — self-branded LiveKit conference, no provider iframe */
.imsa-app .ds-live-video:has(.imsa-call-surface){display:block;min-height:420px;aspect-ratio:auto;background:#071326}
.ds-live-video-mount{width:100%;height:100%;min-height:420px}
.imsa-call-surface{display:flex;flex-direction:column;background:#071326;color:#f4f7ff;width:100%;height:100%;min-height:420px}
.imsa-call-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;flex:1;min-height:325px;align-content:center;overflow:hidden}
.imsa-call-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.imsa-call-tile{position:relative;background:#132747;border:1px solid #375177;border-radius:13px;min-height:184px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.imsa-call-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#071326}
.imsa-call-placeholder{display:grid;justify-items:center;gap:8px;color:#b8cbe9}
.imsa-call-initials{width:72px;height:72px;border-radius:25px;display:grid;place-items:center;background:#245aa5;color:white;font-size:25px;font-weight:700;letter-spacing:-.04em}
.imsa-call-missing{font-size:11px}
.imsa-call-name{position:absolute;bottom:10px;left:10px;z-index:1;max-width:calc(100% - 20px);background:#061022bb;color:#fff;font-size:12px;line-height:1.2;padding:7px 10px;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.imsa-call-status{font-size:12px;color:#b7c8e8;text-align:center;padding:12px 10px}
.imsa-call-status[hidden],.imsa-call-placeholder[hidden]{display:none!important}
.imsa-call-controls{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;padding:12px;border-top:1px solid #314765;background:#0a1b34}
.imsa-call-btn{width:43px;height:40px;border:1px solid #3e5676;border-radius:12px;background:#1a3153;color:white;display:grid;place-items:center;cursor:pointer;font-size:15px;transition:background .18s,border-color .18s}
.imsa-call-btn:hover,.imsa-call-btn:focus-visible{background:#365c9e;outline:2px solid #6397ea;outline-offset:1px}
.imsa-call-btn.is-on{background:#215faf;border-color:#6e9cf5}
.imsa-call-btn.is-danger{background:#c73848;border-color:#f47d8c}
.imsa-call-btn.is-danger:hover{background:#e54b5a}
.ds-live-link-note{font-size:12px;color:var(--ds-muted);align-self:center}
@media(max-width:700px){.imsa-app .ds-live-video:has(.imsa-call-surface),.ds-live-video-mount,.imsa-call-surface{min-height:350px}.imsa-call-grid{min-height:270px;padding:9px;grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.imsa-call-tile{min-height:122px}.imsa-call-controls{gap:6px}.imsa-call-btn{height:38px;width:39px}}
