:root {
  --cfm-bg: #070b16;
  --cfm-panel: rgba(17, 24, 42, 0.88);
  --cfm-panel-2: rgba(24, 32, 54, 0.9);
  --cfm-border: rgba(148, 163, 184, 0.18);
  --cfm-text: #f8fafc;
  --cfm-muted: #9aa8bf;
  --cfm-blue: #6366f1;
  --cfm-green: #22c55e;
  --cfm-red: #ef4444;
  --cfm-orange: #f59e0b;
  --cfm-shadow: 0 26px 80px rgba(0, 0, 0, 0.38);
}

.cfm-room * { box-sizing: border-box; }
.cfm-room {
  width: min(1540px, calc(100vw - 32px));
  margin: 26px auto;
  padding: 22px;
  color: var(--cfm-text);
  background:
    radial-gradient(circle at 10% 0%, rgba(99, 102, 241, 0.18), transparent 32%),
    radial-gradient(circle at 95% 10%, rgba(34, 197, 94, 0.14), transparent 28%),
    linear-gradient(135deg, #081024 0%, #060912 100%);
  border: 1px solid var(--cfm-border);
  border-radius: 28px;
  box-shadow: var(--cfm-shadow);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cfm-alert { padding: 18px; background: #fff3cd; border: 1px solid #ffeeba; border-radius: 12px; color: #664d03; }
.cfm-eyebrow { display:block; font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: #93c5fd; }

.cfm-app-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  background: rgba(17,24,39,.86);
  border: 1px solid var(--cfm-border);
  border-radius: 22px;
  margin-bottom: 20px;
}
.cfm-brand-block { display:flex; align-items:center; gap:14px; min-width:0; }
.cfm-brand-icon {
  width:48px; height:48px; border-radius:16px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, #6d5dfc, #4255ff);
  color:#fff; font-weight:900; box-shadow:0 14px 32px rgba(99,102,241,.35);
  flex: 0 0 auto;
}
.cfm-brand-block h2, .cfm-card h3, .cfm-stage-top h3, .cfm-join-card h2, .cfm-join-visual h1 { margin:0; color: var(--cfm-text); line-height:1.1; }
.cfm-brand-block p { margin:4px 0 0; color: var(--cfm-muted); }
.cfm-header-right { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }

.cfm-status-pill, .cfm-mini-chip, .cfm-live-badge {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:34px; padding:7px 13px; border-radius:999px;
  background: rgba(148, 163, 184, 0.12);
  border:1px solid var(--cfm-border);
  color:#cbd5e1; font-size:12px; font-weight:800;
}
.cfm-status-pill.is-connected { color:#bbf7d0; background:rgba(22,163,74,.16); border-color:rgba(34,197,94,.35); }
.cfm-status-pill.is-failed { color:#fecaca; background:rgba(239,68,68,.16); border-color:rgba(239,68,68,.35); }
.cfm-live-badge span { width:9px; height:9px; border-radius:99px; background:var(--cfm-green); box-shadow:0 0 0 5px rgba(34,197,94,.12); }

.cfm-btn {
  border:0; cursor:pointer; border-radius:14px; padding:13px 18px;
  color:#fff; font-weight:900; background:rgba(148,163,184,.14);
  transition:.2s ease; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.cfm-btn:disabled { opacity:.55; cursor:not-allowed; }
.cfm-btn:hover:not(:disabled) { transform: translateY(-1px); filter:brightness(1.06); }
.cfm-primary { background: linear-gradient(135deg, #4f46e5, #2563eb); }
.cfm-success { background: linear-gradient(135deg, #22c55e, #16a34a); }
.cfm-danger { background: linear-gradient(135deg, #ef4444, #dc2626); }
.cfm-full-btn { width:100%; margin-top:12px; }

.cfm-host-shell { display:grid; grid-template-columns: minmax(0, 1fr) 390px; gap:20px; align-items:start; }
.cfm-stage-card, .cfm-card, .cfm-join-card, .cfm-join-visual {
  background: var(--cfm-panel);
  border:1px solid var(--cfm-border);
  border-radius:24px;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
}
.cfm-stage-card { padding:18px; min-height: 640px; }
.cfm-stage-top, .cfm-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; }

.cfm-main-stage {
  min-height: 440px;
  position:relative;
  overflow:hidden;
  background: #020617;
  border:1px solid rgba(148,163,184,.16);
  border-radius:22px;
  display:flex;
}
.cfm-screen-stage { width:100%; height:auto; min-height: 440px; display:flex; align-items:center; justify-content:center; position:relative; }
.cfm-screen-stage.is-active { background:#000; }
.cfm-screen-stage video, .cfm-screen-stage canvas {
  width:100%; height:100%; min-height:440px; object-fit:contain; display:block; background:#000;
}
.cfm-empty-stage { text-align:center; padding:40px 24px; color: var(--cfm-muted); width:100%; }
.cfm-empty-stage h3 { margin:12px 0 6px; color:var(--cfm-text); }
.cfm-empty-avatar { width:70px; height:70px; margin:0 auto; border-radius:24px; display:grid; place-items:center; background:rgba(99,102,241,.13); font-size:30px; }

.cfm-floating-self {
  position:absolute; right:18px; bottom:18px; width:220px; height:130px;
  border-radius:18px; overflow:hidden; background:#050817;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 20px 50px rgba(0,0,0,.45); z-index:3;
}
.cfm-floating-self video { width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }
.cfm-floating-self .cfm-video-name { left:8px; bottom:8px; }

.cfm-filmstrip-wrap { margin-top:14px; }
.cfm-filmstrip-title { color:#cbd5e1; font-size:12px; font-weight:900; margin-bottom:8px; letter-spacing:.08em; text-transform:uppercase; }
.cfm-video-grid.cfm-filmstrip {
  display:grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap:12px;
}
.cfm-video-tile {
  position:relative; min-height:110px; border-radius:18px; overflow:hidden;
  background:linear-gradient(135deg, #111827, #030712); border:1px solid rgba(148,163,184,.18);
  display:flex; align-items:center; justify-content:center;
}
.cfm-video-tile video { width:100%; height:100%; min-height:110px; object-fit:cover; display:block; background:#000; }
.cfm-video-tile.is-local video { transform: scaleX(-1); }
.cfm-video-name {
  position:absolute; left:10px; bottom:10px; z-index:2; padding:6px 10px; border-radius:999px;
  background:rgba(15,23,42,.72); color:#fff; font-size:12px; font-weight:900;
  backdrop-filter: blur(10px); max-width: 88%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.cfm-video-empty-name { color:#94a3b8; font-size:13px; font-weight:800; padding:14px; text-align:center; }

.cfm-control-dock {
  width:max-content; max-width:100%; display:flex; align-items:center; justify-content:center; gap:12px;
  margin:16px auto 0; padding:10px; border-radius:22px;
  background:rgba(2,6,23,.72); border:1px solid rgba(148,163,184,.18);
}
.cfm-round-btn {
  width:82px; min-height:88px; border:0; border-radius:16px; cursor:pointer;
  background:rgba(30,41,59,.82); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px;
  font-weight:900; transition:.2s ease; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.cfm-round-btn span { font-size:20px; line-height:1; }
.cfm-round-btn small { font-size:12px; font-weight:900; }
.cfm-round-btn:hover:not(:disabled) { transform:translateY(-2px); background:rgba(51,65,85,.95); }
.cfm-round-btn:disabled { opacity:.45; cursor:not-allowed; }
.cfm-round-btn.is-active { background:rgba(22,163,74,.28); box-shadow: inset 0 0 0 1px rgba(34,197,94,.35); }
.cfm-round-btn.is-raised { background:rgba(245,158,11,.30); box-shadow: inset 0 0 0 1px rgba(245,158,11,.45); }
.cfm-round-danger { background:rgba(127,29,29,.42); }
.cfm-round-danger:hover:not(:disabled) { background:rgba(220,38,38,.72); }

.cfm-side-panel { display:flex; flex-direction:column; gap:16px; }
.cfm-card { padding:18px; }
.cfm-select, .cfm-join-card input, .cfm-form-field input, .cfm-form-field textarea, .cfm-form-field select {
  width:100%; background:#050816; color:#fff; border:1px solid rgba(148,163,184,.24); border-radius:14px; padding:13px 14px; outline:0;
}
.cfm-field-label { display:block; color:#dbeafe; font-size:13px; font-weight:900; margin:12px 0 8px; }
.cfm-stats { display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; margin:8px 0 14px; }
.cfm-stat-card { min-height:82px; padding:14px; border-radius:16px; background:rgba(148,163,184,.10); border:1px solid rgba(148,163,184,.16); text-align:center; }
.cfm-stat-card strong { display:block; font-size:28px; line-height:1; }
.cfm-stat-card span { display:block; margin-top:10px; font-size:10px; font-weight:900; color:#94a3b8; text-transform:uppercase; letter-spacing:.12em; }
.cfm-stat-green strong { color:#86efac; }
.cfm-stat-orange strong { color:#fde68a; }
.cfm-list-block { margin-top:14px; }
.cfm-list-title { color:#dbeafe; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; margin-bottom:8px; }
.cfm-user-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.cfm-user-list li {
  min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:9px 11px; border-radius:12px; background:rgba(148,163,184,.10); border:1px solid rgba(148,163,184,.14);
}
.cfm-user-list span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
.cfm-user-list small { color:#94a3b8; font-weight:900; white-space:nowrap; }
.cfm-action-list .cfm-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.cfm-mini-btn { border:0; cursor:pointer; padding:7px 9px; border-radius:10px; color:#fff; font-size:11px; font-weight:900; background:rgba(99,102,241,.85); }
.cfm-mini-btn.is-danger { background:rgba(239,68,68,.86); }
.cfm-mini-btn.is-muted { background:rgba(71,85,105,.85); }
.cfm-hand-chip { color:#fbbf24; margin-left:6px; }

.cfm-join-shell { display:grid; grid-template-columns:minmax(0, 1fr) 430px; gap:20px; align-items:stretch; }
.cfm-join-visual, .cfm-join-card { padding:34px; }
.cfm-join-visual { min-height:500px; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(135deg, rgba(99,102,241,.22), rgba(15,23,42,.82)); }
.cfm-join-logo { margin-bottom:22px; }
.cfm-join-visual h1 { font-size:46px; margin:8px 0 12px; }
.cfm-join-visual p { max-width:620px; color:#cbd5e1; font-size:17px; line-height:1.7; }
.cfm-join-points { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.cfm-join-points span { padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.12); font-weight:800; color:#e2e8f0; }
.cfm-join-card { align-self:center; }
.cfm-join-card h2 { margin:8px 0 22px; }
.cfm-waiting-card { margin-top:16px; padding:16px; border-radius:16px; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.24); color:#fde68a; }
.cfm-waiting-card p { margin:5px 0 0; color:#fef3c7; font-size:13px; }
.cfm-loader-dot { width:12px; height:12px; border-radius:50%; background:#fbbf24; display:inline-block; margin-right:8px; box-shadow:0 0 0 0 rgba(251,191,36,.45); animation: cfmPulse 1.1s infinite; }
@keyframes cfmPulse { to { box-shadow:0 0 0 12px rgba(251,191,36,0); } }

.cfm-meeting-card { width:100%; }
.cfm-participant-stage { min-height:700px; }
body.cfm-form-active .cfm-participant-stage { filter: blur(1px); }
.cfm-form-overlay { position:fixed; inset:0; z-index:999999; background:rgba(2,6,23,.86); backdrop-filter: blur(12px); align-items:center; justify-content:center; padding:24px; }
.cfm-form-card { width:min(760px, 96vw); max-height:92vh; overflow:auto; background:#0f172a; border:1px solid rgba(148,163,184,.22); border-radius:28px; padding:26px; box-shadow:0 30px 100px rgba(0,0,0,.55); color:#fff; }
.cfm-form-head h2 { margin:8px 0 6px; }
.cfm-form-head p { color:#94a3b8; margin:0 0 18px; }
.cfm-form-field { margin-bottom:14px; }
.cfm-form-field label { display:block; color:#dbeafe; font-size:13px; font-weight:900; margin-bottom:8px; }
.cfm-form-field textarea { min-height:120px; resize:vertical; }
.cfm-form-html-block { margin:16px 0; padding:16px 18px; border-radius:18px; background:rgba(148,163,184,.10); border:1px solid rgba(148,163,184,.18); color:#e5eefc; line-height:1.55; }
.cfm-form-html-block h1,.cfm-form-html-block h2,.cfm-form-html-block h3,.cfm-form-html-block h4 { color:#fff; margin:0 0 8px; }
.cfm-form-html-block p { margin:6px 0; color:#cbd5e1; }
.cfm-submit-btn { width:100%; margin-top:8px; border:0; cursor:pointer; padding:15px 18px; border-radius:16px; font-weight:900; color:#fff; background:linear-gradient(135deg,#22c55e,#16a34a); }
.cfm-submit-btn:disabled { opacity:.65; cursor:not-allowed; }

.cfm-toast { position:fixed; right:22px; bottom:22px; z-index:1000000; opacity:0; transform:translateY(12px); pointer-events:none; padding:13px 16px; border-radius:14px; background:#111827; color:#fff; border:1px solid rgba(255,255,255,.14); box-shadow:0 18px 50px rgba(0,0,0,.35); font-weight:800; transition:.22s ease; max-width:360px; }
.cfm-toast.is-visible { opacity:1; transform:translateY(0); }
.cfm-toast.is-success { border-color:rgba(34,197,94,.4); }
.cfm-toast.is-error { border-color:rgba(239,68,68,.45); }
.cfm-toast.is-info { border-color:rgba(59,130,246,.45); }

@media (max-width: 1180px) {
  .cfm-host-shell { grid-template-columns:1fr; }
  .cfm-side-panel { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cfm-side-panel .cfm-card:last-child { grid-column:1 / -1; }
}
@media (max-width: 820px) {
  .cfm-room { width:calc(100vw - 12px); margin:6px auto; padding:12px; border-radius:20px; }
  .cfm-app-header { flex-direction:column; align-items:stretch; }
  .cfm-header-right { justify-content:stretch; }
  .cfm-header-right > * { flex:1; }
  .cfm-join-shell, .cfm-side-panel { grid-template-columns:1fr; }
  .cfm-join-visual, .cfm-join-card { padding:22px; }
  .cfm-join-visual h1 { font-size:32px; }
  .cfm-main-stage, .cfm-screen-stage, .cfm-screen-stage video { min-height:330px; }
  .cfm-floating-self { width:150px; height:92px; }
  .cfm-control-dock { width:100%; overflow:auto; justify-content:flex-start; }
  .cfm-round-btn { min-width:76px; width:76px; min-height:78px; }
  .cfm-stats { grid-template-columns:1fr; }
}


.cfm-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}


/* v0.3.1 - Host presentation layout fix
   Screen share must occupy the full main stage. Earlier the screen-share wrapper
   had no width/height, so the video appeared as a small preview and left a huge
   blank area. */
.cfm-screen-stage.is-active {
  width: 100%;
  height: 100%;
  min-height: 560px;
  align-items: stretch;
  justify-content: stretch;
  background: #000;
}
.cfm-screen-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  overflow: hidden;
  border-radius: 18px;
}
.cfm-screen-wrap video,
.cfm-screen-wrap canvas {
  width: 100% !important;
  height: 100% !important;
  min-height: 560px !important;
  object-fit: contain !important;
  background: #000;
}
.cfm-host-room.cfm-screen-sharing .cfm-main-stage,
.cfm-host-room.cfm-screen-sharing .cfm-screen-stage,
.cfm-host-room.cfm-screen-sharing .cfm-screen-wrap,
.cfm-host-room.cfm-screen-sharing .cfm-screen-wrap video,
.cfm-host-room.cfm-screen-sharing .cfm-screen-wrap canvas {
  min-height: min(70vh, 760px) !important;
}
.cfm-host-room.cfm-screen-sharing .cfm-stage-card {
  min-height: auto;
}
.cfm-host-room.cfm-screen-sharing .cfm-floating-self {
  width: 240px;
  height: 145px;
  right: 22px;
  bottom: 22px;
}
.cfm-host-room .cfm-side-panel {
  max-height: calc(100vh - 170px);
  overflow: auto;
  padding-right: 3px;
}
.cfm-host-room .cfm-side-panel::-webkit-scrollbar { width: 7px; }
.cfm-host-room .cfm-side-panel::-webkit-scrollbar-thumb { background: rgba(148,163,184,.25); border-radius: 999px; }

@media (min-width: 1181px) {
  .cfm-host-shell {
    grid-template-columns: minmax(720px, 1fr) 430px;
  }
  .cfm-host-room.cfm-screen-sharing .cfm-host-shell {
    grid-template-columns: minmax(820px, 1fr) 410px;
  }
}

@media (max-width: 820px) {
  .cfm-screen-stage.is-active,
  .cfm-screen-wrap,
  .cfm-screen-wrap video,
  .cfm-screen-wrap canvas,
  .cfm-host-room.cfm-screen-sharing .cfm-main-stage,
  .cfm-host-room.cfm-screen-sharing .cfm-screen-stage,
  .cfm-host-room.cfm-screen-sharing .cfm-screen-wrap,
  .cfm-host-room.cfm-screen-sharing .cfm-screen-wrap video,
  .cfm-host-room.cfm-screen-sharing .cfm-screen-wrap canvas {
    min-height: 360px !important;
  }
  .cfm-host-room.cfm-screen-sharing .cfm-floating-self {
    width: 145px;
    height: 90px;
    right: 12px;
    bottom: 12px;
  }
}

/* v0.3.2 - Strong main-stage layout + late-form UX polish */
.cfm-room.cfm-host-room {
  width: min(1680px, calc(100vw - 28px));
}

.cfm-room .cfm-host-shell {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;
  align-items: start;
}

.cfm-room .cfm-host-stage-card {
  min-width: 0;
  min-height: auto;
}

.cfm-room #cfm-main-stage.cfm-main-stage {
  width: 100% !important;
  min-height: clamp(520px, 68vh, 820px) !important;
  height: clamp(520px, 68vh, 820px) !important;
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  background: #000 !important;
}

.cfm-room #cfm-screen-stage.cfm-screen-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  display: block !important;
  background: #050816;
}

.cfm-room #cfm-screen-stage .cfm-empty-stage {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.cfm-room #cfm-screen-stage .cfm-stage-fill,
.cfm-room #cfm-screen-stage .cfm-screen-wrap,
.cfm-room #cfm-screen-stage .cfm-camera-main-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  background: #000 !important;
  overflow: hidden !important;
  border-radius: 20px;
}

.cfm-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  background: #000 !important;
}

.cfm-room #cfm-screen-stage .cfm-camera-main-wrap > video {
  object-fit: cover !important;
}

.cfm-participant-room #cfm-screen-stage .cfm-camera-main-wrap > video {
  object-fit: cover !important;
}

.cfm-host-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage {
  min-height: clamp(560px, 72vh, 860px) !important;
  height: clamp(560px, 72vh, 860px) !important;
}

.cfm-floating-self {
  z-index: 20 !important;
}

.cfm-host-room.cfm-screen-sharing .cfm-floating-self,
.cfm-participant-room.cfm-screen-sharing .cfm-floating-self {
  width: min(260px, 26vw) !important;
  height: 150px !important;
  right: 22px !important;
  bottom: 22px !important;
}

.cfm-active-form-banner {
  margin-top: 14px;
  padding: 12px 13px;
  border-radius: 14px;
  border: 1px solid rgba(34,197,94,.28);
  background: rgba(34,197,94,.11);
  color: #d1fae5;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  line-height: 1.35;
}
.cfm-active-form-banner span { font-weight: 900; }
.cfm-active-form-banner small { color: #a7f3d0; font-weight: 700; text-align: right; }

.cfm-user-list .cfm-actions .cfm-mini-btn {
  white-space: nowrap;
}

.cfm-stage-card {
  background:
    radial-gradient(circle at 18% 0%, rgba(99,102,241,.16), transparent 36%),
    radial-gradient(circle at 95% 0%, rgba(34,197,94,.10), transparent 26%),
    rgba(17, 24, 42, 0.92);
}

.cfm-side-panel .cfm-card {
  background: rgba(15, 23, 42, .88);
  backdrop-filter: blur(16px);
}

@media (max-width: 1180px) {
  .cfm-room .cfm-host-shell {
    grid-template-columns: 1fr !important;
  }
  .cfm-room #cfm-main-stage.cfm-main-stage {
    min-height: 520px !important;
    height: 520px !important;
  }
}

@media (max-width: 820px) {
  .cfm-room #cfm-main-stage.cfm-main-stage,
  .cfm-host-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage {
    min-height: 360px !important;
    height: 360px !important;
  }
  .cfm-host-room.cfm-screen-sharing .cfm-floating-self,
  .cfm-participant-room.cfm-screen-sharing .cfm-floating-self {
    width: 145px !important;
    height: 90px !important;
    right: 12px !important;
    bottom: 12px !important;
  }
  .cfm-active-form-banner {
    flex-direction: column;
  }
  .cfm-active-form-banner small { text-align: left; }
}

/* v0.3.4 - Phase 1: stable stage layout + meeting end screens */
.cfm-premium-room {
  isolation: isolate;
}

.cfm-premium-room .cfm-host-shell {
  gap: 22px !important;
}

.cfm-premium-room .cfm-stage-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cfm-premium-room #cfm-main-stage.cfm-main-stage {
  flex: 1 1 auto;
  width: 100% !important;
  height: clamp(520px, 66vh, 820px) !important;
  min-height: clamp(520px, 66vh, 820px) !important;
  max-height: none !important;
  position: relative !important;
  display: block !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(37, 99, 235, .18), transparent 28%),
    #020617 !important;
  overflow: hidden !important;
}

.cfm-premium-room #cfm-screen-stage.cfm-screen-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: block !important;
  overflow: hidden !important;
}

.cfm-premium-room #cfm-screen-stage .cfm-stage-fill,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  border-radius: 22px !important;
}

.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  background: #000 !important;
}

.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > canvas {
  object-fit: contain !important;
}

.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  object-fit: cover !important;
}

.cfm-premium-room .cfm-floating-self {
  z-index: 50 !important;
  border: 1px solid rgba(255,255,255,.22);
  outline: 1px solid rgba(99,102,241,.18);
}

.cfm-premium-room.cfm-screen-sharing .cfm-floating-self {
  display: block !important;
  width: min(280px, 27vw) !important;
  height: 160px !important;
}

.cfm-premium-room.cfm-screen-sharing .cfm-filmstrip-wrap {
  margin-top: 14px;
}

.cfm-premium-room .cfm-video-grid.cfm-filmstrip:empty::after {
  content: 'Participant cameras will appear here';
  display: block;
  padding: 16px;
  border-radius: 16px;
  color: #94a3b8;
  font-weight: 800;
  text-align: center;
  background: rgba(148,163,184,.08);
  border: 1px dashed rgba(148,163,184,.2);
}

.cfm-meeting-end-screen {
  position: fixed;
  inset: 0;
  z-index: 1000001;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(99,102,241,.25), transparent 34%),
    rgba(2, 6, 23, .92);
  backdrop-filter: blur(18px);
}

.cfm-end-card {
  width: min(560px, 94vw);
  padding: 34px;
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.98));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 30px 120px rgba(0,0,0,.6);
  color: #fff;
  text-align: center;
}

.cfm-end-icon {
  width: 74px;
  height: 74px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 26px;
  font-size: 32px;
  font-weight: 900;
  background: linear-gradient(135deg, rgba(99,102,241,.35), rgba(34,197,94,.26));
  border: 1px solid rgba(255,255,255,.18);
}

.cfm-end-card h2 {
  margin: 10px 0 10px;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.06;
}

.cfm-end-card p {
  margin: 0 auto 22px;
  max-width: 460px;
  color: #cbd5e1;
  line-height: 1.6;
}

.cfm-end-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.cfm-end-actions .cfm-btn {
  text-decoration: none;
}

.cfm-status-pill.is-warning {
  color: #fde68a;
  background: rgba(245,158,11,.16);
  border-color: rgba(245,158,11,.35);
}

@media (min-width: 1181px) {
  .cfm-premium-room .cfm-host-shell {
    grid-template-columns: minmax(820px, 1fr) 430px !important;
  }
}

@media (max-width: 820px) {
  .cfm-premium-room #cfm-main-stage.cfm-main-stage {
    height: 370px !important;
    min-height: 370px !important;
  }
  .cfm-premium-room.cfm-screen-sharing .cfm-floating-self {
    width: 150px !important;
    height: 92px !important;
  }
  .cfm-end-card { padding: 24px; }
}

/* Phase 2: secure scheduled meeting details */
.cfm-secure-meeting-box {
  display:grid;
  gap:8px;
  margin: 0 0 18px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(99,102,241,.12);
  border: 1px solid rgba(129,140,248,.26);
  color: #cbd5e1;
  font-size: 13px;
}
.cfm-secure-meeting-box span { display:flex; justify-content:space-between; gap:12px; }
.cfm-secure-meeting-box strong { color:#fff; }

/* Phase 5: category-filtered live forms + enhanced participant field UI */
.cfm-form-filter-note{
  margin: 7px 0 12px;
  font-size: 12px;
  color: rgba(226,232,240,.72);
}
.cfm-form-category-chip{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(99,102,241,.14);
  border:1px solid rgba(129,140,248,.35);
  color:#c7d2fe;
  font-size:12px;
  font-weight:800;
  margin:0 0 14px;
}
.cfm-field-help{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.cfm-choice-group{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.cfm-choice{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  font-weight:600!important;
  color:#0f172a;
  line-height:1.45;
}
.cfm-choice input{
  width:auto!important;
  margin-top:2px!important;
}
.cfm-consent{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:12px;
}

/* Phase 6: branding settings */
.cfm-brand-logo {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.16);
  display: grid;
  place-items: center;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(var(--cfm-brand-primary-rgb,99,102,241), .28);
  flex: 0 0 auto;
}
.cfm-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 7px;
  display: block;
}
.cfm-brand-logo.cfm-join-logo,
.cfm-brand-icon.cfm-join-logo {
  width: 68px;
  height: 68px;
  border-radius: 22px;
}
.cfm-brand-icon {
  background: linear-gradient(135deg, var(--cfm-brand-primary, #6366f1), var(--cfm-brand-button, #2563eb));
  box-shadow: 0 14px 32px rgba(var(--cfm-brand-primary-rgb,99,102,241), .35);
}
.cfm-primary { background: linear-gradient(135deg, var(--cfm-brand-primary, #6366f1), var(--cfm-brand-button, #2563eb)) !important; }
.cfm-success { background: linear-gradient(135deg, var(--cfm-brand-success, #22c55e), #16a34a) !important; }
.cfm-eyebrow { color: color-mix(in srgb, var(--cfm-brand-primary, #6366f1) 35%, #bfdbfe) !important; }
.cfm-empty-avatar,
.cfm-form-category-chip,
.cfm-secure-meeting-box {
  background: rgba(var(--cfm-brand-primary-rgb,99,102,241), .13) !important;
  border-color: rgba(var(--cfm-brand-primary-rgb,99,102,241), .28) !important;
}
.cfm-room {
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--cfm-brand-primary-rgb,99,102,241), 0.18), transparent 32%),
    radial-gradient(circle at 95% 10%, rgba(var(--cfm-brand-success-rgb,34,197,94), 0.14), transparent 28%),
    linear-gradient(135deg, #081024 0%, #060912 100%);
}
.cfm-btn:focus-visible,
.cfm-round-btn:focus-visible,
.cfm-select:focus-visible,
.cfm-room input:focus-visible,
.cfm-room textarea:focus-visible {
  outline: 2px solid var(--cfm-brand-primary, #6366f1);
  outline-offset: 2px;
}

/* Phase 7: Form Builder Pro participant form polish */
.cfm-participant-form-summary{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:8px 0 16px;
}
.cfm-participant-form-summary span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(99,102,241,.2);
  background:rgba(99,102,241,.08);
  color:#3730a3;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
}
.cfm-form-label{
  display:block;
  font-weight:850;
  color:#0f172a;
  margin-bottom:7px;
}
.cfm-form-label b,
.cfm-choice b{
  color:#dc2626;
}
.cfm-form-field.has-error input,
.cfm-form-field.has-error textarea,
.cfm-form-field.has-error select,
.cfm-form-field.has-error .cfm-choice-group,
.cfm-form-field.has-error .cfm-consent{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12);
}
.cfm-field-error{
  margin-top:6px;
  color:#b91c1c;
  font-size:12px;
  font-weight:800;
}
.cfm-form-error-box{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  border-radius:14px;
  padding:12px;
  margin:14px 0;
  font-size:13px;
  font-weight:800;
}
.cfm-form-success-state{
  text-align:center;
  padding:32px 18px;
  border-radius:20px;
  background:linear-gradient(180deg,#f0fdf4,#ffffff);
  border:1px solid #bbf7d0;
}
.cfm-form-success-state div{
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  font-size:30px;
  font-weight:900;
  margin:0 auto 12px;
  box-shadow:0 18px 35px rgba(34,197,94,.25);
}
.cfm-form-success-state h3{
  margin:0 0 6px;
  color:#14532d;
}
.cfm-form-success-state p{
  margin:0;
  color:#166534;
}
.cfm-choice-group.cfm-checkbox-group{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
}

/* v0.8.1: Meeting lifecycle + dark participant form polish */
.cfm-host-room #cfm-join-btn:not(.is-active) {
  min-width: 150px;
}
.cfm-host-room #cfm-join-btn.is-disabled,
.cfm-host-room #cfm-join-btn:disabled.is-disabled {
  opacity: .65;
  cursor: not-allowed;
}
.cfm-host-reconnect-state {
  background: rgba(15,23,42,.78) !important;
  border: 1px solid rgba(245,158,11,.25) !important;
  border-radius: 24px !important;
  min-height: 240px;
}
.cfm-host-reconnect-state .cfm-loader-dot {
  width: 18px;
  height: 18px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #fbbf24;
  box-shadow: 0 0 0 0 rgba(251,191,36,.45);
  animation: cfmPulse 1.25s infinite;
}
@keyframes cfmPulse {
  0% { box-shadow: 0 0 0 0 rgba(251,191,36,.45); }
  70% { box-shadow: 0 0 0 14px rgba(251,191,36,0); }
  100% { box-shadow: 0 0 0 0 rgba(251,191,36,0); }
}

/* Force all live participant form fields to match the dark meeting theme */
.cfm-form-overlay .cfm-form-card,
.cfm-form-overlay #cfm-active-form {
  color: #e5eefc !important;
}
.cfm-form-overlay .cfm-participant-form-summary span {
  color: #dbeafe !important;
  background: rgba(99,102,241,.14) !important;
  border-color: rgba(129,140,248,.28) !important;
}
.cfm-form-overlay .cfm-form-label,
.cfm-form-overlay .cfm-form-field label,
.cfm-form-overlay .cfm-choice,
.cfm-form-overlay .cfm-choice span {
  color: #f8fbff !important;
  background: transparent !important;
}
.cfm-form-overlay .cfm-field-help {
  color: rgba(203,213,225,.72) !important;
}
.cfm-form-overlay .cfm-choice-group,
.cfm-form-overlay .cfm-choice-group.cfm-checkbox-group,
.cfm-form-overlay .cfm-consent {
  background: rgba(15,23,42,.86) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.cfm-form-overlay .cfm-choice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 9px 8px !important;
  border-radius: 12px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}
.cfm-form-overlay .cfm-choice:hover {
  background: rgba(255,255,255,.045) !important;
}
.cfm-form-overlay .cfm-choice input[type="checkbox"],
.cfm-form-overlay .cfm-choice input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--cfm-brand-success, #22c55e) !important;
  box-shadow: none !important;
}
.cfm-form-overlay .cfm-form-field input:not([type="checkbox"]):not([type="radio"]),
.cfm-form-overlay .cfm-form-field textarea,
.cfm-form-overlay .cfm-form-field select {
  background: rgba(2,6,23,.86) !important;
  border-color: rgba(148,163,184,.22) !important;
  color: #f8fbff !important;
}
.cfm-form-overlay .cfm-form-field input::placeholder,
.cfm-form-overlay .cfm-form-field textarea::placeholder {
  color: rgba(203,213,225,.58) !important;
}
.cfm-form-overlay .cfm-form-field.has-error .cfm-choice-group,
.cfm-form-overlay .cfm-form-field.has-error .cfm-consent,
.cfm-form-overlay .cfm-form-field.has-error input,
.cfm-form-overlay .cfm-form-field.has-error textarea,
.cfm-form-overlay .cfm-form-field.has-error select {
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 3px rgba(251,113,133,.13) !important;
}
.cfm-form-overlay .cfm-field-error {
  color: #fecdd3 !important;
}
.cfm-form-overlay .cfm-form-error-box {
  background: rgba(127,29,29,.38) !important;
  border-color: rgba(248,113,113,.35) !important;
  color: #fee2e2 !important;
}
.cfm-form-overlay .cfm-form-success-state {
  background: linear-gradient(180deg, rgba(20,83,45,.92), rgba(6,78,59,.9)) !important;
  border-color: rgba(74,222,128,.35) !important;
  color: #dcfce7 !important;
}
.cfm-form-overlay .cfm-form-success-state h3,
.cfm-form-overlay .cfm-form-success-state p {
  color: #dcfce7 !important;
}


/* v0.8.2 — Ultra SaaS meeting UI + bulletproof stage layout */
.cfm-room.cfm-ultra-room,
.cfm-room.cfm-premium-room {
  width: min(1880px, calc(100vw - 18px)) !important;
  margin: 10px auto !important;
  padding: clamp(12px, 1.4vw, 22px) !important;
  border-radius: 32px !important;
  background:
    radial-gradient(circle at 18% -10%, rgba(var(--cfm-brand-primary-rgb, 99,102,241), .30), transparent 30%),
    radial-gradient(circle at 90% 0%, rgba(var(--cfm-brand-success-rgb, 34,197,94), .20), transparent 27%),
    linear-gradient(140deg, #060a16 0%, #0b1224 48%, #050712 100%) !important;
  box-shadow: 0 28px 100px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.cfm-ultra-room .cfm-app-header,
.cfm-premium-room .cfm-app-header {
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.70)) !important;
  backdrop-filter: blur(22px) saturate(140%);
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: 0 16px 55px rgba(0,0,0,.22) !important;
}

.cfm-ultra-room .cfm-host-shell,
.cfm-premium-room .cfm-host-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: clamp(14px, 1.5vw, 24px) !important;
  align-items: start !important;
}

.cfm-ultra-room .cfm-host-stage-card,
.cfm-premium-room .cfm-host-stage-card,
.cfm-ultra-room .cfm-stage-card,
.cfm-premium-room .cfm-stage-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(var(--cfm-brand-primary-rgb, 99,102,241), .16), transparent 34%),
    linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.94)) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Keep the stage as a single solid presentation canvas. No left blank area. */
.cfm-ultra-room #cfm-main-stage.cfm-main-stage,
.cfm-premium-room #cfm-main-stage.cfm-main-stage {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(540px, 67vh, 860px) !important;
  min-height: clamp(540px, 67vh, 860px) !important;
  max-height: none !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at center, rgba(30,64,175,.16), transparent 38%),
    linear-gradient(135deg, #020617 0%, #080d1d 100%) !important;
  border: 1px solid rgba(148,163,184,.16) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 18px 55px rgba(0,0,0,.28) !important;
}

.cfm-ultra-room #cfm-main-stage.is-presenting,
.cfm-premium-room #cfm-main-stage.is-presenting,
.cfm-ultra-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage,
.cfm-premium-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage {
  height: clamp(600px, 74vh, 940px) !important;
  min-height: clamp(600px, 74vh, 940px) !important;
}

.cfm-ultra-room #cfm-screen-stage.cfm-screen-stage,
.cfm-premium-room #cfm-screen-stage.cfm-screen-stage {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
  background: transparent !important;
}

.cfm-ultra-room #cfm-screen-stage .cfm-empty-stage,
.cfm-premium-room #cfm-screen-stage .cfm-empty-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 30px !important;
}

.cfm-ultra-room #cfm-screen-stage .cfm-stage-fill,
.cfm-ultra-room #cfm-screen-stage .cfm-screen-wrap,
.cfm-ultra-room #cfm-screen-stage .cfm-camera-main-wrap,
.cfm-premium-room #cfm-screen-stage .cfm-stage-fill,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  background: #000 !important;
  animation: cfmStageIn .28s ease-out both;
}

.cfm-ultra-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-ultra-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-ultra-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-ultra-room #cfm-screen-stage .cfm-camera-main-wrap > canvas,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  background: #000 !important;
}

.cfm-ultra-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-ultra-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-screen-wrap > canvas {
  object-fit: contain !important;
}

.cfm-ultra-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-ultra-room #cfm-screen-stage .cfm-camera-main-wrap > canvas,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-premium-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  object-fit: cover !important;
}

/* Host/client self preview */
.cfm-ultra-room .cfm-floating-self,
.cfm-premium-room .cfm-floating-self {
  position: absolute !important;
  right: clamp(12px, 1.4vw, 22px) !important;
  bottom: clamp(12px, 1.4vw, 22px) !important;
  width: min(285px, 25vw) !important;
  height: min(165px, 15vw) !important;
  min-width: 150px !important;
  min-height: 92px !important;
  display: none;
  z-index: 80 !important;
  border-radius: 22px !important;
  background: #020617 !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.60), 0 0 0 6px rgba(15,23,42,.30) !important;
  transform-origin: bottom right;
  animation: cfmFloatIn .24s ease-out both;
}
.cfm-ultra-room .cfm-floating-self.is-visible,
.cfm-premium-room .cfm-floating-self.is-visible,
.cfm-ultra-room.cfm-screen-sharing .cfm-floating-self,
.cfm-premium-room.cfm-screen-sharing .cfm-floating-self {
  display: block !important;
}
.cfm-ultra-room .cfm-floating-self video,
.cfm-premium-room .cfm-floating-self video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cfm-ultra-room .cfm-video-name,
.cfm-premium-room .cfm-video-name {
  left: 12px !important;
  bottom: 12px !important;
  padding: 7px 11px !important;
  background: rgba(2,6,23,.70) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 10px 26px rgba(0,0,0,.30) !important;
}
.cfm-ultra-room .cfm-screen-name,
.cfm-premium-room .cfm-screen-name {
  left: 18px !important;
  bottom: 18px !important;
}

/* Camera strip looks like a SaaS video product, not a default grid. */
.cfm-ultra-room .cfm-filmstrip-wrap,
.cfm-premium-room .cfm-filmstrip-wrap {
  margin-top: 16px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: rgba(2,6,23,.42) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}
.cfm-ultra-room .cfm-video-tile,
.cfm-premium-room .cfm-video-tile {
  min-height: 118px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 30% 0%, rgba(var(--cfm-brand-primary-rgb,99,102,241),.20), transparent 34%),
    linear-gradient(135deg, #101827, #020617) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 12px 30px rgba(0,0,0,.22) !important;
  animation: cfmTileIn .22s ease-out both;
}
.cfm-ultra-room .cfm-video-tile video,
.cfm-premium-room .cfm-video-tile video {
  width: 100% !important;
  height: 100% !important;
  min-height: 118px !important;
  object-fit: cover !important;
}

.cfm-ultra-room .cfm-control-dock,
.cfm-premium-room .cfm-control-dock {
  position: relative;
  margin-top: 18px !important;
  padding: 10px !important;
  border-radius: 26px !important;
  background: rgba(2,6,23,.72) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  backdrop-filter: blur(20px) saturate(160%);
  box-shadow: 0 20px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.cfm-ultra-room .cfm-round-btn,
.cfm-premium-room .cfm-round-btn {
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}
.cfm-ultra-room .cfm-round-btn:hover:not(:disabled),
.cfm-premium-room .cfm-round-btn:hover:not(:disabled) {
  transform: translateY(-3px) scale(1.015) !important;
}

.cfm-ultra-room .cfm-side-panel,
.cfm-premium-room .cfm-side-panel {
  position: sticky;
  top: 12px;
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}
.cfm-ultra-room .cfm-side-panel .cfm-card,
.cfm-premium-room .cfm-side-panel .cfm-card {
  background: linear-gradient(180deg, rgba(15,23,42,.90), rgba(2,6,23,.86)) !important;
  border-color: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(20px) saturate(140%);
  box-shadow: 0 18px 55px rgba(0,0,0,.26) !important;
}

/* Participant room should feel like the same SaaS product. */
.cfm-ultra-room.cfm-participant-room #cfm-meeting-card,
.cfm-premium-room.cfm-participant-room #cfm-meeting-card {
  animation: cfmStageIn .28s ease-out both;
}
.cfm-ultra-room .cfm-join-shell,
.cfm-premium-room .cfm-join-shell {
  gap: clamp(18px, 2vw, 30px) !important;
}
.cfm-ultra-room .cfm-join-card,
.cfm-ultra-room .cfm-join-visual,
.cfm-premium-room .cfm-join-card,
.cfm-premium-room .cfm-join-visual {
  background: linear-gradient(180deg, rgba(15,23,42,.94), rgba(2,6,23,.90)) !important;
  border-color: rgba(255,255,255,.12) !important;
  backdrop-filter: blur(20px) saturate(140%);
}

@keyframes cfmStageIn {
  from { opacity: 0; transform: translateY(10px) scale(.992); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cfmFloatIn {
  from { opacity: 0; transform: translateY(12px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cfmTileIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (min-width: 1500px) {
  .cfm-ultra-room .cfm-host-shell,
  .cfm-premium-room .cfm-host-shell {
    grid-template-columns: minmax(0, 1fr) 440px !important;
  }
}
@media (max-width: 1180px) {
  .cfm-ultra-room .cfm-host-shell,
  .cfm-premium-room .cfm-host-shell {
    grid-template-columns: 1fr !important;
  }
  .cfm-ultra-room .cfm-side-panel,
  .cfm-premium-room .cfm-side-panel {
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .cfm-ultra-room #cfm-main-stage.cfm-main-stage,
  .cfm-premium-room #cfm-main-stage.cfm-main-stage {
    height: clamp(430px, 56vw, 620px) !important;
    min-height: clamp(430px, 56vw, 620px) !important;
  }
}
@media (max-width: 760px) {
  .cfm-room.cfm-ultra-room,
  .cfm-room.cfm-premium-room {
    width: calc(100vw - 10px) !important;
    margin: 5px auto !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }
  .cfm-ultra-room .cfm-app-header,
  .cfm-premium-room .cfm-app-header {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cfm-ultra-room #cfm-main-stage.cfm-main-stage,
  .cfm-premium-room #cfm-main-stage.cfm-main-stage,
  .cfm-ultra-room #cfm-main-stage.is-presenting,
  .cfm-premium-room #cfm-main-stage.is-presenting {
    height: 62vh !important;
    min-height: 360px !important;
    border-radius: 20px !important;
  }
  .cfm-ultra-room .cfm-floating-self,
  .cfm-premium-room .cfm-floating-self {
    width: 142px !important;
    height: 88px !important;
    right: 10px !important;
    bottom: 10px !important;
    border-radius: 16px !important;
  }
  .cfm-ultra-room .cfm-control-dock,
  .cfm-premium-room .cfm-control-dock {
    width: 100% !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
  }
  .cfm-ultra-room .cfm-round-btn,
  .cfm-premium-room .cfm-round-btn {
    min-width: 72px !important;
    width: 72px !important;
    min-height: 78px !important;
  }
  .cfm-ultra-room .cfm-video-grid.cfm-filmstrip,
  .cfm-premium-room .cfm-video-grid.cfm-filmstrip {
    grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)) !important;
  }
}

/* ==========================================================
   v0.8.3 - Ultra Zoom-like stage rebuild
   Goal: the meeting/screen share can never collapse into the
   right column. Host stage is now the hero section and all
   controls/status panels move below it in a responsive grid.
   ========================================================== */

.cfm-room.cfm-host-room.cfm-ultra-room,
.cfm-room.cfm-host-room.cfm-premium-room {
  width: min(1820px, calc(100vw - 18px)) !important;
  margin: 8px auto 28px !important;
  padding: clamp(12px, 1.4vw, 22px) !important;
  border-radius: clamp(22px, 2vw, 34px) !important;
}

.cfm-host-room.cfm-ultra-room .cfm-host-shell,
.cfm-host-room.cfm-premium-room .cfm-host-shell,
.cfm-room.cfm-host-room .cfm-host-shell {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: clamp(16px, 1.6vw, 24px) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

.cfm-host-room.cfm-ultra-room .cfm-host-stage-card,
.cfm-host-room.cfm-premium-room .cfm-host-stage-card,
.cfm-host-room .cfm-host-stage-card,
.cfm-host-room .cfm-stage-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  padding: clamp(14px, 1.4vw, 22px) !important;
  border-radius: clamp(22px, 2vw, 32px) !important;
}

.cfm-host-room .cfm-stage-top {
  align-items: center !important;
  margin-bottom: 12px !important;
}

.cfm-host-room #cfm-main-stage.cfm-main-stage,
.cfm-host-room.cfm-ultra-room #cfm-main-stage.cfm-main-stage,
.cfm-host-room.cfm-premium-room #cfm-main-stage.cfm-main-stage,
.cfm-host-room #cfm-main-stage.is-presenting,
.cfm-host-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: clamp(520px, 72vh, 900px) !important;
  min-height: clamp(520px, 72vh, 900px) !important;
  max-height: 900px !important;
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: clamp(20px, 1.7vw, 30px) !important;
  background:
    radial-gradient(circle at 22% 15%, rgba(var(--cfm-brand-primary-rgb,99,102,241), .19), transparent 35%),
    radial-gradient(circle at 75% 30%, rgba(14,165,233,.10), transparent 30%),
    linear-gradient(135deg, #020617 0%, #081024 52%, #030712 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 24px 90px rgba(0,0,0,.34) !important;
}

.cfm-host-room #cfm-screen-stage.cfm-screen-stage,
.cfm-host-room.cfm-ultra-room #cfm-screen-stage.cfm-screen-stage,
.cfm-host-room.cfm-premium-room #cfm-screen-stage.cfm-screen-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  overflow: hidden !important;
  background: transparent !important;
}

.cfm-host-room #cfm-screen-stage .cfm-stage-fill,
.cfm-host-room #cfm-screen-stage .cfm-screen-wrap,
.cfm-host-room #cfm-screen-stage .cfm-camera-main-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: #000 !important;
}

.cfm-host-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-host-room #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-host-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-host-room #cfm-screen-stage .cfm-camera-main-wrap > canvas,
.cfm-host-room #cfm-screen-stage video,
.cfm-host-room #cfm-screen-stage canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  background: #000 !important;
}

.cfm-host-room #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-host-room #cfm-screen-stage .cfm-screen-wrap > canvas {
  object-fit: contain !important;
}
.cfm-host-room #cfm-screen-stage .cfm-camera-main-wrap > video,
.cfm-host-room #cfm-screen-stage .cfm-camera-main-wrap > canvas {
  object-fit: cover !important;
}

.cfm-host-room .cfm-screen-name,
.cfm-host-room .cfm-stage-fill .cfm-video-name {
  left: 18px !important;
  bottom: 18px !important;
  right: auto !important;
  z-index: 90 !important;
}

.cfm-host-room .cfm-floating-self,
.cfm-host-room.cfm-ultra-room .cfm-floating-self,
.cfm-host-room.cfm-premium-room .cfm-floating-self {
  position: absolute !important;
  right: clamp(14px, 1.5vw, 26px) !important;
  bottom: clamp(14px, 1.5vw, 26px) !important;
  width: clamp(172px, 17vw, 320px) !important;
  height: clamp(104px, 9.8vw, 190px) !important;
  min-width: 172px !important;
  min-height: 104px !important;
  max-width: 320px !important;
  max-height: 190px !important;
  z-index: 120 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: #020617 !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.65), 0 0 0 7px rgba(2,6,23,.34) !important;
}
.cfm-host-room .cfm-floating-self video,
.cfm-host-room .cfm-floating-self canvas {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cfm-host-room .cfm-control-dock {
  position: sticky !important;
  bottom: 14px !important;
  z-index: 180 !important;
  width: max-content !important;
  max-width: calc(100% - 20px) !important;
  margin: 16px auto 0 !important;
  padding: 10px !important;
  border-radius: 24px !important;
  background: rgba(2,6,23,.78) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(24px) saturate(145%) !important;
}

.cfm-host-room .cfm-filmstrip-wrap {
  margin-top: 14px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: rgba(2,6,23,.38) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-host-room .cfm-video-grid.cfm-filmstrip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}

.cfm-host-room .cfm-side-panel,
.cfm-host-room.cfm-ultra-room .cfm-side-panel,
.cfm-host-room.cfm-premium-room .cfm-side-panel {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: minmax(300px, 1.2fr) minmax(300px, 1fr) minmax(340px, 1.25fr) !important;
  gap: clamp(14px, 1.4vw, 20px) !important;
  padding: 0 !important;
}
.cfm-host-room .cfm-side-panel .cfm-card {
  height: 100% !important;
  min-width: 0 !important;
  border-radius: 24px !important;
}

.cfm-host-room #cfm-screen-stage .cfm-empty-stage {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(24px, 3vw, 48px) !important;
}

/* Client side stage polish too */
.cfm-participant-room #cfm-main-stage.cfm-main-stage {
  height: clamp(420px, 62vh, 760px) !important;
  min-height: clamp(420px, 62vh, 760px) !important;
}
.cfm-participant-room .cfm-control-dock {
  backdrop-filter: blur(22px) saturate(145%) !important;
}

@media (max-width: 1260px) {
  .cfm-host-room .cfm-side-panel,
  .cfm-host-room.cfm-ultra-room .cfm-side-panel,
  .cfm-host-room.cfm-premium-room .cfm-side-panel {
    grid-template-columns: 1fr 1fr !important;
  }
  .cfm-host-room .cfm-side-panel .cfm-card:last-child {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 820px) {
  .cfm-host-room #cfm-main-stage.cfm-main-stage,
  .cfm-host-room #cfm-main-stage.is-presenting,
  .cfm-host-room.cfm-screen-sharing #cfm-main-stage.cfm-main-stage {
    height: 62vh !important;
    min-height: 360px !important;
    max-height: 620px !important;
  }
  .cfm-host-room .cfm-side-panel,
  .cfm-host-room.cfm-ultra-room .cfm-side-panel,
  .cfm-host-room.cfm-premium-room .cfm-side-panel {
    grid-template-columns: 1fr !important;
  }
  .cfm-host-room .cfm-floating-self,
  .cfm-host-room.cfm-ultra-room .cfm-floating-self,
  .cfm-host-room.cfm-premium-room .cfm-floating-self {
    width: 142px !important;
    height: 88px !important;
    min-width: 142px !important;
    min-height: 88px !important;
    right: 10px !important;
    bottom: 10px !important;
    border-radius: 16px !important;
  }
  .cfm-host-room .cfm-control-dock {
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
}

/* ==========================================================
   v0.8.4 - Zoom-grade stage controls + live alerts polish
   - Default screen-share is FILL to avoid left/right black bars.
   - Fit view toggle is available when full screen content is more important.
   - Adds fullscreen/minimize actions, header live counters, and alert ribbon.
   ========================================================== */
.cfm-live-metrics{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;
}
.cfm-live-metric{
  min-width:70px;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;
  background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.cfm-live-metric b{font-size:18px;color:#fff;line-height:1;font-weight:950;}
.cfm-live-metric small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;font-weight:900;}
.cfm-activity-ribbon{
  margin:14px 0 16px;padding:10px 12px;border-radius:22px;display:flex;align-items:center;gap:12px;
  background:linear-gradient(180deg,rgba(15,23,42,.74),rgba(2,6,23,.62));
  border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 16px 45px rgba(0,0,0,.20);
}
.cfm-activity-title{flex:0 0 auto;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#bfdbfe;font-weight:950;}
.cfm-activity-feed{display:flex;align-items:center;gap:8px;min-width:0;overflow:auto;scrollbar-width:thin;}
.cfm-activity-item,.cfm-activity-empty{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 10px;border-radius:999px;
  background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.14);color:#e2e8f0;font-weight:850;font-size:12px;
}
.cfm-activity-item small{color:#94a3b8;font-weight:800;}
.cfm-activity-item.is-success{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.24);}
.cfm-activity-item.is-warning{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.26);}
.cfm-activity-item.is-error{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.28);}
.cfm-activity-item.is-info{background:rgba(59,130,246,.13);border-color:rgba(59,130,246,.24);}
.cfm-stage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.cfm-stage-action{
  border:0;cursor:pointer;padding:8px 11px;border-radius:999px;color:#e2e8f0;font-size:12px;font-weight:950;
  background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);transition:.18s ease;
}
.cfm-stage-action:hover{transform:translateY(-1px);background:rgba(30,41,59,.94);}

/* Screen-share default: fill the canvas like Zoom presentation mode. This removes the huge black side gaps.
   The user can click Fit view to preserve the full shared screen if needed. */
.cfm-room.cfm-stage-fill-mode #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-room.cfm-stage-fill-mode #cfm-screen-stage .cfm-screen-wrap > canvas,
.cfm-room:not(.cfm-stage-fit-mode) #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-room:not(.cfm-stage-fit-mode) #cfm-screen-stage .cfm-screen-wrap > canvas{
  object-fit:cover!important;
}
.cfm-room.cfm-stage-fit-mode #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-room.cfm-stage-fit-mode #cfm-screen-stage .cfm-screen-wrap > canvas{
  object-fit:contain!important;
}
.cfm-room.cfm-stage-fill-mode #cfm-screen-stage .cfm-screen-wrap,
.cfm-room:not(.cfm-stage-fit-mode) #cfm-screen-stage .cfm-screen-wrap{
  background:radial-gradient(circle at 50% 50%,#020617,#000)!important;
}

/* More realistic fullscreen stage */
#cfm-main-stage:fullscreen{
  width:100vw!important;height:100vh!important;min-height:100vh!important;max-height:none!important;border-radius:0!important;
  background:#000!important;border:0!important;box-shadow:none!important;
}
#cfm-main-stage:fullscreen .cfm-screen-stage,
#cfm-main-stage:fullscreen .cfm-screen-wrap,
#cfm-main-stage:fullscreen .cfm-camera-main-wrap{
  border-radius:0!important;
}
#cfm-main-stage:fullscreen .cfm-floating-self{
  right:28px!important;bottom:28px!important;width:min(360px,24vw)!important;height:min(210px,14vw)!important;
}
.cfm-stage-fullscreen-active .cfm-toast{bottom:32px;}

/* Minimized stage keeps meeting controls visible while admin manages forms/waiting list */
.cfm-room.cfm-stage-minimized #cfm-main-stage.cfm-main-stage{
  height:180px!important;min-height:180px!important;max-height:180px!important;
}
.cfm-room.cfm-stage-minimized #cfm-screen-stage .cfm-video-name{font-size:10px!important;padding:5px 8px!important;}
.cfm-room.cfm-stage-minimized .cfm-floating-self{width:112px!important;height:68px!important;min-width:112px!important;min-height:68px!important;}
.cfm-room.cfm-stage-minimized .cfm-stage-top h3::after{content:' · minimized';color:#94a3b8;font-size:13px;font-weight:800;}

/* Make participant presentation stage consistent with host */
.cfm-participant-room.cfm-stage-fill-mode #cfm-screen-stage .cfm-screen-wrap > video,
.cfm-participant-room:not(.cfm-stage-fit-mode) #cfm-screen-stage .cfm-screen-wrap > video{
  object-fit:cover!important;
}
.cfm-participant-room.cfm-stage-fit-mode #cfm-screen-stage .cfm-screen-wrap > video{
  object-fit:contain!important;
}

/* More polished, dense SaaS header on small screens */
@media (max-width: 980px){
  .cfm-live-metrics{justify-content:flex-start;width:100%;}
  .cfm-live-metric{flex:1;min-width:0;justify-content:center;}
  .cfm-activity-ribbon{align-items:flex-start;flex-direction:column;}
  .cfm-activity-feed{width:100%;}
  .cfm-stage-actions{width:100%;justify-content:flex-start;}
}
@media (max-width: 560px){
  .cfm-stage-action{font-size:11px;padding:7px 9px;}
  .cfm-live-metric{padding:7px 8px;}
  .cfm-live-metric b{font-size:16px;}
  .cfm-activity-item,.cfm-activity-empty{font-size:11px;}
}

/* v0.8.5 host access notice polish */
.cfm-alert .cfm-mini-btn,
.cfm-mini-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--cfm-primary, #6d5dfc), var(--cfm-success, #22c55e)) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    box-shadow: 0 14px 30px rgba(109,93,252,.24) !important;
}


/* ==========================================================
   v0.8.6 - Fixed-size compact camera filmstrip
   Requirement: camera tiles must stay small and same size for
   1 user, 2 users, or 200 users. Never stretch to fill width.
   ========================================================== */

.cfm-room .cfm-filmstrip-wrap,
.cfm-host-room .cfm-filmstrip-wrap,
.cfm-participant-room .cfm-filmstrip-wrap,
.cfm-ultra-room .cfm-filmstrip-wrap,
.cfm-premium-room .cfm-filmstrip-wrap {
  margin-top: 14px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: rgba(2, 6, 23, .54) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
  overflow: hidden !important;
}

.cfm-room .cfm-video-grid.cfm-filmstrip,
.cfm-host-room .cfm-video-grid.cfm-filmstrip,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-ultra-room .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-premium-room .cfm-video-grid.cfm-filmstrip,
.cfm-participant-room.cfm-ultra-room .cfm-video-grid.cfm-filmstrip,
.cfm-participant-room.cfm-premium-room .cfm-video-grid.cfm-filmstrip {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  grid-auto-flow: unset !important;
  gap: 12px !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 122px !important;
  max-height: 164px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 8px 6px 14px !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(148,163,184,.48) rgba(255,255,255,.06) !important;
}

.cfm-room .cfm-video-grid.cfm-filmstrip > *,
.cfm-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
.cfm-host-room .cfm-video-grid.cfm-filmstrip > *,
.cfm-host-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip > *,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip > *,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip > *,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile {
  flex: 0 0 172px !important;
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 118px !important;
  min-height: 118px !important;
  max-height: 118px !important;
  aspect-ratio: 16 / 11 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: linear-gradient(135deg, #0f172a, #020617) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.cfm-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas,
.cfm-host-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-host-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas {
  position: static !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  background: #020617 !important;
}

.cfm-room .cfm-video-grid.cfm-filmstrip .cfm-video-name,
.cfm-host-room .cfm-video-grid.cfm-filmstrip .cfm-video-name,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip .cfm-video-name,
.cfm-ultra-room .cfm-video-grid.cfm-filmstrip .cfm-video-name,
.cfm-premium-room .cfm-video-grid.cfm-filmstrip .cfm-video-name {
  left: 8px !important;
  bottom: 8px !important;
  right: auto !important;
  max-width: calc(100% - 16px) !important;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  color: #fff !important;
  background: rgba(15,23,42,.74) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: blur(10px) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.cfm-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar,
.cfm-host-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar {
  height: 9px !important;
}
.cfm-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-track,
.cfm-host-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-track,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-track {
  background: rgba(255,255,255,.06) !important;
  border-radius: 999px !important;
}
.cfm-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-thumb,
.cfm-host-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-thumb,
.cfm-participant-room .cfm-video-grid.cfm-filmstrip::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(var(--cfm-brand-primary-rgb,99,102,241),.55), rgba(14,165,233,.45)) !important;
  border-radius: 999px !important;
  border: 2px solid rgba(2,6,23,.55) !important;
}

@media (max-width: 768px) {
  .cfm-room .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room .cfm-video-grid.cfm-filmstrip,
  .cfm-participant-room .cfm-video-grid.cfm-filmstrip {
    min-height: 106px !important;
    max-height: 142px !important;
  }
  .cfm-room .cfm-video-grid.cfm-filmstrip > *,
  .cfm-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
  .cfm-host-room .cfm-video-grid.cfm-filmstrip > *,
  .cfm-host-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
  .cfm-participant-room .cfm-video-grid.cfm-filmstrip > *,
  .cfm-participant-room .cfm-video-grid.cfm-filmstrip .cfm-video-tile {
    flex-basis: 138px !important;
    width: 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
    border-radius: 15px !important;
  }
}

/* =============================
   v0.9.0 Meeting Chat
   ============================= */
.cfm-chat-fab {
    position: fixed !important;
    right: 22px !important;
    bottom: 24px !important;
    z-index: 99999 !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: linear-gradient(135deg, rgba(37,99,235,.96), rgba(14,165,233,.92)) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 12px 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 20px 50px rgba(2,6,23,.35), 0 0 0 1px rgba(255,255,255,.10) inset !important;
    cursor: pointer !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
.cfm-chat-fab:hover { transform: translateY(-2px) !important; box-shadow: 0 24px 60px rgba(37,99,235,.42) !important; }
.cfm-chat-fab span { font-size: 18px !important; line-height: 1 !important; }
.cfm-chat-fab small { color: #fff !important; font-size: 12px !important; font-weight: 800 !important; }
.cfm-chat-fab b {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    min-width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 11px !important;
    border: 2px solid #020617 !important;
}
.cfm-chat-panel {
    position: fixed !important;
    right: 22px !important;
    bottom: 84px !important;
    width: min(420px, calc(100vw - 28px)) !important;
    height: min(680px, calc(100vh - 120px)) !important;
    z-index: 99998 !important;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
    border-radius: 26px !important;
    background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.98)) !important;
    border: 1px solid rgba(148,163,184,.26) !important;
    box-shadow: 0 30px 100px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06) inset !important;
    backdrop-filter: blur(18px) !important;
    animation: cfmChatSlide .2s ease both !important;
}
@keyframes cfmChatSlide { from { opacity:0; transform: translateY(12px) scale(.98); } to { opacity:1; transform: translateY(0) scale(1); } }
.cfm-chat-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 18px 14px !important;
    border-bottom: 1px solid rgba(148,163,184,.16) !important;
    background: radial-gradient(circle at top right, rgba(37,99,235,.20), transparent 42%) !important;
}
.cfm-chat-head h3 { margin: 2px 0 0 !important; color: #f8fafc !important; font-size: 20px !important; }
.cfm-chat-icon-btn {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.07) !important;
    color: #e2e8f0 !important;
    cursor: pointer !important;
    font-size: 22px !important;
    line-height: 1 !important;
}
.cfm-chat-filter-row { padding: 14px 16px !important; border-bottom: 1px solid rgba(148,163,184,.13) !important; }
.cfm-chat-filter-row label { display:block !important; color:#93c5fd !important; font-size:11px !important; font-weight:900 !important; text-transform:uppercase !important; letter-spacing:.12em !important; margin-bottom:8px !important; }
.cfm-chat-select,
.cfm-chat-compose textarea {
    width: 100% !important;
    border: 1px solid rgba(148,163,184,.22) !important;
    background: rgba(2,6,23,.70) !important;
    color: #f8fafc !important;
    border-radius: 14px !important;
    outline: none !important;
}
.cfm-chat-select { min-height: 42px !important; padding: 0 12px !important; }
.cfm-chat-messages {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
.cfm-chat-empty { color: rgba(226,232,240,.64) !important; text-align:center !important; padding: 40px 16px !important; border: 1px dashed rgba(148,163,184,.20) !important; border-radius: 18px !important; }
.cfm-chat-msg { max-width: 92% !important; }
.cfm-chat-msg.is-mine { margin-left: auto !important; }
.cfm-chat-msg.is-other { margin-right: auto !important; }
.cfm-chat-meta { display:flex !important; align-items:center !important; gap:6px !important; flex-wrap:wrap !important; margin: 0 4px 5px !important; color:#cbd5e1 !important; font-size: 11px !important; }
.cfm-chat-meta strong { color:#f8fafc !important; font-weight: 900 !important; }
.cfm-chat-meta em { font-style: normal !important; padding: 2px 7px !important; border-radius: 999px !important; background: rgba(37,99,235,.18) !important; color:#bfdbfe !important; font-size: 10px !important; font-weight: 800 !important; }
.cfm-chat-msg.is-private .cfm-chat-meta em { background: rgba(245,158,11,.18) !important; color:#fde68a !important; }
.cfm-chat-meta small { margin-left:auto !important; color: rgba(226,232,240,.52) !important; }
.cfm-chat-bubble {
    padding: 11px 13px !important;
    border-radius: 16px !important;
    color: #e5eefc !important;
    background: rgba(30,41,59,.84) !important;
    border: 1px solid rgba(148,163,184,.14) !important;
    line-height: 1.45 !important;
    white-space: pre-wrap !important;
    word-break: break-word !important;
}
.cfm-chat-msg.is-mine .cfm-chat-bubble { background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.82)) !important; color: #fff !important; border-color: rgba(255,255,255,.16) !important; }
.cfm-chat-msg.is-private .cfm-chat-bubble { box-shadow: 0 0 0 1px rgba(245,158,11,.22) inset !important; }
.cfm-chat-compose { padding: 14px !important; display:flex !important; gap:10px !important; align-items:flex-end !important; border-top: 1px solid rgba(148,163,184,.16) !important; }
.cfm-chat-compose textarea { resize: none !important; min-height: 48px !important; max-height: 120px !important; padding: 12px !important; line-height:1.35 !important; }
.cfm-chat-compose .cfm-btn { min-height: 48px !important; padding-left: 18px !important; padding-right: 18px !important; }
@media (max-width: 720px) {
    .cfm-chat-fab { right: 14px !important; bottom: 16px !important; }
    .cfm-chat-panel { right: 10px !important; left: 10px !important; bottom: 74px !important; width: auto !important; height: min(620px, calc(100vh - 96px)) !important; border-radius: 22px !important; }
    .cfm-chat-compose { flex-direction: column !important; align-items: stretch !important; }
}


/* v0.9.1 - Separate chat threads UI */
.cfm-chat-filter-row {
    display: block !important;
}
.cfm-chat-threads {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 10px 1px 2px !important;
    scroll-behavior: smooth !important;
}
.cfm-chat-threads::-webkit-scrollbar { height: 6px !important; }
.cfm-chat-threads::-webkit-scrollbar-track { background: rgba(255,255,255,.05) !important; border-radius: 999px !important; }
.cfm-chat-threads::-webkit-scrollbar-thumb { background: rgba(148,163,184,.25) !important; border-radius: 999px !important; }
.cfm-chat-thread {
    flex: 0 0 auto !important;
    min-width: 108px !important;
    max-width: 170px !important;
    border: 1px solid rgba(148,163,184,.22) !important;
    background: rgba(15,23,42,.72) !important;
    color: #dbeafe !important;
    border-radius: 999px !important;
    padding: 8px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    cursor: pointer !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}
.cfm-chat-thread:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(96,165,250,.55) !important;
    background: rgba(30,41,59,.9) !important;
}
.cfm-chat-thread.is-active {
    background: linear-gradient(135deg, rgba(37,99,235,.95), rgba(14,165,233,.82)) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 16px 36px rgba(37,99,235,.30) !important;
}
.cfm-chat-thread span { line-height: 1 !important; font-size: 13px !important; }
.cfm-chat-thread b {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}
.cfm-chat-thread em {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
}
.cfm-chat-current-thread {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(15,23,42,.88), rgba(30,41,59,.62)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.cfm-chat-current-thread > span {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: rgba(96,165,250,.14) !important;
}
.cfm-chat-current-thread b {
    display: block !important;
    color: #f8fafc !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}
.cfm-chat-current-thread small {
    display: block !important;
    color: rgba(203,213,225,.72) !important;
    font-size: 11px !important;
    margin-top: 2px !important;
}
.cfm-chat-panel .cfm-chat-messages {
    background: radial-gradient(circle at 10% 0%, rgba(37,99,235,.10), transparent 30%), rgba(2,6,23,.50) !important;
}
@media (max-width: 720px) {
    .cfm-chat-thread { min-width: 96px !important; max-width: 140px !important; padding: 7px 9px !important; }
    .cfm-chat-thread b { font-size: 11px !important; }
}

/* v0.9.2 Classroom roles, permissions, and video playback */
.cfm-admin-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 16px;padding:10px 0}.cfm-admin-control-grid label{display:flex;align-items:center;gap:8px;font-weight:700}.cfm-video-control-card .cfm-full-btn{margin-top:10px}.cfm-video-preview-box{margin:12px 0;padding:12px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:rgba(15,23,42,.04);display:flex;align-items:center;gap:12px;min-height:74px;overflow:hidden}.cfm-video-preview-box img{width:92px;height:56px;object-fit:cover;border-radius:12px;flex:0 0 auto}.cfm-video-preview-box b{display:block;font-size:14px;color:var(--cfm-text,#0f172a)}.cfm-video-preview-box small{display:block;max-width:100%;font-size:11px;color:var(--cfm-muted,#64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfm-video-thumb-placeholder{width:92px;height:56px;border-radius:12px;display:grid;place-items:center;background:rgba(15,23,42,.08);font-size:24px;flex:0 0 auto}.cfm-video-overlay{position:fixed;inset:0;z-index:999999;background:rgba(2,6,23,.94);backdrop-filter:blur(18px);align-items:center;justify-content:center;padding:22px}.cfm-video-overlay-card{width:min(1180px,96vw);height:min(760px,92vh);background:#020617;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden}.cfm-video-overlay-head{height:66px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.85));border-bottom:1px solid rgba(255,255,255,.1)}.cfm-video-overlay-head h2{margin:0;color:#fff;font-size:18px}.cfm-video-overlay-head .cfm-eyebrow{color:#93c5fd}.cfm-class-video{width:100%;height:100%;object-fit:contain;background:#000;display:block;flex:1}.cfm-video-play-help{padding:10px 14px;text-align:center;background:#f59e0b;color:#111827;font-weight:800}.cfm-video-playback-active .cfm-participant-room .cfm-main-stage,.cfm-video-playback-active .cfm-participant-room .cfm-filmstrip-wrap{visibility:hidden}.cfm-video-playback-active .cfm-host-room .cfm-floating-self,.cfm-video-playback-active .cfm-host-room .cfm-camera-main-wrap{display:none!important}.cfm-participant-room .cfm-video-tile[data-cfm-identity^="guest_"],.cfm-participant-room .cfm-video-tile:not([id*="host_"]){display:none!important}.cfm-chat-thread[data-chat-thread="everyone"]{order:-1}@media(max-width:768px){.cfm-video-overlay{padding:8px}.cfm-video-overlay-card{width:100vw;height:100vh;border-radius:0}.cfm-video-overlay-head{height:auto;min-height:58px}.cfm-video-preview-box{align-items:flex-start}.cfm-video-preview-box img,.cfm-video-thumb-placeholder{width:76px;height:48px}}
.cfm-participant-room #cfm-video-overlay-close{display:none!important}

/* v0.9.3 Instructor + video categories + Zoom-style quick command UI */
.cfm-admin-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;max-width:1200px;margin:18px 0 24px}.cfm-admin-card{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}.cfm-admin-card h2{margin-top:0}.cfm-instructor-check-grid label{display:flex!important;align-items:flex-start;gap:8px;flex-direction:column;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.cfm-instructor-check-grid label input{align-self:flex-start}.cfm-instructor-check-grid small{color:#64748b;font-weight:400}.cfm-admin-video-thumb-img{width:74px;height:48px;object-fit:cover;border-radius:10px;background:#0f172a;border:1px solid #e2e8f0}.cfm-admin-video-provider-thumb{width:74px;height:48px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#0f172a,#334155);color:#fff;font-weight:800;font-size:12px}.cfm-provider-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:11px}.cfm-video-admin-wrap select.regular-text{max-width:100%;min-width:260px}.cfm-video-preview-box video{width:82px;height:56px;object-fit:cover;border-radius:12px;background:#111827}.cfm-video-preview-box .cfm-video-url-line{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#94a3b8}.cfm-class-video-iframe{border:0;background:#000;min-height:62vh}
.cfm-zoom-command-bar{position:sticky;top:32px;z-index:70;display:flex;align-items:center;gap:10px;padding:10px;margin:12px 0 14px;border:1px solid rgba(148,163,184,.28);border-radius:20px;background:rgba(15,23,42,.88);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(15,23,42,.20);overflow-x:auto}.cfm-zoom-command{appearance:none;border:0;border-radius:15px;background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;gap:8px;padding:10px 14px;min-width:max-content;cursor:pointer;font-weight:800;transition:.18s ease}.cfm-zoom-command:hover{transform:translateY(-1px);background:rgba(255,255,255,.16)}.cfm-zoom-command span{width:26px;height:26px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.12)}.cfm-zoom-command b{font-size:12px}.cfm-zoom-command.is-primary{background:linear-gradient(135deg,#2563eb,#7c3aed)}.cfm-zoom-command.is-danger{background:linear-gradient(135deg,#dc2626,#991b1b)}.cfm-side-panel{scroll-margin-top:115px}.cfm-form-control-card,.cfm-video-control-card{scroll-margin-top:115px}.cfm-host-room .cfm-side-panel{max-height:calc(100vh - 130px);overflow:auto;position:sticky;top:112px}.cfm-host-room .cfm-stage-card{align-self:start}@media(max-width:1100px){.cfm-admin-grid-two{grid-template-columns:1fr}.cfm-host-room .cfm-side-panel{position:static;max-height:none}.cfm-zoom-command-bar{top:0;border-radius:14px;margin-left:-4px;margin-right:-4px}.cfm-zoom-command{padding:9px 11px}.cfm-zoom-command b{font-size:11px}}

/* --------------------------------------------------------------------------
   v0.9.4 - Classroom polish: top toolbar management + synced video controls
   -------------------------------------------------------------------------- */
.cfm-room .cfm-activity-ribbon,
.cfm-room .cfm-participant-ribbon{
  display:none !important;
}

.cfm-participant-room .cfm-filmstrip-wrap,
.cfm-participant-room #cfm-video-grid{
  display:none !important;
}

.cfm-host-room.cfm-toolbar-managed .cfm-host-shell{
  display:block !important;
  grid-template-columns:1fr !important;
}
.cfm-host-room.cfm-toolbar-managed .cfm-side-panel{
  display:none !important;
}
.cfm-host-room.cfm-toolbar-managed .cfm-host-stage-card{
  width:100% !important;
}
.cfm-host-room .cfm-control-dock{
  display:none !important;
}

.cfm-pro-command-bar{
  overflow:visible !important;
  gap:8px !important;
  flex-wrap:wrap;
  align-items:center;
}
.cfm-toolbar-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.cfm-toolbar-menu > .cfm-zoom-command{
  width:100%;
}
.cfm-toolbar-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:9999;
  width:min(420px, 92vw);
  max-height:min(74vh, 720px);
  overflow:auto;
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(148,163,184,.26);
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(2,6,23,.97));
  box-shadow:0 30px 90px rgba(2,6,23,.62);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transform:translateY(8px) scale(.98);
  transition:opacity .16s ease, transform .16s ease;
}
.cfm-toolbar-panel-wide{
  width:min(560px, 94vw);
}
.cfm-toolbar-menu:hover .cfm-toolbar-panel,
.cfm-toolbar-menu:focus-within .cfm-toolbar-panel,
.cfm-toolbar-menu.is-open .cfm-toolbar-panel{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.cfm-toolbar-panel .cfm-card{
  margin:0 !important;
  background:rgba(15,23,42,.72) !important;
  border-color:rgba(148,163,184,.22) !important;
  box-shadow:none !important;
}
.cfm-toolbar-panel .cfm-card + .cfm-card{
  margin-top:12px !important;
}
.cfm-toolbar-panel .cfm-card h3,
.cfm-toolbar-panel .cfm-card-head h3{
  color:#fff !important;
}
.cfm-toolbar-panel .cfm-field-label,
.cfm-toolbar-panel .cfm-list-title,
.cfm-toolbar-panel .cfm-eyebrow{
  color:#bfdbfe !important;
}
.cfm-toolbar-panel .cfm-user-list,
.cfm-toolbar-panel .cfm-action-list{
  max-height:300px;
  overflow:auto;
}
.cfm-toolbar-panel .cfm-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cfm-toolbar-panel .cfm-stat-card{
  padding:12px 10px;
}
.cfm-toolbar-panel .cfm-stat-card strong{
  font-size:24px;
}
.cfm-video-control-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.cfm-video-control-row .cfm-btn{
  width:100%;
  justify-content:center;
  padding:10px 9px;
}
.cfm-video-overlay-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.cfm-video-mini-action{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:12px;
  padding:8px 11px;
  font-weight:900;
  cursor:pointer;
}
.cfm-video-mini-action:hover{background:rgba(255,255,255,.16)}
.cfm-video-mini-action:disabled{opacity:.45;cursor:not-allowed}
.cfm-participant-room .cfm-video-overlay-actions .cfm-video-mini-action,
.cfm-participant-room .cfm-video-overlay-actions #cfm-video-overlay-close{
  display:none !important;
}
.cfm-video-overlay.is-minimized{
  inset:auto 22px 22px auto !important;
  width:min(430px, 92vw) !important;
  height:270px !important;
  padding:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}
.cfm-video-overlay.is-minimized .cfm-video-overlay-card{
  width:100% !important;
  height:100% !important;
  border-radius:20px !important;
  box-shadow:0 22px 70px rgba(0,0,0,.6) !important;
}
.cfm-video-overlay.is-minimized .cfm-video-overlay-head{
  min-height:44px;
  height:44px;
  padding:8px 10px;
}
.cfm-video-overlay.is-minimized .cfm-video-overlay-head .cfm-eyebrow{
  display:none;
}
.cfm-video-overlay.is-minimized .cfm-video-overlay-head h2{
  font-size:13px;
  max-width:170px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cfm-video-overlay.is-minimized .cfm-video-mini-action{
  padding:6px 8px;
  font-size:11px;
}
.cfm-video-overlay.is-minimized .cfm-chat-icon-btn{
  width:30px;
  height:30px;
}

@media(max-width:900px){
  .cfm-pro-command-bar{position:sticky;top:0;display:flex;overflow-x:auto!important;flex-wrap:nowrap;align-items:center}
  .cfm-toolbar-panel{position:fixed;left:10px;right:10px;top:82px;width:auto;max-height:70vh}
  .cfm-video-control-row{grid-template-columns:1fr}
  .cfm-video-overlay.is-minimized{right:10px!important;bottom:10px!important;width:calc(100vw - 20px)!important;height:240px!important}
}

/* v0.9.5 - Bottom Zoom-style controls + safer classroom video overlay */
.cfm-host-room .cfm-bottom-command-bar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(30,41,59,.84));
  box-shadow:0 18px 50px rgba(2,6,23,.25);
}
.cfm-host-room .cfm-bottom-command{
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  min-width:84px;
  min-height:54px;
  border-radius:14px;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
  cursor:pointer;
  font-weight:800;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.cfm-host-room .cfm-bottom-command:hover{
  transform:translateY(-2px);
  background:rgba(99,102,241,.22);
  border-color:rgba(129,140,248,.46);
}
.cfm-host-room .cfm-bottom-command span{font-size:18px;line-height:1;}
.cfm-host-room .cfm-bottom-command b{font-size:12px;line-height:1;white-space:nowrap;}
.cfm-host-room .cfm-bottom-command.is-primary{background:linear-gradient(135deg,#635bff,#12a8ff);border-color:transparent;}
.cfm-host-room .cfm-bottom-command.is-danger{background:linear-gradient(135deg,#dc2626,#ef4444);border-color:transparent;}
.cfm-video-overlay .cfm-video-overlay-actions button:disabled,
.cfm-video-control-row button:disabled{opacity:.55;cursor:not-allowed;}
.cfm-video-overlay.is-minimized .cfm-video-overlay-card{
  width:min(460px,94vw)!important;
  max-height:220px!important;
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  transform:none!important;
  z-index:999999!important;
}
.cfm-video-overlay.is-minimized .cfm-class-video,
.cfm-video-overlay.is-minimized .cfm-class-video-iframe{height:118px!important;min-height:118px!important;}
.cfm-host-room .cfm-activity-feed{display:none!important;}
@media (max-width: 780px){
  .cfm-host-room .cfm-bottom-command-bar{gap:8px;overflow-x:auto;flex-wrap:nowrap;}
  .cfm-host-room .cfm-bottom-command{min-width:74px;}
}

/* v0.9.6 - Premium classroom UI, theme toggle, cleaner bottom media dock, and video minimize behavior */
.cfm-participant-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cfm-theme-toggle{
  border-color:rgba(148,163,184,.22)!important;
}
.cfm-host-room .cfm-bottom-media-dock{
  position:sticky;
  bottom:12px;
  z-index:60;
  width:max-content;
  max-width:100%;
  margin:16px auto 0!important;
  justify-content:center;
  flex-wrap:nowrap!important;
  overflow-x:auto;
  border-radius:999px!important;
  padding:10px!important;
  background:rgba(15,23,42,.88)!important;
  backdrop-filter:blur(18px);
}
.cfm-host-room .cfm-bottom-media-dock .cfm-bottom-command{
  min-width:76px!important;
  min-height:50px!important;
  border-radius:999px!important;
}
.cfm-host-room .cfm-bottom-media-dock .cfm-bottom-command span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}
.cfm-host-room .cfm-bottom-media-dock .cfm-bottom-command b{
  font-size:11px!important;
}
.cfm-video-overlay.is-hidden-for-class{
  display:none!important;
}
.cfm-host-room .cfm-video-overlay.is-minimized + .cfm-toast,
.cfm-host-room .cfm-video-overlay.is-minimized{
  pointer-events:auto;
}
.cfm-video-overlay.is-minimized .cfm-video-play-help{
  font-size:11px!important;
  padding:6px 8px!important;
}
.cfm-light-mode{
  --cfm-bg:#f4f7fb;
  --cfm-panel:rgba(255,255,255,.96);
  --cfm-panel-2:rgba(248,250,252,.98);
  --cfm-border:rgba(15,23,42,.10);
  --cfm-text:#0f172a;
  --cfm-muted:#64748b;
  color:#0f172a!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.10), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(20,184,166,.10), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#edf4ff 100%)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.12)!important;
}
.cfm-light-mode .cfm-app-header,
.cfm-light-mode .cfm-stage-card,
.cfm-light-mode .cfm-card,
.cfm-light-mode .cfm-join-card,
.cfm-light-mode .cfm-join-visual{
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(15,23,42,.10)!important;
  box-shadow:0 18px 50px rgba(15,23,42,.08)!important;
}
.cfm-light-mode .cfm-main-stage,
.cfm-light-mode .cfm-screen-stage,
.cfm-light-mode .cfm-video-tile{
  background:#f8fafc!important;
  border-color:rgba(15,23,42,.10)!important;
}
.cfm-light-mode .cfm-empty-stage,
.cfm-light-mode .cfm-brand-block p,
.cfm-light-mode .cfm-video-preview-box small,
.cfm-light-mode .cfm-status-pill,
.cfm-light-mode .cfm-mini-chip,
.cfm-light-mode .cfm-live-badge{
  color:#64748b!important;
}
.cfm-light-mode .cfm-brand-block h2,
.cfm-light-mode .cfm-card h3,
.cfm-light-mode .cfm-stage-top h3,
.cfm-light-mode .cfm-empty-stage h3,
.cfm-light-mode .cfm-join-card h2,
.cfm-light-mode .cfm-join-visual h1{
  color:#0f172a!important;
}
.cfm-light-mode .cfm-zoom-command-bar,
.cfm-light-mode .cfm-host-room .cfm-bottom-media-dock{
  background:rgba(255,255,255,.86)!important;
  border-color:rgba(15,23,42,.10)!important;
  box-shadow:0 18px 55px rgba(15,23,42,.10)!important;
}
.cfm-light-mode .cfm-zoom-command,
.cfm-light-mode .cfm-bottom-command,
.cfm-light-mode .cfm-round-btn,
.cfm-light-mode .cfm-stage-action,
.cfm-light-mode .cfm-video-mini-action{
  color:#0f172a!important;
  background:rgba(15,23,42,.06)!important;
  border-color:rgba(15,23,42,.10)!important;
}
.cfm-light-mode .cfm-zoom-command span,
.cfm-light-mode .cfm-bottom-command span{
  background:rgba(37,99,235,.10)!important;
}
.cfm-light-mode .cfm-zoom-command.is-primary,
.cfm-light-mode .cfm-bottom-command.is-primary,
.cfm-light-mode .cfm-primary{
  color:#fff!important;
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
}
.cfm-light-mode .cfm-zoom-command.is-danger,
.cfm-light-mode .cfm-bottom-command.is-danger,
.cfm-light-mode .cfm-danger{
  color:#fff!important;
  background:linear-gradient(135deg,#dc2626,#f97316)!important;
}
.cfm-light-mode .cfm-toolbar-panel{
  background:rgba(255,255,255,.98)!important;
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:0 24px 90px rgba(15,23,42,.16)!important;
}
.cfm-light-mode .cfm-toolbar-panel .cfm-card{
  background:rgba(248,250,252,.96)!important;
}
.cfm-light-mode .cfm-toolbar-panel .cfm-card h3,
.cfm-light-mode .cfm-toolbar-panel .cfm-card-head h3,
.cfm-light-mode .cfm-toolbar-panel .cfm-field-label,
.cfm-light-mode .cfm-toolbar-panel .cfm-list-title,
.cfm-light-mode .cfm-toolbar-panel .cfm-eyebrow{
  color:#0f172a!important;
}
.cfm-light-mode .cfm-select,
.cfm-light-mode .cfm-join-card input,
.cfm-light-mode .cfm-form-field input,
.cfm-light-mode .cfm-form-field textarea,
.cfm-light-mode .cfm-form-field select,
.cfm-light-mode .cfm-chat-select,
.cfm-light-mode .cfm-chat-compose textarea{
  background:#fff!important;
  color:#0f172a!important;
  border-color:rgba(15,23,42,.14)!important;
}
.cfm-light-mode .cfm-user-list li,
.cfm-light-mode .cfm-stat-card,
.cfm-light-mode .cfm-video-preview-box{
  background:rgba(15,23,42,.04)!important;
  border-color:rgba(15,23,42,.08)!important;
}
@media(max-width:780px){
  .cfm-host-room .cfm-bottom-media-dock{width:100%;justify-content:flex-start;border-radius:18px!important;}
}

/* v0.9.7 - Premium Zoom-style classroom studio panel + cleaner SaaS UI */
.cfm-host-room.cfm-studio-ui-active {
  --cfm-app-bg: #f6f8fc;
  --cfm-card-bg: rgba(255,255,255,.94);
  --cfm-card-border: rgba(16,24,40,.10);
  --cfm-text-main: #101828;
  --cfm-text-muted: #667085;
  background: radial-gradient(circle at top left, rgba(99,102,241,.10), transparent 36%), linear-gradient(180deg,#f8fbff 0%,#eef3fb 100%) !important;
  color: var(--cfm-text-main) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active {
  --cfm-app-bg: #07111f;
  --cfm-card-bg: rgba(15,23,42,.92);
  --cfm-card-border: rgba(148,163,184,.18);
  --cfm-text-main: #f8fafc;
  --cfm-text-muted: #aab7cf;
  background: radial-gradient(circle at 12% 0%, rgba(59,130,246,.16), transparent 34%), linear-gradient(180deg,#07111f 0%,#0b1220 100%) !important;
  color: var(--cfm-text-main) !important;
}
.cfm-host-room.cfm-light-mode,
.cfm-host-room.cfm-light-mode * { color-scheme: light; }
.cfm-host-room.cfm-studio-ui-active .cfm-app-header,
.cfm-host-room.cfm-studio-ui-active .cfm-stage-card,
.cfm-host-room.cfm-studio-ui-active .cfm-studio-panel,
.cfm-host-room.cfm-studio-ui-active .cfm-card {
  background: var(--cfm-card-bg) !important;
  border: 1px solid var(--cfm-card-border) !important;
  box-shadow: 0 20px 55px rgba(16,24,40,.10) !important;
  color: var(--cfm-text-main) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-app-header {
  border-radius: 24px !important;
  padding: 16px 18px !important;
  margin-bottom: 12px !important;
  backdrop-filter: blur(16px);
}
.cfm-host-room.cfm-studio-ui-active .cfm-brand-block h2,
.cfm-host-room.cfm-studio-ui-active .cfm-stage-top h3,
.cfm-host-room.cfm-studio-ui-active .cfm-card h3,
.cfm-host-room.cfm-studio-ui-active .cfm-studio-head h3 {
  color: var(--cfm-text-main) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-brand-block p,
.cfm-host-room.cfm-studio-ui-active .cfm-studio-head p,
.cfm-host-room.cfm-studio-ui-active .cfm-form-filter-note,
.cfm-host-room.cfm-studio-ui-active .cfm-field-label,
.cfm-host-room.cfm-studio-ui-active .cfm-eyebrow,
.cfm-host-room.cfm-studio-ui-active small {
  color: var(--cfm-text-muted) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  padding: 10px !important;
  margin: 0 0 14px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(16,24,40,.10) !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 36px rgba(16,24,40,.12) !important;
  backdrop-filter: blur(16px);
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command-bar {
  background: rgba(15,23,42,.90) !important;
  border-color: rgba(148,163,184,.20) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command {
  position: relative !important;
  min-width: 86px !important;
  height: 42px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(16,24,40,.10) !important;
  background: #fff !important;
  color: #1d2939 !important;
  box-shadow: 0 8px 18px rgba(16,24,40,.07) !important;
  transition: .18s ease !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command {
  background: rgba(30,41,59,.92) !important;
  color: #f8fafc !important;
  border-color: rgba(148,163,184,.18) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command:hover,
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-active {
  transform: translateY(-1px);
  background: linear-gradient(135deg,#2563eb,#7c3aed) !important;
  border-color: transparent !important;
  color: #fff !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-danger {
  background: #fff1f2 !important;
  color: #b42318 !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-danger:hover {
  background: linear-gradient(135deg,#ef4444,#b91c1c) !important;
  color:#fff !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command em,
.cfm-studio-tabs b {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #ef4444;
  color: #fff !important;
  font-size: 11px;
  font-style: normal;
  box-shadow: 0 8px 16px rgba(239,68,68,.28);
}
.cfm-host-room.cfm-studio-ui-active .cfm-host-shell {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px) !important;
  gap: 18px !important;
}
.cfm-studio-panel {
  border-radius: 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.cfm-studio-head {
  padding: 18px 18px 14px;
  border-bottom: 1px solid var(--cfm-card-border);
  background: linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.55));
}
.cfm-dark-mode .cfm-studio-head {
  background: linear-gradient(180deg,rgba(30,41,59,.86),rgba(15,23,42,.70));
}
.cfm-studio-head h3 { margin: 3px 0 4px !important; font-size: 22px !important; }
.cfm-studio-head p { margin: 0 0 14px !important; font-size: 13px !important; }
.cfm-studio-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 7px;
  background: rgba(15,23,42,.06);
  padding: 6px;
  border-radius: 16px;
}
.cfm-dark-mode .cfm-studio-tabs { background: rgba(255,255,255,.06); }
.cfm-studio-tabs button {
  position: relative;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--cfm-text-muted);
  font-weight: 800;
  font-size: 12px;
  padding: 10px 7px;
  cursor: pointer;
}
.cfm-studio-tabs button.is-active {
  background: #fff;
  color: #2563eb;
  box-shadow: 0 8px 22px rgba(16,24,40,.12);
}
.cfm-dark-mode .cfm-studio-tabs button.is-active {
  background: rgba(59,130,246,.22);
  color: #bfdbfe;
}
.cfm-studio-body {
  padding: 16px;
  overflow: auto;
  max-height: calc(100vh - 270px);
}
.cfm-studio-tab-panel { display: none !important; margin: 0 !important; box-shadow: none !important; border-radius: 18px !important; }
.cfm-studio-tab-panel.is-active { display: block !important; }
.cfm-host-room.cfm-studio-ui-active .cfm-main-stage {
  border-radius: 22px !important;
  background: linear-gradient(135deg,#0b1220,#172036) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 24px 60px rgba(16,24,40,.16) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-control-dock { display: none !important; }
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-media-dock {
  position: sticky !important;
  bottom: 12px !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  margin: 12px auto 0 !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(16,24,40,.10) !important;
  box-shadow: 0 18px 44px rgba(16,24,40,.14) !important;
  backdrop-filter: blur(18px);
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-bottom-media-dock {
  background: rgba(15,23,42,.90) !important;
  border-color: rgba(148,163,184,.20) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-select,
.cfm-host-room.cfm-studio-ui-active input,
.cfm-host-room.cfm-studio-ui-active textarea {
  background: #fff !important;
  color: #101828 !important;
  border: 1px solid rgba(16,24,40,.14) !important;
  box-shadow: 0 8px 18px rgba(16,24,40,.05) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-select,
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active input,
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active textarea {
  background: rgba(15,23,42,.88) !important;
  color: #f8fafc !important;
  border-color: rgba(148,163,184,.22) !important;
}
@media (max-width: 1180px) {
  .cfm-host-room.cfm-studio-ui-active .cfm-host-shell {
    grid-template-columns: 1fr !important;
  }
  .cfm-host-room.cfm-studio-ui-active .cfm-side-panel {
    position: static !important;
    max-width: none !important;
    max-height: none !important;
  }
  .cfm-studio-body { max-height: none; }
}
@media (max-width: 720px) {
  .cfm-studio-tabs { grid-template-columns: repeat(2, 1fr); }
  .cfm-host-room.cfm-studio-ui-active .cfm-zoom-command { min-width: 76px !important; }
}

/* --------------------------------------------------------------------------
   v0.9.8 - Studio panel visibility + premium SaaS theme correction
   Fix: older classroom CSS was hiding the side panel with display:none.
   This override makes Forms / Videos / Guests / Live open in the right panel.
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-studio-ui-active .cfm-host-shell,
.cfm-host-room.cfm-toolbar-managed .cfm-host-shell{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(390px, 460px) !important;
  gap:20px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-side-panel,
.cfm-host-room.cfm-toolbar-managed .cfm-side-panel,
.cfm-host-room.cfm-studio-ui-active .cfm-studio-panel,
.cfm-host-room.cfm-toolbar-managed .cfm-studio-panel{
  display:flex !important;
  flex-direction:column !important;
  visibility:visible !important;
  opacity:1 !important;
  position:sticky !important;
  top:92px !important;
  width:100% !important;
  max-width:460px !important;
  min-height:620px !important;
  max-height:calc(100vh - 115px) !important;
  overflow:hidden !important;
  border-radius:26px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(16,24,40,.10) !important;
  box-shadow:0 26px 80px rgba(16,24,40,.16) !important;
  color:#101828 !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-side-panel,
.cfm-host-room.cfm-dark-mode.cfm-toolbar-managed .cfm-side-panel,
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-panel,
.cfm-host-room.cfm-dark-mode.cfm-toolbar-managed .cfm-studio-panel{
  background:rgba(15,23,42,.96) !important;
  border-color:rgba(148,163,184,.18) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.36) !important;
  color:#f8fafc !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-head{
  flex:0 0 auto !important;
  padding:20px 20px 16px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border-bottom:1px solid rgba(16,24,40,.08) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-head{
  background:linear-gradient(180deg,#111827 0%,#0f172a 100%) !important;
  border-bottom-color:rgba(148,163,184,.16) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-head h3{
  font-size:24px !important;
  letter-spacing:-.03em !important;
  margin:2px 0 4px !important;
  color:#111827 !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-head h3{ color:#f8fafc !important; }
.cfm-host-room.cfm-studio-ui-active .cfm-studio-head p{
  color:#667085 !important;
  line-height:1.45 !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-head p{ color:#aab7cf !important; }
.cfm-host-room.cfm-studio-ui-active .cfm-studio-body{
  flex:1 1 auto !important;
  overflow:auto !important;
  padding:18px !important;
  max-height:none !important;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-body{
  background:linear-gradient(180deg,#0b1220 0%,#111827 100%) !important;
}
.cfm-studio-tab-panel{
  display:none !important;
  margin:0 !important;
  width:100% !important;
  min-height:420px !important;
}
.cfm-studio-tab-panel.is-active{
  display:block !important;
  animation:cfmPanelIn .18s ease-out both;
}
@keyframes cfmPanelIn{
  from{opacity:0; transform:translateY(8px)}
  to{opacity:1; transform:translateY(0)}
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:6px !important;
  background:#eef2f7 !important;
  border:1px solid rgba(16,24,40,.06) !important;
  border-radius:18px !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-tabs{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(148,163,184,.12) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs button{
  color:#667085 !important;
  min-height:42px !important;
  border-radius:14px !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs button.is-active{
  background:#ffffff !important;
  color:#2563eb !important;
  box-shadow:0 10px 24px rgba(16,24,40,.12) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-tabs button{ color:#aab7cf !important; }
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-tabs button.is-active{
  background:#1d4ed8 !important;
  color:#fff !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tab-panel.cfm-card{
  background:#ffffff !important;
  border:1px solid rgba(16,24,40,.09) !important;
  box-shadow:0 12px 34px rgba(16,24,40,.08) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-tab-panel.cfm-card{
  background:rgba(15,23,42,.82) !important;
  border-color:rgba(148,163,184,.16) !important;
  box-shadow:none !important;
}

/* Cleaner Zoom/SaaS-style command bar */
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command-bar{
  gap:10px !important;
  padding:12px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(16,24,40,.09) !important;
  box-shadow:0 18px 50px rgba(16,24,40,.13) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command-bar{
  background:rgba(15,23,42,.94) !important;
  border-color:rgba(148,163,184,.16) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command{
  min-width:auto !important;
  height:46px !important;
  padding:0 15px !important;
  border-radius:16px !important;
  gap:8px !important;
  background:#fff !important;
  color:#182230 !important;
  border:1px solid rgba(16,24,40,.11) !important;
  box-shadow:0 8px 22px rgba(16,24,40,.07) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command span{
  width:28px !important;
  height:28px !important;
  background:#eef4ff !important;
  color:#2563eb !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command b{ font-size:13px !important; color:inherit !important; }
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command:hover,
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-active{
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 14px 30px rgba(37,99,235,.24) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command:hover span,
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-active span{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command{
  background:#111827 !important;
  color:#f8fafc !important;
  border-color:rgba(148,163,184,.18) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.20) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command span{
  background:rgba(96,165,250,.14) !important;
  color:#bfdbfe !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-danger{
  background:#fff1f2 !important;
  color:#b42318 !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command.is-danger{
  background:rgba(127,29,29,.55) !important;
  color:#fecaca !important;
}

/* Light/Dark mode color corrections for host and participant pages */
.cfm-room.cfm-light-mode,
.cfm-room.cfm-light-mode.cfm-participant-room,
.cfm-room.cfm-light-mode.cfm-host-room{
  background:linear-gradient(180deg,#f8fafc 0%,#edf2f7 100%) !important;
  color:#111827 !important;
}
.cfm-room.cfm-light-mode .cfm-join-card,
.cfm-room.cfm-light-mode .cfm-join-brand,
.cfm-room.cfm-light-mode .cfm-card,
.cfm-room.cfm-light-mode .cfm-stage-card,
.cfm-room.cfm-light-mode .cfm-app-header{
  background:rgba(255,255,255,.94) !important;
  color:#111827 !important;
  border-color:rgba(16,24,40,.10) !important;
}
.cfm-room.cfm-light-mode .cfm-join-card h2,
.cfm-room.cfm-light-mode .cfm-join-brand h1,
.cfm-room.cfm-light-mode .cfm-card h3,
.cfm-room.cfm-light-mode .cfm-brand-block h2{
  color:#111827 !important;
}
.cfm-room.cfm-light-mode .cfm-join-card p,
.cfm-room.cfm-light-mode .cfm-join-brand p,
.cfm-room.cfm-light-mode .cfm-field-label,
.cfm-room.cfm-light-mode .cfm-form-filter-note,
.cfm-room.cfm-light-mode small,
.cfm-room.cfm-light-mode .cfm-eyebrow{
  color:#667085 !important;
}
.cfm-room.cfm-light-mode .cfm-meeting-meta,
.cfm-room.cfm-light-mode .cfm-waiting-note,
.cfm-room.cfm-light-mode .cfm-join-status{
  background:#f8fafc !important;
  color:#344054 !important;
  border-color:rgba(16,24,40,.10) !important;
}
.cfm-room.cfm-light-mode input,
.cfm-room.cfm-light-mode textarea,
.cfm-room.cfm-light-mode select,
.cfm-room.cfm-light-mode .cfm-select{
  background:#fff !important;
  color:#111827 !important;
  border-color:rgba(16,24,40,.14) !important;
}
.cfm-room.cfm-dark-mode,
.cfm-room.cfm-dark-mode.cfm-participant-room,
.cfm-room.cfm-dark-mode.cfm-host-room{
  background:linear-gradient(180deg,#07111f 0%,#0b1220 100%) !important;
  color:#f8fafc !important;
}

/* Make host stage/panel balance look intentional and remove blank wasted space */
.cfm-host-room.cfm-studio-ui-active .cfm-host-stage-card{
  min-width:0 !important;
  width:100% !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-main-stage{
  min-height:clamp(430px, 58vh, 760px) !important;
  height:clamp(430px, 58vh, 760px) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-filmstrip-wrap{
  margin-top:14px !important;
}
@media(max-width:1280px){
  .cfm-host-room.cfm-studio-ui-active .cfm-host-shell,
  .cfm-host-room.cfm-toolbar-managed .cfm-host-shell{
    grid-template-columns:1fr !important;
  }
  .cfm-host-room.cfm-studio-ui-active .cfm-side-panel,
  .cfm-host-room.cfm-toolbar-managed .cfm-side-panel{
    position:static !important;
    max-width:none !important;
    max-height:none !important;
    min-height:auto !important;
  }
  .cfm-host-room.cfm-studio-ui-active .cfm-studio-body{ max-height:none !important; }
}
@media(max-width:720px){
  .cfm-host-room.cfm-studio-ui-active .cfm-zoom-command-bar{ border-radius:18px !important; }
  .cfm-host-room.cfm-studio-ui-active .cfm-zoom-command{ height:42px !important; padding:0 11px !important; }
  .cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

/* --------------------------------------------------------------------------
   v0.9.9 - Control panel toggle, active state polish, video sync UX fixes
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command-bar{
  position: sticky !important;
  top: 10px !important;
  z-index: 20 !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  box-shadow: 0 18px 50px rgba(15,23,42,.10) !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-zoom-command-bar{
  background: rgba(2,6,23,.94) !important;
  border-color: rgba(148,163,184,.18) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.cfm-panel-switch.is-active,
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs button.is-active{
  background: linear-gradient(135deg,#245bff 0%,#0ea5e9 100%) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 16px 34px rgba(37,99,235,.28) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.cfm-panel-switch.is-active span{
  background: rgba(255,255,255,.20) !important;
  color: #fff !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.cfm-panel-toggle{
  border-style: dashed !important;
  background: #f8fafc !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.cfm-panel-toggle.is-active{
  border-style: solid !important;
  background: linear-gradient(135deg,#111827 0%,#334155 100%) !important;
  color:#fff !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.cfm-panel-toggle.is-active span{
  background: rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.cfm-host-room.cfm-studio-collapsed .cfm-host-shell,
.cfm-host-room.cfm-studio-collapsed.cfm-toolbar-managed .cfm-host-shell{
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}
.cfm-host-room.cfm-studio-collapsed .cfm-studio-panel,
.cfm-host-room.cfm-studio-collapsed .cfm-side-panel,
.cfm-host-room .cfm-studio-panel.is-hidden{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
.cfm-host-room.cfm-studio-collapsed .cfm-host-stage-card{
  max-width:none !important;
  width:100% !important;
}
.cfm-host-room.cfm-studio-collapsed .cfm-main-stage{
  min-height:clamp(520px, 68vh, 860px) !important;
  height:clamp(520px, 68vh, 860px) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs button{
  transition:.18s ease !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-studio-tabs button:not(.is-active):hover{
  background: rgba(37,99,235,.08) !important;
  color:#1d4ed8 !important;
}
.cfm-host-room.cfm-dark-mode.cfm-studio-ui-active .cfm-studio-tabs button:not(.is-active):hover{
  background: rgba(96,165,250,.16) !important;
  color:#bfdbfe !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-mini-btn#cfm-reset-live-btn{
  background:#fff7ed !important;
  color:#9a3412 !important;
  border:1px solid rgba(234,88,12,.20) !important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-mini-btn#cfm-reset-live-btn::after{
  content:' stale only';
  font-weight:800;
  opacity:.70;
}
.cfm-video-overlay-card{
  box-shadow: 0 28px 80px rgba(2,6,23,.30) !important;
}
.cfm-video-play-help{
  font-weight:800 !important;
}
@media(max-width:780px){
  .cfm-host-room.cfm-studio-ui-active .cfm-zoom-command-bar{
    top:0 !important;
    border-radius:16px !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
  }
  .cfm-host-room.cfm-studio-ui-active .cfm-zoom-command{
    flex:0 0 auto !important;
  }
}

/* v0.9.10 Host/Instructor roster + client preview polish */
.cfm-host-roster-block,
.cfm-client-preview-block{
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,250,252,.9)) !important;
  box-shadow:0 14px 36px rgba(15,23,42,.07) !important;
  padding:14px !important;
}
.cfm-host-roster-block .cfm-list-title,
.cfm-client-preview-block .cfm-list-title{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:10px !important;
}
.cfm-roster-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:24px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  color:#2563eb !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}
.cfm-host-roster-list{
  display:grid !important;
  gap:10px !important;
}
.cfm-host-roster-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  border-radius:16px !important;
  border:1px solid rgba(148,163,184,.22) !important;
  background:#fff !important;
  padding:12px 14px !important;
  box-shadow:0 10px 20px rgba(15,23,42,.04) !important;
}
.cfm-host-roster-row > span{
  display:grid !important;
  grid-template-columns:14px 1fr !important;
  grid-template-areas:"dot name" "dot role" !important;
  align-items:center !important;
  column-gap:10px !important;
  min-width:0 !important;
}
.cfm-host-roster-row > span i{
  grid-area:dot !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:#cbd5e1 !important;
  box-shadow:0 0 0 4px rgba(203,213,225,.22) !important;
}
.cfm-host-roster-row.is-online > span i{
  background:#22c55e !important;
  box-shadow:0 0 0 5px rgba(34,197,94,.16),0 0 18px rgba(34,197,94,.34) !important;
}
.cfm-host-roster-row > span b{
  grid-area:name !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#0f172a !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.cfm-host-roster-row > span em{
  grid-area:role !important;
  color:#64748b !important;
  font-style:normal !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
}
.cfm-host-roster-row small{
  flex:0 0 auto !important;
  border-radius:999px !important;
  padding:7px 10px !important;
  background:#f1f5f9 !important;
  color:#64748b !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.cfm-host-roster-row.is-online small{
  background:#dcfce7 !important;
  color:#15803d !important;
}
.cfm-client-preview-block .cfm-form-filter-note{
  margin:2px 0 12px !important;
  color:#64748b !important;
  line-height:1.45 !important;
}
.cfm-zoom-command#cfm-client-preview-btn{
  background:linear-gradient(135deg,#eef2ff,#ffffff) !important;
  border-color:rgba(99,102,241,.24) !important;
}
.cfm-zoom-command#cfm-client-preview-btn:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 16px 36px rgba(79,70,229,.16) !important;
}
.cfm-room.cfm-theme-dark .cfm-host-roster-block,
.cfm-room.cfm-theme-dark .cfm-client-preview-block{
  background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(2,6,23,.9)) !important;
  border-color:rgba(148,163,184,.22) !important;
}
.cfm-room.cfm-theme-dark .cfm-host-roster-row{
  background:rgba(15,23,42,.86) !important;
  border-color:rgba(148,163,184,.2) !important;
}
.cfm-room.cfm-theme-dark .cfm-host-roster-row > span b{
  color:#f8fafc !important;
}
.cfm-room.cfm-theme-dark .cfm-host-roster-row > span em,
.cfm-room.cfm-theme-dark .cfm-client-preview-block .cfm-form-filter-note{
  color:#94a3b8 !important;
}
.cfm-room.cfm-theme-dark .cfm-roster-count{
  background:rgba(59,130,246,.16) !important;
  color:#93c5fd !important;
}

/* v0.9.11 - cleaner classroom preview + screen-share empty camera-space fix */
.cfm-host-room.cfm-filmstrip-empty .cfm-filmstrip-wrap{
  display:none !important;
}
.cfm-client-preview-mode .cfm-join-card input[readonly]{
  background:#f8fafc !important;
  color:#111827 !important;
  border-color:#dbe3ef !important;
}
.cfm-client-preview-mode .cfm-secure-meeting-box::after{
  content:'Admin/Instructor preview mode — no guest username, password, or approval needed.';
  display:block;
  margin-top:8px;
  color:#2563eb;
  font-weight:800;
}
.cfm-host-room .cfm-stage-card,
.cfm-host-room .cfm-side-panel{
  min-width:0;
}


/* v0.9.13 local/cloud recording panel */
.cfm-recording-help{
  margin:10px 0 14px;padding:12px 14px;border-radius:18px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.14);font-size:13px;line-height:1.5;color:var(--cfm-text-muted,#64748b)
}
.cfm-recording-status-card{display:flex;align-items:center;gap:12px;margin:12px 0 14px;padding:14px;border-radius:20px;background:linear-gradient(135deg,rgba(15,23,42,.04),rgba(37,99,235,.05));border:1px solid rgba(15,23,42,.1)}
.cfm-recording-status-card span#cfm-recording-dot{width:14px;height:14px;border-radius:99px;background:#94a3b8;box-shadow:0 0 0 6px rgba(148,163,184,.12)}
.cfm-recording-status-card span#cfm-recording-dot.is-recording{background:#ef4444;box-shadow:0 0 0 7px rgba(239,68,68,.16);animation:cfmRecPulse 1.2s infinite}
.cfm-recording-status-card b{display:block;color:var(--cfm-heading,#111827);font-size:15px}.cfm-recording-status-card small{display:block;color:var(--cfm-text-muted,#64748b);font-weight:800;letter-spacing:.08em}
@keyframes cfmRecPulse{0%{transform:scale(1)}50%{transform:scale(1.22)}100%{transform:scale(1)}}
.cfm-recording-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;gap:8px}.cfm-recording-row .cfm-btn{min-width:0;padding-left:10px;padding-right:10px}
#cfm-recording-chip.is-recording,#cfm-top-recording-badge,#cfm-tab-recording-badge{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}
.cfm-recording-indicator{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:100000;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#111827;color:#fff;font-weight:900;box-shadow:0 16px 40px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.18)}
.cfm-recording-indicator span{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.25);animation:cfmRecPulse 1.2s infinite}.cfm-recording-indicator.is-paused span{background:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.25)}
.cfm-room.cfm-theme-dark .cfm-recording-help{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.22);color:#cbd5e1}.cfm-room.cfm-theme-dark .cfm-recording-status-card{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.2)}.cfm-room.cfm-theme-dark .cfm-recording-status-card b{color:#f8fafc}

/* --------------------------------------------------------------------------
   v0.9.15 - Synced classroom video controls + active media states
   -------------------------------------------------------------------------- */
.cfm-video-overlay-card{position:relative!important;}
.cfm-class-video,
.cfm-class-video-iframe{
  flex:1 1 auto!important;
  min-height:0!important;
}
.cfm-class-video-iframe{
  pointer-events:none!important;
}
.cfm-video-custom-controls{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px 14px;
  background:linear-gradient(180deg,rgba(2,6,23,.10),rgba(2,6,23,.92));
  border-top:1px solid rgba(255,255,255,.10);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
}
.cfm-video-custom-controls.is-readonly{
  pointer-events:none;
  opacity:.88;
}
.cfm-video-scrubber{
  flex:1 1 auto;
  width:100%;
  min-width:120px;
  accent-color:#3b82f6;
  cursor:pointer;
}
.cfm-video-custom-controls.is-readonly .cfm-video-scrubber{cursor:default;}
.cfm-video-seek-btn{
  background:rgba(59,130,246,.18)!important;
  border-color:rgba(96,165,250,.32)!important;
}
.cfm-video-seek-btn:hover{
  background:linear-gradient(135deg,#2563eb,#06b6d4)!important;
  transform:translateY(-1px);
}
.cfm-video-overlay-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cfm-video-overlay-actions .cfm-video-mini-action{
  transition:transform .16s ease, background .16s ease, box-shadow .16s ease!important;
}
.cfm-video-overlay-actions .cfm-video-mini-action:not(:disabled):active,
.cfm-zoom-command:not(:disabled):active,
.cfm-bottom-command:not(:disabled):active,
.cfm-round-btn:not(:disabled):active{
  transform:scale(.96)!important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-on,
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-command.is-on,
.cfm-round-btn.is-on{
  background:linear-gradient(135deg,#16a34a,#06b6d4)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 14px 30px rgba(22,163,74,.24)!important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-on span,
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-command.is-on span,
.cfm-round-btn.is-on span{
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-on::after,
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-command.is-on::after,
.cfm-round-btn.is-on::after{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.20);
  position:absolute;
  top:6px;
  right:7px;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command,
.cfm-host-room .cfm-bottom-command,
.cfm-round-btn{
  position:relative;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command[data-cfm-trigger="#cfm-screen-btn"].is-on,
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-command[data-cfm-trigger="#cfm-screen-btn"].is-on,
#cfm-screen-btn.is-on{
  background:linear-gradient(135deg,#f97316,#ef4444)!important;
  box-shadow:0 14px 30px rgba(249,115,22,.24)!important;
}
.cfm-host-room.cfm-studio-ui-active .cfm-zoom-command.is-on b,
.cfm-host-room.cfm-studio-ui-active .cfm-bottom-command.is-on b{color:#fff!important;}
.cfm-toast{animation:cfmToastIn .25s ease-out both;}
@keyframes cfmToastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.cfm-main-stage .cfm-screen-wrap,
.cfm-main-stage .cfm-camera-main-wrap,
.cfm-video-overlay-card{
  animation:cfmSoftPop .22s ease-out both;
}
@keyframes cfmSoftPop{from{opacity:.75;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){
  .cfm-video-overlay-actions{gap:6px;}
  .cfm-video-mini-action{font-size:11px!important;padding:7px 8px!important;}
  .cfm-video-custom-controls{padding:10px;gap:8px;}
}

/* v0.9.16 Zoom-like waiting preview, session flow, invites, devices */
.cfm-input{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:12px 14px;background:#fff;color:#0f172a;box-shadow:0 1px 0 rgba(15,23,42,.03);}
.cfm-room.cfm-dark .cfm-input{background:#0f172a;color:#e5e7eb;border-color:rgba(255,255,255,.14)}
.cfm-flow-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}.cfm-session-flow-list{display:grid;gap:10px}.cfm-flow-step{width:100%;text-align:left;border:1px solid rgba(15,23,42,.1);background:#fff;border-radius:16px;padding:12px 14px;display:grid;grid-template-columns:34px 1fr;gap:4px 10px;align-items:center;cursor:pointer;transition:.18s ease;box-shadow:0 10px 28px rgba(15,23,42,.05)}.cfm-flow-step span{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#eff6ff;color:#2563eb;font-weight:800}.cfm-flow-step b{font-size:13px;color:#0f172a}.cfm-flow-step small{grid-column:2;color:#64748b}.cfm-flow-step:hover,.cfm-flow-step.is-active{border-color:#2563eb;box-shadow:0 16px 34px rgba(37,99,235,.16);transform:translateY(-1px)}.cfm-flow-step.is-active span{background:#2563eb;color:white}.cfm-flow-step.is-static{cursor:default;opacity:.82}.cfm-guidance-box{border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,#eff6ff,#fff);border-radius:18px;padding:14px 16px;margin-bottom:12px}.cfm-guidance-box b{display:block;color:#1d4ed8}.cfm-guidance-box p{margin:6px 0 0;color:#475569}.cfm-waiting-content-preview-mini,.cfm-waiting-preview-content{border:1px solid rgba(15,23,42,.10);border-radius:18px;padding:14px;margin-top:12px;background:#f8fafc}.cfm-waiting-content-card h4{margin:0 0 6px;color:#0f172a;font-size:18px}.cfm-waiting-content-card p{margin:0 0 12px;color:#475569;line-height:1.5}.cfm-waiting-media{width:100%;height:300px;border:0;border-radius:16px;background:#111827}.cfm-waiting-audio{width:100%}.cfm-waiting-image{max-width:100%;border-radius:16px;display:block}.cfm-waiting-blank{height:220px;background:#fff;border-radius:16px;border:1px dashed rgba(15,23,42,.15)}.cfm-waiting-preview-screen{margin-top:16px;border-radius:22px;padding:18px;background:linear-gradient(135deg,#ffffff,#eff6ff);border:1px solid rgba(37,99,235,.14);box-shadow:0 20px 50px rgba(15,23,42,.09)}.cfm-waiting-preview-head h3{margin:4px 0;color:#0f172a}.cfm-waiting-preview-head p{color:#475569}.cfm-waiting-preview-foot{display:flex;align-items:center;gap:10px;color:#2563eb;font-weight:700;margin-top:12px}.cfm-prejoin-devices{border:1px solid rgba(15,23,42,.08);background:#f8fafc;border-radius:18px;padding:12px;margin:14px 0;display:grid;gap:8px}.cfm-device-preview-card{position:relative;min-height:140px;border-radius:16px;overflow:hidden;background:#0f172a;display:grid;place-items:center;color:#fff}.cfm-device-preview-card video{width:100%;height:170px;object-fit:cover}.cfm-device-preview-card span{position:absolute;left:10px;bottom:10px;background:rgba(15,23,42,.72);border-radius:999px;padding:5px 9px;font-size:12px}.cfm-video-linked-form{display:block;color:#2563eb!important;font-weight:700!important;margin-top:3px}.cfm-effect-blur{filter:blur(.6px) saturate(1.05);background:linear-gradient(135deg,#e0f2fe,#f8fafc)}.cfm-effect-soft{filter:brightness(1.07) contrast(.96) saturate(1.08)}.cfm-effect-warm{filter:sepia(.18) saturate(1.12) brightness(1.03)}.cfm-effect-cool{filter:hue-rotate(178deg) saturate(1.05) brightness(1.02)}.cfm-effect-virtual-gradient{filter:saturate(1.05);box-shadow:inset 0 0 0 9999px rgba(37,99,235,.08)}.cfm-dark .cfm-flow-step,.cfm-room.cfm-dark .cfm-flow-step{background:#0f172a;border-color:rgba(255,255,255,.12)}.cfm-dark .cfm-flow-step b,.cfm-room.cfm-dark .cfm-flow-step b,.cfm-room.cfm-dark .cfm-waiting-content-card h4{color:#f8fafc}.cfm-dark .cfm-flow-step small,.cfm-dark .cfm-guidance-box p,.cfm-room.cfm-dark .cfm-waiting-content-card p{color:#cbd5e1}.cfm-dark .cfm-guidance-box,.cfm-room.cfm-dark .cfm-guidance-box{background:linear-gradient(135deg,#111827,#0f172a);border-color:rgba(96,165,250,.28)}.cfm-dark .cfm-waiting-content-preview-mini,.cfm-dark .cfm-waiting-preview-content,.cfm-dark .cfm-prejoin-devices{background:#0f172a;border-color:rgba(255,255,255,.12)}

/* v0.9.17 preview-library helpers */
.cfm-waiting-preview-library-box{border:1px solid rgba(148,163,184,.35);background:rgba(248,250,252,.8);border-radius:14px;padding:12px;margin:0 0 14px}
.cfm-waiting-playlist-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cfm-waiting-playlist-mini span{font-size:11px;border:1px solid rgba(148,163,184,.45);border-radius:999px;padding:5px 8px;background:rgba(255,255,255,.75)}
.cfm-waiting-playlist-mini span.is-active{font-weight:800;border-color:rgba(37,99,235,.55);background:rgba(219,234,254,.9)}
#cfm-video-show-linked-form-btn[disabled],#cfm-flow-show-linked-form[disabled]{opacity:.55;cursor:not-allowed}

/* v0.9.18 Zoom-style meeting refresh + persistent session flow UI */
.cfm-room.cfm-ultra-room {
  --cfm-zoom-bg: #0f1117;
  --cfm-zoom-panel: #1f2026;
  --cfm-zoom-panel-2: #2a2b31;
  --cfm-zoom-line: rgba(255,255,255,.12);
  --cfm-zoom-text: #f7f8fb;
  --cfm-zoom-muted: #b9bdc9;
  --cfm-zoom-blue: #2d8cff;
  --cfm-zoom-red: #ff4d5e;
  background: var(--cfm-zoom-bg) !important;
  color: var(--cfm-zoom-text) !important;
  min-height: 100vh;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.cfm-room.cfm-ultra-room *, .cfm-room.cfm-ultra-room *::before, .cfm-room.cfm-ultra-room *::after { box-sizing: border-box; }
.cfm-room.cfm-ultra-room .cfm-app-header {
  background: #25262b !important;
  color: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cfm-zoom-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 58px;
  padding: 10px 16px !important;
}
.cfm-room.cfm-ultra-room .cfm-app-header h2,
.cfm-room.cfm-ultra-room .cfm-app-header h3,
.cfm-room.cfm-ultra-room .cfm-brand-block h2,
.cfm-room.cfm-ultra-room .cfm-brand-block p { color: #fff !important; margin-bottom: 0; }
.cfm-room.cfm-ultra-room .cfm-eyebrow { color: #c8ccd6 !important; letter-spacing: .08em; }
.cfm-room.cfm-ultra-room .cfm-status-pill {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid var(--cfm-zoom-line) !important;
}
.cfm-host-room.cfm-ultra-room .cfm-zoom-command-bar { display: none !important; }
.cfm-host-room.cfm-ultra-room .cfm-host-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 0 !important;
  min-height: calc(100vh - 58px);
  height: calc(100vh - 58px);
  overflow: hidden;
  background: var(--cfm-zoom-bg);
}
.cfm-host-room.cfm-ultra-room .cfm-stage-card,
.cfm-participant-room.cfm-ultra-room .cfm-stage-card {
  background: #111317 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden;
  min-width: 0;
}
.cfm-host-room.cfm-ultra-room .cfm-host-stage-card { min-height: 0; position: relative; padding-bottom: 82px !important; }
.cfm-room.cfm-ultra-room .cfm-stage-top {
  background: #181a20 !important;
  border-bottom: 1px solid var(--cfm-zoom-line) !important;
  color: #fff !important;
  padding: 10px 14px !important;
}
.cfm-room.cfm-ultra-room .cfm-stage-top h3,
.cfm-room.cfm-ultra-room .cfm-stage-top p { color: #fff !important; }
.cfm-room.cfm-ultra-room .cfm-stage-action {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border: 1px solid var(--cfm-zoom-line) !important;
  border-radius: 8px !important;
  min-height: 32px;
}
.cfm-room.cfm-ultra-room .cfm-live-badge { background: rgba(35, 197, 94, .16) !important; color: #b7ffd0 !important; border: 1px solid rgba(35,197,94,.3) !important; }
.cfm-room.cfm-ultra-room .cfm-main-stage {
  background: #101316 !important;
  min-height: 0 !important;
  height: calc(100% - 150px);
  border: 0 !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cfm-room.cfm-ultra-room .cfm-screen-stage { width: 100%; height: 100%; background: #101316 !important; }
.cfm-room.cfm-ultra-room .cfm-empty-stage {
  color: #dfe3ec !important;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cfm-room.cfm-ultra-room .cfm-empty-stage h3 { color: #fff !important; font-weight: 700; }
.cfm-room.cfm-ultra-room .cfm-empty-stage p { color: #aeb4c2 !important; }
.cfm-room.cfm-ultra-room .cfm-empty-avatar {
  width: 118px !important;
  height: 118px !important;
  border-radius: 26px !important;
  display: grid !important;
  place-items: center !important;
  background: #5f9f3a !important;
  color: #fff !important;
  font-size: 58px !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.35) !important;
}
.cfm-room.cfm-ultra-room .cfm-filmstrip-wrap {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 88px;
  background: transparent !important;
  border: 0 !important;
  color: #cdd2dd !important;
  max-height: 112px;
  overflow: hidden;
}
.cfm-room.cfm-ultra-room .cfm-filmstrip-title { color: #cdd2dd !important; }
.cfm-room.cfm-ultra-room .cfm-control-dock { display: none !important; }
.cfm-room.cfm-ultra-room .cfm-bottom-command-bar,
.cfm-room.cfm-ultra-room .cfm-bottom-media-dock {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  height: 76px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #050506 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important;
  padding: 8px 14px !important;
  z-index: 12;
}
.cfm-room.cfm-ultra-room .cfm-bottom-command,
.cfm-room.cfm-ultra-room .cfm-round-btn,
.cfm-room.cfm-ultra-room .cfm-zoom-command {
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  min-width: 74px;
  padding: 8px 10px !important;
  opacity: 1 !important;
}
.cfm-room.cfm-ultra-room .cfm-bottom-command span { font-size: 22px; display: block; line-height: 1; }
.cfm-room.cfm-ultra-room .cfm-bottom-command b { color: #fff !important; font-size: 12px; font-weight: 600; display: block; margin-top: 4px; }
.cfm-room.cfm-ultra-room .cfm-bottom-command:hover { background: rgba(255,255,255,.12) !important; }
.cfm-room.cfm-ultra-room .cfm-bottom-command.is-danger,
.cfm-room.cfm-ultra-room .cfm-round-danger {
  color: var(--cfm-zoom-red) !important;
}
.cfm-host-room.cfm-ultra-room .cfm-side-panel,
.cfm-host-room.cfm-ultra-room .cfm-studio-panel {
  background: var(--cfm-zoom-panel) !important;
  color: #fff !important;
  border: 0 !important;
  border-left: 1px solid var(--cfm-zoom-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 100%;
  overflow: hidden auto;
  padding: 0 !important;
}
.cfm-host-room.cfm-ultra-room .cfm-studio-head {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #1d1f25 !important;
  border-bottom: 1px solid var(--cfm-zoom-line) !important;
  padding: 16px !important;
}
.cfm-host-room.cfm-ultra-room .cfm-studio-head h3,
.cfm-host-room.cfm-ultra-room .cfm-studio-head p { color: #fff !important; }
.cfm-host-room.cfm-ultra-room .cfm-studio-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 6px !important;
  margin-top: 12px !important;
}
.cfm-host-room.cfm-ultra-room .cfm-studio-tabs button {
  background: rgba(255,255,255,.07) !important;
  color: #dfe3ec !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 8px !important;
  padding: 8px 7px !important;
  font-size: 12px !important;
}
.cfm-host-room.cfm-ultra-room .cfm-studio-tabs button.is-active {
  background: var(--cfm-zoom-blue) !important;
  color: #fff !important;
  border-color: var(--cfm-zoom-blue) !important;
}
.cfm-host-room.cfm-ultra-room .cfm-studio-tab-panel { padding: 16px !important; }
.cfm-host-room.cfm-ultra-room .cfm-card,
.cfm-host-room.cfm-ultra-room .cfm-preview-control-card,
.cfm-host-room.cfm-ultra-room .cfm-list-block,
.cfm-host-room.cfm-ultra-room .cfm-session-manager-card {
  background: var(--cfm-zoom-panel-2) !important;
  color: #fff !important;
  border: 1px solid var(--cfm-zoom-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.cfm-host-room.cfm-ultra-room .cfm-card h3,
.cfm-host-room.cfm-ultra-room .cfm-card h4,
.cfm-host-room.cfm-ultra-room .cfm-list-block h4,
.cfm-host-room.cfm-ultra-room .cfm-session-manager-card h3 { color: #fff !important; }
.cfm-host-room.cfm-ultra-room .cfm-card p,
.cfm-host-room.cfm-ultra-room .cfm-form-filter-note,
.cfm-host-room.cfm-ultra-room .cfm-list-block p { color: var(--cfm-zoom-muted) !important; }
.cfm-host-room.cfm-ultra-room .cfm-select,
.cfm-host-room.cfm-ultra-room input,
.cfm-host-room.cfm-ultra-room textarea {
  background: #15171d !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
}
.cfm-host-room.cfm-ultra-room .cfm-btn {
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  font-weight: 700 !important;
}
.cfm-host-room.cfm-ultra-room .cfm-btn.cfm-primary,
.cfm-room.cfm-ultra-room .cfm-btn.cfm-primary { background: var(--cfm-zoom-blue) !important; color: #fff !important; border-color: var(--cfm-zoom-blue) !important; }
.cfm-host-room.cfm-ultra-room .cfm-btn:disabled {
  background: rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.55) !important;
  border-color: rgba(255,255,255,.10) !important;
  opacity: 1 !important;
}
.cfm-host-room.cfm-ultra-room #cfm-instructor-guidance {
  background: linear-gradient(135deg, rgba(45,140,255,.18), rgba(45,140,255,.06)) !important;
  border: 1px solid rgba(45,140,255,.45) !important;
  border-radius: 13px !important;
  color: #fff !important;
}
.cfm-host-room.cfm-ultra-room #cfm-instructor-guidance b { color: #fff !important; }
.cfm-host-room.cfm-ultra-room #cfm-instructor-guidance p { color: #c9d9ff !important; }
.cfm-host-room.cfm-ultra-room .cfm-flow-step {
  width: 100%;
  text-align: left;
  display: grid !important;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  background: #1a1c22 !important;
  color: #f4f6fb !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 13px !important;
  padding: 12px !important;
  margin: 8px 0 !important;
}
.cfm-host-room.cfm-ultra-room .cfm-flow-step.is-active {
  background: rgba(45,140,255,.18) !important;
  border-color: var(--cfm-zoom-blue) !important;
}
.cfm-host-room.cfm-ultra-room .cfm-flow-step span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(45,140,255,.22) !important;
  color: #fff !important;
  font-weight: 800;
}
.cfm-host-room.cfm-ultra-room .cfm-flow-step b { color: #fff !important; }
.cfm-host-room.cfm-ultra-room .cfm-flow-step small { color: #c2c8d6 !important; grid-column: 2; }
.cfm-host-room.cfm-ultra-room .cfm-flow-step.is-static { opacity: .78; }
.cfm-participant-room.cfm-ultra-room .cfm-join-shell {
  min-height: 100vh;
  background: #111317 !important;
  color: #fff !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 430px;
}
.cfm-participant-room.cfm-ultra-room .cfm-join-visual {
  background: #111317 !important;
  min-height: 100vh;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: 54px !important;
}
.cfm-participant-room.cfm-ultra-room .cfm-join-visual h1,
.cfm-participant-room.cfm-ultra-room .cfm-join-visual p { color: #fff !important; }
.cfm-participant-room.cfm-ultra-room .cfm-join-card {
  background: #24262c !important;
  color: #fff !important;
  border: 0 !important;
  border-left: 1px solid var(--cfm-zoom-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 28px !important;
  min-height: 100vh;
}
.cfm-participant-room.cfm-ultra-room .cfm-join-card h2,
.cfm-participant-room.cfm-ultra-room .cfm-join-card label { color: #fff !important; }
.cfm-participant-room.cfm-ultra-room .cfm-join-card input,
.cfm-participant-room.cfm-ultra-room .cfm-join-card select {
  background: #15171d !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
}
.cfm-participant-room.cfm-ultra-room .cfm-secure-meeting-box,
.cfm-participant-room.cfm-ultra-room .cfm-prejoin-devices,
.cfm-participant-room.cfm-ultra-room .cfm-prejoin-viewer-note,
.cfm-participant-room.cfm-ultra-room .cfm-waiting-card,
.cfm-participant-room.cfm-ultra-room .cfm-waiting-preview-screen {
  background: #1a1c22 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
}
.cfm-participant-room.cfm-ultra-room .cfm-prejoin-viewer-note { padding: 14px; margin: 14px 0; }
.cfm-participant-room.cfm-ultra-room .cfm-prejoin-viewer-note p { color: #c4cad6 !important; margin: 6px 0 0; }
.cfm-participant-room.cfm-ultra-room #cfm-meeting-card {
  min-height: 100vh;
  background: #111317 !important;
  color: #fff !important;
  position: relative;
  padding-bottom: 78px;
}
.cfm-participant-room.cfm-ultra-room .cfm-participant-stage { height: calc(100vh - 58px); padding-bottom: 78px !important; position: relative; }
.cfm-participant-room.cfm-ultra-room .cfm-participant-stage .cfm-control-dock {
  display: flex !important;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 76px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #050506 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important;
  z-index: 10;
}
.cfm-participant-room.cfm-ultra-room .cfm-chat-fab {
  background: #111317 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}
.cfm-room.cfm-ultra-room .cfm-chat-panel,
.cfm-room.cfm-ultra-room .cfm-video-overlay-card,
.cfm-room.cfm-ultra-room .cfm-form-card {
  background: #24262c !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.5) !important;
}
.cfm-room.cfm-ultra-room .cfm-toast { z-index: 99999; }
@media (max-width: 1100px) {
  .cfm-host-room.cfm-ultra-room .cfm-host-shell { grid-template-columns: 1fr; height: auto; min-height: calc(100vh - 58px); overflow: visible; }
  .cfm-host-room.cfm-ultra-room .cfm-host-stage-card { min-height: 72vh; }
  .cfm-host-room.cfm-ultra-room .cfm-side-panel { height: auto; max-height: none; border-left: 0 !important; border-top: 1px solid var(--cfm-zoom-line) !important; }
  .cfm-participant-room.cfm-ultra-room .cfm-join-shell { grid-template-columns: 1fr; }
  .cfm-participant-room.cfm-ultra-room .cfm-join-visual { min-height: auto; padding: 32px !important; }
  .cfm-participant-room.cfm-ultra-room .cfm-join-card { min-height: auto; border-left: 0 !important; }
}
@media (max-width: 640px) {
  .cfm-room.cfm-ultra-room .cfm-app-header { flex-direction: column; align-items: flex-start !important; gap: 8px; }
  .cfm-room.cfm-ultra-room .cfm-bottom-command-bar,
  .cfm-participant-room.cfm-ultra-room .cfm-participant-stage .cfm-control-dock { justify-content: flex-start; overflow-x: auto; }
  .cfm-room.cfm-ultra-room .cfm-bottom-command { min-width: 68px; }
  .cfm-host-room.cfm-ultra-room .cfm-studio-tabs { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* v0.9.19 - Zoom premium host UI: full footer dock, More menu, slide-out tools, light/dark modes */
.cfm-host-room.cfm-zoom-v2 {
  --cfm-dock-height: 78px;
  --cfm-header-height: 58px;
  --cfm-panel-width: 392px;
}
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room {
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-app-header {
  height: var(--cfm-header-height) !important;
  min-height: var(--cfm-header-height) !important;
  padding: 8px 14px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-brand-block p,
.cfm-host-room.cfm-zoom-v2 .cfm-eyebrow,
.cfm-host-room.cfm-zoom-v2 .cfm-live-metrics {
  display: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-brand-block h2 {
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 650 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-status-pill {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2.cfm-toolbar-managed .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2.cfm-studio-ui-active .cfm-host-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--cfm-panel-width) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: calc(100vh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height: calc(100vh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed.cfm-toolbar-managed .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed.cfm-studio-ui-active .cfm-host-shell {
  grid-template-columns: minmax(0, 1fr) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-host-stage-card {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: relative !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top {
  height: 54px !important;
  min-height: 54px !important;
  padding: 8px 12px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top .cfm-eyebrow { display: block !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top h3 { font-size: 16px !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-stage-actions { gap: 8px !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-stage-action,
.cfm-host-room.cfm-zoom-v2 .cfm-live-badge {
  min-height: 32px !important;
  padding: 6px 10px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-main-stage {
  height: calc(100% - 54px) !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-wrap { display: none !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-control-dock { display: none !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-bottom-media-dock {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: var(--cfm-dock-height) !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) auto minmax(110px, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 8px 26px !important;
  border-radius: 0 !important;
  z-index: 100000 !important;
  box-shadow: 0 -1px 0 rgba(255,255,255,.08), 0 -20px 55px rgba(0,0,0,.25) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-left-group,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-center-group,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-right-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-left-group { justify-content: flex-start !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-center-group { justify-content: center !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-right-group { justify-content: flex-end !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command {
  position: relative !important;
  min-width: 74px !important;
  height: 60px !important;
  padding: 6px 10px !important;
  border-radius: 12px !important;
  display: inline-grid !important;
  place-items: center !important;
  gap: 2px !important;
  cursor: pointer !important;
  transition: background .16s ease, transform .16s ease, color .16s ease !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command:hover,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-active {
  transform: translateY(-1px) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command span {
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command b {
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  margin-top: 2px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command em {
  position: absolute !important;
  top: 4px !important;
  right: 8px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ef4444 !important;
  color: #fff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-danger span {
  color: #ff4560 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu[hidden] { display: none !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu {
  position: fixed !important;
  bottom: calc(var(--cfm-dock-height) + 12px) !important;
  right: 92px !important;
  width: min(360px, calc(100vw - 24px)) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  z-index: 100001 !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.38) !important;
  animation: cfmMorePop .16s ease-out both;
}
@keyframes cfmMorePop { from { opacity:0; transform: translateY(8px) scale(.98); } to { opacity:1; transform: translateY(0) scale(1); } }
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu button {
  appearance: none !important;
  border: 0 !important;
  width: 100% !important;
  min-height: 54px !important;
  border-radius: 13px !important;
  display: grid !important;
  grid-template-columns: 36px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  padding: 9px 10px !important;
  text-align: left !important;
  cursor: pointer !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu button span { grid-row: 1 / 3; width: 34px; height: 34px; display:grid; place-items:center; border-radius: 12px; }
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu button b { font-size: 13px; line-height: 1.15; }
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu button small { font-size: 11px; line-height: 1.2; }
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-side-panel,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-studio-panel,
.cfm-host-room.cfm-zoom-v2.cfm-toolbar-managed .cfm-side-panel,
.cfm-host-room.cfm-zoom-v2.cfm-studio-ui-active .cfm-side-panel {
  width: var(--cfm-panel-width) !important;
  max-width: var(--cfm-panel-width) !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: none !important;
  position: relative !important;
  top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  animation: cfmPanelSlide .18s ease-out both;
}
@keyframes cfmPanelSlide { from { opacity:.4; transform: translateX(12px); } to { opacity:1; transform: translateX(0); } }
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed .cfm-studio-panel,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel.is-hidden,
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel.is-hidden {
  display: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-head {
  position: relative !important;
  top: auto !important;
  z-index: 2 !important;
  min-height: 76px !important;
  padding: 14px 48px 14px 16px !important;
  display: block !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-title-wrap h3,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-head h3 {
  margin: 0 0 3px !important;
  font-size: 19px !important;
  line-height: 1.15 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-title-wrap p,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-head p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-close {
  appearance: none !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-tabs { display: none !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-studio-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden auto !important;
  padding: 14px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-tab-panel {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-tab-panel.is-active {
  display: block !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-card,
.cfm-host-room.cfm-zoom-v2 .cfm-preview-control-card,
.cfm-host-room.cfm-zoom-v2 .cfm-session-manager-card,
.cfm-host-room.cfm-zoom-v2 .cfm-list-block {
  border-radius: 16px !important;
  padding: 14px !important;
  margin: 0 0 12px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-flow-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-form-card {
  max-height: calc(100vh - var(--cfm-dock-height) - 40px) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-chat-panel {
  bottom: calc(var(--cfm-dock-height) + 16px) !important;
  right: 18px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-chat-fab { display: none !important; }

/* Dark mode exact Zoom-like surfaces */
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room.cfm-dark-mode {
  --cfm-zoom-bg: #0f1117;
  --cfm-zoom-panel: #1f2026;
  --cfm-zoom-panel-2: #292b31;
  --cfm-zoom-line: rgba(255,255,255,.12);
  --cfm-zoom-text: #f8fafc;
  --cfm-zoom-muted: #b9bdc9;
  background: #0f1117 !important;
  color: #f8fafc !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-bottom-command-bar { background: #050506 !important; border-top: 1px solid rgba(255,255,255,.13) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-bottom-command { color: #fff !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-bottom-command b { color: #fff !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-bottom-command:hover,
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-bottom-command.is-active { background: rgba(255,255,255,.12) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-more-menu { background: #24262c !important; border: 1px solid rgba(255,255,255,.14) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-more-menu button { background: transparent !important; color: #fff !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-more-menu button:hover { background: rgba(255,255,255,.10) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-more-menu button span { background: rgba(255,255,255,.09) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-more-menu button small { color: #aeb4c2 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-studio-panel { background: #202126 !important; border-left: 1px solid rgba(255,255,255,.12) !important; color:#fff !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-studio-head { background: #1b1c21 !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-studio-close { background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.12) !important; color:#fff !important; }
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-studio-close:hover { background: rgba(255,255,255,.16) !important; }

/* Light mode matching the same layout */
.cfm-room.cfm-ultra-room.cfm-light-mode,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode {
  --cfm-zoom-bg: #f4f6fb;
  --cfm-zoom-panel: #ffffff;
  --cfm-zoom-panel-2: #ffffff;
  --cfm-zoom-line: rgba(15,23,42,.12);
  --cfm-zoom-text: #111827;
  --cfm-zoom-muted: #64748b;
  background: #f4f6fb !important;
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-app-header,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-app-header {
  background: #ffffff !important;
  color: #111827 !important;
  border-bottom: 1px solid rgba(15,23,42,.10) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-brand-block h2,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-brand-block p,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-brand-block h2,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-brand-block p,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-top h3,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-stage-top h3 {
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-card,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-screen-stage,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-main-stage,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-screen-stage {
  background: #f4f6fb !important;
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-top,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-stage-top {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(15,23,42,.10) !important;
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-empty-stage h3,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-empty-stage p,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-empty-stage h3,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-empty-stage p {
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-empty-stage p,
.cfm-room.cfm-ultra-room.cfm-light-mode .cfm-empty-stage p { color: #64748b !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-action,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-status-pill {
  background: #f8fafc !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-media-dock {
  background: #ffffff !important;
  border-top: 1px solid rgba(15,23,42,.12) !important;
  box-shadow: 0 -12px 34px rgba(15,23,42,.08) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command b {
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command:hover,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command.is-active {
  background: #eef2ff !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command.is-danger span { color: #e11d48 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu {
  background: #ffffff !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  box-shadow: 0 24px 80px rgba(15,23,42,.18) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu button {
  background: transparent !important;
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu button:hover { background: #f1f5f9 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu button span { background: #f1f5f9 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu button small { color: #64748b !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-panel,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-side-panel {
  background: #ffffff !important;
  color: #111827 !important;
  border-left: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-head {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-head h3,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-head p,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-card h3,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-card h4,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-card p,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-list-block h4,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-form-filter-note {
  color: #111827 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-head p,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-form-filter-note { color: #64748b !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-card,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-preview-control-card,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-list-block,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-session-manager-card {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-close {
  background: #f8fafc !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-select,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode input,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode textarea {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.14) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-flow-step {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-flow-step.is-active {
  background: #eaf2ff !important;
  border-color: #2d8cff !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-flow-step b { color: #111827 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-flow-step small { color: #64748b !important; }

@media (max-width: 1100px) {
  .cfm-host-room.cfm-zoom-v2,
  .cfm-host-room.cfm-zoom-v2.cfm-ultra-room { overflow: visible !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-host-shell,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) .cfm-host-shell {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: calc(100vh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
    padding-bottom: var(--cfm-dock-height) !important;
    overflow: visible !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card { min-height: calc(100vh - var(--cfm-header-height) - var(--cfm-dock-height)) !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-side-panel,
  .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    border-left: 0 !important;
    border-top: 1px solid var(--cfm-zoom-line) !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar {
    grid-template-columns: auto 1fr auto !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    overflow-x: auto !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-center-group { justify-content: flex-start !important; min-width: max-content; }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command { min-width: 68px !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-more-menu { right: 10px !important; }
}
@media (max-width: 720px) {
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-left-group .is-primary { display:none !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-stage-actions { display:none !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command { min-width: 62px !important; padding-left: 6px !important; padding-right: 6px !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command b { font-size: 11px !important; }
}

/* --------------------------------------------------------------------------
   v0.9.20 - Zoom top bar, More popup reliability, participant single-screen fix
   -------------------------------------------------------------------------- */
.cfm-participant-room.cfm-participant-joined #cfm-join-card,
.cfm-participant-room #cfm-join-card.is-hidden-after-join {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.cfm-participant-room.cfm-participant-joined #cfm-meeting-card,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.cfm-participant-room.cfm-participant-joined #cfm-meeting-card > .cfm-app-header,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join > .cfm-app-header {
  display: none !important;
}
.cfm-participant-room.cfm-participant-joined,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join {
  min-height: 100vh !important;
  overflow: hidden !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-participant-stage,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join .cfm-participant-stage {
  height: calc(100vh - var(--cfm-dock-height, 76px)) !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-stage-top,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join .cfm-stage-top,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top {
  background: #1b1c21 !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 0 !important;
  min-height: 58px !important;
  padding: 9px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-stage-top .cfm-eyebrow,
.cfm-participant-room.cfm-participant-joined .cfm-stage-top h3,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top .cfm-eyebrow,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top h3 {
  color: #fff !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-stage-top h3,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top h3 {
  font-size: 16px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-stage-action,
.cfm-participant-room.cfm-participant-joined .cfm-live-badge,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-action,
.cfm-host-room.cfm-zoom-v2 .cfm-live-badge {
  background: #2b2d33 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 9px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-main-stage,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join .cfm-main-stage {
  height: calc(100% - 58px) !important;
  min-height: 0 !important;
  border-radius: 0 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-control-dock,
.cfm-participant-room #cfm-meeting-card.is-visible-after-join .cfm-control-dock {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: var(--cfm-dock-height, 76px) !important;
  background: #050506 !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  z-index: 100000 !important;
}
.cfm-room.cfm-light-mode.cfm-participant-joined .cfm-stage-top,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-top {
  background: #fff !important;
  color: #111827 !important;
  border-bottom: 1px solid rgba(15,23,42,.12) !important;
}
.cfm-room.cfm-light-mode.cfm-participant-joined .cfm-stage-top .cfm-eyebrow,
.cfm-room.cfm-light-mode.cfm-participant-joined .cfm-stage-top h3,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-top .cfm-eyebrow,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-top h3 {
  color: #111827 !important;
}
.cfm-room.cfm-light-mode.cfm-participant-joined .cfm-stage-action,
.cfm-room.cfm-light-mode.cfm-participant-joined .cfm-live-badge,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-stage-action,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-live-badge {
  background: #f8fafc !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.14) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.is-open {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483000 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu-title {
  padding: 8px 10px 10px !important;
  border-bottom: 1px solid rgba(148,163,184,.18) !important;
  margin-bottom: 4px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu-title b {
  display: block !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu-title small {
  display: block !important;
  margin-top: 2px !important;
  font-size: 11px !important;
  color: #aeb4c2 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-more-menu-title small { color: #64748b !important; }
.cfm-host-room.cfm-zoom-v2 .cfm-more-toggle.is-active,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.cfm-more-toggle.is-active {
  background: rgba(45,140,255,.20) !important;
}

/* --------------------------------------------------------------------------
   v0.9.21 - compact Zoom-like More menu, fixed viewport, no page scrollbar
   -------------------------------------------------------------------------- */
.cfm-hi {
  width: 1.45em !important;
  height: 1.45em !important;
  display: block !important;
  color: currentColor !important;
  flex: 0 0 auto !important;
}
.cfm-icon-wrap,
.cfm-bottom-command > span.cfm-icon-wrap,
.cfm-zoom-command > span.cfm-icon-wrap,
.cfm-round-btn > span.cfm-icon-wrap {
  display: inline-grid !important;
  place-items: center !important;
  width: 26px !important;
  height: 26px !important;
  font-size: 18px !important;
  color: currentColor !important;
}
.cfm-more-menu .cfm-icon-wrap { width: 30px !important; height: 30px !important; }
.cfm-join-points .cfm-hi { width: 16px !important; height: 16px !important; display:inline-block!important; vertical-align:-3px!important; margin-right:6px!important; }

body.cfm-meeting-host-page,
body.cfm-meeting-participant-joined-page {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.cfm-meeting-host-page,
body.cfm-meeting-participant-joined-page {
  margin: 0 !important;
  padding: 0 !important;
}
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2,
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  z-index: 99999 !important;
}
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-host-shell {
  height: calc(100dvh - var(--cfm-header-height, 0px) - var(--cfm-dock-height, 76px)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-header-height, 0px) - var(--cfm-dock-height, 76px)) !important;
}
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined #cfm-meeting-card,
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined .cfm-meeting-card {
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined .cfm-participant-stage {
  height: calc(100dvh - var(--cfm-dock-height, 76px)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-dock-height, 76px)) !important;
  overflow: hidden !important;
  padding: 0 !important;
}
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined .cfm-main-stage {
  height: calc(100dvh - var(--cfm-dock-height, 76px) - 58px) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-dock-height, 76px) - 58px) !important;
  overflow: hidden !important;
}
body.cfm-meeting-participant-joined-page .cfm-participant-room.cfm-participant-joined .cfm-control-dock {
  padding: 6px 18px !important;
  overflow: hidden !important;
  justify-content: center !important;
  gap: 12px !important;
}

/* Bottom dock should feel like Zoom: one line, no horizontal browser scrollbar. */
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock {
  overflow: visible !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-center-group,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-left-group,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-right-group {
  min-width: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command {
  min-width: 68px !important;
  height: 58px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command span.cfm-icon-wrap {
  color: inherit !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-primary {
  min-width: 98px !important;
}

/* Floating More popup is detached to body by JS so it cannot be clipped by the stage. */
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu[hidden] {
  display: none !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu {
  position: fixed !important;
  width: min(390px, calc(100vw - 18px)) !important;
  max-width: min(390px, calc(100vw - 18px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-dock-height, 76px) - 24px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  overflow: visible !important;
  z-index: 2147483000 !important;
  transform: none !important;
  backdrop-filter: blur(20px) !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu.is-open {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu .cfm-more-menu-title {
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
  padding: 4px 6px 8px !important;
  margin: 0 0 2px !important;
  border-bottom: 1px solid rgba(148,163,184,.18) !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu .cfm-more-menu-title b {
  display:block!important;
  font-size: 13px !important;
  line-height: 1.15 !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu .cfm-more-menu-title small {
  display:block!important;
  margin-top: 2px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 76px !important;
  height: 76px !important;
  padding: 8px 5px !important;
  border-radius: 13px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-align: center !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button span,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu button span {
  grid-row: auto !important;
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button b,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu button b {
  max-width: 100% !important;
  font-size: 11.5px !important;
  line-height: 1.15 !important;
  font-weight: 750 !important;
  white-space: normal !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button small,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu button small {
  display: none !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu:before {
  content: '' !important;
  position: absolute !important;
  right: 30px !important;
  bottom: -8px !important;
  width: 16px !important;
  height: 16px !important;
  transform: rotate(45deg) !important;
  border-right: inherit !important;
  border-bottom: inherit !important;
}
body.cfm-meeting-page.cfm-meeting-host-page #cfm-more-menu.cfm-floating-more-menu {
  box-shadow: 0 22px 70px rgba(0,0,0,.46) !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu.cfm-light-mode,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode ~ #cfm-more-menu.cfm-floating-more-menu {
  background: rgba(255,255,255,.96) !important;
}

/* Studio panel stays inside viewport; only its inner body scrolls if content is long. */
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-side-panel {
  height: calc(100dvh - var(--cfm-header-height, 0px) - var(--cfm-dock-height, 76px)) !important;
  max-height: calc(100dvh - var(--cfm-header-height, 0px) - var(--cfm-dock-height, 76px)) !important;
}
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-body::-webkit-scrollbar {
  width: 8px !important;
}
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-body::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(148,163,184,.34) !important;
}

@media (max-width: 920px) {
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-primary { display:none!important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command { min-width: 58px !important; padding-left: 5px!important; padding-right: 5px!important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command b { font-size: 10.5px !important; }
}
@media (max-width: 560px) {
  body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu,
  .cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu {
    width: calc(100vw - 16px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button,
  .cfm-host-room.cfm-zoom-v2 .cfm-more-menu.cfm-floating-more-menu button {
    min-height: 70px !important;
    height: 70px !important;
  }
}
body.cfm-dark-mode #cfm-more-menu.cfm-floating-more-menu,
#cfm-more-menu.cfm-floating-more-menu.cfm-dark-mode {
  background: rgba(35,37,43,.98) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}
body.cfm-dark-mode #cfm-more-menu.cfm-floating-more-menu:before,
#cfm-more-menu.cfm-floating-more-menu.cfm-dark-mode:before { background: rgba(35,37,43,.98) !important; }
body.cfm-dark-mode #cfm-more-menu.cfm-floating-more-menu button,
#cfm-more-menu.cfm-floating-more-menu.cfm-dark-mode button {
  background: transparent !important;
  color: #fff !important;
}
body.cfm-dark-mode #cfm-more-menu.cfm-floating-more-menu button:hover,
#cfm-more-menu.cfm-floating-more-menu.cfm-dark-mode button:hover {
  background: rgba(255,255,255,.10) !important;
}
body.cfm-dark-mode #cfm-more-menu.cfm-floating-more-menu button span,
#cfm-more-menu.cfm-floating-more-menu.cfm-dark-mode button span {
  background: rgba(255,255,255,.09) !important;
}
body.cfm-light-mode #cfm-more-menu.cfm-floating-more-menu,
#cfm-more-menu.cfm-floating-more-menu.cfm-light-mode {
  background: rgba(255,255,255,.98) !important;
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  box-shadow: 0 22px 70px rgba(15,23,42,.18) !important;
}
body.cfm-light-mode #cfm-more-menu.cfm-floating-more-menu:before,
#cfm-more-menu.cfm-floating-more-menu.cfm-light-mode:before { background: rgba(255,255,255,.98) !important; }
body.cfm-light-mode #cfm-more-menu.cfm-floating-more-menu button,
#cfm-more-menu.cfm-floating-more-menu.cfm-light-mode button {
  background: transparent !important;
  color: #111827 !important;
}
body.cfm-light-mode #cfm-more-menu.cfm-floating-more-menu button:hover,
#cfm-more-menu.cfm-floating-more-menu.cfm-light-mode button:hover { background: #f1f5f9 !important; }
body.cfm-light-mode #cfm-more-menu.cfm-floating-more-menu button span,
#cfm-more-menu.cfm-floating-more-menu.cfm-light-mode button span { background: #f1f5f9 !important; }

/* --------------------------------------------------------------------------
   v0.9.22 - Fixed Zoom viewport shell
   Header is locked at the top, the meeting dock is locked at the bottom, and
   the stage automatically uses only the remaining height. This also prevents
   the bottom dock from disappearing below the fold or being clipped by the
   stage/card wrappers.
   -------------------------------------------------------------------------- */
html.cfm-meeting-html,
body.cfm-meeting-page {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
body.cfm-meeting-page {
  margin: 0 !important;
  padding: 0 !important;
}
body.cfm-meeting-page #wpadminbar,
body.cfm-meeting-page header:not(.cfm-app-header),
body.cfm-meeting-page footer:not(.cfm-bottom-command-bar),
body.cfm-meeting-page .site-header,
body.cfm-meeting-page .site-footer,
body.cfm-meeting-page .elementor-location-header,
body.cfm-meeting-page .elementor-location-footer {
  display: none !important;
}
body.cfm-meeting-page .cfm-host-room.cfm-zoom-v2,
.cfm-host-room.cfm-zoom-v2 {
  --cfm-header-height: 58px;
  --cfm-stage-top-height: 58px;
  --cfm-dock-height: 78px;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  z-index: 2147480000 !important;
  display: flex !important;
  flex-direction: column !important;
  isolation: isolate !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-app-header {
  flex: 0 0 var(--cfm-header-height) !important;
  height: var(--cfm-header-height) !important;
  min-height: var(--cfm-header-height) !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  position: relative !important;
  z-index: 40 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-shell,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-host-shell {
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) var(--cfm-panel-width, 392px) !important;
  width: 100% !important;
  height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed .cfm-host-shell,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed .cfm-host-shell {
  grid-template-columns: minmax(0, 1fr) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2 .cfm-stage-card {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top {
  flex: 0 0 var(--cfm-stage-top-height) !important;
  height: var(--cfm-stage-top-height) !important;
  min-height: var(--cfm-stage-top-height) !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-ultra-room .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2 #cfm-main-stage.cfm-main-stage {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: calc(100% - var(--cfm-stage-top-height)) !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-screen-stage.cfm-screen-stage,
.cfm-host-room.cfm-zoom-v2 #cfm-screen-stage .cfm-empty-stage,
.cfm-host-room.cfm-zoom-v2 #cfm-screen-stage .cfm-stage-fill,
.cfm-host-room.cfm-zoom-v2 #cfm-screen-stage .cfm-screen-wrap,
.cfm-host-room.cfm-zoom-v2 #cfm-screen-stage .cfm-camera-main-wrap {
  border-radius: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel,
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-side-panel {
  height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  overflow: hidden !important;
}
body.cfm-meeting-page .cfm-bottom-command-bar.cfm-floating-bottom-dock,
body.cfm-meeting-page .cfm-bottom-media-dock.cfm-floating-bottom-dock,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: var(--cfm-dock-height, 78px) !important;
  min-height: var(--cfm-dock-height, 78px) !important;
  max-height: var(--cfm-dock-height, 78px) !important;
  display: grid !important;
  grid-template-columns: minmax(170px, 1fr) auto minmax(90px, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 8px 24px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  overflow: visible !important;
  z-index: 2147483000 !important;
  transform: none !important;
}
body.cfm-dark-mode .cfm-floating-bottom-dock,
body.cfm-meeting-page .cfm-floating-bottom-dock.cfm-dark-mode {
  background: #050506 !important;
  color: #fff !important;
  border-top: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 -1px 0 rgba(255,255,255,.08), 0 -20px 55px rgba(0,0,0,.25) !important;
}
body.cfm-light-mode .cfm-floating-bottom-dock,
body.cfm-meeting-page .cfm-floating-bottom-dock.cfm-light-mode {
  background: #ffffff !important;
  color: #111827 !important;
  border-top: 1px solid rgba(15,23,42,.12) !important;
  box-shadow: 0 -18px 45px rgba(15,23,42,.10) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-left-group,
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-center-group,
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-right-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-left-group { justify-content: flex-start !important; }
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-center-group { justify-content: center !important; }
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-right-group { justify-content: flex-end !important; }
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command {
  min-width: 68px !important;
  height: 58px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 6px 9px !important;
  border-radius: 12px !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command b {
  font-size: 12px !important;
  line-height: 1 !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command svg,
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command .cfm-hi {
  width: 24px !important;
  height: 24px !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-more-menu {
  display: none !important;
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu {
  bottom: calc(var(--cfm-dock-height, 78px) + 12px) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-pro-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-command-bar {
  display: none !important;
}

/* Participant joined room uses the same fixed viewport pattern. */
.cfm-participant-room.cfm-participant-joined {
  --cfm-dock-height: 76px;
  --cfm-stage-top-height: 58px;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  z-index: 2147480000 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-participant-stage,
.cfm-participant-room.cfm-participant-joined #cfm-meeting-card,
.cfm-participant-room.cfm-participant-joined .cfm-meeting-card {
  height: calc(100dvh - var(--cfm-dock-height)) !important;
  max-height: calc(100dvh - var(--cfm-dock-height)) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-stage-top {
  height: var(--cfm-stage-top-height) !important;
  min-height: var(--cfm-stage-top-height) !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-main-stage {
  height: calc(100dvh - var(--cfm-dock-height) - var(--cfm-stage-top-height)) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - var(--cfm-dock-height) - var(--cfm-stage-top-height)) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-control-dock {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: var(--cfm-dock-height) !important;
  min-height: var(--cfm-dock-height) !important;
  max-height: var(--cfm-dock-height) !important;
  margin: 0 !important;
  padding: 7px 18px !important;
  border-radius: 0 !important;
  z-index: 2147483000 !important;
  overflow: hidden !important;
  justify-content: center !important;
}

@media (max-width: 920px) {
  body.cfm-meeting-page .cfm-floating-bottom-dock,
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock {
    grid-template-columns: auto 1fr auto !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-center-group {
    justify-content: flex-start !important;
    min-width: max-content !important;
  }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command {
    min-width: 58px !important;
  }
}
@media (max-width: 560px) {
  .cfm-host-room.cfm-zoom-v2 { --cfm-dock-height: 72px; --cfm-header-height: 56px; --cfm-stage-top-height: 56px; }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command {
    min-width: 54px !important;
    height: 54px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command b { font-size: 10.5px !important; }
}

/* --------------------------------------------------------------------------
   v0.9.23 - Chat panel reliability, active control states, and premium motion
   -------------------------------------------------------------------------- */
body.cfm-meeting-page .cfm-floating-chat-panel {
  position: fixed !important;
  right: 18px !important;
  bottom: calc(var(--cfm-dock-height, 78px) + 16px) !important;
  width: min(430px, calc(100vw - 28px)) !important;
  height: min(660px, calc(100dvh - var(--cfm-dock-height, 78px) - 34px)) !important;
  max-height: calc(100dvh - var(--cfm-dock-height, 78px) - 34px) !important;
  z-index: 2147483500 !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  transform: translateY(14px) scale(.985) !important;
  pointer-events: none !important;
  border-radius: 24px !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
body.cfm-meeting-page .cfm-floating-chat-panel.is-open {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
  animation: cfmPremiumFloatIn .2s cubic-bezier(.2,.8,.2,1) both !important;
}
body.cfm-dark-mode .cfm-floating-chat-panel {
  background: linear-gradient(180deg, rgba(30,32,39,.98), rgba(12,14,20,.99)) !important;
  border-color: rgba(255,255,255,.15) !important;
  box-shadow: 0 24px 90px rgba(0,0,0,.56), 0 0 0 1px rgba(255,255,255,.05) inset !important;
}
body.cfm-light-mode .cfm-floating-chat-panel {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(15,23,42,.12) !important;
  box-shadow: 0 24px 80px rgba(15,23,42,.18), 0 0 0 1px rgba(255,255,255,.8) inset !important;
}
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-head,
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-compose,
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-filter-row {
  background: rgba(248,250,252,.96) !important;
  border-color: rgba(15,23,42,.10) !important;
}
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-head h3,
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-meta strong,
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-bubble,
body.cfm-light-mode .cfm-floating-chat-panel label {
  color: #0f172a !important;
}
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-select,
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-compose textarea {
  background: #fff !important;
  color: #0f172a !important;
  border-color: rgba(15,23,42,.16) !important;
}
body.cfm-light-mode .cfm-floating-chat-panel .cfm-chat-empty {
  color: #64748b !important;
  border-color: rgba(15,23,42,.14) !important;
}

@keyframes cfmPremiumFloatIn {
  0% { opacity: 0; transform: translateY(16px) scale(.975); filter: blur(2px); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}
@keyframes cfmSoftPulseRing {
  0%, 100% { box-shadow: 0 0 0 0 rgba(45,140,255,0); }
  50% { box-shadow: 0 0 0 7px rgba(45,140,255,.14); }
}

/* Active/focus states for the fixed Zoom dock and media controls. */
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command,
.cfm-round-btn,
.cfm-stage-action,
.cfm-more-menu button,
.cfm-studio-close,
.cfm-chat-icon-btn {
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s cubic-bezier(.2,.8,.2,1),
    opacity .18s ease !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command:hover,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command:hover {
  transform: translateY(-2px) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command:active,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command:active,
.cfm-more-menu button:active,
.cfm-stage-action:active {
  transform: translateY(0) scale(.98) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command .cfm-icon-wrap,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command .cfm-icon-wrap,
.cfm-round-btn .cfm-icon-wrap {
  position: relative !important;
  border-radius: 12px !important;
  transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-active,
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-on,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-active,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-on,
.cfm-round-btn.is-active,
.cfm-round-btn.is-on {
  color: #2d8cff !important;
  background: rgba(45,140,255,.15) !important;
  box-shadow: inset 0 0 0 1px rgba(45,140,255,.38), 0 8px 22px rgba(45,140,255,.10) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-on .cfm-icon-wrap,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-on .cfm-icon-wrap,
.cfm-round-btn.is-on .cfm-icon-wrap {
  color: #2d8cff !important;
  background: rgba(45,140,255,.16) !important;
  animation: cfmSoftPulseRing 1.8s ease-in-out 1 !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-on::after,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-on::after {
  content: '' !important;
  position: absolute !important;
  top: 7px !important;
  right: 11px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 99px !important;
  background: #22c55e !important;
  box-shadow: 0 0 0 4px rgba(34,197,94,.16) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-muted-control,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-muted-control,
.cfm-round-btn.is-muted-control {
  color: #ff5b75 !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command.is-muted-control .cfm-icon-wrap::after,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command.is-muted-control .cfm-icon-wrap::after,
.cfm-round-btn.is-muted-control .cfm-icon-wrap::after {
  content: '' !important;
  position: absolute !important;
  left: 2px !important;
  right: 2px !important;
  top: 50% !important;
  height: 2px !important;
  border-radius: 99px !important;
  background: #ff4560 !important;
  transform: rotate(-35deg) !important;
  box-shadow: 0 0 0 1px rgba(5,5,6,.45) !important;
}
body.cfm-chat-open .cfm-floating-bottom-dock [data-cfm-trigger="#cfm-chat-toggle"],
body.cfm-chat-open .cfm-host-room.cfm-zoom-v2 [data-cfm-trigger="#cfm-chat-toggle"] {
  color: #2d8cff !important;
  background: rgba(45,140,255,.16) !important;
  box-shadow: inset 0 0 0 1px rgba(45,140,255,.38) !important;
}

/* Smooth stage/sidebar/popup motion without changing layout. */
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage,
.cfm-participant-room.cfm-participant-joined .cfm-main-stage,
.cfm-participant-room.cfm-participant-joined .cfm-screen-stage {
  transition: background-color .22s ease, border-color .22s ease, filter .22s ease !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel.is-open,
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel.is-open {
  animation: cfmPanelSmoothIn .2s cubic-bezier(.2,.8,.2,1) both !important;
}
@keyframes cfmPanelSmoothIn {
  from { opacity: .35; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu.is-open {
  animation: cfmMoreSmoothIn .18s cubic-bezier(.2,.8,.2,1) both !important;
}
@keyframes cfmMoreSmoothIn {
  from { opacity: 0; transform: translateY(10px) scale(.965); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu button:hover,
.cfm-host-room.cfm-zoom-v2 .cfm-more-menu button:hover {
  transform: translateY(-1px) !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command:focus-visible,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command:focus-visible,
.cfm-stage-action:focus-visible,
.cfm-more-menu button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,140,255,.36), inset 0 0 0 1px rgba(45,140,255,.45) !important;
}
body.cfm-light-mode .cfm-floating-bottom-dock .cfm-bottom-command.is-active,
body.cfm-light-mode .cfm-floating-bottom-dock .cfm-bottom-command.is-on,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command.is-active,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command.is-on {
  color: #0b63ce !important;
  background: #eaf4ff !important;
  box-shadow: inset 0 0 0 1px rgba(45,140,255,.28), 0 8px 22px rgba(45,140,255,.08) !important;
}
body.cfm-light-mode .cfm-floating-bottom-dock .cfm-bottom-command.is-muted-control,
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-bottom-command.is-muted-control {
  color: #e11d48 !important;
}

@media (prefers-reduced-motion: reduce) {
  .cfm-room *,
  .cfm-floating-chat-panel,
  #cfm-more-menu {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 560px) {
  body.cfm-meeting-page .cfm-floating-chat-panel {
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    height: min(620px, calc(100dvh - var(--cfm-dock-height, 72px) - 28px)) !important;
  }
}

/* --------------------------------------------------------------------------
   v0.9.24 - Single premium header, centered classroom video, recording history,
   top-right toast, and working reactions
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout{
  --cfm-header-height: 66px;
  --cfm-stage-top-height: 0px;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-app-header{
  position: relative !important;
  height: var(--cfm-header-height) !important;
  min-height: var(--cfm-header-height) !important;
  padding: 9px 16px !important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  box-shadow: 0 1px 0 rgba(15,23,42,.08), 0 14px 34px rgba(15,23,42,.06) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-brand-block{
  min-width: 220px !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-header-right{
  flex: 1 1 auto !important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  min-width:0!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-header-stage-title{
  margin-right:auto!important;
  min-width:150px!important;
  line-height:1.05!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-header-stage-title span{
  display:block!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  font-size:10px!important;
  font-weight:900!important;
  color:#7b8190!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-header-stage-title b{
  display:block!important;
  font-size:15px!important;
  color:#111827!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode.cfm-single-header-layout .cfm-header-stage-title span{color:#aeb4c2!important;}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode.cfm-single-header-layout .cfm-header-stage-title b{color:#fff!important;}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header .cfm-stage-action,
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header .cfm-live-badge{
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:10px!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-host-stage-card > .cfm-stage-top{
  display:none!important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-host-shell,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-host-shell{
  height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  max-height: calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-single-header-layout.cfm-ultra-room .cfm-main-stage{
  height: 100% !important;
  min-height:0!important;
}

/* Center the classroom video inside the available main stage instead of covering the header/sidebar. */
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-overlay{
  position: fixed !important;
  top: var(--cfm-header-height, 66px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--cfm-dock-height, 78px) !important;
  width: auto !important;
  height: auto !important;
  padding: 24px !important;
  background: rgba(2,6,23,.28) !important;
  backdrop-filter: blur(5px) !important;
  align-items:center!important;
  justify-content:center!important;
  z-index: 2147482500 !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) #cfm-video-overlay.cfm-video-overlay{
  right: var(--cfm-panel-width, 392px) !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay .cfm-video-overlay-card{
  width:min(980px, calc(100vw - 90px)) !important;
  height:min(610px, calc(100dvh - var(--cfm-header-height,66px) - var(--cfm-dock-height,78px) - 54px)) !important;
  max-height:calc(100dvh - var(--cfm-header-height,66px) - var(--cfm-dock-height,78px) - 54px)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 28px 80px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.08) inset!important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) #cfm-video-overlay .cfm-video-overlay-card{
  width:min(940px, calc(100vw - var(--cfm-panel-width,392px) - 76px)) !important;
}
.cfm-video-overlay .cfm-class-video,
.cfm-video-overlay .cfm-class-video-iframe{
  object-fit:contain!important;
  background:#000!important;
}
.cfm-video-overlay .cfm-video-play-help{
  background:linear-gradient(135deg,#f59e0b,#fbbf24)!important;
  color:#111827!important;
  font-weight:900!important;
}

/* Toast should feel like Zoom: top-right, short, and non-blocking. */
.cfm-room .cfm-toast,
body .cfm-toast{
  position: fixed !important;
  top: 18px !important;
  right: 18px !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-10px) !important;
  max-width: min(420px, calc(100vw - 36px)) !important;
  z-index: 2147483600 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  box-shadow:0 18px 55px rgba(15,23,42,.25)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease, transform .18s ease!important;
}
.cfm-room .cfm-toast.is-visible,
body .cfm-toast.is-visible{
  opacity:1!important;
  transform: translateY(0) !important;
}

.cfm-reaction-menu{
  position:fixed!important;
  z-index:2147483600!important;
  display:grid!important;
  grid-template-columns:repeat(3, 1fr)!important;
  gap:8px!important;
  width:344px!important;
  max-width:calc(100vw - 24px)!important;
  padding:12px!important;
  border-radius:20px!important;
  background:rgba(30,32,39,.98)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 24px 90px rgba(0,0,0,.45)!important;
  backdrop-filter:blur(18px)!important;
  opacity:0!important;
  transform:translateY(12px) scale(.98)!important;
  pointer-events:none!important;
  transition:opacity .18s ease, transform .18s ease!important;
}
.cfm-reaction-menu[hidden]{display:none!important;}
.cfm-reaction-menu.is-open{opacity:1!important;transform:translateY(0) scale(1)!important;pointer-events:auto!important;}
.cfm-reaction-menu .cfm-reaction-title{grid-column:1/-1;color:#fff;font-weight:900;font-size:13px;padding:2px 4px 6px;}
.cfm-reaction-menu button{
  appearance:none!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  min-height:64px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-size:24px!important;
  cursor:pointer!important;
  transition:transform .16s ease, background .16s ease, border-color .16s ease!important;
}
.cfm-reaction-menu button small{font-size:10px!important;font-weight:800!important;color:#cbd5e1!important;}
.cfm-reaction-menu button:hover{transform:translateY(-2px)!important;background:rgba(45,140,255,.18)!important;border-color:rgba(45,140,255,.40)!important;}
body.cfm-light-mode .cfm-reaction-menu{background:#fff!important;border-color:rgba(15,23,42,.12)!important;box-shadow:0 24px 80px rgba(15,23,42,.18)!important;}
body.cfm-light-mode .cfm-reaction-menu .cfm-reaction-title{color:#111827!important;}
body.cfm-light-mode .cfm-reaction-menu button{background:#f8fafc!important;color:#111827!important;border-color:rgba(15,23,42,.10)!important;}
body.cfm-light-mode .cfm-reaction-menu button small{color:#64748b!important;}
.cfm-floating-reaction{
  position:absolute!important;
  bottom:52px!important;
  z-index:55!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.82)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.32)!important;
  animation:cfmReactionFloat 2.2s ease-out forwards!important;
  pointer-events:none!important;
}
.cfm-floating-reaction b{font-size:26px!important;line-height:1!important;}
.cfm-floating-reaction span{font-size:12px!important;font-weight:800!important;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@keyframes cfmReactionFloat{
  0%{opacity:0;transform:translateY(20px) scale(.9)}
  12%{opacity:1;transform:translateY(0) scale(1)}
  72%{opacity:1;transform:translateY(-62px) scale(1.04)}
  100%{opacity:0;transform:translateY(-110px) scale(.95)}
}

.cfm-toggle-row{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  padding:12px!important;
  margin:12px 0!important;
  border-radius:14px!important;
  background:rgba(45,140,255,.08)!important;
  border:1px solid rgba(45,140,255,.18)!important;
  cursor:pointer!important;
}
.cfm-toggle-row input{margin-top:3px!important;}
.cfm-toggle-row span{display:block!important;}
.cfm-toggle-row strong{display:block!important;font-size:13px!important;}
.cfm-toggle-row small{display:block!important;margin-top:3px!important;font-size:11px!important;line-height:1.35!important;color:var(--cfm-zoom-muted,#64748b)!important;}
.cfm-recording-upload-status{
  margin-top:10px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  font-size:12px!important;
  font-weight:800!important;
  background:rgba(148,163,184,.12)!important;
  border:1px solid rgba(148,163,184,.18)!important;
}
.cfm-recording-upload-status.is-uploading{color:#bfdbfe!important;background:rgba(45,140,255,.12)!important;border-color:rgba(45,140,255,.25)!important;}
.cfm-recording-upload-status.is-success{color:#bbf7d0!important;background:rgba(34,197,94,.12)!important;border-color:rgba(34,197,94,.25)!important;}
.cfm-recording-upload-status.is-error{color:#fecdd3!important;background:rgba(244,63,94,.12)!important;border-color:rgba(244,63,94,.25)!important;}
.cfm-recording-upload-status a{color:inherit!important;text-decoration:underline!important;}
.cfm-recording-history-box{
  margin-top:12px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:rgba(15,23,42,.18)!important;
  border:1px solid rgba(148,163,184,.16)!important;
}
.cfm-recording-history-box .cfm-mini-head{margin-bottom:10px!important;}
.cfm-recording-history-box h4{margin:0!important;font-size:14px!important;}
.cfm-recording-row-item{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:10px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  margin-top:8px!important;
}
.cfm-recording-row-item b{display:block!important;font-size:12px!important;color:inherit!important;}
.cfm-recording-row-item small{display:block!important;margin-top:2px!important;color:var(--cfm-zoom-muted,#94a3b8)!important;font-size:10px!important;}
body.cfm-light-mode .cfm-recording-history-box{background:#f8fafc!important;border-color:rgba(15,23,42,.10)!important;}
body.cfm-light-mode .cfm-recording-row-item{background:#fff!important;border-color:rgba(15,23,42,.10)!important;}
body.cfm-light-mode .cfm-recording-upload-status.is-success{color:#166534!important;}
body.cfm-light-mode .cfm-recording-upload-status.is-error{color:#be123c!important;}

@media(max-width:920px){
  .cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-header-stage-title{display:none!important;}
  .cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header{max-width:100%;overflow-x:auto!important;}
  .cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) #cfm-video-overlay.cfm-video-overlay{right:0!important;}
  .cfm-host-room.cfm-zoom-v2 #cfm-video-overlay .cfm-video-overlay-card{width:calc(100vw - 28px)!important;height:min(62vh, calc(100dvh - var(--cfm-header-height,66px) - var(--cfm-dock-height,78px) - 36px))!important;}
}
@media(max-width:640px){
  .cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header .cfm-stage-action{display:none!important;}
  .cfm-host-room.cfm-zoom-v2.cfm-single-header-layout .cfm-stage-actions.is-in-header .cfm-live-badge{display:flex!important;}
  .cfm-reaction-menu{grid-template-columns:repeat(2,1fr)!important;width:300px!important;}
}
/* Hide duplicate top connected button after the host has joined; the status pill remains. */
.cfm-host-room.cfm-zoom-v2 .cfm-header-right #cfm-join-btn.is-active{
  display:none!important;
}

/* --------------------------------------------------------------------------
   v0.9.25 - Centered stage video, unified chat drawer, live form summary,
   no accidental text selection, and refresh-safe recording prompt.
   -------------------------------------------------------------------------- */
.cfm-room,
.cfm-room *,
.cfm-bottom-command-bar,
.cfm-more-menu,
.cfm-studio-panel,
.cfm-chat-panel,
.cfm-video-overlay,
.cfm-form-live-summary {
  -webkit-user-select: none !important;
  user-select: none !important;
}
.cfm-chat-panel textarea,
.cfm-chat-panel input,
.cfm-chat-panel select,
.cfm-studio-panel textarea,
.cfm-studio-panel input,
.cfm-studio-panel select,
.cfm-form-overlay textarea,
.cfm-form-overlay input,
.cfm-form-overlay select {
  -webkit-user-select: text !important;
  user-select: text !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage {
  position: relative !important;
  overflow: hidden !important;
}

/* Host video now lives inside the main stage, so it cannot cover the header, browser top, or bottom dock. */
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded,
.cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) #cfm-video-overlay.cfm-video-stage-embedded,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded {
  position: absolute !important;
  inset: 18px !important;
  top: 18px !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  background: rgba(2,6,23,.42) !important;
  backdrop-filter: blur(8px) !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 120 !important;
  border-radius: 24px !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card {
  width: min(1040px, 92%) !important;
  height: min(660px, calc(100% - 24px)) !important;
  max-width: 1040px !important;
  max-height: calc(100% - 24px) !important;
  margin: auto !important;
  border-radius: 22px !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #000 !important;
  box-shadow: 0 32px 100px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.12) inset !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-head {
  min-height: 54px !important;
  height: auto !important;
  padding: 10px 14px !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-class-video,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-class-video-iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  object-fit: contain !important;
  background: #000 !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-play-help {
  flex: 0 0 auto !important;
  padding: 10px 14px !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-minimized {
  inset: auto 18px 18px auto !important;
  width: 360px !important;
  height: 232px !important;
  padding: 0 !important;
  border-radius: 18px !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-minimized .cfm-video-overlay-card {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  border-radius: 18px !important;
}

/* Chat gets the same premium side-drawer feel as the studio sidebar. */
body.cfm-meeting-page .cfm-chat-panel.cfm-chat-studio-skin,
.cfm-room.cfm-ultra-room .cfm-chat-panel.cfm-chat-studio-skin,
.cfm-host-room.cfm-zoom-v2 .cfm-chat-panel.cfm-chat-studio-skin {
  position: fixed !important;
  top: calc(var(--cfm-header-height, 66px) + 12px) !important;
  right: 14px !important;
  bottom: calc(var(--cfm-dock-height, 78px) + 14px) !important;
  left: auto !important;
  width: min(392px, calc(100vw - 28px)) !important;
  height: auto !important;
  max-height: none !important;
  display: none !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(32,33,39,.98), rgba(24,25,31,.98)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 26px 90px rgba(0,0,0,.38) !important;
  z-index: 2147483500 !important;
  color: #f8fafc !important;
  transform: translateX(14px) scale(.985) !important;
  opacity: 0 !important;
  transition: transform .2s cubic-bezier(.2,.8,.2,1), opacity .18s ease !important;
}
body.cfm-meeting-page .cfm-chat-panel.cfm-chat-studio-skin.is-open,
.cfm-host-room.cfm-zoom-v2 .cfm-chat-panel.cfm-chat-studio-skin.is-open {
  display: flex !important;
  opacity: 1 !important;
  transform: translateX(0) scale(1) !important;
}
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-head {
  flex: 0 0 auto !important;
  padding: 18px 18px 14px !important;
  background: linear-gradient(135deg, rgba(15,23,42,.92), rgba(31,41,55,.88)) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-head h3 { color:#fff !important; font-size:22px !important; margin:3px 0 0 !important; }
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-filter-row {
  padding: 12px 14px !important;
  display: grid !important;
  gap: 8px !important;
  background: rgba(255,255,255,.04) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-filter-row label { color:#cbd5e1 !important; font-size:11px !important; text-transform:uppercase !important; letter-spacing:.08em !important; font-weight:900 !important; }
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-select,
.cfm-chat-panel.cfm-chat-studio-skin textarea {
  border-radius: 14px !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  background: rgba(15,23,42,.72) !important;
  color: #fff !important;
}
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-messages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 14px !important;
  background: rgba(2,6,23,.24) !important;
}
.cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-compose {
  flex: 0 0 auto !important;
  padding: 12px 14px 14px !important;
  background: rgba(255,255,255,.05) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin,
.cfm-room.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin {
  background: #fff !important;
  color: #111827 !important;
  border-color: rgba(15,23,42,.12) !important;
  box-shadow: 0 26px 80px rgba(15,23,42,.18) !important;
}
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-head,
.cfm-room.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-head {
  background: linear-gradient(135deg, #f8fafc, #eef2ff) !important;
  border-bottom-color: rgba(15,23,42,.10) !important;
}
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-head h3 { color:#111827 !important; }
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-filter-row,
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-compose { background:#f8fafc !important; border-color:rgba(15,23,42,.08) !important; }
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-filter-row label { color:#475569 !important; }
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-select,
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin textarea { background:#fff !important; color:#111827 !important; border-color:rgba(15,23,42,.14) !important; }
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-messages { background:#fff !important; }

/* Show/Hide Form and live submissions summary. */
.cfm-form-action-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin-top: 10px !important;
}
.cfm-form-action-grid .cfm-btn { margin-top: 0 !important; min-height: 46px !important; }
.cfm-form-live-summary {
  position: relative !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 10px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(45,140,255,.12), rgba(34,197,94,.09)) !important;
  border: 1px solid rgba(45,140,255,.20) !important;
}
.cfm-live-summary-head {
  grid-column: 1 / -1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  padding: 2px 2px 6px !important;
}
.cfm-live-summary-head span { text-transform:uppercase !important; letter-spacing:.08em !important; font-size:10px !important; font-weight:900 !important; color: var(--cfm-zoom-muted, #64748b) !important; }
.cfm-live-summary-head b { font-size:12px !important; max-width:210px !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
.cfm-live-summary-stat {
  display:grid !important;
  place-items:center !important;
  gap:2px !important;
  min-height:62px !important;
  border-radius:14px !important;
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
}
.cfm-live-summary-stat strong { font-size:22px !important; line-height:1 !important; color:#0f172a !important; }
.cfm-live-summary-stat small { font-size:10px !important; font-weight:900 !important; color:#64748b !important; }
.cfm-live-summary-stat.is-done strong { color:#16a34a !important; }
.cfm-live-summary-stat.is-opened strong { color:#2563eb !important; }
.cfm-live-summary-stat.is-pending strong { color:#f97316 !important; }
.cfm-form-live-summary::after {
  content: attr(data-tip);
  position: absolute !important;
  right: 12px !important;
  top: -38px !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  pointer-events: none !important;
  transition: .16s ease !important;
  background: rgba(15,23,42,.94) !important;
  color: #fff !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.25) !important;
  z-index: 10 !important;
}
.cfm-form-live-summary:hover::after { opacity: 1 !important; transform: translateY(0) !important; }
.cfm-flow-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.cfm-flow-actions .cfm-btn { min-height: 44px !important; margin: 0 !important; }
.cfm-flow-actions #cfm-flow-play-next { grid-column: 1 / -1 !important; }
body.cfm-dark-mode .cfm-live-summary-stat,
.cfm-room.cfm-dark-mode .cfm-live-summary-stat { background: rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.08) !important; }
body.cfm-dark-mode .cfm-live-summary-stat strong,
.cfm-room.cfm-dark-mode .cfm-live-summary-stat strong { color:#fff !important; }
body.cfm-dark-mode .cfm-live-summary-stat.is-done strong { color:#86efac !important; }
body.cfm-dark-mode .cfm-live-summary-stat.is-opened strong { color:#93c5fd !important; }
body.cfm-dark-mode .cfm-live-summary-stat.is-pending strong { color:#fdba74 !important; }

/* Recording picker clarity: user must select a tab/window due browser security. */
.cfm-recording-help::after {
  content: ' Chrome/Edge will always show a screen-share picker for local recording; this is normal browser security.';
  display:block !important;
  margin-top:6px !important;
  color: var(--cfm-zoom-muted, #64748b) !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .cfm-form-action-grid,
  .cfm-flow-actions { grid-template-columns: 1fr !important; }
  .cfm-form-live-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded { inset: 10px !important; }
  .cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card { width: 100% !important; height: 100% !important; max-height: none !important; border-radius: 16px !important; }
  body.cfm-meeting-page .cfm-chat-panel.cfm-chat-studio-skin { left:10px !important; right:10px !important; width:auto !important; }
}

/* --------------------------------------------------------------------------
   v0.9.26 - Centered participant form, in-room submissions modal,
   header recording status, and manual/pro recording flow.
   -------------------------------------------------------------------------- */
.cfm-header-recording-pill {
  appearance: none !important;
  border: 1px solid rgba(239,68,68,.34) !important;
  border-radius: 999px !important;
  background: rgba(239,68,68,.10) !important;
  color: #fee2e2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 7px 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 28px rgba(239,68,68,.16) !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}
.cfm-header-recording-pill:hover { transform: translateY(-1px) !important; background: rgba(239,68,68,.16) !important; border-color: rgba(239,68,68,.52) !important; }
.cfm-header-recording-pill .cfm-rec-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #ef4444 !important;
  box-shadow: 0 0 0 0 rgba(239,68,68,.55) !important;
  animation: cfmRecHeaderPulse 1.2s infinite !important;
}
.cfm-header-recording-pill small { color: #fecaca !important; font-weight: 900 !important; }
.cfm-header-recording-pill.is-paused { border-color: rgba(245,158,11,.4) !important; background: rgba(245,158,11,.13) !important; color: #ffedd5 !important; box-shadow: 0 10px 28px rgba(245,158,11,.14) !important; }
.cfm-header-recording-pill.is-paused .cfm-rec-dot { background:#f59e0b !important; animation: none !important; }
@keyframes cfmRecHeaderPulse { 70% { box-shadow: 0 0 0 8px rgba(239,68,68,0); } 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); } }
.cfm-room.cfm-light-mode .cfm-header-recording-pill,
body.cfm-light-mode .cfm-header-recording-pill { background:#fff1f2 !important; color:#991b1b !important; border-color:rgba(239,68,68,.25) !important; }
.cfm-room.cfm-light-mode .cfm-header-recording-pill small,
body.cfm-light-mode .cfm-header-recording-pill small { color:#b91c1c !important; }

/* Keep participant form centered in the visible meeting area, above the bottom dock. */
body.cfm-meeting-participant-page .cfm-form-overlay,
.cfm-participant-room .cfm-form-overlay {
  position: fixed !important;
  top: 14px !important;
  right: 14px !important;
  bottom: calc(var(--cfm-dock-height, 78px) + 14px) !important;
  left: 14px !important;
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  z-index: 2147483400 !important;
  background: rgba(2,6,23,.58) !important;
  backdrop-filter: blur(10px) !important;
}
body.cfm-meeting-participant-page .cfm-form-overlay[style*="display:none"],
.cfm-participant-room .cfm-form-overlay[style*="display:none"] { display:none !important; }
body.cfm-meeting-participant-page .cfm-form-overlay .cfm-form-card,
.cfm-participant-room .cfm-form-overlay .cfm-form-card {
  width: min(780px, calc(100vw - 44px)) !important;
  max-height: min(720px, calc(100dvh - var(--cfm-dock-height, 78px) - 64px)) !important;
  margin: auto !important;
  overflow: auto !important;
  border-radius: 26px !important;
  transform: translateY(0) !important;
}

/* Host video: smaller, stage-centered, not pinned to top-left. */
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded {
  inset: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  place-items: center !important;
  padding: 0 !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card {
  width: min(980px, 78%) !important;
  height: min(560px, 72%) !important;
  max-width: 980px !important;
  max-height: 560px !important;
  margin: auto !important;
  align-self: center !important;
  justify-self: center !important;
}
@media (max-width: 1200px) {
  .cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card,
  body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded .cfm-video-overlay-card { width: min(92%, 920px) !important; height: min(58vh, 520px) !important; }
}

/* Live submissions modal: opens inside the meeting, not by switching tabs. */
.cfm-submission-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483450 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(2,6,23,.58) !important;
  backdrop-filter: blur(14px) !important;
}
.cfm-submission-modal-card {
  width: min(820px, calc(100vw - 40px)) !important;
  max-height: min(760px, calc(100dvh - var(--cfm-header-height, 66px) - var(--cfm-dock-height, 78px) - 32px)) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, rgba(32,33,39,.98), rgba(24,25,31,.98)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 34px 110px rgba(0,0,0,.50) !important;
  color: #f8fafc !important;
}
.cfm-submission-modal-head {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 20px 22px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, rgba(15,23,42,.92), rgba(31,41,55,.86)) !important;
}
.cfm-submission-modal-head h3 { margin: 4px 0 4px !important; color: #fff !important; font-size: 24px !important; }
.cfm-submission-modal-head p { margin: 0 !important; color: #94a3b8 !important; font-size: 13px !important; }
.cfm-submission-modal-summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-submission-modal-summary div {
  min-height: 78px !important;
  display: grid !important;
  place-items: center !important;
  gap: 3px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-submission-modal-summary strong { font-size: 28px !important; line-height: 1 !important; }
.cfm-submission-modal-summary span { font-size: 11px !important; text-transform: uppercase !important; letter-spacing: .06em !important; font-weight: 900 !important; color: #cbd5e1 !important; }
.cfm-submission-modal-summary .is-done strong { color:#86efac !important; }
.cfm-submission-modal-summary .is-opened strong { color:#93c5fd !important; }
.cfm-submission-modal-summary .is-pending strong { color:#fdba74 !important; }
.cfm-submission-modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  padding: 18px !important;
}
.cfm-submission-modal-body section {
  min-width: 0 !important;
  padding: 14px !important;
  border-radius: 20px !important;
  background: rgba(2,6,23,.26) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-submission-modal-body h4 { margin: 0 0 12px !important; font-size: 14px !important; color: #f8fafc !important; }
.cfm-submission-user-row {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  margin-bottom: 8px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.cfm-submission-avatar {
  width: 38px !important;
  height: 38px !important;
  border-radius: 14px !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg,#2d8cff,#22c55e) !important;
  color: #fff !important;
}
.cfm-submission-person { min-width: 0 !important; }
.cfm-submission-person b,
.cfm-submission-person small { display:block !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.cfm-submission-person b { color:#fff !important; font-size: 13px !important; }
.cfm-submission-person small { color:#94a3b8 !important; font-size: 11px !important; margin-top:2px !important; }
.cfm-submission-user-row > span {
  padding: 5px 8px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  background: rgba(245,158,11,.14) !important;
  color: #fed7aa !important;
}
.cfm-submission-user-row.is-submitted > span { background: rgba(34,197,94,.14) !important; color: #bbf7d0 !important; }
.cfm-submission-empty { padding: 14px !important; border-radius: 16px !important; background: rgba(255,255,255,.05) !important; color:#94a3b8 !important; font-weight:800 !important; }
body.cfm-light-mode .cfm-submission-modal-card,
.cfm-room.cfm-light-mode .cfm-submission-modal-card { background:#fff !important; color:#111827 !important; border-color:rgba(15,23,42,.12) !important; box-shadow:0 34px 110px rgba(15,23,42,.22) !important; }
body.cfm-light-mode .cfm-submission-modal-head { background:linear-gradient(135deg,#f8fafc,#eef2ff) !important; border-color:rgba(15,23,42,.10) !important; }
body.cfm-light-mode .cfm-submission-modal-head h3,
body.cfm-light-mode .cfm-submission-modal-body h4,
body.cfm-light-mode .cfm-submission-person b { color:#111827 !important; }
body.cfm-light-mode .cfm-submission-modal-summary div,
body.cfm-light-mode .cfm-submission-modal-body section,
body.cfm-light-mode .cfm-submission-user-row { background:#f8fafc !important; border-color:rgba(15,23,42,.08) !important; }
body.cfm-light-mode .cfm-submission-modal-summary span,
body.cfm-light-mode .cfm-submission-person small { color:#64748b !important; }
@media (max-width: 760px) {
  .cfm-submission-modal-body { grid-template-columns: 1fr !important; }
  .cfm-submission-modal-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .cfm-submission-modal { padding: 10px !important; }
}

/* Cleaner recording copy: no scary automatic browser picker message. */
.cfm-recording-help::after { content: none !important; display:none !important; }


/* v0.9.27 fixes: participant controls, form close, preview theme, video close */
.cfm-form-head{position:relative!important;}
.cfm-form-card-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:14px;border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.82);color:#fff;font-size:22px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 14px 30px rgba(2,6,23,.22);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;}
.cfm-form-card-close:hover{transform:translateY(-1px) scale(1.03);background:#ef4444;box-shadow:0 18px 38px rgba(239,68,68,.26);}
.cfm-form-done-close{margin-top:18px!important;max-width:220px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.cfm-participant-camera-disabled #cfm-floating-self,
.cfm-participant-camera-disabled .cfm-floating-self,
.cfm-participant-camera-disabled .cfm-device-preview-card,
.cfm-participant-camera-disabled #cfm-camera-device,
.cfm-participant-camera-disabled label[for="cfm-camera-device"],
.cfm-participant-camera-disabled #cfm-video-effect,
.cfm-participant-camera-disabled label[for="cfm-video-effect"]{display:none!important;}
.cfm-participant-mic-disabled #cfm-mic-device,
.cfm-participant-mic-disabled label[for="cfm-mic-device"]{display:none!important;}
.cfm-participant-viewer-mode .cfm-floating-self{display:none!important;}
.cfm-client-preview-mode.cfm-room,
.cfm-room.cfm-client-preview-mode{--cfm-bg:#f8fafc;--cfm-surface:#ffffff;--cfm-surface-2:#f1f5f9;--cfm-text:#0f172a;--cfm-muted:#64748b;}
body.cfm-meeting-participant-page.cfm-participant-camera-disabled .cfm-floating-self{display:none!important;}
.cfm-video-overlay-card .cfm-chat-icon-btn#cfm-video-overlay-close{display:grid!important;place-items:center!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.cfm-participant-room #cfm-video-overlay-close{display:grid!important;}
body.cfm-meeting-participant-page .cfm-form-overlay{align-items:center!important;justify-content:center!important;}
body.cfm-meeting-participant-page .cfm-form-overlay .cfm-form-card{margin:auto!important;transform:none!important;max-height:calc(100dvh - var(--cfm-dock-height,78px) - 42px)!important;overflow:auto!important;}

/* --------------------------------------------------------------------------
   v0.9.28 - Universal modal centering and hard-close fixes.
   -------------------------------------------------------------------------- */
body #cfm-form-overlay,
body #cfm-submission-modal,
body #cfm-video-overlay {
  box-sizing: border-box !important;
}
body #cfm-form-overlay:not(.is-open),
body #cfm-submission-modal:not(.is-open),
body #cfm-video-overlay:not(.is-open),
body #cfm-video-overlay.cfm-video-stage-embedded:not(.is-open),
body #cfm-video-overlay.cfm-video-page-floating:not(.is-open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body #cfm-form-overlay.is-open,
body #cfm-submission-modal.is-open,
body #cfm-video-overlay.is-open,
body #cfm-video-overlay.cfm-video-stage-embedded.is-open,
body #cfm-video-overlay.cfm-video-page-floating.is-open {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body #cfm-form-overlay.is-open,
body.cfm-meeting-participant-page #cfm-form-overlay.is-open,
.cfm-participant-room #cfm-form-overlay.is-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 2147483500 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: calc(var(--cfm-header-height, 66px) + 22px) 22px calc(var(--cfm-dock-height, 78px) + 22px) !important;
  background: rgba(2, 6, 23, .62) !important;
  backdrop-filter: blur(14px) !important;
}
body #cfm-form-overlay .cfm-form-card,
body.cfm-meeting-participant-page #cfm-form-overlay .cfm-form-card,
.cfm-participant-room #cfm-form-overlay .cfm-form-card {
  position: relative !important;
  width: min(780px, calc(100vw - 44px)) !important;
  max-height: calc(100dvh - var(--cfm-header-height, 66px) - var(--cfm-dock-height, 78px) - 58px) !important;
  margin: auto !important;
  transform: none !important;
  overflow: auto !important;
  border-radius: 28px !important;
}
body #cfm-form-overlay .cfm-form-success-state {
  min-height: 230px !important;
}
body #cfm-submission-modal.is-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 2147483520 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: calc(var(--cfm-header-height, 66px) + 20px) 24px calc(var(--cfm-dock-height, 78px) + 24px) !important;
  background: rgba(2, 6, 23, .60) !important;
  backdrop-filter: blur(14px) !important;
}
body #cfm-submission-modal .cfm-submission-modal-card {
  margin: auto !important;
  transform: none !important;
  max-height: calc(100dvh - var(--cfm-header-height, 66px) - var(--cfm-dock-height, 78px) - 58px) !important;
}
body #cfm-video-overlay.cfm-video-stage-embedded.is-open {
  display: flex !important;
}
body #cfm-video-overlay.cfm-video-stage-embedded:not(.is-open) {
  display: none !important;
}

/* --------------------------------------------------------------------------
   v0.9.29 - recording badge states, light-mode polish, device pre-check,
   stable bottom dock, and smoother premium transitions.
   -------------------------------------------------------------------------- */
* { box-sizing: border-box; }
body.cfm-meeting-page .cfm-floating-bottom-dock,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock {
  box-sizing: border-box !important;
  grid-template-columns: minmax(180px, auto) minmax(0, 1fr) minmax(76px, auto) !important;
  padding-left: clamp(10px, 1.3vw, 22px) !important;
  padding-right: clamp(10px, 1.3vw, 22px) !important;
  overflow: visible !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-center-group {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  justify-content: center !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-right-group {
  min-width: 76px !important;
  flex-shrink: 0 !important;
  padding-right: 0 !important;
}
body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command {
  box-sizing: border-box !important;
  user-select: none !important;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease, background .18s ease, border-color .18s ease !important;
}
@media (max-width: 1020px) {
  body.cfm-meeting-page .cfm-floating-bottom-dock,
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar,
  .cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock { grid-template-columns: auto 1fr auto !important; }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command { min-width: 58px !important; padding-left: 6px !important; padding-right: 6px !important; }
}
@media (max-width: 760px) {
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-left-group .cfm-bottom-command.is-primary { display:none !important; }
  body.cfm-meeting-page .cfm-floating-bottom-dock .cfm-bottom-command { min-width: 52px !important; }
}

/* Recording header must only appear while recording/paused/saving. */
body .cfm-header-recording-pill { display: none !important; }
body .cfm-header-recording-pill.is-visible { display: inline-flex !important; }
body .cfm-header-recording-pill.is-stopping { border-color: rgba(59,130,246,.38) !important; background: rgba(59,130,246,.12) !important; color:#dbeafe !important; }
body .cfm-header-recording-pill.is-stopping .cfm-rec-dot { background:#3b82f6 !important; animation: cfmRecHeaderPulse 1s infinite !important; }
body.cfm-light-mode .cfm-header-recording-pill.is-stopping { color:#1d4ed8 !important; background:#eff6ff !important; }
#cfm-start-recording-btn:not(:disabled) { box-shadow: 0 18px 45px rgba(239,68,68,.22) !important; }
#cfm-start-recording-btn:disabled { opacity: .72 !important; cursor: not-allowed !important; }

/* Light mode: keep text readable inside right panels and flow actions. */
body.cfm-light-mode .cfm-studio-panel,
body.cfm-light-mode .cfm-side-panel,
body.cfm-light-mode .cfm-card,
.cfm-host-room.cfm-light-mode .cfm-studio-panel,
.cfm-host-room.cfm-light-mode .cfm-card {
  color: #0f172a !important;
}
body.cfm-light-mode .cfm-studio-panel h3,
body.cfm-light-mode .cfm-studio-panel h4,
body.cfm-light-mode .cfm-studio-panel b,
body.cfm-light-mode .cfm-studio-panel label,
body.cfm-light-mode .cfm-flow-step b,
body.cfm-light-mode .cfm-card-head h3 {
  color:#0f172a !important;
}
body.cfm-light-mode .cfm-studio-panel p,
body.cfm-light-mode .cfm-studio-panel small,
body.cfm-light-mode .cfm-form-filter-note,
body.cfm-light-mode .cfm-flow-step small {
  color:#64748b !important;
}
body.cfm-light-mode .cfm-btn:not(.cfm-primary):not(.cfm-danger):not(.cfm-success),
body.cfm-light-mode .cfm-stage-action,
body.cfm-light-mode .cfm-mini-btn.is-muted {
  background:#f8fafc !important;
  color:#111827 !important;
  border:1px solid rgba(15,23,42,.12) !important;
}
body.cfm-light-mode .cfm-btn:disabled,
body.cfm-light-mode .cfm-flow-actions .cfm-btn:disabled,
body.cfm-light-mode .cfm-video-control-row .cfm-btn:disabled {
  background:#eef2f7 !important;
  color:#64748b !important;
  border-color:rgba(15,23,42,.08) !important;
  opacity:.86 !important;
}
body.cfm-light-mode .cfm-flow-actions .cfm-btn.cfm-primary:not(:disabled),
body.cfm-light-mode .cfm-btn.cfm-primary:not(:disabled) { color:#fff !important; }
body.cfm-light-mode .cfm-btn.cfm-danger:not(:disabled),
body.cfm-light-mode #cfm-hide-form-btn:not(:disabled) { color:#fff !important; }
body.cfm-light-mode .cfm-form-live-summary,
body.cfm-light-mode .cfm-live-summary-stat {
  background:#f8fafc !important;
  border-color:rgba(15,23,42,.10) !important;
}
body.cfm-light-mode .cfm-live-summary-stat strong { color:#111827 !important; }
body.cfm-light-mode .cfm-live-summary-stat span { color:#64748b !important; }
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-thread,
body.cfm-light-mode .cfm-chat-panel.cfm-chat-studio-skin .cfm-chat-conversation-card {
  background:#f8fafc !important;
  color:#111827 !important;
  border-color:rgba(15,23,42,.10) !important;
}

/* Host pre-meeting device preview. */
.cfm-device-preview-pro {
  display:grid !important;
  grid-template-columns: 1fr !important;
  gap:12px !important;
  margin: 10px 0 14px !important;
  padding: 12px !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(15,23,42,.74), rgba(30,41,59,.58)) !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.cfm-device-preview-video-wrap {
  position: relative !important;
  min-height: 190px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 50% 20%, rgba(45,140,255,.18), rgba(2,6,23,.96) 58%) !important;
  border:1px solid rgba(148,163,184,.18) !important;
}
.cfm-device-preview-video-wrap video {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  background:#020617 !important;
  transform: scaleX(-1) !important;
  opacity: 0 !important;
  transition: opacity .22s ease !important;
}
.cfm-device-preview-video-wrap video.is-active-preview { opacity: 1 !important; }
.cfm-device-preview-empty {
  position:absolute !important;
  inset: 0 !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  gap:6px !important;
  text-align:center !important;
  color:#cbd5e1 !important;
  pointer-events:none !important;
  transition: opacity .2s ease !important;
}
.cfm-device-preview-empty span { width:58px !important; height:58px !important; border-radius:20px !important; display:grid !important; place-items:center !important; background:#2d8cff !important; color:#fff !important; font-size:28px !important; box-shadow:0 18px 50px rgba(45,140,255,.28) !important; }
.cfm-device-preview-empty b { color:#fff !important; font-size:16px !important; }
.cfm-device-preview-empty small { max-width:260px !important; color:#94a3b8 !important; font-weight:800 !important; }
.cfm-device-preview-pro.is-camera-on .cfm-device-preview-empty { opacity: 0 !important; }
.cfm-device-test-panel { display:grid !important; gap:9px !important; }
.cfm-device-meter-head { display:flex !important; justify-content:space-between !important; align-items:center !important; gap:10px !important; }
.cfm-device-meter-head b { color:#fff !important; font-size:13px !important; }
.cfm-device-meter-head small { color:#93c5fd !important; font-weight:900 !important; }
.cfm-mic-meter { height: 12px !important; border-radius:999px !important; overflow:hidden !important; background:rgba(148,163,184,.18) !important; border:1px solid rgba(255,255,255,.08) !important; }
.cfm-mic-meter span { display:block !important; width:0%; height:100% !important; border-radius:inherit !important; background:linear-gradient(90deg,#22c55e,#2d8cff) !important; transition: width .08s linear !important; }
.cfm-mic-meter span.is-hot { background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444) !important; }
.cfm-device-test-actions { display:grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap:8px !important; }
.cfm-device-test-actions .cfm-mini-btn { min-height:36px !important; }
body.cfm-light-mode .cfm-device-preview-pro { background:#f8fafc !important; border-color:rgba(15,23,42,.10) !important; }
body.cfm-light-mode .cfm-device-preview-video-wrap { background:radial-gradient(circle at 50% 20%, rgba(45,140,255,.14), #eef2ff 62%) !important; border-color:rgba(15,23,42,.10) !important; }
body.cfm-light-mode .cfm-device-preview-empty b,
body.cfm-light-mode .cfm-device-meter-head b { color:#111827 !important; }
body.cfm-light-mode .cfm-device-preview-empty small { color:#64748b !important; }
body.cfm-light-mode .cfm-mic-meter { background:#e2e8f0 !important; border-color:rgba(15,23,42,.08) !important; }
@media (max-width: 560px) { .cfm-device-test-actions { grid-template-columns:1fr !important; } }

/* Preview button and general polish. */
.cfm-preview-client-test-btn { margin-top: 10px !important; }
.cfm-app-header,
.cfm-studio-panel,
.cfm-chat-panel,
.cfm-submission-modal-card,
.cfm-form-card,
.cfm-video-overlay-card { transition: transform .22s cubic-bezier(.2,.8,.2,1), opacity .22s ease, box-shadow .22s ease, background .22s ease !important; }
.cfm-studio-panel.is-open,
.cfm-chat-panel.is-open,
.cfm-form-overlay.is-open .cfm-form-card,
.cfm-submission-modal.is-open .cfm-submission-modal-card,
.cfm-video-overlay.is-open .cfm-video-overlay-card { animation: cfmPremiumPop .22s cubic-bezier(.2,.8,.2,1) both !important; }
@keyframes cfmPremiumPop { from { opacity:.75; transform: translateY(10px) scale(.985); } to { opacity:1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .cfm-studio-panel.is-open, .cfm-chat-panel.is-open, .cfm-form-overlay.is-open .cfm-form-card, .cfm-submission-modal.is-open .cfm-submission-modal-card, .cfm-video-overlay.is-open .cfm-video-overlay-card { animation:none !important; } }

/* v0.9.30 Instructor preview studio and full-screen waiting broadcast */
.cfm-preview-studio-modal{
  position:fixed !important; inset:0 !important; z-index:2147483000 !important;
  display:none; align-items:center; justify-content:center; padding:28px;
  background:rgba(2,6,23,.72); backdrop-filter:blur(14px);
}
.cfm-preview-studio-card{
  width:min(1180px, calc(100vw - 44px)); height:min(760px, calc(100vh - 44px));
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  color:#0f172a; border:1px solid rgba(148,163,184,.34); border-radius:28px;
  box-shadow:0 35px 90px rgba(2,6,23,.42); overflow:hidden; display:flex; flex-direction:column;
  animation:cfmModalPop .22s ease-out both;
}
body.cfm-dark-mode .cfm-preview-studio-card,
.cfm-room.cfm-theme-dark ~ .cfm-preview-studio-modal .cfm-preview-studio-card{
  background:linear-gradient(180deg, rgba(15,23,42,.98), rgba(2,6,23,.98));
  color:#e5edff; border-color:rgba(148,163,184,.22);
}
.cfm-preview-studio-head{display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:22px 24px; border-bottom:1px solid rgba(148,163,184,.24)}
.cfm-preview-studio-head h3{margin:4px 0 3px; font-size:28px; line-height:1.05}.cfm-preview-studio-head p{margin:0; color:#64748b}.cfm-preview-studio-layout{display:grid; grid-template-columns:290px 1fr; min-height:0; flex:1}.cfm-preview-studio-list{padding:18px; border-right:1px solid rgba(148,163,184,.22); overflow:auto}.cfm-preview-item-btn{width:100%; border:1px solid rgba(148,163,184,.25); border-radius:18px; background:rgba(248,250,252,.9); color:#0f172a; padding:14px; margin:0 0 10px; display:grid; grid-template-columns:34px 1fr; gap:10px; text-align:left; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}.cfm-preview-item-btn span{width:34px;height:34px;border-radius:13px;background:#dbeafe;color:#2563eb;display:grid;place-items:center;font-weight:900}.cfm-preview-item-btn b{font-size:14px}.cfm-preview-item-btn small{grid-column:2;color:#64748b}.cfm-preview-item-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.12)}.cfm-preview-item-btn.is-active{border-color:#2f80ed;background:linear-gradient(135deg,#eff6ff,#fff);box-shadow:0 18px 35px rgba(47,128,237,.16)}
body.cfm-dark-mode .cfm-preview-item-btn{background:rgba(15,23,42,.84);color:#e5edff;border-color:rgba(148,163,184,.22)}body.cfm-dark-mode .cfm-preview-item-btn.is-active{background:linear-gradient(135deg,rgba(29,78,216,.35),rgba(15,23,42,.88))}.cfm-preview-studio-stage{display:flex; flex-direction:column; min-width:0; min-height:0; background:linear-gradient(140deg,#f8fafc,#eef4ff)}body.cfm-dark-mode .cfm-preview-studio-stage{background:linear-gradient(140deg,#020617,#0f172a)}.cfm-preview-studio-screen{flex:1; min-height:0; padding:18px; overflow:hidden; display:flex}.cfm-preview-studio-screen .cfm-preview-live-card{width:100%; height:100%; margin:0}.cfm-preview-studio-toolbar{display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:center; padding:14px 18px; border-top:1px solid rgba(148,163,184,.22); background:rgba(255,255,255,.86)}body.cfm-dark-mode .cfm-preview-studio-toolbar{background:rgba(2,6,23,.82)}.cfm-preview-studio-foot{padding:12px 20px; font-size:13px; color:#64748b; border-top:1px solid rgba(148,163,184,.18)}
.cfm-preview-live-card{display:flex; flex-direction:column; gap:12px; border-radius:24px; border:1px solid rgba(96,165,250,.22); background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(239,246,255,.9)); color:#0f172a; padding:18px; min-height:260px; box-shadow:0 22px 45px rgba(15,23,42,.10)}body.cfm-dark-mode .cfm-preview-live-card,.cfm-waiting-preview-live .cfm-preview-live-card{background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(2,6,23,.96));color:#e5edff;border-color:rgba(96,165,250,.2)}.cfm-preview-live-meta{display:flex; justify-content:space-between; gap:10px; color:#64748b; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:900}.cfm-preview-live-main{flex:1; min-height:0; display:grid; grid-template-rows:auto 1fr; gap:12px}.cfm-preview-live-copy h4{font-size:26px; line-height:1.08; margin:0 0 8px}.cfm-preview-live-copy p{margin:0; color:#64748b}.cfm-preview-live-media,.cfm-preview-live-card .cfm-waiting-media{width:100%; height:100%; min-height:330px; border:0; border-radius:18px; background:#020617; object-fit:contain; overflow:hidden}.cfm-preview-live-card.is-audio .cfm-preview-live-main{place-items:center}.cfm-preview-audio-stage{width:min(560px,100%); margin:auto; display:grid; gap:16px; place-items:center; padding:36px; border-radius:24px; background:linear-gradient(135deg,#0f766e,#22c55e); color:#fff}.cfm-preview-audio-art{width:118px; height:118px; border-radius:36px; display:grid; place-items:center; font-size:58px; background:rgba(255,255,255,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}.cfm-preview-live-audio{width:100%}.cfm-preview-announcement-art{flex:1; min-height:260px; border-radius:22px; display:grid; place-items:center; font-size:80px; background:linear-gradient(135deg,#dbeafe,#f8fafc)}body.cfm-dark-mode .cfm-preview-announcement-art{background:linear-gradient(135deg,#1e3a8a,#020617)}.cfm-preview-white-board{min-height:360px;border-radius:18px;background:#fff;color:#111827;display:grid;place-items:center;font-weight:900}.cfm-preview-empty-live{height:100%;display:grid;place-items:center;text-align:center}.cfm-preview-empty-live span{font-size:72px}.cfm-preview-live-playlist{display:flex; gap:8px; flex-wrap:wrap}.cfm-preview-live-playlist span{border:1px solid rgba(148,163,184,.28); border-radius:999px; padding:8px 12px; font-size:12px; color:#64748b}.cfm-preview-live-playlist span.is-active{background:#2563eb; color:#fff; border-color:#2563eb}
body.cfm-waiting-preview-live{overflow:hidden !important}.cfm-waiting-preview-live .cfm-participant-room{min-height:100vh !important}.cfm-waiting-preview-live #cfm-join-card.cfm-join-shell{display:block !important; position:fixed !important; inset:0 !important; z-index:2147482500 !important; background:linear-gradient(135deg,#020617,#071225) !important; padding:0 !important; overflow:hidden !important}.cfm-waiting-preview-live #cfm-join-card .cfm-join-visual,.cfm-waiting-preview-live #cfm-join-card .cfm-secure-meeting-box,.cfm-waiting-preview-live #cfm-join-card .cfm-field-label,.cfm-waiting-preview-live #cfm-join-card input,.cfm-waiting-preview-live #cfm-join-card select,.cfm-waiting-preview-live #cfm-join-card .cfm-prejoin-devices,.cfm-waiting-preview-live #cfm-join-card .cfm-prejoin-viewer-note,.cfm-waiting-preview-live #cfm-join-card #cfm-join-btn,.cfm-waiting-preview-live #cfm-join-card #cfm-waiting-card,.cfm-waiting-preview-live #cfm-join-card h2{display:none !important}.cfm-waiting-preview-live #cfm-join-card .cfm-join-card{position:absolute !important; inset:0 !important; max-width:none !important; width:100% !important; height:100% !important; border:0 !important; border-radius:0 !important; background:transparent !important; padding:0 !important; box-shadow:none !important}.cfm-waiting-preview-live #cfm-waiting-preview-screen{display:flex !important; position:absolute !important; inset:0 !important; flex-direction:column !important; padding:22px !important; background:linear-gradient(135deg,#020617,#0b1228) !important; color:#e5edff !important}.cfm-waiting-preview-live .cfm-waiting-preview-head{padding:14px 18px; border-bottom:1px solid rgba(148,163,184,.16)}.cfm-waiting-preview-live .cfm-waiting-preview-head h3{font-size:26px;margin:4px 0}.cfm-waiting-preview-live .cfm-waiting-preview-content{flex:1; min-height:0; display:flex; padding:18px; overflow:hidden}.cfm-waiting-preview-live .cfm-waiting-preview-content .cfm-preview-live-card{width:100%; height:100%; margin:0}.cfm-waiting-preview-live .cfm-waiting-preview-foot{padding:12px 18px; border-top:1px solid rgba(148,163,184,.16); color:#bfdbfe}.cfm-waiting-preview-live .cfm-preview-live-media{min-height:0}.cfm-waiting-preview-live .cfm-preview-live-main{min-height:0}.cfm-waiting-preview-live .cfm-preview-live-copy h4{font-size:32px}.cfm-waiting-preview-live .cfm-preview-live-copy p{font-size:17px;color:#cbd5e1}
@media (max-width: 820px){.cfm-preview-studio-modal{padding:10px}.cfm-preview-studio-card{width:100vw;height:100vh;border-radius:0}.cfm-preview-studio-layout{grid-template-columns:1fr}.cfm-preview-studio-list{max-height:170px;border-right:0;border-bottom:1px solid rgba(148,163,184,.22)}.cfm-preview-studio-toolbar{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.cfm-preview-live-copy h4{font-size:22px}.cfm-waiting-preview-live #cfm-waiting-preview-screen{padding:10px}}

/* v0.9.31 Preview Studio: true broadcast stage, no participant controls */
.cfm-preview-studio-modal{
  position:fixed !important; inset:0 !important; z-index:2147483200 !important;
  display:none; align-items:center !important; justify-content:center !important;
  padding:22px !important; background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;
}
.cfm-preview-studio-card{
  width:min(1480px,96vw) !important; height:min(920px,94vh) !important;
  max-height:94vh !important; display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
  overflow:hidden !important; border-radius:28px !important;
  background:#fff !important; border:1px solid rgba(148,163,184,.28) !important;
  box-shadow:0 34px 100px rgba(2,6,23,.38) !important;
}
body.cfm-dark-mode .cfm-preview-studio-card,
.cfm-room.cfm-theme-dark ~ .cfm-preview-studio-modal .cfm-preview-studio-card{
  background:#0b1220 !important; color:#e5edff !important; border-color:rgba(148,163,184,.22) !important;
}
.cfm-preview-studio-head{
  min-height:78px !important; padding:16px 22px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  gap:18px !important; border-bottom:1px solid rgba(148,163,184,.22) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.9)) !important;
}
body.cfm-dark-mode .cfm-preview-studio-head{background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.88)) !important}
.cfm-preview-studio-head h3{font-size:26px !important;margin:2px 0 2px !important;line-height:1.05 !important}.cfm-preview-studio-head p{margin:0 !important;color:#64748b !important;font-size:14px !important}.cfm-preview-studio-items-bar{
  display:flex !important; gap:10px !important; padding:12px 18px !important;
  overflow-x:auto !important; overflow-y:hidden !important; border-bottom:1px solid rgba(148,163,184,.20) !important;
  background:rgba(248,250,252,.84) !important;
}
body.cfm-dark-mode .cfm-preview-studio-items-bar{background:rgba(2,6,23,.72) !important}
.cfm-preview-studio-items-bar::-webkit-scrollbar{height:6px}.cfm-preview-studio-items-bar::-webkit-scrollbar-thumb{background:rgba(148,163,184,.45);border-radius:999px}.cfm-preview-studio-items-bar .cfm-preview-item-btn{
  flex:0 0 auto !important; width:auto !important; min-width:190px !important; max-width:280px !important;
  grid-template-columns:30px minmax(0,1fr) !important; align-items:center !important;
  padding:10px 12px !important; margin:0 !important; border-radius:16px !important;
  background:#fff !important; box-shadow:none !important;
}
.cfm-preview-studio-items-bar .cfm-preview-item-btn span{width:30px !important;height:30px !important;border-radius:11px !important}.cfm-preview-studio-items-bar .cfm-preview-item-btn b{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.cfm-preview-studio-items-bar .cfm-preview-item-btn small{grid-column:2 !important;font-size:11px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.cfm-preview-studio-stage{
  display:flex !important; min-height:0 !important; background:#020617 !important; overflow:hidden !important;
}
.cfm-preview-studio-screen{flex:1 !important; min-width:0 !important; min-height:0 !important; padding:0 !important; overflow:hidden !important; display:flex !important; background:#020617 !important}.cfm-preview-studio-screen .cfm-preview-live-card{width:100% !important;height:100% !important;margin:0 !important;border-radius:0 !important;border:0 !important;box-shadow:none !important}.cfm-preview-studio-toolbar{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; flex-wrap:wrap !important;
  padding:12px 16px !important; border-top:1px solid rgba(148,163,184,.22) !important;
  background:rgba(255,255,255,.94) !important;
}
body.cfm-dark-mode .cfm-preview-studio-toolbar{background:rgba(2,6,23,.92) !important}.cfm-preview-studio-layout,.cfm-preview-studio-list,.cfm-preview-studio-foot{display:none !important}.cfm-preview-live-card{
  min-height:0 !important; height:100% !important; padding:0 !important; gap:0 !important; overflow:hidden !important;
  background:#020617 !important; color:#e5edff !important; border-color:rgba(255,255,255,.08) !important;
}
.cfm-preview-live-meta{position:absolute !important;top:14px !important;left:14px !important;right:14px !important;z-index:4 !important;pointer-events:none !important}.cfm-preview-live-main{height:100% !important; min-height:0 !important; display:grid !important; grid-template-rows:1fr !important; place-items:stretch !important; gap:0 !important}.cfm-preview-live-copy{
  position:absolute !important; left:clamp(20px,5vw,70px) !important; top:clamp(36px,9vh,120px) !important; z-index:3 !important;
  width:min(720px,82vw) !important; padding:28px !important; border-radius:28px !important;
  background:rgba(15,23,42,.62) !important; backdrop-filter:blur(16px) !important; border:1px solid rgba(255,255,255,.14) !important;
}
.cfm-preview-live-copy h4{font-size:clamp(30px,5vw,70px) !important;line-height:.98 !important;color:#fff !important;margin:0 0 14px !important}.cfm-preview-live-copy p{font-size:clamp(16px,2vw,26px) !important;color:#dbeafe !important;margin:0 !important;line-height:1.42 !important}.cfm-preview-live-media,.cfm-preview-live-card .cfm-waiting-media{
  width:100% !important; height:100% !important; min-height:0 !important; border:0 !important; border-radius:0 !important;
  background:#000 !important; object-fit:contain !important;
}
.cfm-preview-pdf-shell{width:100% !important;height:100% !important;overflow:auto !important;background:#111827 !important;scroll-behavior:smooth}.cfm-preview-pdf-shell iframe{width:100% !important;height:140vh !important;min-height:1200px !important;border:0 !important;background:#fff !important}.cfm-preview-live-card.is-pdf .cfm-preview-live-copy,.cfm-preview-live-card.is-video .cfm-preview-live-copy,.cfm-preview-live-card.is-audio .cfm-preview-live-copy,.cfm-preview-live-card.is-slides .cfm-preview-live-copy,.cfm-preview-live-card.is-powerpoint .cfm-preview-live-copy{display:none !important}.cfm-preview-live-card.is-video .cfm-preview-live-main,.cfm-preview-live-card.is-pdf .cfm-preview-live-main,.cfm-preview-live-card.is-slides .cfm-preview-live-main,.cfm-preview-live-card.is-powerpoint .cfm-preview-live-main{display:block !important}.cfm-preview-audio-stage{width:100% !important;height:100% !important;margin:0 !important;border-radius:0 !important;display:grid !important;place-items:center !important;padding:clamp(30px,7vw,90px) !important;background:radial-gradient(circle at 50% 30%,#22c55e 0,#0f766e 34%,#020617 72%) !important}.cfm-preview-audio-art{width:clamp(120px,18vw,240px) !important;height:clamp(120px,18vw,240px) !important;border-radius:44px !important;font-size:clamp(64px,10vw,140px) !important}.cfm-preview-live-audio{max-width:720px !important}.cfm-preview-announcement-art{width:100% !important;height:100% !important;min-height:0 !important;border-radius:0 !important;font-size:clamp(80px,14vw,190px) !important;background:radial-gradient(circle at 50% 42%,rgba(37,99,235,.40),rgba(2,6,23,.95) 65%) !important}.cfm-preview-white-board{width:100% !important;height:100% !important;min-height:0 !important;border-radius:0 !important}.cfm-waiting-preview-live #cfm-waiting-preview-screen{
  display:flex !important; position:fixed !important; inset:0 !important; z-index:2147482600 !important;
  padding:0 !important; background:#020617 !important; overflow:hidden !important;
}
.cfm-waiting-preview-live .cfm-waiting-preview-head,
.cfm-waiting-preview-live .cfm-waiting-preview-foot{display:none !important}.cfm-waiting-preview-live .cfm-waiting-preview-content{
  flex:1 !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important; background:#020617 !important; overflow:hidden !important;
}
.cfm-waiting-preview-live .cfm-waiting-preview-content .cfm-preview-live-card{width:100% !important;height:100% !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-live-meta,.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-live-playlist{display:none !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-live-media,.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-pdf-shell,.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-audio-stage{height:100vh !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full .cfm-preview-pdf-shell iframe{height:140vh !important;min-height:1200px !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full video::-webkit-media-controls{display:none !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-participant-full audio{display:none !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-audio .cfm-preview-audio-stage::after{content:'Audio is playing from the instructor';display:block;font-weight:900;font-size:clamp(18px,2.3vw,34px);color:white;text-align:center}.cfm-waiting-preview-live .cfm-preview-live-card.is-announcement .cfm-preview-live-copy,.cfm-waiting-preview-live .cfm-preview-live-card.is-blank .cfm-preview-live-copy{left:50% !important;top:50% !important;transform:translate(-50%,-50%) !important;text-align:center !important}.cfm-waiting-preview-live .cfm-preview-live-card.is-pdf .cfm-preview-live-copy,.cfm-waiting-preview-live .cfm-preview-live-card.is-video .cfm-preview-live-copy,.cfm-waiting-preview-live .cfm-preview-live-card.is-audio .cfm-preview-live-copy,.cfm-waiting-preview-live .cfm-preview-live-card.is-slides .cfm-preview-live-copy,.cfm-waiting-preview-live .cfm-preview-live-card.is-powerpoint .cfm-preview-live-copy{display:none !important}
@media (max-width: 900px){
  .cfm-preview-studio-modal{padding:0 !important}.cfm-preview-studio-card{width:100vw !important;height:100vh !important;max-height:100vh !important;border-radius:0 !important;grid-template-rows:auto auto minmax(0,1fr) auto !important}.cfm-preview-studio-head{padding:12px 14px !important}.cfm-preview-studio-head h3{font-size:21px !important}.cfm-preview-studio-head p{display:none !important}.cfm-preview-studio-items-bar{padding:9px 10px !important}.cfm-preview-studio-items-bar .cfm-preview-item-btn{min-width:150px !important}.cfm-preview-studio-toolbar{justify-content:flex-start !important;overflow-x:auto !important;flex-wrap:nowrap !important}.cfm-preview-studio-toolbar .cfm-mini-btn{white-space:nowrap !important}.cfm-preview-live-copy{padding:20px !important}
}
/* Keep the small setup preview compact inside the host side panel */
.cfm-waiting-content-preview-mini .cfm-preview-live-card{
  height:auto !important; min-height:220px !important; border-radius:18px !important; padding:14px !important; background:linear-gradient(135deg,#f8fafc,#eef6ff) !important; color:#0f172a !important;
}
.cfm-waiting-content-preview-mini .cfm-preview-live-main{height:auto !important; min-height:160px !important; display:grid !important; grid-template-rows:auto 1fr !important; gap:10px !important}.cfm-waiting-content-preview-mini .cfm-preview-live-copy{position:static !important; transform:none !important; width:auto !important; padding:0 !important; background:transparent !important; border:0 !important; backdrop-filter:none !important}.cfm-waiting-content-preview-mini .cfm-preview-live-copy h4{font-size:18px !important;color:#0f172a !important}.cfm-waiting-content-preview-mini .cfm-preview-live-copy p{font-size:13px !important;color:#64748b !important}.cfm-waiting-content-preview-mini .cfm-preview-live-media,.cfm-waiting-content-preview-mini .cfm-preview-pdf-shell{height:190px !important; min-height:190px !important; border-radius:14px !important}.cfm-waiting-content-preview-mini .cfm-preview-pdf-shell iframe{height:300px !important;min-height:300px !important}.cfm-waiting-content-preview-mini .cfm-preview-announcement-art{height:150px !important;min-height:150px !important;border-radius:14px !important;font-size:50px !important}.cfm-waiting-content-preview-mini .cfm-preview-audio-stage{height:170px !important;border-radius:14px !important;padding:18px !important}.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-card,.cfm-room.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-card{background:linear-gradient(135deg,#0f172a,#020617) !important;color:#f8fafc !important}.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-copy h4,.cfm-room.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-copy h4{color:#f8fafc !important}.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-copy p,.cfm-room.cfm-dark .cfm-waiting-content-preview-mini .cfm-preview-live-copy p{color:#cbd5e1 !important}

/* v0.9.32: default waiting screen until instructor explicitly broadcasts */
.cfm-preview-waiting-idle{
  width:100% !important;
  height:100% !important;
  min-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
  padding:clamp(24px,6vw,72px) !important;
  color:#e5edff !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(37,99,235,.28), rgba(2,6,23,0) 38%),
    linear-gradient(135deg,#020617,#071225 58%,#0f172a) !important;
}
.cfm-preview-waiting-idle::before{
  content:'';
  position:absolute;
  inset:auto auto 16% 50%;
  width:min(620px,70vw);
  height:min(620px,70vw);
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(circle, rgba(96,165,250,.18), transparent 64%);
  filter:blur(18px);
  pointer-events:none;
}
.cfm-preview-waiting-idle > *{position:relative;z-index:1}.cfm-preview-waiting-orb{
  width:clamp(82px,12vw,148px) !important;
  height:clamp(82px,12vw,148px) !important;
  border-radius:32px !important;
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(135deg,#2563eb,#22c55e) !important;
  color:white !important;
  font-weight:1000 !important;
  font-size:clamp(24px,4vw,48px) !important;
  box-shadow:0 24px 80px rgba(37,99,235,.32) !important;
}
.cfm-preview-waiting-idle span{
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  color:#93c5fd !important;
  font-size:12px !important;
  font-weight:1000 !important;
}
.cfm-preview-waiting-idle h3{
  margin:0 !important;
  max-width:900px !important;
  color:#fff !important;
  font-size:clamp(32px,6vw,82px) !important;
  line-height:.98 !important;
}
.cfm-preview-waiting-idle p{
  margin:0 !important;
  max-width:780px !important;
  color:#cbd5e1 !important;
  font-size:clamp(16px,2vw,24px) !important;
  line-height:1.5 !important;
}
.cfm-preview-waiting-idle small{
  margin-top:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#bfdbfe !important;
  font-weight:900 !important;
  padding:12px 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(147,197,253,.28) !important;
  background:rgba(15,23,42,.56) !important;
}
.cfm-preview-waiting-idle small::before{
  content:'';
  width:10px;height:10px;border-radius:999px;background:#fbbf24;box-shadow:0 0 0 6px rgba(251,191,36,.12);
}


/* v0.9.35 premium all-in-one workspace */
.cfm-workspace-admin-wrap{margin:0 0 0 -20px!important;padding:0!important;background:#eef2f7!important;min-height:calc(100vh - 32px)!important;overflow:hidden!important}.cfm-workspace-admin-wrap .notice{display:none!important}
.cfm-workspace-shell{--ws-blue:#2563eb;--ws-blue2:#06b6d4;--ws-orange:#ff5a1f;--ws-ink:#0f172a;--ws-muted:#64748b;--ws-border:#dfe7f2;--ws-card:#fff;--ws-bg:#f3f6fb;--ws-soft:#eef6ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:radial-gradient(circle at 35% 0%,rgba(37,99,235,.09),transparent 28%),var(--ws-bg)!important;color:var(--ws-ink)!important;min-height:calc(100vh - 32px)!important;display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;overflow:hidden!important}.cfm-workspace-shell.is-frontend{min-height:100vh!important}.cfm-workspace-shell *{box-sizing:border-box!important}.cfm-workspace-rail{background:#e8eef6!important;border-right:1px solid #d8e1ed!important;padding:16px 10px!important;display:flex!important;flex-direction:column!important;gap:10px!important;align-items:stretch!important;overflow:auto!important}.cfm-workspace-logo.cfm-workspace-brand{display:flex!important;gap:10px!important;align-items:center!important;color:#0f172a!important;padding:4px 6px 18px!important;font-weight:900!important;line-height:1.05!important}.cfm-workspace-brand b{width:44px!important;height:44px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,var(--ws-blue),var(--ws-blue2))!important;color:#fff!important;box-shadow:0 14px 28px rgba(37,99,235,.25)!important}.cfm-workspace-brand span{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.04em!important}.cfm-workspace-nav{border:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:72px!important;border-radius:18px!important;color:#344256!important;text-decoration:none!important;font-size:13px!important;font-weight:750!important;cursor:pointer!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease!important}.cfm-workspace-nav .cfm-hi{width:22px!important;height:22px!important}.cfm-workspace-nav:hover,.cfm-workspace-nav.is-active{background:#fff!important;color:var(--ws-blue)!important;box-shadow:0 16px 34px rgba(15,23,42,.1)!important;transform:translateY(-1px)!important}.cfm-workspace-main{min-width:0!important;overflow:auto!important;height:calc(100vh - 32px)!important;padding-bottom:42px!important}.cfm-workspace-shell.is-frontend .cfm-workspace-main{height:100vh!important}.cfm-workspace-topbar{height:70px!important;background:rgba(243,246,251,.9)!important;backdrop-filter:blur(12px)!important;display:grid!important;grid-template-columns:minmax(260px,1fr) minmax(260px,560px) 46px auto!important;gap:14px!important;align-items:center!important;padding:0 28px!important;position:sticky!important;top:0!important;z-index:20!important;border-bottom:1px solid var(--ws-border)!important}.cfm-workspace-title strong{display:block!important;font-size:18px!important}.cfm-workspace-title span{display:block!important;color:var(--ws-muted)!important;font-size:12px!important;margin-top:2px!important}.cfm-workspace-search{height:44px!important;background:#dce4ef!important;border-radius:18px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 16px!important;color:#475569!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important}.cfm-workspace-search .cfm-hi{width:18px!important;height:18px!important}.cfm-workspace-search input{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;width:100%!important;font-size:15px!important;color:#111827!important;padding:0!important}.cfm-workspace-plus{width:42px!important;height:42px!important;border:0!important;border-radius:14px!important;background:#fff!important;color:var(--ws-blue)!important;font-size:28px!important;font-weight:800!important;display:grid!important;place-items:center!important;cursor:pointer!important;box-shadow:0 10px 24px rgba(15,23,42,.08)!important}.cfm-workspace-user{display:flex!important;align-items:center!important;gap:10px!important;color:#475569!important;font-weight:700!important}.cfm-workspace-user b{width:36px!important;height:36px!important;border-radius:50%!important;background:#61a23b!important;color:#fff!important;display:grid!important;place-items:center!important}.cfm-workspace-notice{margin:18px 28px 0!important;padding:14px 16px!important;border-radius:16px!important;font-weight:800!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important}.cfm-workspace-notice.success{background:#dcfce7!important;color:#166534!important;border:1px solid #bbf7d0!important}.cfm-workspace-notice.error{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important}.cfm-ws-panel{display:none!important;max-width:1320px!important;margin:0 auto!important;padding:30px 28px 60px!important;animation:cfmWsPanelIn .24s ease both!important}.cfm-ws-panel.is-active{display:block!important}.cfm-ws-hero-clean{background:linear-gradient(135deg,#ffffff,#eef6ff)!important;border:1px solid var(--ws-border)!important;border-radius:28px!important;padding:34px!important;box-shadow:0 22px 60px rgba(15,23,42,.08)!important;display:grid!important;grid-template-columns:1fr auto!important;gap:28px!important;align-items:center!important;margin-bottom:24px!important}.cfm-kicker{display:inline-block!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:900!important;color:#6081c6!important;margin-bottom:8px!important}.cfm-ws-hero-clean h1{font-size:58px!important;line-height:1!important;margin:0!important;font-weight:950!important;color:#0f172a!important}.cfm-ws-hero-clean p{margin:8px 0 0!important;color:var(--ws-muted)!important;font-size:20px!important}.cfm-ws-hero-actions{display:flex!important;gap:18px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.cfm-zoom-action{border:0!important;background:transparent!important;color:#111827!important;text-decoration:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:11px!important;font-size:14px!important;font-weight:850!important;cursor:pointer!important;min-width:88px!important}.cfm-zoom-action .cfm-hi,.cfm-zoom-action>svg{background:linear-gradient(135deg,var(--ws-blue),#0ea5e9)!important;color:#fff!important;border-radius:22px!important;width:70px!important;height:70px!important;padding:19px!important;box-shadow:0 18px 34px rgba(37,99,235,.22)!important;transition:transform .18s ease,box-shadow .18s ease!important}.cfm-zoom-action:hover .cfm-hi,.cfm-zoom-action:hover>svg{transform:translateY(-4px)!important;box-shadow:0 24px 46px rgba(37,99,235,.28)!important}.cfm-zoom-action.is-orange .cfm-hi,.cfm-zoom-action.is-orange>svg{background:linear-gradient(135deg,#ff5a1f,#ff3b00)!important;box-shadow:0 18px 34px rgba(255,90,31,.25)!important}.cfm-ws-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr)!important;gap:24px!important}.cfm-ws-dashboard-grid.two-equal{grid-template-columns:1fr 1fr!important}.cfm-ws-card{background:var(--ws-card)!important;border:1px solid var(--ws-border)!important;border-radius:24px!important;box-shadow:0 20px 55px rgba(15,23,42,.08)!important;overflow:hidden!important}.cfm-ws-card-title{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:20px 24px!important;border-bottom:1px solid #e9eef6!important}.cfm-ws-card-title h2{margin:0!important;font-size:24px!important}.cfm-ws-card-title button,.cfm-ws-card-title span{border:1px solid #dbe4ef!important;border-radius:999px!important;background:#f8fafc!important;color:#334155!important;padding:9px 13px!important;font-weight:850!important;cursor:pointer!important}.cfm-ws-latest-body{padding:34px!important;display:flex!important;gap:24px!important;align-items:center!important}.cfm-ws-big-icon{width:110px!important;height:110px!important;border-radius:28px!important;background:#eff6ff!important;color:var(--ws-blue)!important;display:grid!important;place-items:center!important;flex:none!important}.cfm-ws-big-icon .cfm-hi{width:58px!important;height:58px!important}.cfm-ws-latest-body h3{font-size:24px!important;margin:0 0 8px!important}.cfm-ws-latest-body p{margin:0 0 18px!important;color:var(--ws-muted)!important}.cfm-ws-quick-card{padding:24px!important}.cfm-ws-quick-card h2{margin:0 0 16px!important;font-size:28px!important}.cfm-workspace-mini-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin-bottom:16px!important}.cfm-workspace-mini-stats button,.cfm-workspace-mini-stats div{border:1px solid #e2e8f0!important;border-radius:18px!important;background:#f8fafc!important;padding:14px 10px!important;text-align:center!important;cursor:pointer!important}.cfm-workspace-mini-stats strong{display:block!important;font-size:24px!important;color:#0f172a!important}.cfm-workspace-mini-stats span{display:block!important;font-size:12px!important;color:#64748b!important;margin-top:4px!important}.cfm-workspace-tool-list{display:grid!important;gap:10px!important}.cfm-workspace-tool{width:100%!important;text-align:left!important;display:flex!important;gap:12px!important;align-items:center!important;text-decoration:none!important;color:#111827!important;background:#fff!important;border:1px solid #e4e9f2!important;border-radius:18px!important;padding:13px!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;cursor:pointer!important}.cfm-workspace-tool:hover{transform:translateX(3px)!important;border-color:#9cc3ff!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important}.cfm-workspace-tool i{width:44px!important;height:44px!important;border-radius:15px!important;background:#eff6ff!important;color:var(--ws-blue)!important;display:grid!important;place-items:center!important;flex:none!important}.cfm-workspace-tool i .cfm-hi{width:22px!important;height:22px!important}.cfm-workspace-tool b{display:block!important}.cfm-workspace-tool small{display:block!important;color:#64748b!important;line-height:1.3!important;margin-top:2px!important}.cfm-ws-section-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;margin-bottom:22px!important}.cfm-ws-section-head h1{font-size:34px!important;margin:0!important}.cfm-workspace-primary{border:0!important;border-radius:16px!important;background:linear-gradient(135deg,var(--ws-blue),var(--ws-blue2))!important;color:#fff!important;font-size:16px!important;font-weight:950!important;padding:14px 18px!important;cursor:pointer!important;box-shadow:0 14px 30px rgba(37,99,235,.24)!important}.cfm-workspace-primary.slim{width:auto!important;margin:0!important}.cfm-ws-list{display:grid!important}.cfm-ws-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto!important;gap:14px!important;align-items:center!important;padding:16px 22px!important;border-bottom:1px solid #eef2f7!important}.cfm-ws-row:last-child{border-bottom:0!important}.cfm-ws-row strong{display:block!important;font-size:16px!important}.cfm-ws-row span{display:block!important;color:#64748b!important;margin-top:4px!important}.cfm-ws-row em{font-style:normal!important;justify-self:start!important;text-transform:capitalize!important;background:#eef2ff!important;color:#2444c4!important;border-radius:999px!important;padding:8px 12px!important;font-weight:900!important;font-size:12px!important}.cfm-ws-row em.status-live{background:#dcfce7!important;color:#15803d!important}.cfm-ws-row em.status-ended{background:#f1f5f9!important;color:#475569!important}.cfm-workspace-row-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.cfm-workspace-row-actions a,.cfm-workspace-row-actions button,.cfm-ws-row>a{background:#f8fafc!important;border:1px solid #d9e1ee!important;border-radius:12px!important;padding:8px 11px!important;text-decoration:none!important;color:#0f172a!important;font-weight:850!important;cursor:pointer!important}.cfm-workspace-row-actions a:hover,.cfm-workspace-row-actions button:hover,.cfm-ws-row>a:hover{background:var(--ws-blue)!important;color:#fff!important;border-color:var(--ws-blue)!important}.cfm-workspace-row-actions.compact a,.cfm-workspace-row-actions.compact button{font-size:12px!important;padding:7px 9px!important}.cfm-ws-form-card{padding:24px!important;margin-bottom:24px!important}.cfm-ws-form-card h2{margin:0 0 16px!important;font-size:24px!important}.cfm-ws-form-card form label,.cfm-ws-inline-form label,.cfm-workspace-form-grid label{display:grid!important;gap:7px!important;font-weight:850!important;color:#1e293b!important}.cfm-ws-form-card input,.cfm-ws-form-card select,.cfm-ws-form-card textarea,.cfm-ws-inline-form input,.cfm-ws-inline-form select,.cfm-workspace-form-grid input,.cfm-workspace-form-grid select,.cfm-workspace-modal-card textarea{width:100%!important;border:1px solid #d8e1ee!important;background:#f8fafc!important;border-radius:14px!important;padding:12px 14px!important;font-size:14px!important;color:#0f172a!important;box-shadow:none!important}.cfm-ws-form-card form{display:grid!important;gap:14px!important}.cfm-ws-inline-form{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;gap:12px!important;align-items:end!important}.cfm-ws-inline-form.wide{grid-template-columns:repeat(4,minmax(0,1fr)) auto!important}.cfm-ws-inline-form button,.cfm-ws-row button[type=submit],.cfm-ws-inline-form>a{height:44px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,var(--ws-blue),var(--ws-blue2))!important;color:#fff!important;font-weight:900!important;padding:0 16px!important;cursor:pointer!important}.cfm-ws-detail-row{border-bottom:1px solid #eef2f7!important}.cfm-ws-detail-row summary{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;padding:16px 22px!important;cursor:pointer!important}.cfm-ws-detail-row summary strong{display:block!important}.cfm-ws-detail-row summary span{display:block!important;color:#64748b!important;margin-top:4px!important}.cfm-ws-detail-row summary em{font-style:normal!important;background:#eef2ff!important;border-radius:999px!important;padding:7px 11px!important;color:#2444c4!important;font-weight:900!important}.cfm-ws-detail-row[open]{background:#fbfdff!important}.cfm-ws-field-chips{padding:0 22px 18px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}.cfm-ws-field-chips span{border:1px solid #dbeafe!important;background:#eff6ff!important;color:#31529b!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;font-weight:800!important}.cfm-ws-detail-row pre{white-space:pre-wrap!important;margin:0 22px 18px!important;background:#0f172a!important;color:#e2e8f0!important;border-radius:16px!important;padding:16px!important;max-height:260px!important;overflow:auto!important}.cfm-ws-preview-items{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.cfm-ws-preview-items>div{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:18px!important;padding:14px!important;display:grid!important;gap:10px!important}.cfm-ws-preview-items strong{color:#0f172a!important}.cfm-ws-helper{color:#64748b!important;margin:18px 0 0!important}.cfm-ws-helper code{background:#eff6ff!important;padding:4px 8px!important;border-radius:8px!important}.cfm-workspace-modal{position:fixed!important;inset:0!important;z-index:999999!important;background:rgba(15,23,42,.58)!important;display:none!important;align-items:center!important;justify-content:center!important;padding:24px!important;backdrop-filter:blur(8px)!important}.cfm-workspace-modal.is-open{display:flex!important}.cfm-workspace-modal-card{width:min(820px,96vw)!important;max-height:92vh!important;overflow:auto!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:26px!important;padding:28px!important;box-shadow:0 34px 90px rgba(15,23,42,.3)!important;position:relative!important;animation:cfmWsModalIn .22s ease both!important}.cfm-workspace-modal-card h2{font-size:30px!important;margin:0 0 8px!important}.cfm-workspace-modal-card p{color:#64748b!important;margin-top:0!important}.cfm-workspace-modal-close{position:absolute!important;right:18px!important;top:16px!important;border:0!important;background:#f1f5f9!important;border-radius:50%!important;width:38px!important;height:38px!important;font-size:24px!important;cursor:pointer!important}.cfm-workspace-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}.cfm-workspace-radio-row{display:flex!important;align-items:center!important;gap:16px!important;background:#f8fafc!important;border:1px solid #e5eaf3!important;border-radius:14px!important;padding:12px!important}.cfm-workspace-radio-row label,.cfm-workspace-check{display:flex!important;align-items:center!important;gap:8px!important}.cfm-workspace-radio-row input,.cfm-workspace-check input,.cfm-workspace-control-checks input{width:auto!important}.cfm-workspace-control-checks{border:1px solid #e5eaf3!important;background:#f8fafc!important;border-radius:16px!important;padding:14px!important;margin-top:14px!important;display:flex!important;gap:12px!important;flex-wrap:wrap!important;align-items:center!important}.cfm-workspace-control-checks span{font-weight:900!important;margin-right:6px!important}.cfm-workspace-control-checks label{background:#fff!important;border:1px solid #e5eaf3!important;border-radius:999px!important;padding:8px 12px!important}.cfm-workspace-control-checks label input{margin-right:6px!important}.cfm-workspace-modal-card .cfm-workspace-primary{width:100%!important;margin-top:18px!important}.cfm-workspace-modal-card textarea{min-height:110px!important;resize:vertical!important}@keyframes cfmWsPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cfmWsModalIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:1180px){.cfm-workspace-shell{grid-template-columns:92px 1fr!important}.cfm-workspace-brand span{display:none!important}.cfm-workspace-nav span{font-size:11px!important}.cfm-workspace-topbar{grid-template-columns:1fr minmax(220px,420px) 44px auto!important}.cfm-ws-hero-clean{grid-template-columns:1fr!important;text-align:center!important}.cfm-ws-hero-actions{justify-content:center!important}.cfm-ws-dashboard-grid,.cfm-ws-dashboard-grid.two-equal{grid-template-columns:1fr!important}.cfm-ws-inline-form,.cfm-ws-inline-form.wide{grid-template-columns:1fr 1fr!important}.cfm-ws-preview-items{grid-template-columns:1fr!important}}@media(max-width:760px){.cfm-workspace-admin-wrap{margin:0!important}.cfm-workspace-shell{display:block!important;overflow:auto!important}.cfm-workspace-rail{position:sticky!important;top:0!important;z-index:30!important;flex-direction:row!important;overflow-x:auto!important;padding:8px!important}.cfm-workspace-brand{display:none!important}.cfm-workspace-nav{min-width:76px!important;min-height:62px!important}.cfm-workspace-main{height:auto!important;min-height:100vh!important}.cfm-workspace-topbar{grid-template-columns:1fr auto!important;height:auto!important;padding:10px 12px!important}.cfm-workspace-title,.cfm-workspace-user{display:none!important}.cfm-workspace-search{height:42px!important}.cfm-ws-panel{padding:18px 12px 50px!important}.cfm-ws-hero-clean{padding:22px!important;border-radius:22px!important}.cfm-ws-hero-clean h1{font-size:38px!important}.cfm-ws-hero-clean p{font-size:16px!important}.cfm-zoom-action{min-width:70px!important;font-size:12px!important}.cfm-zoom-action .cfm-hi,.cfm-zoom-action>svg{width:58px!important;height:58px!important;padding:16px!important;border-radius:18px!important}.cfm-ws-latest-body{display:block!important;text-align:center!important}.cfm-ws-big-icon{margin:0 auto 18px!important}.cfm-workspace-mini-stats{grid-template-columns:repeat(2,1fr)!important}.cfm-ws-section-head{display:block!important}.cfm-ws-section-head h1{font-size:26px!important}.cfm-ws-row{grid-template-columns:1fr!important}.cfm-ws-inline-form,.cfm-ws-inline-form.wide,.cfm-workspace-form-grid{grid-template-columns:1fr!important}.cfm-ws-detail-row summary{display:block!important}.cfm-workspace-modal-card{padding:22px!important}}

/* v0.9.36 - Workspace all-in-one feature completion and responsive polish */
.cfm-workspace-shell.is-frontend{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:100vh !important;
}
.cfm-workspace-admin-wrap{margin:0 !important;max-width:none !important;}
.cfm-workspace-v2{isolation:isolate !important;}
.cfm-workspace-rail{height:100vh !important;position:sticky !important;top:0 !important;scrollbar-width:thin !important;}
.cfm-workspace-main{scrollbar-width:thin !important;}
.cfm-ws-section-head{display:flex !important;justify-content:space-between !important;align-items:flex-start !important;gap:16px !important;margin-bottom:18px !important;}
.cfm-ws-section-head h1{margin:0 !important;font-size:34px !important;line-height:1.1 !important;}
.cfm-workspace-primary.slim{width:auto !important;min-width:150px !important;margin-top:0 !important;}
.cfm-ws-form-card{padding:22px !important;}
.cfm-ws-form-card h2{margin:0 0 16px !important;font-size:24px !important;}
.cfm-ws-form-card label,.cfm-workspace-modal-card label{display:block !important;font-size:13px !important;font-weight:850 !important;color:#334155 !important;margin:0 0 12px !important;}
.cfm-ws-form-card input,.cfm-ws-form-card select,.cfm-ws-form-card textarea,
.cfm-workspace-modal-card input,.cfm-workspace-modal-card select,.cfm-workspace-modal-card textarea,
.cfm-ws-inline-form input,.cfm-ws-inline-form select,.cfm-ws-inline-form textarea{
  width:100% !important;border:1px solid #d8e1ee !important;background:#f8fafc !important;border-radius:14px !important;padding:11px 13px !important;min-height:42px !important;color:#0f172a !important;box-shadow:none !important;outline:none !important;
}
.cfm-ws-form-card input:focus,.cfm-ws-form-card select:focus,.cfm-ws-form-card textarea:focus,
.cfm-workspace-modal-card input:focus,.cfm-workspace-modal-card select:focus,.cfm-workspace-modal-card textarea:focus{border-color:#2563eb !important;box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;}
.cfm-ws-inline-form{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) auto !important;gap:12px !important;align-items:end !important;}
.cfm-ws-inline-form.wide{grid-template-columns:repeat(3,minmax(0,1fr)) auto !important;}
.cfm-ws-inline-form button,.cfm-ws-form-card button,.cfm-workspace-primary,
.cfm-workspace-modal-card button[type="submit"]{border:0 !important;border-radius:16px !important;background:linear-gradient(135deg,#2563eb,#06b6d4) !important;color:#fff !important;min-height:44px !important;padding:0 18px !important;font-weight:900 !important;cursor:pointer !important;box-shadow:0 14px 30px rgba(37,99,235,.18) !important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease !important;}
.cfm-ws-inline-form button:hover,.cfm-ws-form-card button:hover,.cfm-workspace-primary:hover{transform:translateY(-1px) !important;box-shadow:0 20px 36px rgba(37,99,235,.24) !important;filter:saturate(1.05) !important;}
.cfm-ws-list{display:grid !important;gap:12px !important;padding:18px !important;}
.cfm-ws-row,.cfm-ws-detail-row{background:#fff !important;border:1px solid #e5edf7 !important;border-radius:18px !important;box-shadow:0 10px 26px rgba(15,23,42,.05) !important;}
.cfm-ws-row{display:grid !important;grid-template-columns:minmax(0,1fr) auto auto !important;gap:14px !important;align-items:center !important;padding:16px !important;}
.cfm-ws-row strong,.cfm-ws-detail-row strong{display:block !important;color:#0f172a !important;font-size:15px !important;}
.cfm-ws-row span,.cfm-ws-detail-row span{display:block !important;color:#64748b !important;font-size:12px !important;margin-top:4px !important;}
.cfm-ws-row em,.cfm-ws-detail-row em{font-style:normal !important;border-radius:999px !important;background:#eef6ff !important;color:#2563eb !important;font-weight:900 !important;padding:7px 10px !important;font-size:12px !important;white-space:nowrap !important;}
.cfm-ws-detail-row{padding:0 !important;overflow:hidden !important;}
.cfm-ws-detail-row summary{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:14px !important;align-items:center !important;padding:16px !important;cursor:pointer !important;list-style:none !important;}
.cfm-ws-detail-row summary::-webkit-details-marker{display:none !important;}
.cfm-ws-detail-row[open] summary{border-bottom:1px solid #edf2f7 !important;background:#fbfdff !important;}
.cfm-ws-detail-row > form,.cfm-ws-detail-row .cfm-ws-inline-form,.cfm-ws-detail-row .cfm-ws-preview-edit-form{padding:16px !important;}
.cfm-workspace-row-actions,.cfm-workspace-row-actions.compact,.cfm-ws-row-actions-inline{display:flex !important;gap:8px !important;flex-wrap:wrap !important;align-items:center !important;}
.cfm-workspace-row-actions a,.cfm-workspace-row-actions button,.cfm-ws-row-actions-inline a,.cfm-ws-row-actions-inline button{border:1px solid #d8e1ee !important;background:#fff !important;color:#0f172a !important;border-radius:999px !important;padding:8px 12px !important;text-decoration:none !important;font-weight:850 !important;font-size:12px !important;cursor:pointer !important;}
.cfm-ws-row-actions-inline{padding:0 16px 16px !important;}
.cfm-workspace-row-actions .is-danger,.cfm-ws-row-actions-inline .is-danger{background:#fff1f2 !important;color:#dc2626 !important;border-color:#fecaca !important;}
.cfm-ws-field-chips{display:flex !important;gap:8px !important;flex-wrap:wrap !important;padding:0 16px 16px !important;}
.cfm-ws-field-chips span{border:1px solid #dbeafe !important;background:#eff6ff !important;color:#1d4ed8 !important;border-radius:999px !important;padding:7px 10px !important;font-weight:800 !important;font-size:11px !important;}
.cfm-ws-chip-grid{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;gap:12px !important;padding:18px !important;}
.cfm-ws-chip-form{display:grid !important;grid-template-columns:1.2fr 1fr 84px 112px auto !important;gap:8px !important;align-items:center !important;background:#fff !important;border:1px solid #e5edf7 !important;border-radius:16px !important;padding:12px !important;}
.cfm-ws-chip-form input,.cfm-ws-chip-form select{min-height:38px !important;border-radius:12px !important;border:1px solid #d8e1ee !important;background:#f8fafc !important;padding:8px 10px !important;}
.cfm-ws-chip-form button{min-height:38px !important;border-radius:12px !important;}
.cfm-ws-preview-items{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;gap:12px !important;margin:14px 0 !important;}
.cfm-ws-preview-items>div{border:1px solid #e5edf7 !important;border-radius:18px !important;background:#f8fafc !important;padding:14px !important;display:grid !important;gap:8px !important;}
.cfm-ws-preview-items strong{color:#0f172a !important;}
.cfm-ws-preview-items.edit-mode{grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;}
.cfm-workspace-modal{position:fixed !important;inset:0 !important;z-index:999999 !important;background:rgba(15,23,42,.56) !important;display:none !important;align-items:center !important;justify-content:center !important;padding:24px !important;backdrop-filter:blur(8px) !important;}
.cfm-workspace-modal.is-open{display:flex !important;}
.cfm-workspace-modal-card{width:min(860px,96vw) !important;max-height:92vh !important;overflow:auto !important;background:#fff !important;border:1px solid #e5e7eb !important;border-radius:26px !important;padding:28px !important;box-shadow:0 34px 90px rgba(15,23,42,.3) !important;position:relative !important;animation:cfmWsModalIn .22s ease both !important;}
.cfm-workspace-modal-card.wide{width:min(1120px,96vw) !important;}
.cfm-workspace-modal-close{position:absolute !important;right:18px !important;top:16px !important;border:0 !important;background:#f1f5f9 !important;color:#0f172a !important;border-radius:50% !important;width:38px !important;height:38px !important;font-size:24px !important;cursor:pointer !important;box-shadow:none !important;}
body.cfm-ws-modal-open{overflow:hidden !important;}
@media(max-width:1100px){
  .cfm-workspace-shell{grid-template-columns:92px minmax(0,1fr) !important;}
  .cfm-workspace-brand span{display:none !important;}
  .cfm-workspace-nav{min-height:64px !important;font-size:11px !important;}
  .cfm-workspace-topbar{grid-template-columns:1fr 42px auto !important;padding:0 16px !important;}
  .cfm-workspace-title{display:none !important;}
  .cfm-ws-dashboard-grid,.cfm-ws-dashboard-grid.two-equal{grid-template-columns:1fr !important;}
  .cfm-ws-inline-form,.cfm-ws-inline-form.wide{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:720px){
  .cfm-workspace-shell{grid-template-columns:1fr !important;}
  .cfm-workspace-rail{position:sticky !important;top:0 !important;height:auto !important;z-index:30 !important;display:flex !important;flex-direction:row !important;overflow-x:auto !important;padding:8px !important;}
  .cfm-workspace-nav{min-width:76px !important;min-height:58px !important;}
  .cfm-workspace-main{height:auto !important;min-height:100vh !important;overflow:visible !important;}
  .cfm-workspace-topbar{height:auto !important;grid-template-columns:1fr 42px !important;gap:10px !important;padding:12px !important;}
  .cfm-workspace-user{display:none !important;}
  .cfm-ws-panel{padding:18px 12px 50px !important;}
  .cfm-ws-hero-clean{padding:20px !important;grid-template-columns:1fr !important;text-align:center !important;}
  .cfm-ws-hero-clean h1{font-size:42px !important;}
  .cfm-ws-hero-actions{justify-content:center !important;}
  .cfm-ws-row{grid-template-columns:1fr !important;}
  .cfm-ws-detail-row summary{grid-template-columns:1fr !important;}
  .cfm-ws-inline-form,.cfm-ws-inline-form.wide,.cfm-ws-chip-form{grid-template-columns:1fr !important;}
}
.cfm-ws-head-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}.cfm-workspace-primary.secondary{background:#fff!important;color:#2563eb!important;border:1px solid #bfdbfe!important;box-shadow:0 12px 24px rgba(37,99,235,.08)!important}

/* v0.9.37 workspace ajax/shortcode stability + premium toast */
.cfm-workspace-frame{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;isolation:isolate!important}.cfm-workspace-frame *{box-sizing:border-box!important}.cfm-workspace-frame a,.cfm-workspace-frame button{-webkit-tap-highlight-color:transparent!important}.cfm-workspace-shell.is-frontend{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important}.entry-content .cfm-workspace-frame,.wp-block-post-content .cfm-workspace-frame,.elementor-widget-container .cfm-workspace-frame{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}.cfm-workspace-main{scroll-behavior:smooth!important}.cfm-workspace-topbar{box-shadow:0 12px 30px rgba(15,23,42,.04)!important}.cfm-workspace-nav,.cfm-workspace-tool,.cfm-zoom-action,.cfm-ws-row,.cfm-ws-card,.cfm-workspace-modal-card{will-change:transform,opacity!important}.cfm-workspace-nav:focus-visible,.cfm-workspace-tool:focus-visible,.cfm-zoom-action:focus-visible,.cfm-workspace-plus:focus-visible,.cfm-workspace-primary:focus-visible,.cfm-workspace-row-actions a:focus-visible,.cfm-workspace-row-actions button:focus-visible{outline:3px solid rgba(37,99,235,.28)!important;outline-offset:3px!important}.cfm-workspace-plus:hover{transform:translateY(-1px) scale(1.03)!important;box-shadow:0 18px 35px rgba(37,99,235,.16)!important}.cfm-ws-panel.is-active{animation:cfmWsPanelSoftIn .28s cubic-bezier(.2,.8,.2,1) both!important}@keyframes cfmWsPanelSoftIn{from{opacity:0;transform:translateY(10px) scale(.995)}to{opacity:1;transform:none}}.cfm-workspace-modal.is-open .cfm-workspace-modal-card{animation:cfmWsPremiumModal .24s cubic-bezier(.2,.8,.2,1) both!important}@keyframes cfmWsPremiumModal{from{opacity:0;transform:translateY(18px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.cfm-workspace-modal-card button.is-loading,.cfm-workspace-primary.is-loading{opacity:.8!important;pointer-events:none!important;position:relative!important}.cfm-workspace-modal-card button.is-loading:after,.cfm-workspace-primary.is-loading:after{content:''!important;width:15px!important;height:15px!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.55)!important;border-top-color:#fff!important;display:inline-block!important;margin-left:8px!important;vertical-align:-2px!important;animation:cfmWsSpin .75s linear infinite!important}@keyframes cfmWsSpin{to{transform:rotate(360deg)}}.cfm-ws-toast-zone{position:fixed!important;right:22px!important;top:22px!important;z-index:1000001!important;display:grid!important;gap:12px!important;width:min(390px,calc(100vw - 28px))!important;pointer-events:none!important}.wp-admin .cfm-ws-toast-zone{top:46px!important}.cfm-ws-toast{position:relative!important;pointer-events:auto!important;overflow:hidden!important;display:grid!important;grid-template-columns:42px 1fr 30px!important;gap:12px!important;align-items:center!important;background:rgba(255,255,255,.96)!important;color:#0f172a!important;border:1px solid rgba(226,232,240,.95)!important;border-radius:20px!important;padding:13px 12px!important;box-shadow:0 24px 70px rgba(15,23,42,.18)!important;backdrop-filter:blur(14px)!important;animation:cfmWsToastIn .24s cubic-bezier(.2,.8,.2,1) both!important}.cfm-ws-toast.is-hiding{animation:cfmWsToastOut .32s ease both!important}.cfm-ws-toast-icon{width:42px!important;height:42px!important;border-radius:14px!important;display:grid!important;place-items:center!important;font-weight:1000!important;color:#fff!important;background:linear-gradient(135deg,#22c55e,#06b6d4)!important;box-shadow:0 12px 24px rgba(34,197,94,.2)!important}.cfm-ws-toast.is-error .cfm-ws-toast-icon{background:linear-gradient(135deg,#ef4444,#f97316)!important;box-shadow:0 12px 24px rgba(239,68,68,.2)!important}.cfm-ws-toast-copy strong{display:block!important;font-size:14px!important;line-height:1.1!important;margin-bottom:3px!important}.cfm-ws-toast-copy span{display:block!important;font-size:13px!important;color:#64748b!important;line-height:1.35!important}.cfm-ws-toast button{border:0!important;background:#f1f5f9!important;color:#64748b!important;border-radius:10px!important;width:28px!important;height:28px!important;line-height:1!important;font-size:18px!important;font-weight:900!important;cursor:pointer!important;box-shadow:none!important}.cfm-ws-toast>i{position:absolute!important;left:0!important;bottom:0!important;height:4px!important;width:100%!important;background:linear-gradient(90deg,#2563eb,#06b6d4)!important;transform-origin:left center!important;animation:cfmWsToastBar 3s linear forwards!important}.cfm-ws-toast.is-error>i{background:linear-gradient(90deg,#ef4444,#f97316)!important}@keyframes cfmWsToastIn{from{opacity:0;transform:translateX(24px) translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes cfmWsToastOut{to{opacity:0;transform:translateX(24px) translateY(-8px) scale(.98)}}@keyframes cfmWsToastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}.cfm-workspace-notice{display:none!important}.cfm-workspace-row-actions a[href*="action=cfm_workspace_"],.cfm-workspace-row-actions button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease!important}.cfm-workspace-row-actions a[href*="action=cfm_workspace_"]:hover,.cfm-workspace-row-actions button:hover{transform:translateY(-1px)!important;box-shadow:0 10px 22px rgba(15,23,42,.09)!important;border-color:#bfdbfe!important}.cfm-workspace-shell.is-frontend .cfm-workspace-rail{height:100vh!important}.cfm-workspace-shell.is-frontend .cfm-workspace-main{height:100vh!important;overflow:auto!important}.cfm-workspace-rail{overscroll-behavior:contain!important}.cfm-workspace-main{overscroll-behavior:contain!important}.cfm-workspace-modal-card{scrollbar-width:thin!important}.cfm-workspace-modal-card::-webkit-scrollbar,.cfm-workspace-main::-webkit-scrollbar,.cfm-workspace-rail::-webkit-scrollbar{width:8px!important;height:8px!important}.cfm-workspace-modal-card::-webkit-scrollbar-thumb,.cfm-workspace-main::-webkit-scrollbar-thumb,.cfm-workspace-rail::-webkit-scrollbar-thumb{background:#cbd5e1!important;border-radius:999px!important}.cfm-workspace-modal-card::-webkit-scrollbar-track,.cfm-workspace-main::-webkit-scrollbar-track,.cfm-workspace-rail::-webkit-scrollbar-track{background:transparent!important}@media(max-width:980px){.cfm-workspace-shell.is-frontend,.cfm-workspace-shell{grid-template-columns:86px minmax(0,1fr)!important}.cfm-workspace-topbar{grid-template-columns:minmax(0,1fr) 42px!important;gap:10px!important}.cfm-workspace-search{grid-column:1 / 2!important}.cfm-workspace-title,.cfm-workspace-user{display:none!important}.cfm-ws-panel{padding-left:16px!important;padding-right:16px!important}.cfm-ws-dashboard-grid,.cfm-ws-dashboard-grid.two-equal{grid-template-columns:1fr!important}.cfm-workspace-modal-card{width:min(760px,96vw)!important}}@media(max-width:700px){.entry-content .cfm-workspace-frame,.wp-block-post-content .cfm-workspace-frame,.elementor-widget-container .cfm-workspace-frame{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.cfm-workspace-shell,.cfm-workspace-shell.is-frontend{display:flex!important;flex-direction:column!important;min-height:100vh!important;overflow:hidden!important}.cfm-workspace-rail{height:auto!important;position:sticky!important;top:0!important;display:flex!important;flex-direction:row!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px!important;z-index:45!important}.cfm-workspace-main,.cfm-workspace-shell.is-frontend .cfm-workspace-main{height:auto!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important}.cfm-workspace-nav{min-width:76px!important;min-height:60px!important}.cfm-workspace-topbar{position:sticky!important;top:0!important;height:auto!important;padding:12px!important}.cfm-workspace-form-grid,.cfm-ws-inline-form,.cfm-ws-inline-form.wide{grid-template-columns:1fr!important}.cfm-ws-toast-zone{top:12px!important;right:12px!important}.wp-admin .cfm-ws-toast-zone{top:38px!important}}


/* v0.9.38 Workspace frontend shortcode hardening: full app canvas, reliable modals, readable forms */
.cfm-workspace-frame{
  width:100% !important; max-width:none !important; min-height:100dvh !important; height:100dvh !important;
  margin:0 !important; padding:0 !important; overflow:hidden !important; background:#eef4fb !important;
  position:relative !important; isolation:isolate !important;
}
.entry-content .cfm-workspace-frame,
.wp-block-post-content .cfm-workspace-frame,
.elementor .cfm-workspace-frame,
.elementor-widget-container .cfm-workspace-frame,
.site-main .cfm-workspace-frame{
  width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
}
.cfm-workspace-shell.is-frontend,
.cfm-workspace-shell.is-admin{
  height:100dvh !important; min-height:100dvh !important; max-height:100dvh !important;
}
.cfm-workspace-shell.is-frontend .cfm-workspace-rail,
.cfm-workspace-shell.is-admin .cfm-workspace-rail{
  height:100dvh !important; max-height:100dvh !important; overflow-y:auto !important; overflow-x:hidden !important;
}
.cfm-workspace-shell.is-frontend .cfm-workspace-main,
.cfm-workspace-shell.is-admin .cfm-workspace-main{
  height:100dvh !important; max-height:100dvh !important; overflow:auto !important; min-width:0 !important;
}
.cfm-workspace-shell.is-frontend .cfm-workspace-topbar,
.cfm-workspace-shell.is-admin .cfm-workspace-topbar{
  min-height:76px !important; height:auto !important; overflow:visible !important;
}
.cfm-workspace-shell.is-frontend .cfm-ws-panel,
.cfm-workspace-shell.is-admin .cfm-ws-panel{
  width:100% !important; max-width:1420px !important; overflow:visible !important;
}
.cfm-ws-card,
.cfm-ws-form-card,
.cfm-ws-detail-row{
  min-width:0 !important;
}
.cfm-ws-form-card{padding:24px !important; overflow:visible !important;}
.cfm-ws-form-card > h2{margin:0 0 16px !important; font-size:26px !important; line-height:1.15 !important; color:#111827 !important;}
.cfm-ws-form-card form{display:grid !important; gap:14px !important;}
.cfm-ws-list.compact-list{display:grid !important; gap:12px !important; padding:18px !important; overflow:visible !important;}
.cfm-ws-detail-row{display:block !important; border:1px solid #e2e8f0 !important; border-radius:18px !important; background:#fff !important; overflow:hidden !important;}
.cfm-ws-detail-row summary{display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:16px !important; align-items:center !important; cursor:pointer !important; padding:16px 18px !important; list-style:none !important;}
.cfm-ws-detail-row summary::-webkit-details-marker{display:none !important;}
.cfm-ws-detail-row[open]{box-shadow:0 18px 44px rgba(15,23,42,.08) !important; border-color:#bfdbfe !important;}
.cfm-ws-detail-row .cfm-ws-inline-form,
.cfm-ws-detail-row .cfm-ws-row-actions-inline,
.cfm-ws-detail-row .cfm-ws-field-chips{margin:0 18px 18px !important;}
.cfm-ws-inline-form,
.cfm-ws-inline-form.wide,
.cfm-workspace-form-grid{align-items:end !important;}
.cfm-workspace-frame label{font-size:13px !important; font-weight:850 !important; color:#334155 !important; line-height:1.35 !important;}
.cfm-workspace-frame input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.cfm-workspace-frame select,
.cfm-workspace-frame textarea{
  width:100% !important; max-width:100% !important; min-height:44px !important; border:1px solid #dbe5f0 !important;
  border-radius:14px !important; background:#f8fbff !important; color:#0f172a !important; padding:10px 12px !important;
  font-size:14px !important; box-shadow:none !important; outline:none !important;
}
.cfm-workspace-frame textarea{min-height:92px !important; resize:vertical !important;}
.cfm-workspace-frame input:focus,
.cfm-workspace-frame select:focus,
.cfm-workspace-frame textarea:focus{border-color:#2563eb !important; box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;}
body.cfm-ws-modal-open{overflow:hidden !important;}
.cfm-workspace-modal{
  position:fixed !important; inset:0 !important; width:100vw !important; height:100dvh !important; z-index:2147483000 !important;
  display:none !important; align-items:center !important; justify-content:center !important; padding:24px !important;
  overflow:auto !important; background:rgba(15,23,42,.58) !important; backdrop-filter:blur(12px) saturate(1.1) !important;
}
.cfm-workspace-modal.is-open{display:flex !important;}
.cfm-workspace-modal-card{
  position:relative !important; width:min(980px,calc(100vw - 34px)) !important; max-width:calc(100vw - 34px) !important;
  max-height:calc(100dvh - 48px) !important; overflow:auto !important; margin:auto !important; padding:30px !important;
  border-radius:28px !important; background:#fff !important; color:#0f172a !important; border:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 40px 110px rgba(15,23,42,.35) !important; transform-origin:center center !important;
}
.cfm-workspace-modal-card h2{font-size:32px !important; line-height:1.1 !important; margin:0 48px 10px 0 !important; color:#0f172a !important;}
.cfm-workspace-modal-card p{color:#64748b !important; margin:0 0 20px !important;}
.cfm-workspace-modal-close{position:sticky !important; float:right !important; top:0 !important; z-index:5 !important; margin:-8px -8px 4px 12px !important;}
.cfm-workspace-modal-card form{display:grid !important; gap:16px !important;}
.cfm-workspace-primary,
.cfm-workspace-modal-card button[type="submit"],
.cfm-ws-inline-form button[type="submit"],
.cfm-ws-chip-form button[type="submit"]{
  border:0 !important; border-radius:16px !important; background:linear-gradient(135deg,#2563eb,#06b6d4) !important; color:#fff !important;
  min-height:44px !important; padding:0 18px !important; font-weight:900 !important; cursor:pointer !important;
  box-shadow:0 16px 34px rgba(37,99,235,.2) !important;
}
.cfm-ws-row-actions-inline{display:flex !important; gap:8px !important; flex-wrap:wrap !important;}
.cfm-ws-row-actions-inline a{display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:34px !important; padding:0 12px !important; border-radius:999px !important; border:1px solid #dbe5f0 !important; background:#f8fafc !important; color:#1e40af !important; text-decoration:none !important; font-weight:850 !important;}
.cfm-ws-row-actions-inline a.is-danger{color:#dc2626 !important; background:#fff5f5 !important; border-color:#fecaca !important;}
@media(max-width:980px){
  .cfm-workspace-frame{height:100dvh !important; min-height:100dvh !important;}
  .cfm-workspace-shell.is-frontend,.cfm-workspace-shell.is-admin{grid-template-columns:92px minmax(0,1fr) !important; height:100dvh !important;}
  .cfm-workspace-topbar{grid-template-columns:minmax(0,1fr) 46px !important; padding:12px 16px !important;}
  .cfm-workspace-search{grid-column:1 / 2 !important; min-width:0 !important;}
  .cfm-ws-dashboard-grid,.cfm-ws-dashboard-grid.two-equal{grid-template-columns:1fr !important;}
  .cfm-workspace-form-grid,.cfm-ws-inline-form,.cfm-ws-inline-form.wide,.cfm-ws-chip-form{grid-template-columns:1fr !important;}
  .cfm-workspace-modal{padding:14px !important; align-items:center !important;}
  .cfm-workspace-modal-card{width:calc(100vw - 28px) !important; max-height:calc(100dvh - 28px) !important; padding:22px !important; border-radius:22px !important;}
}
@media(max-width:700px){
  .entry-content .cfm-workspace-frame,.wp-block-post-content .cfm-workspace-frame,.elementor .cfm-workspace-frame,.elementor-widget-container .cfm-workspace-frame,.site-main .cfm-workspace-frame{width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;}
  .cfm-workspace-shell.is-frontend,.cfm-workspace-shell.is-admin{display:grid !important; grid-template-columns:1fr !important; grid-template-rows:auto minmax(0,1fr) !important;}
  .cfm-workspace-rail{height:auto !important; max-height:92px !important; overflow-x:auto !important; overflow-y:hidden !important; display:flex !important; flex-direction:row !important;}
  .cfm-workspace-shell.is-frontend .cfm-workspace-main,.cfm-workspace-shell.is-admin .cfm-workspace-main{height:auto !important; max-height:none !important; min-height:0 !important; overflow:auto !important;}
  .cfm-workspace-topbar{position:sticky !important; top:0 !important; z-index:50 !important;}
  .cfm-ws-panel{padding:16px 12px 46px !important;}
  .cfm-ws-hero-clean{grid-template-columns:1fr !important; text-align:center !important; padding:20px !important;}
  .cfm-ws-hero-clean h1{font-size:42px !important;}
  .cfm-ws-hero-actions{justify-content:center !important;}
}

/* v0.9.39 Workspace CSP-safe frontend modal fix + theme color polish */
.cfm-workspace-shell{
  --ws-blue:#751521 !important;
  --ws-blue2:#a83246 !important;
  --ws-orange:#751521 !important;
  --ws-maroon:#751521 !important;
  --ws-maroon-soft:rgba(117,21,33,.10) !important;
  --ws-maroon-border:rgba(117,21,33,.24) !important;
}
.cfm-workspace-brand b,
.cfm-zoom-action .cfm-hi,
.cfm-zoom-action>svg,
.cfm-workspace-primary,
.cfm-workspace-modal-card button[type="submit"],
.cfm-ws-inline-form button[type="submit"],
.cfm-ws-chip-form button[type="submit"]{
  background:linear-gradient(135deg,#751521 0%,#9f2438 55%,#c14a5d 100%) !important;
  box-shadow:0 16px 34px rgba(117,21,33,.22) !important;
}
.cfm-zoom-action.is-orange .cfm-hi,
.cfm-zoom-action.is-orange>svg{
  background:linear-gradient(135deg,#751521 0%,#af243b 100%) !important;
  box-shadow:0 18px 34px rgba(117,21,33,.26) !important;
}
.cfm-workspace-nav:hover,
.cfm-workspace-nav.is-active,
.cfm-workspace-plus,
.cfm-workspace-row-actions a,
.cfm-ws-row-actions-inline a,
.cfm-workspace-tool:hover{
  color:#751521 !important;
}
.cfm-workspace-nav.is-active,
.cfm-workspace-nav:hover,
.cfm-workspace-plus:hover,
.cfm-ws-detail-row[open]{
  border-color:var(--ws-maroon-border) !important;
}
.cfm-workspace-frame input:focus,
.cfm-workspace-frame select:focus,
.cfm-workspace-frame textarea:focus{
  border-color:#751521 !important;
  box-shadow:0 0 0 4px rgba(117,21,33,.13) !important;
}
.cfm-kicker{color:#751521 !important;}
.cfm-ws-toast-icon,
.cfm-ws-toast>i{
  background:linear-gradient(135deg,#751521,#c14a5d) !important;
}
.cfm-ws-toast.is-error .cfm-ws-toast-icon,
.cfm-ws-toast.is-error>i{
  background:linear-gradient(135deg,#dc2626,#f97316) !important;
}
body > .cfm-workspace-modal,
.cfm-workspace-modal{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  min-width:100vw !important;
  min-height:100vh !important;
  min-height:100dvh !important;
  z-index:2147483000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(14px,2vw,28px) !important;
  margin:0 !important;
  overflow:auto !important;
  background:rgba(15,23,42,.62) !important;
  backdrop-filter:blur(14px) saturate(1.08) !important;
  transform:none !important;
  contain:none !important;
}
body > .cfm-workspace-modal.is-open,
.cfm-workspace-modal.is-open{
  display:flex !important;
}
body > .cfm-workspace-modal .cfm-workspace-modal-card,
.cfm-workspace-modal .cfm-workspace-modal-card{
  width:min(980px,calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100dvh - 32px) !important;
  margin:auto !important;
  overflow:auto !important;
  transform:none !important;
  border-radius:30px !important;
  border:1px solid rgba(226,232,240,.92) !important;
  box-shadow:0 40px 110px rgba(15,23,42,.38) !important;
}
body.cfm-ws-modal-open{
  overflow:hidden !important;
}
body.cfm-ws-modal-open .cfm-workspace-frame{
  overflow:hidden !important;
}
.cfm-workspace-modal-close{
  position:sticky !important;
  top:0 !important;
  z-index:10 !important;
  background:#f8fafc !important;
  color:#0f172a !important;
  border:1px solid #e2e8f0 !important;
}
.cfm-workspace-modal-close:hover{
  background:#751521 !important;
  color:#fff !important;
  border-color:#751521 !important;
}
.cfm-workspace-shell.is-frontend .cfm-ws-panel{
  max-width:1480px !important;
}
.cfm-workspace-shell.is-frontend .cfm-ws-list,
.cfm-workspace-shell.is-frontend .compact-list{
  min-width:0 !important;
}
.cfm-workspace-shell.is-frontend .cfm-ws-detail-row,
.cfm-workspace-shell.is-frontend .cfm-ws-form-card,
.cfm-workspace-shell.is-frontend .cfm-ws-card{
  max-width:100% !important;
}
.cfm-workspace-shell.is-frontend .cfm-workspace-main{
  overflow:auto !important;
}
.cfm-workspace-shell.is-frontend .cfm-workspace-rail{
  overflow-y:auto !important;
}
@media(max-width:700px){
  body > .cfm-workspace-modal,
  .cfm-workspace-modal{padding:10px !important; align-items:center !important;}
  body > .cfm-workspace-modal .cfm-workspace-modal-card,
  .cfm-workspace-modal .cfm-workspace-modal-card{width:calc(100vw - 20px) !important; max-width:calc(100vw - 20px) !important; max-height:calc(100dvh - 20px) !important; border-radius:22px !important; padding:20px !important;}
}

/* v0.9.40 Workspace unified modal header/footer polish */
body > .cfm-workspace-modal,
.cfm-workspace-modal{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  padding:clamp(14px,2.4vw,30px) !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:rgba(2,6,23,.82) !important;
  backdrop-filter:blur(16px) saturate(1.08) !important;
  z-index:2147483000 !important;
}
body > .cfm-workspace-modal.is-open,
.cfm-workspace-modal.is-open{display:flex !important;}
body > .cfm-workspace-modal .cfm-workspace-modal-card,
.cfm-workspace-modal .cfm-workspace-modal-card,
body > .cfm-workspace-modal .cfm-workspace-modal-card.wide,
.cfm-workspace-modal .cfm-workspace-modal-card.wide{
  width:min(980px,calc(100vw - 44px)) !important;
  height:min(760px,calc(100dvh - 44px)) !important;
  max-width:calc(100vw - 44px) !important;
  max-height:calc(100dvh - 44px) !important;
  min-height:min(560px,calc(100dvh - 44px)) !important;
  margin:auto !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  background:linear-gradient(145deg,#ffffff 0%,#f8fafc 100%) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:30px !important;
  box-shadow:0 42px 120px rgba(0,0,0,.46), 0 0 0 1px rgba(117,21,33,.08) inset !important;
  color:#0f172a !important;
}
.cfm-workspace-modal-card > .cfm-ws-modal-head{
  height:104px !important;
  flex:0 0 104px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:24px 28px !important;
  background:linear-gradient(135deg,#fff 0%,#fff7f8 48%,#f8fafc 100%) !important;
  border-bottom:1px solid rgba(226,232,240,.95) !important;
  box-shadow:0 8px 28px rgba(15,23,42,.04) !important;
}
.cfm-workspace-modal-card > .cfm-ws-modal-head .cfm-ws-modal-title{min-width:0 !important;}
.cfm-workspace-modal-card > .cfm-ws-modal-head h2,
.cfm-workspace-modal-card > .cfm-ws-modal-head .cfm-ws-modal-title h2{
  margin:0 !important;
  font-size:clamp(24px,2.3vw,32px) !important;
  line-height:1.08 !important;
  color:#0f172a !important;
  letter-spacing:-.03em !important;
}
.cfm-workspace-modal-card > .cfm-ws-modal-head p,
.cfm-workspace-modal-card > .cfm-ws-modal-head .cfm-ws-modal-title p{
  margin:7px 0 0 !important;
  color:#64748b !important;
  font-size:14px !important;
  line-height:1.35 !important;
  max-width:680px !important;
}
.cfm-workspace-modal-card > .cfm-ws-modal-body,
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding:24px 28px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  scrollbar-width:thin !important;
}
.cfm-workspace-modal-card .cfm-ws-modal-form{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  gap:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-body{
  display:grid !important;
  gap:16px !important;
}
.cfm-workspace-modal-card > .cfm-ws-modal-footer,
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer{
  height:82px !important;
  flex:0 0 82px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  padding:18px 28px !important;
  border-top:1px solid rgba(226,232,240,.95) !important;
  background:rgba(248,250,252,.96) !important;
  box-shadow:0 -10px 28px rgba(15,23,42,.04) !important;
}
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer .cfm-workspace-primary,
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer button[type="submit"]{
  min-width:190px !important;
  min-height:48px !important;
  border-radius:16px !important;
  margin:0 !important;
  background:linear-gradient(135deg,#751521 0%,#9f2438 55%,#c14a5d 100%) !important;
  box-shadow:0 18px 34px rgba(117,21,33,.22) !important;
}
.cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer button[type="button"],
.cfm-workspace-modal-card > .cfm-ws-modal-footer button[type="button"]{
  min-height:44px !important;
  border-radius:14px !important;
  border:1px solid #e2e8f0 !important;
  background:#fff !important;
  color:#334155 !important;
  padding:0 18px !important;
  font-weight:850 !important;
  cursor:pointer !important;
}
.cfm-workspace-modal-close{
  position:static !important;
  float:none !important;
  flex:0 0 auto !important;
  width:44px !important;
  height:44px !important;
  border-radius:16px !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  background:#fff !important;
  color:#334155 !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
  transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease !important;
}
.cfm-workspace-modal-close:hover{transform:translateY(-1px) scale(1.03) !important;background:#751521 !important;color:#fff !important;border-color:#751521 !important;}
.cfm-workspace-modal-card .cfm-ws-modal-body::-webkit-scrollbar{width:9px !important;height:9px !important;}
.cfm-workspace-modal-card .cfm-ws-modal-body::-webkit-scrollbar-thumb{background:rgba(117,21,33,.26) !important;border-radius:999px !important;border:2px solid #fff !important;}
.cfm-workspace-modal-card .cfm-ws-modal-body::-webkit-scrollbar-track{background:transparent !important;}
.cfm-workspace-modal-card label{display:grid !important;gap:8px !important;}
.cfm-workspace-modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.cfm-workspace-modal-card select,
.cfm-workspace-modal-card textarea{
  border-radius:16px !important;
  min-height:48px !important;
  background:#f8fafc !important;
  border-color:#dbe5f0 !important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease !important;
}
.cfm-workspace-modal-card input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
.cfm-workspace-modal-card select:focus,
.cfm-workspace-modal-card textarea:focus{background:#fff !important;}
.cfm-workspace-modal.is-open .cfm-workspace-modal-card{animation:cfmWsModal0940 .24s cubic-bezier(.2,.8,.2,1) both !important;}
@keyframes cfmWsModal0940{from{opacity:0;transform:translateY(18px) scale(.975);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:700px){
  body > .cfm-workspace-modal,
  .cfm-workspace-modal{padding:10px !important;}
  body > .cfm-workspace-modal .cfm-workspace-modal-card,
  .cfm-workspace-modal .cfm-workspace-modal-card,
  body > .cfm-workspace-modal .cfm-workspace-modal-card.wide,
  .cfm-workspace-modal .cfm-workspace-modal-card.wide{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
    min-height:0 !important;
    border-radius:22px !important;
  }
  .cfm-workspace-modal-card > .cfm-ws-modal-head{height:94px !important;flex-basis:94px !important;padding:18px !important;}
  .cfm-workspace-modal-card > .cfm-ws-modal-head h2{font-size:24px !important;}
  .cfm-workspace-modal-card > .cfm-ws-modal-head p{font-size:13px !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
  .cfm-workspace-modal-card > .cfm-ws-modal-body,
  .cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-body{padding:18px !important;}
  .cfm-workspace-modal-card > .cfm-ws-modal-footer,
  .cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer{height:78px !important;flex-basis:78px !important;padding:14px 18px !important;}
  .cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer .cfm-workspace-primary,
  .cfm-workspace-modal-card .cfm-ws-modal-form > .cfm-ws-modal-footer button[type="submit"]{width:100% !important;min-width:0 !important;}
}

/* v0.9.41 workspace meeting controls + personal room polish */
.cfm-ws-personal-card{background:linear-gradient(135deg,#fff,#fff7f7)!important;border-color:rgba(117,21,33,.18)!important;box-shadow:0 22px 70px rgba(117,21,33,.10)!important;}
.cfm-ws-copy-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;margin:12px 0 14px!important;}
.cfm-ws-copy-line input{width:100%!important;min-height:42px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#f8fafc!important;padding:0 12px!important;color:#0f172a!important;font-weight:700!important;box-shadow:none!important;}
.cfm-ws-copy-line a{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 16px!important;border-radius:14px!important;background:#751521!important;color:#fff!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 12px 24px rgba(117,21,33,.20)!important;}
.cfm-ws-ended-note{display:inline-flex!important;align-items:center!important;min-height:34px!important;border-radius:999px!important;border:1px solid #fecaca!important;background:#fff1f2!important;color:#991b1b!important;padding:0 12px!important;font-size:12px!important;font-weight:900!important;}
.cfm-workspace-row-actions .is-warning,.cfm-ws-row-actions-inline .is-warning{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important;}
.cfm-ws-row.is-personal-room{border-color:rgba(117,21,33,.18)!important;background:linear-gradient(135deg,#fff,#fff9f9)!important;}
.cfm-ws-row strong small{display:inline-flex!important;margin-left:7px!important;border-radius:999px!important;background:#fef2f2!important;color:#751521!important;border:1px solid #fecaca!important;padding:2px 7px!important;font-size:10px!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.status-ready{background:#eef2ff!important;color:#3730a3!important;}
@media(max-width:720px){.cfm-ws-copy-line{grid-template-columns:1fr!important}.cfm-ws-copy-line a{width:100%!important}.cfm-workspace-row-actions.compact{justify-content:flex-start!important}}

/* v0.9.42 personal meeting room SaaS polish */
.cfm-ws-personal-pro{position:relative!important;overflow:hidden!important;}
.cfm-ws-personal-pro:before{content:""!important;position:absolute!important;inset:-80px -90px auto auto!important;width:220px!important;height:220px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(117,21,33,.16),transparent 68%)!important;pointer-events:none!important;}
.cfm-ws-personal-url{margin:14px 24px 4px!important;border:1px solid rgba(117,21,33,.16)!important;background:linear-gradient(135deg,#fff7f7,#fff)!important;border-radius:18px!important;padding:14px 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.cfm-ws-personal-url small{font-size:11px!important;font-weight:950!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#8b5b62!important;}
.cfm-ws-personal-url strong{font-size:18px!important;color:#751521!important;font-weight:1000!important;word-break:break-word!important;}
.cfm-ws-personal-card .cfm-ws-copy-line{margin:14px 24px 16px!important;}
.cfm-ws-personal-card .cfm-workspace-row-actions{padding:0 24px 22px!important;}
.cfm-ws-personal-invite-link{display:grid!important;gap:8px!important;border:1px solid #ead7db!important;background:#fff8f9!important;border-radius:18px!important;padding:14px!important;}
.cfm-ws-personal-invite-link span{font-size:12px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:#751521!important;}
.cfm-ws-personal-invite-link input{width:100%!important;border:0!important;background:#fff!important;border-radius:12px!important;min-height:42px!important;padding:0 12px!important;font-weight:800!important;color:#0f172a!important;box-shadow:inset 0 0 0 1px #f0dce0!important;}
.cfm-workspace-row-actions button[data-cfm-open-modal="personal-invite"],
.cfm-workspace-row-actions button[data-cfm-open-modal="personal-settings"]{border:1px solid #e7d1d6!important;background:#fff8f9!important;color:#751521!important;border-radius:999px!important;min-height:34px!important;padding:0 12px!important;font-size:12px!important;font-weight:950!important;cursor:pointer!important;}
.cfm-workspace-row-actions button[data-cfm-open-modal="personal-invite"]:hover,
.cfm-workspace-row-actions button[data-cfm-open-modal="personal-settings"]:hover{background:#751521!important;color:#fff!important;box-shadow:0 10px 24px rgba(117,21,33,.18)!important;}
.cfm-workspace-modal-card small{color:#64748b!important;font-weight:750!important;}
.cfm-workspace-modal-card small b{color:#751521!important;}
@media(max-width:720px){.cfm-ws-personal-url{display:grid!important;}.cfm-ws-personal-url strong{font-size:15px!important}.cfm-ws-personal-card .cfm-ws-copy-line,.cfm-ws-personal-card .cfm-workspace-row-actions,.cfm-ws-personal-url{margin-left:16px!important;margin-right:16px!important;}}

/* v0.9.44 - Personal room pretty links render in the same standalone meeting shell as normal host/join pages. */
html.cfm-room-standalone-html,
html.cfm-room-standalone-html body.cfm-room-standalone-body{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#05070d !important;
  overscroll-behavior:none !important;
}
body.cfm-room-standalone-body #wpadminbar,
body.cfm-room-standalone-body header:not(.cfm-app-header),
body.cfm-room-standalone-body footer:not(.cfm-bottom-command-bar),
body.cfm-room-standalone-body .site-header,
body.cfm-room-standalone-body .site-footer,
body.cfm-room-standalone-body .elementor-location-header,
body.cfm-room-standalone-body .elementor-location-footer,
body.cfm-room-standalone-body .wp-site-blocks > header,
body.cfm-room-standalone-body .wp-site-blocks > footer{
  display:none !important;
}
body.cfm-room-standalone-body .cfm-room{
  margin:0 !important;
}
body.cfm-room-standalone-body .cfm-alert{
  width:min(720px,calc(100vw - 32px)) !important;
  margin:44px auto !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}


/* v0.9.46: standalone personal-room skeleton to prevent old unstyled UI flash */
body.cfm-room-standalone-body.cfm-room-booting{overflow:hidden!important;background:#020617!important;}
body.cfm-room-standalone-body.cfm-room-booting .cfm-room{opacity:0!important;visibility:hidden!important;}
.cfm-room-boot-screen{display:none;position:fixed;inset:0;z-index:2147483000;background:radial-gradient(circle at 50% 35%,rgba(37,99,235,.25),transparent 35%),linear-gradient(135deg,#020617,#0f172a);align-items:center;justify-content:center;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.cfm-room-booting .cfm-room-boot-screen{display:flex;}
.cfm-room-boot-card{width:min(380px,calc(100vw - 40px));min-height:250px;border-radius:30px;border:1px solid rgba(255,255,255,.14);background:rgba(15,23,42,.74);box-shadow:0 40px 100px rgba(0,0,0,.46);backdrop-filter:blur(22px);display:grid;place-items:center;text-align:center;padding:32px;gap:14px;}
.cfm-room-boot-logo{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#14b8a6);font-weight:950;font-size:24px;box-shadow:0 18px 44px rgba(37,99,235,.45);}
.cfm-room-boot-lines{width:100%;display:grid;gap:10px;margin:8px 0 2px;}
.cfm-room-boot-lines span{height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.30),rgba(255,255,255,.10));background-size:220% 100%;animation:cfmBootShimmer 1.2s ease-in-out infinite;}
.cfm-room-boot-lines span:nth-child(1){width:78%;margin:auto;}.cfm-room-boot-lines span:nth-child(2){width:94%;margin:auto;}.cfm-room-boot-lines span:nth-child(3){width:62%;margin:auto;}
.cfm-room-boot-card strong{font-size:19px;}.cfm-room-boot-card small{color:#cbd5e1;font-weight:700;}
@keyframes cfmBootShimmer{0%{background-position:160% 0}100%{background-position:-160% 0}}

/* --------------------------------------------------------------------------
   v0.9.47 - Personal controls, resizable studio panel, compact timeline flow
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2 {
  --cfm-panel-width: 420px;
}
.cfm-panel-size-tools {
  position: absolute !important;
  top: 12px !important;
  right: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  z-index: 7 !important;
}
.cfm-panel-size-tools button {
  appearance: none !important;
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(148,163,184,.28) !important;
  background: rgba(255,255,255,.08) !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease !important;
}
.cfm-panel-size-tools button:hover { transform: translateY(-1px) !important; background: rgba(45,140,255,.18) !important; border-color: rgba(45,140,255,.42) !important; }
.cfm-panel-resize-handle {
  position: absolute !important;
  left: -5px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 10px !important;
  z-index: 6 !important;
  cursor: ew-resize !important;
}
.cfm-panel-resize-handle:before {
  content: '' !important;
  position: absolute !important;
  left: 4px !important;
  top: 50% !important;
  width: 3px !important;
  height: 52px !important;
  border-radius: 999px !important;
  transform: translateY(-50%) !important;
  background: rgba(148,163,184,.38) !important;
  opacity: .75 !important;
  transition: background .18s ease, opacity .18s ease, height .18s ease !important;
}
.cfm-panel-resize-handle:hover:before,
body.cfm-panel-resizing .cfm-panel-resize-handle:before { background: #2d8cff !important; opacity: 1 !important; height: 76px !important; }
body.cfm-panel-resizing { cursor: ew-resize !important; user-select: none !important; }

.cfm-host-room.cfm-zoom-v2 .cfm-flow-control-card > .cfm-flow-actions {
  display: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-flow-control-card .cfm-card-head {
  margin-bottom: 10px !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-instructor-guidance.cfm-guidance-box {
  padding: 12px 14px !important;
  margin: 0 0 12px !important;
  border-radius: 16px !important;
  min-height: auto !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-instructor-guidance.cfm-guidance-box b {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-instructor-guidance.cfm-guidance-box p {
  font-size: 12px !important;
  margin-top: 4px !important;
}
.cfm-session-flow-list {
  display: grid !important;
  gap: 10px !important;
}
.cfm-flow-progress-line {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 11px !important;
  border-radius: 14px !important;
  background: rgba(45,140,255,.10) !important;
  border: 1px solid rgba(45,140,255,.20) !important;
  color: inherit !important;
}
.cfm-flow-progress-line strong { font-size: 14px !important; }
.cfm-flow-progress-line span,
.cfm-flow-progress-line em { font-size: 11px !important; font-style: normal !important; opacity: .78 !important; }
.cfm-flow-progress-line em { margin-left: auto !important; font-weight: 800 !important; }
.cfm-flow-step-card {
  display: grid !important;
  gap: 8px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.cfm-flow-step-card:hover { transform: translateY(-1px) !important; border-color: rgba(45,140,255,.45) !important; }
.cfm-flow-step-card.is-active {
  border-color: rgba(45,140,255,.75) !important;
  background: linear-gradient(135deg, rgba(45,140,255,.18), rgba(45,140,255,.06)) !important;
  box-shadow: 0 16px 38px rgba(45,140,255,.14) !important;
}
.cfm-flow-step-card.is-complete {
  border-color: rgba(34,197,94,.36) !important;
  background: linear-gradient(135deg, rgba(34,197,94,.13), rgba(255,255,255,.035)) !important;
}
.cfm-flow-step-main {
  appearance: none !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.cfm-flow-step-main .cfm-flow-number,
.cfm-flow-number {
  width: 34px !important;
  height: 34px !important;
  border-radius: 13px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(45,140,255,.16) !important;
  color: #2d8cff !important;
  font-weight: 900 !important;
  font-size: 13px !important;
}
.cfm-flow-copy { min-width: 0 !important; display:grid !important; gap:2px !important; }
.cfm-flow-copy b { font-size: 14px !important; line-height: 1.2 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.cfm-flow-copy small { font-size: 11px !important; line-height: 1.25 !important; opacity: .72 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.cfm-flow-step-state {
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  background: rgba(148,163,184,.14) !important;
  color: inherit !important;
}
.cfm-flow-chip-row { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; padding-left: 46px !important; }
.cfm-flow-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: rgba(148,163,184,.14) !important;
  color: inherit !important;
  font-size: 10px !important;
  font-weight: 850 !important;
}
.cfm-flow-chip.is-done { background: rgba(34,197,94,.16) !important; color: #16a34a !important; }
.cfm-flow-chip.is-live { background: rgba(45,140,255,.18) !important; color: #2d8cff !important; }
.cfm-flow-chip.is-muted { opacity: .58 !important; }
.cfm-flow-card-actions {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.cfm-mini-flow-btn {
  appearance: none !important;
  min-height: 34px !important;
  padding: 7px 8px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  background: rgba(255,255,255,.07) !important;
  color: inherit !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, opacity .15s ease !important;
}
.cfm-mini-flow-btn:hover:not(:disabled) { transform: translateY(-1px) !important; background: rgba(45,140,255,.16) !important; border-color: rgba(45,140,255,.38) !important; }
.cfm-mini-flow-btn:disabled { opacity: .42 !important; cursor: not-allowed !important; }
.cfm-mini-flow-btn.is-primary { background: linear-gradient(135deg,#2d8cff,#12b7d7) !important; border-color: transparent !important; color: #fff !important; }
.cfm-mini-flow-btn.is-danger { color: #ff5c75 !important; }
.cfm-flow-step-card.is-static { opacity: .75 !important; }
.cfm-flow-step-card.is-static .cfm-flow-step-main { cursor: default !important; }

body.cfm-light-mode .cfm-flow-step-card,
.cfm-host-room.cfm-light-mode .cfm-flow-step-card {
  background: #fff !important;
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}
body.cfm-light-mode .cfm-mini-flow-btn,
.cfm-host-room.cfm-light-mode .cfm-mini-flow-btn {
  background: #f8fafc !important;
  color: #111827 !important;
  border-color: rgba(15,23,42,.10) !important;
}
body.cfm-light-mode .cfm-mini-flow-btn.is-primary,
.cfm-host-room.cfm-light-mode .cfm-mini-flow-btn.is-primary { color: #fff !important; }

.cfm-ws-personal-controls {
  margin: 12px 0 !important;
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(117,21,33,.06) !important;
  border: 1px solid rgba(117,21,33,.14) !important;
}
.cfm-ws-personal-controls small { display:block !important; margin-bottom:8px !important; color:#64748b !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.06em !important; }
.cfm-ws-personal-controls div { display:flex !important; flex-wrap:wrap !important; gap:6px !important; }
.cfm-ws-personal-controls span { border-radius:999px !important; padding:5px 8px !important; font-size:11px !important; font-weight:850 !important; background:#f1f5f9 !important; color:#64748b !important; }
.cfm-ws-personal-controls span.is-on { background:rgba(34,197,94,.12) !important; color:#15803d !important; }
.cfm-ws-personal-controls span.is-off { background:rgba(239,68,68,.10) !important; color:#b91c1c !important; text-decoration: line-through !important; }

@media (max-width: 1240px) {
  .cfm-flow-card-actions { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 980px) {
  .cfm-panel-resize-handle,
  .cfm-panel-size-tools { display: none !important; }
  .cfm-flow-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* v0.9.48: cleaner drag-only studio resize + auto-focused flow timeline */
.cfm-host-room.cfm-zoom-v2 .cfm-panel-size-tools {
  display: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle {
  left: -14px !important;
  top: 72px !important;
  bottom: 72px !important;
  width: 28px !important;
  z-index: 25 !important;
  cursor: ew-resize !important;
  touch-action: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before {
  left: 10px !important;
  width: 4px !important;
  height: 78px !important;
  background: rgba(148,163,184,.26) !important;
  opacity: .35 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  content: '↔' !important;
  position: absolute !important;
  left: -2px !important;
  top: 50% !important;
  width: 28px !important;
  height: 44px !important;
  transform: translateY(-50%) scale(.92) !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: linear-gradient(135deg,#2d8cff,#12b7d7) !important;
  box-shadow: 0 16px 36px rgba(45,140,255,.30) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel:hover .cfm-panel-resize-handle:before,
body.cfm-panel-resizing .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before {
  opacity: 1 !important;
  background: #2d8cff !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel:hover .cfm-panel-resize-handle:after,
body.cfm-panel-resizing .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  opacity: 1 !important;
  transform: translateY(-50%) scale(1) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-light-mode .cfm-studio-panel .cfm-panel-resize-handle:after,
body.cfm-light-mode .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  color: #fff !important;
}

.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-studio-body {
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-control-card.cfm-studio-tab-panel.is-active {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-control-card > .cfm-card-head,
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active #cfm-instructor-guidance {
  flex: 0 0 auto !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-control-card .cfm-list-block {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-control-card .cfm-list-title {
  flex: 0 0 auto !important;
  padding-bottom: 8px !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active #cfm-session-flow-list.cfm-session-flow-list {
  flex: 1 1 auto !important;
  min-height: 220px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 0 6px 10px 0 !important;
  scroll-behavior: smooth !important;
  scrollbar-gutter: stable !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active #cfm-session-flow-list::-webkit-scrollbar {
  width: 8px !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active #cfm-session-flow-list::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(148,163,184,.38) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-progress-line {
  position: sticky !important;
  top: 0 !important;
  z-index: 8 !important;
  backdrop-filter: blur(14px) !important;
  background: linear-gradient(135deg, rgba(239,246,255,.96), rgba(255,255,255,.92)) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode.cfm-flow-tab-active .cfm-flow-progress-line,
body:not(.cfm-light-mode) .cfm-host-room.cfm-zoom-v2.cfm-flow-tab-active .cfm-flow-progress-line {
  background: linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.92)) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-flow-card-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-mini-flow-btn {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: hidden !important;
}
.cfm-flow-step-card.is-autofocus {
  outline: 3px solid rgba(45,140,255,.20) !important;
  animation: cfmFlowFocusPulse 1.1s ease-out 1 !important;
}
@keyframes cfmFlowFocusPulse {
  0% { box-shadow: 0 0 0 0 rgba(45,140,255,.36), 0 16px 38px rgba(45,140,255,.14); }
  100% { box-shadow: 0 0 0 18px rgba(45,140,255,0), 0 16px 38px rgba(45,140,255,.14); }
}
@media (max-width: 980px) {
  .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle { display: none !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-flow-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* v0.9.49: easier side-panel resize grip + admin personal room controls */
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle {
  left: -34px !important;
  top: 92px !important;
  bottom: 92px !important;
  width: 52px !important;
  z-index: 60 !important;
  cursor: ew-resize !important;
  touch-action: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before {
  content: '' !important;
  position: absolute !important;
  left: 25px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  height: auto !important;
  transform: none !important;
  border-radius: 999px !important;
  background: rgba(45,140,255,.35) !important;
  opacity: .65 !important;
  transition: background .18s ease, opacity .18s ease, width .18s ease !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  content: 'Drag' !important;
  position: absolute !important;
  left: 2px !important;
  top: 50% !important;
  width: 48px !important;
  height: 78px !important;
  transform: translateY(-50%) !important;
  border-radius: 0 999px 999px 0 !important;
  display: grid !important;
  place-items: center !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  letter-spacing: .08em !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: linear-gradient(135deg,#2d8cff,#12b7d7) !important;
  box-shadow: 0 16px 36px rgba(45,140,255,.30) !important;
  opacity: .92 !important;
  pointer-events: none !important;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:hover:before,
body.cfm-panel-resizing .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before {
  opacity: 1 !important;
  width: 6px !important;
  background: #2d8cff !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:hover:after,
body.cfm-panel-resizing .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  transform: translateY(-50%) translateX(-3px) !important;
  opacity: 1 !important;
  box-shadow: 0 18px 42px rgba(45,140,255,.42) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle .cfm-resize-tip,
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:hover .cfm-resize-tip { display:none !important; }
.cfm-admin-personal-controls .cfm-admin-control-grid {
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap:8px 14px !important;
}
@media (max-width: 782px) {
  .cfm-admin-personal-controls .cfm-admin-control-grid { grid-template-columns:1fr !important; }
}
@media (max-width: 980px) {
  .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle { display: none !important; }
}

/* v0.9.50: easy visible resize rail + LiveKit-only live participant clarity */
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle {
  display: block !important;
  position: absolute !important;
  left: -70px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 86px !important;
  z-index: 2147482500 !important;
  cursor: col-resize !important;
  pointer-events: auto !important;
  touch-action: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before {
  content: '' !important;
  position: absolute !important;
  right: 18px !important;
  left: auto !important;
  top: 10px !important;
  bottom: 10px !important;
  width: 6px !important;
  height: auto !important;
  transform: none !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(45,140,255,.95), rgba(18,183,215,.95)) !important;
  opacity: .95 !important;
  box-shadow: 0 0 0 4px rgba(45,140,255,.12), 0 18px 50px rgba(45,140,255,.22) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  content: '↔ Resize' !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  width: 64px !important;
  height: 126px !important;
  transform: translateY(-50%) !important;
  border-radius: 22px 0 0 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  letter-spacing: .04em !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  color: #fff !important;
  background: linear-gradient(135deg,#2d8cff,#12b7d7) !important;
  box-shadow: 0 18px 44px rgba(45,140,255,.34) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:hover:after,
body.cfm-panel-resizing .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after {
  transform: translateY(-50%) translateX(-5px) !important;
  box-shadow: 0 22px 56px rgba(45,140,255,.48) !important;
}
body.cfm-panel-resizing .cfm-studio-panel,
body.cfm-panel-resizing .cfm-meeting-shell {
  user-select: none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel .cfm-user-list li small,
.cfm-host-room.cfm-zoom-v2 .cfm-side-panel .cfm-action-list li small {
  white-space: nowrap !important;
}
@media (max-width: 980px) {
  .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle { display: none !important; }
}

/* v0.9.51: screen-share green frame, full-app fullscreen, light-mode flow polish */
body.cfm-screen-share-active::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  pointer-events: none !important;
  border: 7px solid #22c55e !important;
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 3px rgba(34,197,94,.22), 0 0 0 9999px rgba(34,197,94,.025) !important;
  animation: cfmScreenSharePulse 1.7s ease-in-out infinite !important;
}
body.cfm-screen-share-active::after {
  content: 'Screen sharing' !important;
  position: fixed !important;
  top: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2147483001 !important;
  pointer-events: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px 8px 28px !important;
  border-radius: 999px !important;
  background: #16a34a !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 18px 40px rgba(22,163,74,.34) !important;
}
@keyframes cfmScreenSharePulse {
  0%, 100% { border-color:#22c55e; }
  50% { border-color:#86efac; }
}
.cfm-room.cfm-screen-share-active .cfm-stage-top::before {
  content: '● Sharing screen' !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(34,197,94,.14) !important;
  color: #16a34a !important;
  border: 1px solid rgba(34,197,94,.35) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  margin-right: auto !important;
}
.cfm-bottom-command.is-screen-sharing,
.cfm-zoom-command.is-screen-sharing,
#cfm-screen-btn.is-screen-sharing {
  background: linear-gradient(135deg,#16a34a,#22c55e) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 16px 36px rgba(34,197,94,.28) !important;
}
.cfm-bottom-command.is-screen-sharing .cfm-icon-wrap,
.cfm-zoom-command.is-screen-sharing .cfm-icon-wrap,
#cfm-screen-btn.is-screen-sharing .cfm-icon-wrap {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

body.cfm-app-fullscreen-active .cfm-room:fullscreen,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  background: inherit !important;
}
body.cfm-app-fullscreen-active .cfm-room:fullscreen .cfm-host-shell,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen .cfm-host-shell {
  height: calc(100vh - 160px) !important;
}
body.cfm-app-fullscreen-active .cfm-room:fullscreen .cfm-bottom-media-dock,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen .cfm-bottom-media-dock {
  position: fixed !important;
  left: 50% !important;
  bottom: 16px !important;
  transform: translateX(-50%) !important;
  z-index: 9999 !important;
}

.cfm-host-room.cfm-light-mode.cfm-flow-tab-active .cfm-flow-progress-line,
.cfm-room.cfm-light-mode .cfm-flow-progress-line {
  background: linear-gradient(135deg,#eff6ff,#ffffff) !important;
  color: #0f172a !important;
  border-color: rgba(37,99,235,.22) !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-step-card.is-complete,
.cfm-room.cfm-light-mode .cfm-flow-step-card.is-complete {
  background: linear-gradient(135deg, rgba(34,197,94,.14), #ffffff) !important;
  border-color: rgba(22,163,74,.38) !important;
  box-shadow: 0 14px 32px rgba(22,163,74,.10) !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-step-card.is-active,
.cfm-room.cfm-light-mode .cfm-flow-step-card.is-active {
  background: linear-gradient(135deg,#eff6ff,#ffffff) !important;
  border-color: rgba(37,99,235,.48) !important;
  box-shadow: 0 14px 34px rgba(37,99,235,.12) !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-copy b,
.cfm-room.cfm-light-mode .cfm-flow-copy b,
.cfm-host-room.cfm-light-mode .cfm-mini-flow-btn,
.cfm-room.cfm-light-mode .cfm-mini-flow-btn,
.cfm-host-room.cfm-light-mode .cfm-flow-step-state,
.cfm-room.cfm-light-mode .cfm-flow-step-state {
  color: #0f172a !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-copy small,
.cfm-room.cfm-light-mode .cfm-flow-copy small {
  color: #64748b !important;
  opacity: 1 !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-chip.is-done,
.cfm-room.cfm-light-mode .cfm-flow-chip.is-done {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid rgba(22,163,74,.20) !important;
}
.cfm-host-room.cfm-light-mode .cfm-flow-chip.is-live,
.cfm-room.cfm-light-mode .cfm-flow-chip.is-live {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}
.cfm-host-room.cfm-light-mode .cfm-mini-flow-btn,
.cfm-room.cfm-light-mode .cfm-mini-flow-btn {
  background: #ffffff !important;
  border-color: rgba(15,23,42,.12) !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.05) !important;
}
.cfm-host-room.cfm-light-mode .cfm-mini-flow-btn.is-primary,
.cfm-room.cfm-light-mode .cfm-mini-flow-btn.is-primary {
  color: #fff !important;
  background: linear-gradient(135deg,#2563eb,#06b6d4) !important;
}
.cfm-host-room.cfm-light-mode .cfm-guidance-box,
.cfm-room.cfm-light-mode .cfm-guidance-box {
  background: linear-gradient(135deg,#eff6ff,#ffffff) !important;
  border-color: rgba(37,99,235,.28) !important;
  color: #0f172a !important;
}
.cfm-host-room.cfm-light-mode .cfm-guidance-box b,
.cfm-room.cfm-light-mode .cfm-guidance-box b {
  color:#0f172a !important;
}
.cfm-host-room.cfm-light-mode .cfm-guidance-box p,
.cfm-room.cfm-light-mode .cfm-guidance-box p {
  color:#475569 !important;
}


/* v0.9.52 — Zoom-style fullscreen dock, layout switcher, and camera tile layouts */
.cfm-layout-menu {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px !important;
  border-radius: 12px !important;
  background: rgba(15,23,42,.06) !important;
  border: 1px solid rgba(148,163,184,.22) !important;
  max-width: min(560px, 48vw) !important;
  overflow-x: auto !important;
}
.cfm-layout-menu > span {
  padding: 0 7px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.cfm-layout-option {
  border: 0 !important;
  border-radius: 9px !important;
  padding: 7px 9px !important;
  background: transparent !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.cfm-layout-option:hover,
.cfm-layout-option.is-active {
  background: #2563eb !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(37,99,235,.24) !important;
}
.cfm-room.cfm-dark-mode .cfm-layout-menu,
.cfm-room.cfm-theme-dark .cfm-layout-menu {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.16) !important;
}
.cfm-room.cfm-dark-mode .cfm-layout-menu > span,
.cfm-room.cfm-theme-dark .cfm-layout-menu > span { color: rgba(226,232,240,.74) !important; }
.cfm-room.cfm-dark-mode .cfm-layout-option,
.cfm-room.cfm-theme-dark .cfm-layout-option { color: #e2e8f0 !important; }
.cfm-more-layout-group {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: rgba(15,23,42,.06) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
}
.cfm-more-layout-group > b { grid-column: 1 / -1 !important; font-size: 12px !important; color: #64748b !important; }
.cfm-more-layout-group button { min-height: 34px !important; border-radius: 10px !important; padding: 8px 10px !important; }

body.cfm-app-fullscreen-active .cfm-floating-bottom-dock,
body.cfm-app-fullscreen-active .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen,
.cfm-room:fullscreen .cfm-floating-bottom-dock,
.cfm-room:-webkit-full-screen .cfm-floating-bottom-dock {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: var(--cfm-dock-height, 78px) !important;
  min-height: var(--cfm-dock-height, 78px) !important;
  max-height: var(--cfm-dock-height, 78px) !important;
  z-index: 2147483647 !important;
  transform: none !important;
}
body.cfm-app-fullscreen-active .cfm-room:fullscreen,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen {
  --cfm-header-height: 58px;
  --cfm-dock-height: 78px;
  padding-bottom: var(--cfm-dock-height, 78px) !important;
}
body.cfm-app-fullscreen-active .cfm-room:fullscreen .cfm-host-shell,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen .cfm-host-shell {
  height: calc(100dvh - var(--cfm-header-height,58px) - var(--cfm-dock-height,78px)) !important;
  max-height: calc(100dvh - var(--cfm-header-height,58px) - var(--cfm-dock-height,78px)) !important;
  padding-bottom: 0 !important;
}
body.cfm-app-fullscreen-active .cfm-room:fullscreen .cfm-main-stage,
body.cfm-app-fullscreen-active .cfm-room:-webkit-full-screen .cfm-main-stage {
  height: calc(100dvh - var(--cfm-header-height,58px) - var(--cfm-dock-height,78px) - 58px) !important;
  max-height: calc(100dvh - var(--cfm-header-height,58px) - var(--cfm-dock-height,78px) - 58px) !important;
}

.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card { position: relative !important; overflow: hidden !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-screen-sharing:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap {
  display: block !important;
  position: absolute !important;
  z-index: 36 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  border: 1px solid rgba(148,163,184,.24) !important;
  background: rgba(2,6,23,.72) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 18px 55px rgba(2,6,23,.35) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-filmstrip:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-layout-speaker:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap {
  right: 14px !important;
  top: 72px !important;
  bottom: 18px !important;
  width: clamp(176px, 18vw, 260px) !important;
  max-height: none !important;
  padding: 9px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-zoom-v2.cfm-layout-speaker .cfm-video-grid.cfm-filmstrip {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: minmax(94px, 132px) !important;
  gap: 8px !important;
  max-height: calc(100% - 24px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap {
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  top: auto !important;
  width: min(720px, calc(100% - 40px)) !important;
  max-height: min(36vh, 310px) !important;
  transform: translateX(-50%) !important;
  padding: 10px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-grid .cfm-video-grid.cfm-filmstrip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  grid-auto-rows: minmax(94px, 138px) !important;
  gap: 9px !important;
  max-height: calc(100% - 22px) !important;
  overflow: auto !important;
  padding: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap {
  right: 18px !important;
  top: 76px !important;
  bottom: auto !important;
  width: auto !important;
  max-width: min(620px, calc(100% - 36px)) !important;
  padding: 8px !important;
  border-radius: 999px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-filmstrip-title { display:none !important; }
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-video-grid.cfm-filmstrip {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: max-content !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-video-grid.cfm-filmstrip .cfm-video-tile {
  width: 132px !important;
  min-width: 132px !important;
  height: 82px !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile {
  min-height: 86px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #020617 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.30) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-title {
  margin: 0 0 7px !important;
  color: rgba(226,232,240,.82) !important;
  font-size: 10px !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-sharing .cfm-floating-self {
  z-index: 40 !important;
  right: auto !important;
  left: 18px !important;
  bottom: 18px !important;
  width: clamp(150px, 15vw, 220px) !important;
  height: clamp(94px, 10vw, 136px) !important;
  border: 2px solid rgba(34,197,94,.62) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-sharing .cfm-screen-wrap video,
.cfm-host-room.cfm-zoom-v2.cfm-screen-sharing .cfm-screen-wrap canvas {
  object-fit: contain !important;
  background: #020617 !important;
}
@media (max-width: 920px) {
  .cfm-layout-menu { max-width: 100% !important; order: 6 !important; }
  .cfm-host-room.cfm-zoom-v2.cfm-layout-filmstrip:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap,
  .cfm-host-room.cfm-zoom-v2.cfm-layout-speaker:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap,
  .cfm-host-room.cfm-zoom-v2.cfm-layout-floating:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap {
    left: 10px !important;
    right: 10px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    max-height: 170px !important;
    border-radius: 18px !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile {
    min-width: 132px !important;
    width: 132px !important;
    height: 88px !important;
  }
}


/* v0.9.53 — Camera grid pagination + layout dropdown hard fix */
.cfm-layout-dropdown{
  position:relative !important;
  overflow:visible !important;
  max-width:none !important;
}
.cfm-layout-dropdown-panel[hidden],
#cfm-layout-dropdown-panel[hidden]{
  display:none !important;
}
.cfm-layout-dropdown-panel{
  position:absolute !important;
  top:calc(100% + 8px) !important;
  right:0 !important;
  z-index:2147482000 !important;
  min-width:190px !important;
  display:grid !important;
  gap:7px !important;
  padding:8px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(148,163,184,.28) !important;
  box-shadow:0 22px 55px rgba(15,23,42,.20) !important;
  backdrop-filter:blur(16px) !important;
}
.cfm-room.cfm-dark-mode .cfm-layout-dropdown-panel,
.cfm-room.cfm-theme-dark .cfm-layout-dropdown-panel{
  background:rgba(15,23,42,.96) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.cfm-layout-dropdown-panel .cfm-layout-option{
  width:100% !important;
  text-align:left !important;
  border:1px solid transparent !important;
  border-radius:12px !important;
  padding:10px 12px !important;
  color:#0f172a !important;
}
.cfm-room.cfm-dark-mode .cfm-layout-dropdown-panel .cfm-layout-option,
.cfm-room.cfm-theme-dark .cfm-layout-dropdown-panel .cfm-layout-option{ color:#e2e8f0 !important; }
.cfm-layout-toggle{
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-weight:900 !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:7px 9px !important;
  border-radius:10px !important;
}
.cfm-layout-toggle:hover{ background:rgba(148,163,184,.16) !important; }
.cfm-layout-toggle-kicker{ font-size:10px !important; letter-spacing:.09em !important; text-transform:uppercase !important; color:#64748b !important; }

.cfm-camera-layout-fab{
  position:absolute !important;
  right:18px !important;
  bottom:18px !important;
  z-index:45 !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:6px !important;
  border-radius:999px !important;
  border:1px solid rgba(148,163,184,.24) !important;
  background:rgba(15,23,42,.72) !important;
  box-shadow:0 18px 48px rgba(2,6,23,.34) !important;
  backdrop-filter:blur(16px) !important;
}
.cfm-camera-layout-fab span{ color:rgba(226,232,240,.78) !important; font-size:11px !important; font-weight:900 !important; padding:0 6px !important; text-transform:uppercase !important; letter-spacing:.08em !important; }
.cfm-camera-layout-fab button{
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  color:#e5edff !important;
  font-size:12px !important;
  font-weight:900 !important;
  padding:8px 10px !important;
  cursor:pointer !important;
}
.cfm-camera-layout-fab button.is-active{ background:#2563eb !important; color:#fff !important; }
.cfm-host-room.cfm-screen-share-active .cfm-camera-layout-fab{ display:none !important; }

.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-main-stage{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex:none !important;
  margin:0 0 10px !important;
  color:rgba(226,232,240,.84) !important;
  font-size:11px !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:grid !important;
  gap:12px !important;
  max-height:none !important;
  height:100% !important;
  overflow:hidden !important;
  padding:0 !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="1"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:1fr !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:repeat(2,minmax(0,1fr)) !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-template-rows:repeat(2,minmax(0,1fr)) !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  border-radius:18px !important;
  box-shadow:0 18px 52px rgba(0,0,0,.26) !important;
}
.cfm-video-grid.cfm-filmstrip .cfm-video-tile.cfm-tile-page-hidden{
  display:none !important;
}
.cfm-filmstrip-nav{
  display:none !important;
  position:absolute !important;
  right:16px !important;
  top:14px !important;
  z-index:50 !important;
  align-items:center !important;
  gap:7px !important;
}
.cfm-host-room.cfm-many-camera-tiles .cfm-filmstrip-nav{ display:flex !important; }
.cfm-filmstrip-nav button{
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.78) !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:900 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}
.cfm-filmstrip-nav .cfm-camera-page-label{
  min-width:34px !important;
  text-align:center !important;
  color:#e5edff !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.cfm-host-room:not(.cfm-camera-page-has-prev) .cfm-filmstrip-prev,
.cfm-host-room:not(.cfm-camera-page-has-next) .cfm-filmstrip-next{
  opacity:.42 !important;
}
body.cfm-app-fullscreen-active .cfm-layout-dropdown-panel{ display:none !important; }
body.cfm-app-fullscreen-active .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  height:calc(100dvh - var(--cfm-header-height,58px) - var(--cfm-dock-height,78px) - 4px) !important;
}
@media (max-width: 920px){
  .cfm-camera-layout-fab{ left:12px !important; right:12px !important; bottom:12px !important; overflow-x:auto !important; border-radius:18px !important; }
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{
    grid-template-columns:1fr !important;
    grid-auto-rows:minmax(140px,1fr) !important;
    overflow:auto !important;
  }
}


/* v0.9.54 — True Zoom-style camera layouts, single layout menu, fullscreen dock fix */
.cfm-host-room.cfm-zoom-v2 .cfm-layout-menu #cfm-current-layout-label{
  display:none !important;
}
#cfm-camera-layout-fab{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-layout-menu{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  width:auto !important;
  max-width:none !important;
  padding:5px !important;
  border-radius:14px !important;
  background:rgba(15,23,42,.06) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  overflow:visible !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-layout-option{
  min-height:34px !important;
  padding:8px 12px !important;
  border-radius:10px !important;
  border:0 !important;
  background:transparent !important;
  color:#475569 !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-layout-option.is-active{
  background:#2563eb !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(37,99,235,.22) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-layout-menu,
.cfm-host-room.cfm-zoom-v2.cfm-theme-dark .cfm-layout-menu{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.12) !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-dark-mode .cfm-layout-option,
.cfm-host-room.cfm-zoom-v2.cfm-theme-dark .cfm-layout-option{ color:#dbeafe !important; }

/* Camera-only Grid: use the entire stage, not a white lower strip. */
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-host-stage-card{
  display:flex !important;
  flex-direction:column !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-main-stage{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid.cfm-filmstrip-empty .cfm-filmstrip-wrap{
  display:flex !important;
  flex:1 1 auto !important;
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#050914 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-filmstrip-title{
  position:absolute !important;
  left:20px !important;
  top:14px !important;
  z-index:3 !important;
  margin:0 !important;
  color:rgba(226,232,240,.76) !important;
  pointer-events:none !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip{
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  gap:14px !important;
  padding:22px 0 0 !important;
  margin:0 !important;
  overflow:hidden !important;
  max-height:none !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="0"] .cfm-video-grid.cfm-filmstrip{ display:none !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="1"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:1fr !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-template-rows:1fr !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:repeat(2,minmax(0,1fr)) !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-template-rows:repeat(2,minmax(0,1fr)) !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-height:none !important;
  border-radius:18px !important;
  background:#000 !important;
  box-shadow:0 18px 54px rgba(0,0,0,.38) !important;
  display:block !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile.cfm-tile-page-hidden{
  display:none !important;
}

/* Speaker: one camera fills the stage, thumbnails stay in a left Zoom-style rail. */
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-speaker .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip .cfm-host-stage-card,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-floating .cfm-host-stage-card{
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-speaker .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-floating .cfm-main-stage{
  display:block !important;
  height:100% !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker,
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker video,
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker canvas{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-speaker:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:18px !important;
  top:78px !important;
  bottom:20px !important;
  right:auto !important;
  width:260px !important;
  max-width:260px !important;
  transform:none !important;
  padding:10px !important;
  border-radius:18px !important;
  background:rgba(15,18,35,.86) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-speaker .cfm-video-grid.cfm-filmstrip{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-rows:105px !important;
  gap:10px !important;
  max-height:calc(100% - 28px) !important;
  overflow:auto !important;
}

/* Filmstrip: thumbnail rail at the bottom, main camera above. */
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  width:min(900px, calc(100% - 44px)) !important;
  max-width:none !important;
  height:138px !important;
  max-height:138px !important;
  transform:translateX(-50%) !important;
  padding:8px !important;
  border-radius:20px !important;
  background:rgba(15,18,35,.82) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip .cfm-filmstrip-title{ display:none !important; }
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip{
  display:flex !important;
  gap:10px !important;
  height:100% !important;
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:188px !important;
  min-width:188px !important;
  height:100% !important;
}

/* Floating: the thumbnail bar is draggable. */
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:18px !important;
  top:86px !important;
  right:auto !important;
  bottom:auto !important;
  width:auto !important;
  max-width:min(760px, calc(100% - 36px)) !important;
  transform:none !important;
  padding:10px !important;
  border-radius:999px !important;
  background:rgba(15,18,35,.84) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  cursor:grab !important;
  overflow:auto hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-filmstrip-wrap.is-dragging{ cursor:grabbing !important; opacity:.94 !important; }
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-filmstrip-title{ display:none !important; }
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-video-grid.cfm-filmstrip{
  display:flex !important;
  gap:10px !important;
  width:max-content !important;
  height:96px !important;
  overflow:visible !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-layout-floating .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:170px !important;
  min-width:170px !important;
  height:96px !important;
}

/* Screen share always stays as the main focus; cameras become thumbnails. */
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-main-stage{
  display:block !important;
  background:#020617 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-screen-wrap video,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-screen-wrap canvas{
  object-fit:contain !important;
  background:#020617 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-filmstrip:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  width:min(900px, calc(100% - 44px)) !important;
  height:132px !important;
  max-height:132px !important;
  transform:translateX(-50%) !important;
  padding:8px !important;
  border-radius:20px !important;
  background:rgba(15,18,35,.82) !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-grid .cfm-filmstrip-title,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-filmstrip .cfm-filmstrip-title{ display:none !important; }
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-grid .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  height:100% !important;
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:184px !important;
  min-width:184px !important;
  height:100% !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active.cfm-layout-speaker:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  right:18px !important;
  left:auto !important;
  top:76px !important;
  bottom:18px !important;
  width:230px !important;
  transform:none !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(15,18,35,.82) !important;
}

/* Pagination arrows for >6 cameras. */
.cfm-host-room.cfm-many-camera-tiles .cfm-filmstrip-nav{ display:flex !important; }
.cfm-host-room.cfm-zoom-v2.cfm-layout-grid:not(.cfm-screen-share-active) .cfm-filmstrip-nav{
  right:20px !important;
  top:16px !important;
}

/* Fullscreen: keep header + full stage + complete bottom dock visible. */
.cfm-room:fullscreen,
.cfm-room:-webkit-full-screen{
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:#050914 !important;
  --cfm-header-height:58px;
  --cfm-dock-height:84px;
}
.cfm-room:fullscreen .cfm-app-header,
.cfm-room:-webkit-full-screen .cfm-app-header{
  flex:0 0 var(--cfm-header-height) !important;
  height:var(--cfm-header-height) !important;
  min-height:var(--cfm-header-height) !important;
}
.cfm-room:fullscreen .cfm-host-shell,
.cfm-room:-webkit-full-screen .cfm-host-shell{
  flex:1 1 auto !important;
  height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.cfm-room:fullscreen .cfm-bottom-command-bar,
.cfm-room:-webkit-full-screen .cfm-bottom-command-bar,
.cfm-room:fullscreen .cfm-bottom-media-dock,
.cfm-room:-webkit-full-screen .cfm-bottom-media-dock{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100vw !important;
  height:var(--cfm-dock-height) !important;
  min-height:var(--cfm-dock-height) !important;
  max-height:var(--cfm-dock-height) !important;
  padding:8px 26px calc(8px + env(safe-area-inset-bottom,0px)) !important;
  box-sizing:border-box !important;
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  z-index:2147483647 !important;
}
body.cfm-app-fullscreen-active .cfm-floating-bottom-dock{
  bottom:0 !important;
  height:84px !important;
  min-height:84px !important;
  max-height:84px !important;
  padding-bottom:8px !important;
  box-sizing:border-box !important;
}

@media (max-width: 920px){
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2:not(.cfm-screen-share-active).cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{
    grid-template-columns:1fr !important;
    grid-auto-rows:minmax(180px,1fr) !important;
    overflow:auto !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-layout-menu{ overflow-x:auto !important; max-width:46vw !important; }
  .cfm-host-room.cfm-zoom-v2 .cfm-layout-option{ padding:8px 10px !important; }
}

/* v0.9.55 — Zoom-like final layout reset: camera grid is the stage, no blank camera space, compact overlays, fullscreen dock fix */
.cfm-host-room.cfm-zoom-v2{
  --cfm-header-height:60px;
  --cfm-dock-height:82px;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-shell,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-host-shell{
  height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height:0 !important;
  max-height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#050914 !important;
  border-radius:0 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top{
  flex:0 0 54px !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  z-index:65 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  background:#050914 !important;
  overflow:hidden !important;
}

/* Camera-only grid: hide old main stage and make camera tiles fill all available meeting space. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-main-stage{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:flex !important;
  flex:1 1 auto !important;
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:16px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#050914 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:hidden !important;
  z-index:1 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid.cfm-filmstrip-empty .cfm-filmstrip-wrap{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid .cfm-filmstrip-title{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid .cfm-video-grid.cfm-filmstrip{
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  gap:12px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  max-height:none !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="1"] .cfm-video-grid.cfm-filmstrip{grid-template-columns:1fr !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip{grid-template-columns:repeat(3,minmax(0,1fr)) !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:repeat(2,minmax(0,1fr)) !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{grid-template-columns:repeat(3,minmax(0,1fr)) !important;grid-template-rows:repeat(2,minmax(0,1fr)) !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-height:none !important;
  border-radius:14px !important;
  display:block !important;
  background:#000 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile video,
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile canvas{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid.cfm-filmstrip .cfm-video-tile.cfm-tile-page-hidden{
  display:none !important;
}

/* Do not reserve a panel for blank/off cameras. */
.cfm-host-room.cfm-zoom-v2.cfm-filmstrip-empty .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-speaker .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-floating .cfm-filmstrip-wrap{
  display:none !important;
}

/* Speaker view: one large active camera, compact thumbnail rail only if there are other cameras. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-main-stage{
  display:block !important;
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker,
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker video,
.cfm-host-room.cfm-zoom-v2 .cfm-zoom-promoted-speaker canvas,
.cfm-host-room.cfm-zoom-v2 .cfm-camera-main-wrap,
.cfm-host-room.cfm-zoom-v2 .cfm-camera-main-wrap video,
.cfm-host-room.cfm-zoom-v2 .cfm-camera-main-wrap canvas{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:16px !important;
  top:72px !important;
  right:auto !important;
  bottom:auto !important;
  width:230px !important;
  height:auto !important;
  max-height:calc(100% - 104px) !important;
  padding:10px !important;
  border-radius:18px !important;
  background:rgba(17,24,39,.82) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.34) !important;
  overflow:auto !important;
  backdrop-filter:blur(16px) !important;
  z-index:36 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker .cfm-video-grid.cfm-filmstrip{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-rows:112px !important;
  gap:10px !important;
  padding:0 !important;
  margin:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Filmstrip view: large speaker + compact horizontal thumbnails, no tall empty strip. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:14px !important;
  width:min(780px, calc(100% - 32px)) !important;
  height:124px !important;
  max-height:124px !important;
  transform:translateX(-50%) !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(17,24,39,.78) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  overflow:hidden !important;
  z-index:36 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-filmstrip-title,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-filmstrip-title{display:none !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip{
  display:flex !important;
  gap:10px !important;
  height:100% !important;
  width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:184px !important;
  min-width:184px !important;
  height:100% !important;
}

/* Floating view: compact draggable thumbnail bar. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  left:16px !important;
  top:74px !important;
  right:auto !important;
  bottom:auto !important;
  width:auto !important;
  max-width:min(760px, calc(100% - 32px)) !important;
  height:auto !important;
  max-height:122px !important;
  padding:9px !important;
  border-radius:999px !important;
  background:rgba(17,24,39,.82) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  overflow:auto hidden !important;
  cursor:grab !important;
  z-index:42 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-filmstrip-wrap.is-dragging{cursor:grabbing !important;opacity:.94 !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-video-grid.cfm-filmstrip{
  display:flex !important;
  gap:10px !important;
  height:98px !important;
  width:max-content !important;
  overflow:visible !important;
  padding:0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-video-grid.cfm-filmstrip .cfm-video-tile{
  width:172px !important;
  min-width:172px !important;
  height:98px !important;
}

/* Screen share: shared screen always remains the main focus. Thumbnails are compact overlays only. */
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-main-stage{
  display:block !important;
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  background:#020617 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-screen-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-screen-wrap video,
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-screen-wrap canvas{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  background:#020617 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  display:block !important;
  position:absolute !important;
  right:16px !important;
  top:74px !important;
  left:auto !important;
  bottom:auto !important;
  width:220px !important;
  height:auto !important;
  max-height:calc(100% - 108px) !important;
  transform:none !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(17,24,39,.80) !important;
  border:1px solid rgba(148,163,184,.22) !important;
  overflow:auto !important;
  z-index:44 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-video-grid.cfm-filmstrip{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-rows:108px !important;
  gap:9px !important;
  overflow:visible !important;
  padding:0 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-screen-share-active .cfm-filmstrip-title{display:none !important;}

/* Pagination arrows for more than 6 participants. */
.cfm-host-room.cfm-zoom-v2.cfm-many-camera-tiles .cfm-filmstrip-nav{display:flex !important;}
.cfm-host-room.cfm-zoom-v2:not(.cfm-many-camera-tiles) .cfm-filmstrip-nav{display:none !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid .cfm-filmstrip-nav{
  right:22px !important;
  top:18px !important;
}

/* Fullscreen: dock is part of the fullscreen flex layout, not half-clipped at the browser bottom. */
.cfm-room:fullscreen,
.cfm-room:-webkit-full-screen{
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  background:#050914 !important;
}
.cfm-room:fullscreen .cfm-app-header,
.cfm-room:-webkit-full-screen .cfm-app-header{
  flex:0 0 var(--cfm-header-height) !important;
  height:var(--cfm-header-height) !important;
  min-height:var(--cfm-header-height) !important;
}
.cfm-room:fullscreen .cfm-host-shell,
.cfm-room:-webkit-full-screen .cfm-host-shell{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}
.cfm-room:fullscreen .cfm-floating-bottom-dock,
.cfm-room:-webkit-full-screen .cfm-floating-bottom-dock,
.cfm-room:fullscreen .cfm-bottom-command-bar,
.cfm-room:-webkit-full-screen .cfm-bottom-command-bar{
  position:relative !important;
  flex:0 0 var(--cfm-dock-height) !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:var(--cfm-dock-height) !important;
  min-height:var(--cfm-dock-height) !important;
  max-height:var(--cfm-dock-height) !important;
  padding:8px 24px calc(8px + env(safe-area-inset-bottom,0px)) !important;
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  z-index:2147483647 !important;
  box-sizing:border-box !important;
}
body.cfm-app-fullscreen-active .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen{
  position:relative !important;
  bottom:auto !important;
  height:var(--cfm-dock-height) !important;
  min-height:var(--cfm-dock-height) !important;
  max-height:var(--cfm-dock-height) !important;
}

@media (max-width:920px){
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="2"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="3"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="4"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="5"] .cfm-video-grid.cfm-filmstrip,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="6"] .cfm-video-grid.cfm-filmstrip{
    grid-template-columns:1fr !important;
    grid-auto-rows:minmax(180px,1fr) !important;
    overflow:auto !important;
  }
  .cfm-host-room.cfm-zoom-v2 .cfm-layout-menu{max-width:52vw !important;overflow-x:auto !important;}
}

/* --------------------------------------------------------------------------
   v0.9.56 — hard Zoom layout reset
   Fixes: true grid sizing, no self-camera black slot when camera is off,
   single remote camera fills the stage, and fullscreen dock no longer clips.
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2{
  --cfm-header-height:60px;
  --cfm-stage-top-height:0px;
  --cfm-dock-height:82px;
  background:#050914 !important;
}

/* The host stage uses the full remaining viewport between header and bottom dock. */
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2 .cfm-host-shell{
  height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  max-height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-studio-collapsed .cfm-host-shell{
  grid-template-columns:minmax(0,1fr) !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-stage-top{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  z-index:70 !important;
  pointer-events:auto !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-host-stage-card{
  position:relative !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  background:#050914 !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-main-stage,
.cfm-host-room.cfm-zoom-v2 #cfm-main-stage{
  position:relative !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  background:#050914 !important;
  overflow:hidden !important;
}

/* Hide the label in real meeting layouts; it was making the grid look like a separate panel. */
.cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-title{display:none !important;}

/* GRID VIEW = actual Zoom gallery stage. No old filmstrip sizing is allowed. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid:not(.cfm-filmstrip-empty) #cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-main-stage{
  display:none !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid:not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:flex !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#050914 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  z-index:1 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid #cfm-video-grid.cfm-video-grid.cfm-filmstrip{
  display:grid !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  flex:1 1 auto !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  place-items:stretch !important;
  background:#050914 !important;
  grid-auto-flow:row !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="1"] #cfm-video-grid{grid-template-columns:1fr !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="2"] #cfm-video-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="3"] #cfm-video-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;grid-template-rows:1fr !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="4"] #cfm-video-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:repeat(2,minmax(0,1fr)) !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="5"] #cfm-video-grid,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="6"] #cfm-video-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;grid-template-rows:repeat(2,minmax(0,1fr)) !important;}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid #cfm-video-grid > .cfm-video-tile{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  flex:initial !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  display:block !important;
  position:relative !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:12px !important;
  background:#000 !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid #cfm-video-grid > .cfm-video-tile > video,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid #cfm-video-grid > .cfm-video-tile > canvas{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2 #cfm-video-grid > .cfm-video-tile.cfm-tile-page-hidden{display:none !important;}

/* A camera that is explicitly muted/off must not reserve a black tile. */
.cfm-host-room.cfm-zoom-v2 #cfm-video-grid > .cfm-video-tile[data-cfm-camera-muted="1"]{display:none !important;}
.cfm-host-room.cfm-zoom-v2.cfm-local-camera-off #cfm-video-grid > .cfm-video-tile[data-cfm-local-self="1"]{display:none !important;}
.cfm-host-room.cfm-zoom-v2.cfm-local-camera-off #cfm-floating-self{display:none !important;}

/* Speaker/filmstrip/floating: the chosen active camera must fill the stage. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker #cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip #cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating #cfm-main-stage{
  display:block !important;
  height:100% !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage.is-camera-active,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-zoom-promoted-speaker,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-camera-main-wrap{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-zoom-promoted-speaker video,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-zoom-promoted-speaker canvas,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-camera-main-wrap video,
.cfm-host-room.cfm-zoom-v2 .cfm-screen-stage .cfm-camera-main-wrap canvas{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  background:#000 !important;
}

/* When only one real camera is active, no thumbnail strip is needed. */
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-speaker .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-floating .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-filmstrip-empty .cfm-filmstrip-wrap{
  display:none !important;
}

/* Compact thumbnail overlays only for secondary cameras. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  position:absolute !important;
  left:16px !important;
  top:70px !important;
  width:218px !important;
  max-height:calc(100% - 92px) !important;
  display:block !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(15,23,42,.72) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  overflow:auto !important;
  z-index:50 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker #cfm-video-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-rows:108px !important;
  gap:8px !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker #cfm-video-grid > .cfm-video-tile,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip #cfm-video-grid > .cfm-video-tile,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating #cfm-video-grid > .cfm-video-tile{
  position:relative !important;
  min-width:160px !important;
  height:96px !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker #cfm-video-grid > .cfm-video-tile > video,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip #cfm-video-grid > .cfm-video-tile > video,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating #cfm-video-grid > .cfm-video-tile > video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  position:absolute !important;
  left:50% !important;
  bottom:14px !important;
  top:auto !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(760px,calc(100% - 32px)) !important;
  height:118px !important;
  max-height:118px !important;
  display:block !important;
  padding:8px !important;
  border-radius:18px !important;
  background:rgba(15,23,42,.72) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  overflow:hidden !important;
  z-index:50 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip #cfm-video-grid,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating #cfm-video-grid{
  display:flex !important;
  gap:8px !important;
  height:100% !important;
  width:max-content !important;
  overflow:visible !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating:not(.cfm-one-camera-tile):not(.cfm-filmstrip-empty) .cfm-filmstrip-wrap{
  position:absolute !important;
  left:16px !important;
  top:72px !important;
  bottom:auto !important;
  right:auto !important;
  transform:none !important;
  width:auto !important;
  max-width:min(720px,calc(100% - 32px)) !important;
  height:116px !important;
  max-height:116px !important;
  display:block !important;
  padding:9px !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.74) !important;
  border:1px solid rgba(148,163,184,.24) !important;
  overflow:auto hidden !important;
  cursor:grab !important;
  z-index:55 !important;
}

/* Fullscreen: dock is an actual flex row inside fullscreen, not fixed/half clipped. */
.cfm-room:fullscreen,
.cfm-room:-webkit-full-screen{
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:#050914 !important;
}
.cfm-room:fullscreen .cfm-host-shell,
.cfm-room:-webkit-full-screen .cfm-host-shell{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}
.cfm-room:fullscreen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen,
.cfm-room:-webkit-full-screen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen,
.cfm-room:fullscreen .cfm-bottom-media-dock.cfm-dock-inside-fullscreen,
.cfm-room:-webkit-full-screen .cfm-bottom-media-dock.cfm-dock-inside-fullscreen,
body.cfm-app-fullscreen-active .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  flex:0 0 var(--cfm-dock-height,82px) !important;
  order:999 !important;
  width:100% !important;
  height:var(--cfm-dock-height,82px) !important;
  min-height:var(--cfm-dock-height,82px) !important;
  max-height:var(--cfm-dock-height,82px) !important;
  margin:0 !important;
  padding:8px 24px !important;
  display:grid !important;
  overflow:visible !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.cfm-room:fullscreen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen .cfm-bottom-command,
.cfm-room:-webkit-full-screen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen .cfm-bottom-command{
  height:58px !important;
  min-height:58px !important;
}

@media (max-width:920px){
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="2"] #cfm-video-grid,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="3"] #cfm-video-grid,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="4"] #cfm-video-grid,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="5"] #cfm-video-grid,
  .cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-grid[data-cfm-visible-tile-count="6"] #cfm-video-grid{
    grid-template-columns:1fr !important;
    grid-auto-rows:minmax(180px,1fr) !important;
    overflow:auto !important;
  }
}

/* --------------------------------------------------------------------------
   v0.9.57 — final polish: stable non-grid camera promotion, clean More menu,
   and website fullscreen dock parity with browser F11.
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2{
  --cfm-header-height:60px;
  --cfm-dock-height:82px;
}

/* Keep only the top layout switcher; the duplicated layout block inside More was overlapping. */
.cfm-host-room.cfm-zoom-v2 .cfm-more-layout-group,
body.cfm-meeting-host-page .cfm-more-layout-group{
  display:none !important;
}

/* Do not show the internal "Camera tiles" title in the live Zoom-style stage. */
.cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-title,
body.cfm-meeting-host-page .cfm-filmstrip-title{
  display:none !important;
  visibility:hidden !important;
}

/* Website fullscreen should behave like F11: same fixed bottom dock, never half-clipped. */
.cfm-host-room.cfm-zoom-v2:fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen,
.cfm-room.cfm-host-room.cfm-zoom-v2:fullscreen,
.cfm-room.cfm-host-room.cfm-zoom-v2:-webkit-full-screen{
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  padding:0 0 var(--cfm-dock-height) 0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-host-shell,
.cfm-room.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-host-shell,
.cfm-room.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-host-shell{
  height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  max-height:calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  min-height:0 !important;
  flex:0 0 calc(100dvh - var(--cfm-header-height) - var(--cfm-dock-height)) !important;
  overflow:hidden !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-bottom-media-dock.cfm-dock-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-bottom-media-dock.cfm-dock-inside-fullscreen,
body.cfm-app-fullscreen-active .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100vw !important;
  height:var(--cfm-dock-height) !important;
  min-height:var(--cfm-dock-height) !important;
  max-height:var(--cfm-dock-height) !important;
  margin:0 !important;
  padding:8px 24px calc(8px + env(safe-area-inset-bottom,0px)) !important;
  display:grid !important;
  grid-template-columns:minmax(190px,1fr) auto minmax(110px,1fr) !important;
  align-items:center !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  transform:none !important;
  box-sizing:border-box !important;
  z-index:2147483647 !important;
}

/* In non-grid modes, the promoted active camera is the real stage; thumbnails stay compact only when there are 2+ real cameras. */
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker #cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip #cfm-main-stage,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating #cfm-main-stage{
  display:block !important;
  height:100% !important;
  min-height:0 !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-speaker .cfm-screen-stage.is-camera-active,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-screen-stage.is-camera-active,
.cfm-host-room.cfm-zoom-v2.cfm-camera-only-mode.cfm-layout-floating .cfm-screen-stage.is-camera-active{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  background:#000 !important;
}
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-speaker .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-filmstrip .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-one-camera-tile.cfm-camera-only-mode.cfm-layout-floating .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2.cfm-local-camera-off.cfm-one-camera-tile .cfm-filmstrip-wrap{
  display:none !important;
}

/* Active/off local camera should never leave a black self slot. */
.cfm-host-room.cfm-zoom-v2.cfm-local-camera-off #cfm-video-grid > .cfm-video-tile[data-cfm-local-self="1"],
.cfm-host-room.cfm-zoom-v2 #cfm-video-grid > .cfm-video-tile[data-cfm-camera-muted="1"],
.cfm-host-room.cfm-zoom-v2.cfm-local-camera-off #cfm-floating-self{
  display:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}


/* --------------------------------------------------------------------------
   v0.9.58 — fullscreen footer parity + fullscreen portal overlays
   Uses the exact same Zoom-style footer in normal and website fullscreen modes.
   Also keeps More/Chat popups inside the fullscreen DOM so Chrome can render them.
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2{
  --cfm-header-height:60px;
  --cfm-dock-height:82px;
}

/* Fullscreen target must reserve stage space above the same fixed footer. */
.cfm-host-room.cfm-zoom-v2:fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen,
.cfm-room.cfm-host-room.cfm-zoom-v2:fullscreen,
.cfm-room.cfm-host-room.cfm-zoom-v2:-webkit-full-screen{
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  padding:0 0 var(--cfm-dock-height,82px) 0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  display:block !important;
  background:#050914 !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-app-header,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-app-header{
  height:var(--cfm-header-height,60px) !important;
  min-height:var(--cfm-header-height,60px) !important;
  max-height:var(--cfm-header-height,60px) !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-host-shell,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-host-shell,
.cfm-room.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-host-shell,
.cfm-room.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-host-shell{
  height:calc(100dvh - var(--cfm-header-height,60px) - var(--cfm-dock-height,82px)) !important;
  min-height:0 !important;
  max-height:calc(100dvh - var(--cfm-header-height,60px) - var(--cfm-dock-height,82px)) !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}

/* Same footer CSS in normal and fullscreen. Do not create a second/footer variant. */
body.cfm-meeting-page .cfm-floating-bottom-dock,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-command-bar.cfm-floating-bottom-dock,
.cfm-host-room.cfm-zoom-v2 .cfm-bottom-media-dock.cfm-floating-bottom-dock,
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock.cfm-dock-inside-fullscreen,
.cfm-room.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen,
.cfm-room.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-bottom-command-bar.cfm-dock-inside-fullscreen{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:auto !important;
  bottom:0 !important;
  width:100vw !important;
  height:var(--cfm-dock-height,82px) !important;
  min-height:var(--cfm-dock-height,82px) !important;
  max-height:var(--cfm-dock-height,82px) !important;
  display:grid !important;
  grid-template-columns:minmax(180px,auto) minmax(0,1fr) minmax(76px,auto) !important;
  align-items:center !important;
  gap:14px !important;
  padding:8px clamp(10px,1.3vw,22px) !important;
  margin:0 !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
  z-index:2147483647 !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-left-group,
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-center-group,
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-right-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-left-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-center-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-right-group{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-left-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-left-group{justify-content:flex-start !important;}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-center-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-center-group{justify-content:center !important;max-width:100% !important;overflow:visible !important;}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-right-group,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-right-group{justify-content:flex-end !important;min-width:76px !important;}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-command,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-command{
  min-width:68px !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  display:inline-grid !important;
  place-items:center !important;
  padding:6px 9px !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
  visibility:visible !important;
  opacity:1 !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-command b,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-command b{
  font-size:12px !important;
  line-height:1 !important;
  display:block !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-command svg,
.cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-command .cfm-hi,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-command svg,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-command .cfm-hi{
  width:24px !important;
  height:24px !important;
}

/* Popups opened from the footer must be rendered inside the fullscreen element. */
.cfm-host-room.cfm-zoom-v2:fullscreen #cfm-more-menu.cfm-floating-more-menu.cfm-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen #cfm-more-menu.cfm-floating-more-menu.cfm-inside-fullscreen{
  position:fixed !important;
  z-index:2147483647 !important;
  max-height:calc(100dvh - var(--cfm-dock-height,82px) - var(--cfm-header-height,60px) - 20px) !important;
  overflow:auto !important;
}
.cfm-host-room.cfm-zoom-v2:fullscreen #cfm-chat-panel.cfm-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen #cfm-chat-panel.cfm-inside-fullscreen{
  position:fixed !important;
  top:calc(var(--cfm-header-height,60px) + 12px) !important;
  right:14px !important;
  bottom:calc(var(--cfm-dock-height,82px) + 14px) !important;
  z-index:2147483646 !important;
}

@media (max-width:1020px){
  .cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock,
  .cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock{
    grid-template-columns:auto 1fr auto !important;
  }
  .cfm-host-room.cfm-zoom-v2:fullscreen .cfm-floating-bottom-dock .cfm-bottom-command,
  .cfm-host-room.cfm-zoom-v2:-webkit-full-screen .cfm-floating-bottom-dock .cfm-bottom-command{
    min-width:58px !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }
}

.cfm-host-room.cfm-zoom-v2:fullscreen #cfm-reaction-menu.cfm-inside-fullscreen,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen #cfm-reaction-menu.cfm-inside-fullscreen{
  position:fixed !important;
  z-index:2147483647 !important;
}


/* --------------------------------------------------------------------------
   v0.9.59 — overlay stacking fix for camera grid / filmstrip modes
   Forms, host video playback, submission status, More, and Chat must always
   sit above camera tiles. Camera grids stay as the meeting stage only.
   -------------------------------------------------------------------------- */
.cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-wrap,
.cfm-host-room.cfm-zoom-v2 #cfm-video-grid,
.cfm-host-room.cfm-zoom-v2 .cfm-video-grid,
.cfm-host-room.cfm-zoom-v2 .cfm-video-tile,
.cfm-participant-room .cfm-filmstrip-wrap,
.cfm-participant-room #cfm-video-grid,
.cfm-participant-room .cfm-video-grid,
.cfm-participant-room .cfm-video-tile{
  z-index:auto !important;
}

body.cfm-meeting-page #cfm-form-overlay.is-open,
body.cfm-meeting-page #cfm-submission-modal.is-open,
body.cfm-meeting-page #cfm-video-overlay.is-open,
.cfm-room:fullscreen #cfm-form-overlay.is-open,
.cfm-room:fullscreen #cfm-submission-modal.is-open,
.cfm-room:fullscreen #cfm-video-overlay.is-open,
.cfm-room:-webkit-full-screen #cfm-form-overlay.is-open,
.cfm-room:-webkit-full-screen #cfm-submission-modal.is-open,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open{
  position:fixed !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  isolation:isolate !important;
  transform:none !important;
}

body.cfm-meeting-page #cfm-video-overlay.is-open,
.cfm-room:fullscreen #cfm-video-overlay.is-open,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open{
  z-index:2147483600 !important;
  background:rgba(2,6,23,.78) !important;
  backdrop-filter:blur(12px) !important;
}

body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-open,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-open,
.cfm-host-room.cfm-zoom-v2:fullscreen #cfm-video-overlay.cfm-video-stage-embedded.is-open,
.cfm-host-room.cfm-zoom-v2:-webkit-full-screen #cfm-video-overlay.cfm-video-stage-embedded.is-open{
  top:calc(var(--cfm-header-height,60px) + 12px) !important;
  right:16px !important;
  bottom:calc(var(--cfm-dock-height,82px) + 12px) !important;
  left:16px !important;
  width:auto !important;
  height:auto !important;
  inset:calc(var(--cfm-header-height,60px) + 12px) 16px calc(var(--cfm-dock-height,82px) + 12px) 16px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}

body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card,
.cfm-room:fullscreen #cfm-video-overlay.is-open .cfm-video-overlay-card,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open .cfm-video-overlay-card{
  position:relative !important;
  z-index:1 !important;
  margin:auto !important;
  transform:none !important;
  max-width:min(1180px,calc(100vw - 42px)) !important;
  max-height:calc(100dvh - var(--cfm-header-height,60px) - var(--cfm-dock-height,82px) - 34px) !important;
}

body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-open .cfm-video-overlay-card,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-open .cfm-video-overlay-card{
  width:min(1080px,92vw) !important;
  height:min(680px,calc(100dvh - var(--cfm-header-height,60px) - var(--cfm-dock-height,82px) - 34px)) !important;
}

body.cfm-meeting-page #cfm-form-overlay.is-open,
.cfm-room:fullscreen #cfm-form-overlay.is-open,
.cfm-room:-webkit-full-screen #cfm-form-overlay.is-open{
  z-index:2147483610 !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:calc(var(--cfm-header-height,60px) + 20px) 22px calc(var(--cfm-dock-height,82px) + 22px) !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(2,6,23,.70) !important;
  backdrop-filter:blur(14px) !important;
}

body.cfm-meeting-page #cfm-submission-modal.is-open,
.cfm-room:fullscreen #cfm-submission-modal.is-open,
.cfm-room:-webkit-full-screen #cfm-submission-modal.is-open{
  z-index:2147483615 !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:calc(var(--cfm-header-height,60px) + 20px) 24px calc(var(--cfm-dock-height,82px) + 24px) !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(2,6,23,.68) !important;
  backdrop-filter:blur(14px) !important;
}

body.cfm-meeting-page #cfm-form-overlay.is-open .cfm-form-card,
.cfm-room:fullscreen #cfm-form-overlay.is-open .cfm-form-card,
.cfm-room:-webkit-full-screen #cfm-form-overlay.is-open .cfm-form-card,
body.cfm-meeting-page #cfm-submission-modal.is-open .cfm-submission-modal-card,
.cfm-room:fullscreen #cfm-submission-modal.is-open .cfm-submission-modal-card,
.cfm-room:-webkit-full-screen #cfm-submission-modal.is-open .cfm-submission-modal-card{
  position:relative !important;
  z-index:1 !important;
  margin:auto !important;
  transform:none !important;
}

body.cfm-meeting-page #cfm-more-menu.cfm-floating-more-menu.is-open,
body.cfm-meeting-page #cfm-chat-panel.is-open,
body.cfm-meeting-page #cfm-reaction-menu.is-open,
.cfm-room:fullscreen #cfm-more-menu.cfm-floating-more-menu.is-open,
.cfm-room:fullscreen #cfm-chat-panel.is-open,
.cfm-room:fullscreen #cfm-reaction-menu.is-open,
.cfm-room:-webkit-full-screen #cfm-more-menu.cfm-floating-more-menu.is-open,
.cfm-room:-webkit-full-screen #cfm-chat-panel.is-open,
.cfm-room:-webkit-full-screen #cfm-reaction-menu.is-open{
  z-index:2147483620 !important;
}

body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel,
body.cfm-meeting-host-page .cfm-host-room.cfm-zoom-v2 .cfm-toolbar-panel{
  z-index:2147482500 !important;
}

body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 .cfm-filmstrip-wrap,
body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 #cfm-video-grid{
  pointer-events:none !important;
}


/* v0.9.61 participant camera re-toggle preview fix */
.cfm-participant-room.cfm-participant-joined .cfm-floating-self.cfm-self-preview-active,
.cfm-participant-room.cfm-participant-joined .cfm-floating-self.is-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  width: clamp(150px, 20vw, 260px) !important;
  height: clamp(92px, 12vw, 150px) !important;
  min-width: 150px !important;
  min-height: 92px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  z-index: 2147481200 !important;
  background: #020617 !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.55), 0 0 0 5px rgba(2,6,23,.28) !important;
  pointer-events: none !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-floating-self.cfm-self-preview-active video,
.cfm-participant-room.cfm-participant-joined .cfm-floating-self.is-visible video {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  background: #000 !important;
  transform: scaleX(-1) !important;
}
.cfm-participant-room.cfm-participant-joined.cfm-local-camera-off .cfm-floating-self,
body.cfm-local-camera-off .cfm-participant-room.cfm-participant-joined .cfm-floating-self:not(.cfm-self-preview-active) {
  display: none !important;
}
.cfm-participant-room.cfm-participant-joined .cfm-floating-self .cfm-video-name {
  position: absolute !important;
  left: 9px !important;
  bottom: 8px !important;
  z-index: 2 !important;
}
@media (max-width: 760px) {
  .cfm-participant-room.cfm-participant-joined .cfm-floating-self.cfm-self-preview-active,
  .cfm-participant-room.cfm-participant-joined .cfm-floating-self.is-visible {
    width: 132px !important;
    height: 82px !important;
    right: 10px !important;
    bottom: 10px !important;
  }
}


/* v0.9.62 YouTube/Vimeo/Safari/Edge playback fallback */
.cfm-video-overlay-card{
  position:relative !important;
}
.cfm-class-video-iframe{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  flex:1 1 auto !important;
  display:block !important;
  background:#000 !important;
  border:0 !important;
}
.cfm-video-manual-start{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:2147483625 !important;
  min-width:220px !important;
  padding:18px 22px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:22px !important;
  background:rgba(15,23,42,.90) !important;
  color:#fff !important;
  box-shadow:0 22px 70px rgba(0,0,0,.55) !important;
  cursor:pointer !important;
  place-items:center !important;
  gap:6px !important;
  backdrop-filter:blur(14px) !important;
}
.cfm-video-manual-start span{
  width:54px !important;
  height:54px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#2563eb !important;
  color:#fff !important;
  font-size:24px !important;
  box-shadow:0 10px 30px rgba(37,99,235,.36) !important;
}
.cfm-video-manual-start strong{
  display:block !important;
  font-size:16px !important;
  line-height:1.15 !important;
}
.cfm-video-manual-start small{
  display:block !important;
  color:#cbd5e1 !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
.cfm-video-manual-start[hidden],
.cfm-video-manual-start[style*="display: none"]{
  display:none !important;
}
.cfm-video-play-help{
  position:relative !important;
  z-index:2147483624 !important;
}
@media (max-width:760px){
  .cfm-video-manual-start{
    min-width:190px !important;
    padding:14px 16px !important;
  }
  .cfm-video-manual-start span{width:46px !important;height:46px !important;font-size:20px !important;}
}

/* v0.9.64: grouped lesson accordion flow */
.cfm-session-flow-list .cfm-flow-lesson {
  border: 1px solid rgba(148,163,184,.22) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.08) !important;
}
.cfm-flow-lesson-head {
  appearance: none !important;
  width: 100% !important;
  min-height: 54px !important;
  border: 0 !important;
  background: rgba(148,163,184,.12) !important;
  color: inherit !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto 28px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  text-align: left !important;
  cursor: pointer !important;
}
.cfm-flow-lesson.is-current .cfm-flow-lesson-head {
  background: linear-gradient(135deg, rgba(45,140,255,.24), rgba(45,140,255,.10)) !important;
}
.cfm-flow-lesson.is-complete .cfm-flow-lesson-head {
  background: linear-gradient(135deg, rgba(34,197,94,.20), rgba(34,197,94,.07)) !important;
}
.cfm-flow-lesson-title {
  min-width: 0 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.cfm-flow-lesson-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  background: rgba(15,23,42,.18) !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
.cfm-flow-lesson-meta small { opacity: .74 !important; font-size: 10px !important; }
.cfm-flow-lesson-arrow {
  width: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(255,255,255,.12) !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}
.cfm-flow-lesson-body {
  display: grid !important;
  gap: 10px !important;
  padding: 10px !important;
}
.cfm-flow-progress-line-v2 {
  flex-wrap: wrap !important;
}
.cfm-flow-resume-btn {
  appearance: none !important;
  border: 1px solid rgba(45,140,255,.34) !important;
  background: rgba(45,140,255,.12) !important;
  color: #2d8cff !important;
  border-radius: 999px !important;
  padding: 6px 9px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  margin-left: 4px !important;
}
.cfm-flow-resume-btn:hover { background: rgba(45,140,255,.20) !important; }
.cfm-flow-chip.is-skipped { background: rgba(245,158,11,.18) !important; color: #f59e0b !important; }
body.cfm-light-mode .cfm-session-flow-list .cfm-flow-lesson,
.cfm-host-room.cfm-light-mode .cfm-session-flow-list .cfm-flow-lesson {
  background: #fff !important;
  border-color: rgba(15,23,42,.10) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}
body.cfm-light-mode .cfm-flow-lesson-head,
.cfm-host-room.cfm-light-mode .cfm-flow-lesson-head {
  background: #f1f5f9 !important;
  color: #111827 !important;
}
body.cfm-light-mode .cfm-flow-lesson.is-current .cfm-flow-lesson-head,
.cfm-host-room.cfm-light-mode .cfm-flow-lesson.is-current .cfm-flow-lesson-head {
  background: #dbeafe !important;
}
body.cfm-light-mode .cfm-flow-lesson.is-complete .cfm-flow-lesson-head,
.cfm-host-room.cfm-light-mode .cfm-flow-lesson.is-complete .cfm-flow-lesson-head {
  background: #dcfce7 !important;
}
body.cfm-light-mode .cfm-flow-lesson-meta,
.cfm-host-room.cfm-light-mode .cfm-flow-lesson-meta {
  background: rgba(15,23,42,.07) !important;
  color: #334155 !important;
}
body.cfm-light-mode .cfm-flow-lesson-arrow,
.cfm-host-room.cfm-light-mode .cfm-flow-lesson-arrow {
  background: rgba(15,23,42,.08) !important;
  color: #0f172a !important;
}
@media (max-width: 520px) {
  .cfm-flow-lesson-head { grid-template-columns: minmax(0,1fr) 26px !important; }
  .cfm-flow-lesson-meta { display: none !important; }
  .cfm-flow-lesson-title { font-size: 13px !important; }
}

/* v0.9.65: LearnDash-style lesson/topic accordion timeline */
.cfm-host-room.cfm-zoom-v2 #cfm-session-flow-list.cfm-session-flow-list,
#cfm-session-flow-list.cfm-session-flow-list{
  align-content:start !important;
  gap:10px !important;
  overflow-x:hidden !important;
}
.cfm-session-flow-list .cfm-flow-lesson-v2{
  border-radius:18px !important;
  overflow:visible !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.06) !important;
}
.cfm-flow-lesson-v2 .cfm-flow-lesson-head{
  border-radius:18px !important;
  min-height:52px !important;
  background:#eef4ff !important;
  color:#111827 !important;
  grid-template-columns:minmax(0,1fr) auto 28px !important;
  padding:12px 14px !important;
}
.cfm-flow-lesson-v2.is-open .cfm-flow-lesson-head{
  border-radius:18px 18px 0 0 !important;
  background:#dbeafe !important;
}
.cfm-flow-lesson-v2.is-complete .cfm-flow-lesson-head{
  background:#dcfce7 !important;
}
.cfm-flow-lesson-v2 .cfm-flow-lesson-title{
  font-size:14px !important;
  font-weight:900 !important;
  color:#111827 !important;
}
.cfm-flow-lesson-v2 .cfm-flow-lesson-meta{
  flex:0 0 auto !important;
  background:rgba(15,23,42,.07) !important;
  color:#334155 !important;
  padding:5px 9px !important;
}
.cfm-flow-lesson-v2 .cfm-flow-lesson-body{
  display:grid !important;
  gap:8px !important;
  padding:10px !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
}
.cfm-flow-topic-card{
  padding:9px !important;
  border-radius:14px !important;
  box-shadow:none !important;
  background:#fff !important;
  border-color:rgba(15,23,42,.09) !important;
}
.cfm-flow-topic-card.is-active{
  background:#f8fbff !important;
  border-color:rgba(37,99,235,.45) !important;
  box-shadow:0 8px 22px rgba(37,99,235,.10) !important;
}
.cfm-flow-topic-card.is-complete{
  background:#f0fdf4 !important;
  border-color:rgba(34,197,94,.28) !important;
}
.cfm-flow-topic-card .cfm-flow-step-main{
  grid-template-columns:42px minmax(0,1fr) auto !important;
  gap:9px !important;
}
.cfm-flow-topic-card .cfm-flow-number{
  width:38px !important;
  height:32px !important;
  border-radius:12px !important;
  font-size:12px !important;
  background:#dbeafe !important;
  color:#1d4ed8 !important;
}
.cfm-flow-topic-card.is-complete .cfm-flow-number{
  background:#bbf7d0 !important;
  color:#15803d !important;
}
.cfm-flow-topic-card .cfm-flow-copy b{
  font-size:13px !important;
  line-height:1.25 !important;
}
.cfm-flow-topic-card .cfm-flow-copy small{
  font-size:11px !important;
  white-space:normal !important;
  line-height:1.25 !important;
}
.cfm-flow-topic-card .cfm-flow-step-state{
  padding:4px 8px !important;
  font-size:10px !important;
  background:#eef2f7 !important;
  color:#334155 !important;
}
.cfm-flow-topic-card.is-active .cfm-flow-step-state{
  background:#2563eb !important;
  color:#fff !important;
}
.cfm-flow-topic-card.is-complete .cfm-flow-step-state{
  background:#16a34a !important;
  color:#fff !important;
}
.cfm-flow-topic-card .cfm-flow-chip-row{
  padding-left:51px !important;
  gap:5px !important;
}
.cfm-flow-topic-card .cfm-flow-chip{
  min-height:20px !important;
  padding:3px 7px !important;
  font-size:9px !important;
}
.cfm-flow-topic-card .cfm-flow-card-actions{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  padding-left:51px !important;
  margin-top:0 !important;
}
.cfm-flow-topic-card .cfm-mini-flow-btn{
  min-height:32px !important;
  border-radius:10px !important;
  font-size:10px !important;
  padding:6px 7px !important;
  white-space:nowrap !important;
}
.cfm-flow-end-stack{
  display:grid !important;
  gap:8px !important;
  opacity:.82 !important;
}
.cfm-flow-progress-line-v2{
  border-radius:14px !important;
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#0f172a !important;
}
.cfm-flow-resume-btn{
  margin-left:auto !important;
  background:#fff !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-session-flow-list .cfm-flow-lesson-v2,
.cfm-host-room.cfm-dark-mode .cfm-session-flow-list .cfm-flow-lesson-v2{
  background:rgba(15,23,42,.92) !important;
  border-color:rgba(255,255,255,.12) !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-lesson-v2 .cfm-flow-lesson-head,
.cfm-host-room.cfm-dark-mode .cfm-flow-lesson-v2 .cfm-flow-lesson-head{
  background:rgba(30,41,59,.92) !important;
  color:#f8fafc !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-lesson-v2 .cfm-flow-lesson-title,
.cfm-host-room.cfm-dark-mode .cfm-flow-lesson-v2 .cfm-flow-lesson-title{ color:#f8fafc !important; }
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-topic-card,
.cfm-host-room.cfm-dark-mode .cfm-flow-topic-card{
  background:rgba(15,23,42,.82) !important;
  border-color:rgba(255,255,255,.12) !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-topic-card.is-active,
.cfm-host-room.cfm-dark-mode .cfm-flow-topic-card.is-active{
  background:rgba(37,99,235,.16) !important;
}
@media (max-width:520px){
  .cfm-flow-topic-card .cfm-flow-step-main{ grid-template-columns:38px minmax(0,1fr) !important; }
  .cfm-flow-topic-card .cfm-flow-step-state{ grid-column:2 !important; justify-self:start !important; }
  .cfm-flow-topic-card .cfm-flow-chip-row,
  .cfm-flow-topic-card .cfm-flow-card-actions{ padding-left:47px !important; }
  .cfm-flow-topic-card .cfm-flow-card-actions{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}


/* v0.9.66: lesson accordion controls and selected-topic actions */
.cfm-flow-accordion-tools{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-left:auto !important;
  flex-wrap:wrap !important;
}
.cfm-flow-accordion-tools button{
  border:1px solid rgba(37,99,235,.22) !important;
  background:#fff !important;
  color:#1d4ed8 !important;
  border-radius:999px !important;
  padding:5px 9px !important;
  font-size:10px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.cfm-flow-topic-card .cfm-flow-select-hint{
  padding-left:51px !important;
  margin-top:4px !important;
  font-size:10px !important;
  font-weight:800 !important;
  color:#64748b !important;
}
.cfm-flow-topic-card.is-selected{
  background:#eff6ff !important;
  border-color:#2563eb !important;
  box-shadow:0 10px 24px rgba(37,99,235,.14) !important;
}
.cfm-flow-topic-card:not(.is-selected) .cfm-flow-card-actions{
  display:none !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-accordion-tools button,
.cfm-host-room.cfm-dark-mode .cfm-flow-accordion-tools button{
  background:rgba(15,23,42,.9) !important;
  color:#bfdbfe !important;
  border-color:rgba(147,197,253,.28) !important;
}
body:not(.cfm-light-mode) .cfm-host-room .cfm-flow-topic-card .cfm-flow-select-hint,
.cfm-host-room.cfm-dark-mode .cfm-flow-topic-card .cfm-flow-select-hint{
  color:#94a3b8 !important;
}
@media (max-width:520px){
  .cfm-flow-progress-line-v2{ align-items:flex-start !important; }
  .cfm-flow-accordion-tools{ width:100% !important; margin-left:0 !important; }
  .cfm-flow-topic-card .cfm-flow-select-hint{ padding-left:47px !important; }
}

/* v0.9.67: always-visible lesson actions + cleaner synced video player */
.cfm-flow-topic-card .cfm-flow-card-actions,
.cfm-flow-topic-card:not(.is-selected) .cfm-flow-card-actions,
.cfm-flow-topic-card .cfm-flow-card-actions.is-always-visible{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding-left:51px !important;
  margin-top:10px !important;
}
.cfm-flow-topic-card .cfm-flow-select-hint{display:none !important;}
.cfm-flow-topic-card .cfm-mini-flow-btn:disabled{
  opacity:.48 !important;
  cursor:not-allowed !important;
  filter:grayscale(.25) !important;
}
.cfm-flow-topic-card.is-autofocus{
  animation:cfmFlowFocusPulse 1.15s ease both !important;
}
@keyframes cfmFlowFocusPulse{
  0%{box-shadow:0 0 0 0 rgba(37,99,235,.45)}
  100%{box-shadow:0 0 0 12px rgba(37,99,235,0)}
}
@media(max-width:760px){
  .cfm-flow-topic-card .cfm-flow-card-actions,
  .cfm-flow-topic-card:not(.is-selected) .cfm-flow-card-actions,
  .cfm-flow-topic-card .cfm-flow-card-actions.is-always-visible{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

.cfm-video-overlay.is-open .cfm-video-overlay-card,
.cfm-video-overlay .cfm-video-overlay-card{
  position:relative !important;
  overflow:hidden !important;
  background:#020617 !important;
}
.cfm-video-overlay .cfm-video-overlay-head{
  position:relative !important;
  z-index:12 !important;
  min-height:62px !important;
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(15,23,42,.86)) !important;
  box-shadow:0 14px 35px rgba(0,0,0,.28) !important;
}
.cfm-video-overlay .cfm-video-overlay-actions{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  gap:8px !important;
}
.cfm-video-overlay .cfm-video-mini-action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  color:#fff !important;
  background:rgba(30,41,59,.96) !important;
  border:1px solid rgba(148,163,184,.35) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}
.cfm-video-overlay .cfm-video-mini-action:not(:disabled):hover{
  background:#2563eb !important;
  border-color:#60a5fa !important;
}
.cfm-video-overlay .cfm-class-video,
.cfm-video-overlay .cfm-class-video-iframe{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  flex:1 1 auto !important;
  object-fit:contain !important;
  background:#000 !important;
}
.cfm-video-overlay .cfm-class-video-iframe{
  pointer-events:none !important;
}
.cfm-video-overlay .cfm-video-custom-controls{
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:12px !important;
  z-index:14 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:10px 14px !important;
  border-radius:16px !important;
  background:rgba(2,6,23,.84) !important;
  border:1px solid rgba(255,255,255,.15) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.38) !important;
  color:#fff !important;
  backdrop-filter:blur(12px) !important;
}
.cfm-video-overlay .cfm-video-scrubber{
  height:18px !important;
  accent-color:#3b82f6 !important;
}
.cfm-video-overlay .cfm-video-play-help{
  position:absolute !important;
  left:50% !important;
  bottom:74px !important;
  transform:translateX(-50%) !important;
  z-index:15 !important;
  max-width:min(720px,calc(100% - 48px)) !important;
  border-radius:999px !important;
  padding:10px 16px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32) !important;
}
.cfm-video-manual-start{
  z-index:16 !important;
}
.cfm-video-overlay.is-minimized .cfm-video-custom-controls,
.cfm-video-overlay.is-minimized .cfm-video-play-help{
  display:none !important;
}
.cfm-participant-room .cfm-video-overlay-head .cfm-video-overlay-actions{display:none !important;}
@media(max-width:700px){
  .cfm-video-overlay .cfm-video-overlay-head{gap:10px !important;align-items:flex-start !important;}
  .cfm-video-overlay .cfm-video-overlay-actions{overflow-x:auto !important;max-width:100% !important;}
  .cfm-video-overlay .cfm-video-mini-action{min-width:max-content !important;font-size:11px !important;padding:7px 9px !important;}
  .cfm-video-overlay .cfm-video-custom-controls{left:8px !important;right:8px !important;bottom:8px !important;gap:8px !important;padding:8px 10px !important;}
}


/* --------------------------------------------------------------------------
   v0.9.68 - full-screen classroom video overlay + smoother Vimeo/YT syncing
   -------------------------------------------------------------------------- */
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-open,
body.cfm-meeting-page #cfm-video-overlay.cfm-video-stage-embedded.is-open,
body.cfm-meeting-page #cfm-video-overlay.cfm-video-page-floating.is-open,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-open,
.cfm-room:fullscreen #cfm-video-overlay.cfm-video-stage-embedded.is-open,
.cfm-room:-webkit-full-screen #cfm-video-overlay.cfm-video-stage-embedded.is-open{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  padding:calc(var(--cfm-header-height,60px) + 10px) 16px calc(var(--cfm-dock-height,82px) + 12px) 16px !important;
  z-index:2147483600 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  background:rgba(2,6,23,.88) !important;
  backdrop-filter:blur(14px) !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-open .cfm-video-overlay-card,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-open .cfm-video-overlay-card,
.cfm-room:fullscreen #cfm-video-overlay.is-open .cfm-video-overlay-card,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open .cfm-video-overlay-card{
  position:relative !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  background:#000 !important;
  box-shadow:0 30px 100px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.12) inset !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-head,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-custom-controls{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  z-index:9 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-head{
  top:0 !important;
  height:auto !important;
  min-height:58px !important;
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.72),rgba(15,23,42,0)) !important;
  border-bottom:0 !important;
  padding:12px 16px 26px !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-custom-controls{
  bottom:0 !important;
  padding:20px 18px 16px !important;
  background:linear-gradient(0deg,rgba(2,6,23,.98),rgba(2,6,23,.78),rgba(2,6,23,0)) !important;
  border-top:0 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-class-video,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-class-video-iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:contain !important;
  background:#000 !important;
  border:0 !important;
  z-index:1 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-play-help{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:10 !important;
  padding:12px 16px !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-manual-start{
  position:absolute !important;
  z-index:12 !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}
.cfm-video-sync-loader{
  position:absolute;
  z-index:11;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  min-width:230px;
  padding:18px 20px;
  border-radius:22px;
  display:none;
  place-items:center;
  gap:8px;
  background:rgba(2,6,23,.78);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  text-align:center;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);
}
.cfm-video-sync-loader.is-visible{display:grid!important;}
.cfm-video-sync-loader span{
  width:42px;height:42px;border-radius:999px;
  border:4px solid rgba(255,255,255,.24);
  border-top-color:#60a5fa;
  animation:cfmSpin .85s linear infinite;
}
.cfm-video-sync-loader b{font-size:15px;font-weight:900;}
.cfm-video-sync-loader small{color:#cbd5e1;font-weight:700;}
.cfm-video-overlay-card.is-syncing-video .cfm-video-custom-controls{opacity:.98;}
@keyframes cfmSpin{to{transform:rotate(360deg)}}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions{
  position:relative !important;
  z-index:13 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions .cfm-video-mini-action,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions .cfm-chat-icon-btn{
  background:rgba(15,23,42,.88) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.22) !important;
}
@media(max-width:760px){
  body.cfm-meeting-page #cfm-video-overlay.cfm-video-stage-embedded.is-open,
  body.cfm-meeting-page #cfm-video-overlay.cfm-video-page-floating.is-open{padding:8px 8px calc(var(--cfm-dock-height,78px) + 8px) 8px!important;}
  body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card{border-radius:16px!important;}
  body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-head{padding:9px 10px 22px!important;}
  body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-custom-controls{padding:16px 10px 12px!important;}
}

/* --------------------------------------------------------------------------
   v0.9.69 - Vimeo/YouTube seek freeze + native-icon cover
   -------------------------------------------------------------------------- */
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.cfm-video-embedded-player::after{
  content:"" !important;
  position:absolute !important;
  top:58px !important;
  right:0 !important;
  width:132px !important;
  height:190px !important;
  z-index:5 !important;
  pointer-events:none !important;
  background:linear-gradient(270deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.86) 46%, rgba(0,0,0,0) 100%) !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.cfm-video-embedded-player.is-syncing-video::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
  background:rgba(0,0,0,.54) !important;
  backdrop-filter:blur(3px) !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-class-video-iframe{
  pointer-events:none !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-head,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-custom-controls{
  z-index:20 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions .cfm-video-mini-action,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-actions .cfm-chat-icon-btn{
  z-index:22 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-sync-loader{
  z-index:30 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.is-syncing-video .cfm-video-scrubber,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.is-syncing-video .cfm-video-mini-action{
  cursor:wait !important;
}


/* --------------------------------------------------------------------------
   v0.9.70 - reliable seek lock + disable studio resize behind video modal
   -------------------------------------------------------------------------- */
body.cfm-video-playback-active .cfm-panel-resize-handle,
body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle,
body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:before,
body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel .cfm-panel-resize-handle:after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body.cfm-video-playback-active .cfm-host-room.cfm-zoom-v2 .cfm-studio-panel{
  pointer-events:none !important;
}
body.cfm-video-playback-active.cfm-panel-resizing{
  cursor:default !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open{
  pointer-events:auto !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card{
  pointer-events:auto !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.cfm-video-embedded-player::after{
  top:0 !important;
  right:0 !important;
  width:152px !important;
  height:100% !important;
  z-index:6 !important;
  background:linear-gradient(270deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.58) 34%, rgba(0,0,0,0) 76%) !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.is-syncing-video .cfm-class-video,
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.is-syncing-video .cfm-class-video-iframe{
  filter:brightness(.58) blur(1px) !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-sync-loader{
  pointer-events:auto !important;
}


/* --------------------------------------------------------------------------
   v0.9.71 - video auto-resume after seek + video-modal fullscreen
   -------------------------------------------------------------------------- */
.cfm-video-overlay-head .cfm-video-overlay-actions{
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}
.cfm-video-overlay-head #cfm-video-overlay-fullscreen{
  min-width:104px !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-video-fullscreen,
.cfm-host-room.cfm-zoom-v2:not(.cfm-studio-collapsed) #cfm-video-overlay.cfm-video-stage-embedded.is-video-fullscreen,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-video-fullscreen{
  position:fixed !important;
  inset:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:16px !important;
  border-radius:0 !important;
  background:rgba(2,6,23,.98) !important;
  z-index:1000002 !important;
  align-items:center !important;
  justify-content:center !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen .cfm-video-overlay-card,
.cfm-host-room.cfm-zoom-v2 #cfm-video-overlay.cfm-video-stage-embedded.is-video-fullscreen .cfm-video-overlay-card,
body.cfm-meeting-host-page #cfm-video-overlay.cfm-video-stage-embedded.is-video-fullscreen .cfm-video-overlay-card{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  border-radius:18px !important;
  margin:0 !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen .cfm-video-overlay-head{
  min-height:64px !important;
  flex:0 0 auto !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen .cfm-class-video,
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen .cfm-class-video-iframe{
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:contain !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen.is-minimized{
  position:absolute !important;
  inset:auto 18px 18px auto !important;
  width:360px !important;
  height:232px !important;
  padding:0 !important;
  border-radius:18px !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-overlay-card.is-syncing-video .cfm-video-sync-loader{
  cursor:wait !important;
}
body.cfm-meeting-page #cfm-video-overlay.is-open .cfm-video-sync-loader b::after{
  content:' The video will resume automatically if it was playing before.';
  font-weight:600;
}
@media(max-width:760px){
  body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen{padding:0 !important;}
  body.cfm-meeting-page #cfm-video-overlay.is-video-fullscreen .cfm-video-overlay-card{border-radius:0 !important;}
  .cfm-video-overlay-head #cfm-video-overlay-fullscreen{min-width:92px !important;}
}


/* v0.9.75 host-master video playback: participants are watch-only */
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-overlay-actions,
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-participant-actions,
.cfm-participant-room #cfm-video-overlay.is-open #cfm-video-overlay-fullscreen,
.cfm-participant-room #cfm-video-overlay.is-open #cfm-video-overlay-close,
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-custom-controls{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-overlay-head{
  pointer-events:none !important;
}
.cfm-participant-room #cfm-video-overlay.is-open .cfm-class-video,
.cfm-participant-room #cfm-video-overlay.is-open .cfm-class-video-iframe,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video{
  pointer-events:none !important;
}
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-manual-start{
  pointer-events:auto !important;
  display:grid;
}
.cfm-video-overlay.is-video-fullscreen{
  padding:0 !important;
}
.cfm-video-overlay.is-video-fullscreen .cfm-video-overlay-card{
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  border-radius:0 !important;
}
.cfm-participant-room #cfm-video-overlay.is-video-fullscreen .cfm-video-overlay-card{
  width:100vw !important;
  height:100dvh !important;
  border-radius:0 !important;
}
.cfm-participant-room #cfm-video-overlay.is-video-fullscreen .cfm-class-video,
.cfm-participant-room #cfm-video-overlay.is-video-fullscreen .cfm-class-video-iframe{
  height:calc(100dvh - 66px) !important;
  min-height:calc(100dvh - 66px) !important;
}

/* --------------------------------------------------------------------------
   v0.9.76 - fresh meeting state + host-only video controls polish
   -------------------------------------------------------------------------- */
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-custom-controls,
.cfm-participant-room #cfm-video-overlay.is-open .cfm-video-overlay-actions,
.cfm-participant-room #cfm-video-overlay.is-open #cfm-video-overlay-fullscreen,
.cfm-participant-room #cfm-video-overlay.is-open #cfm-video-overlay-close{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video,
.cfm-participant-room #cfm-video-overlay.is-open .cfm-class-video{
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-enclosure,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-panel,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-play-button,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-timeline,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-current-time-display,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-time-remaining-display,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-mute-button,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-volume-slider,
.cfm-participant-room #cfm-video-overlay.is-open video#cfm-class-video::-webkit-media-controls-fullscreen-button{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body.cfm-meeting-host-page #cfm-video-overlay.is-open.is-video-fullscreen,
body.cfm-meeting-page #cfm-video-overlay.is-open.is-video-fullscreen,
.cfm-room:fullscreen #cfm-video-overlay.is-open.is-video-fullscreen,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open.is-video-fullscreen{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:0 !important;
  z-index:2147483646 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  background:#020617 !important;
}
body.cfm-meeting-host-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-video-overlay-card,
body.cfm-meeting-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-video-overlay-card,
.cfm-room:fullscreen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-video-overlay-card,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-video-overlay-card{
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  border-radius:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
body.cfm-meeting-host-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video,
body.cfm-meeting-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video,
.cfm-room:fullscreen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video,
body.cfm-meeting-host-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video-iframe,
body.cfm-meeting-page #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video-iframe,
.cfm-room:fullscreen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video-iframe,
.cfm-room:-webkit-full-screen #cfm-video-overlay.is-open.is-video-fullscreen .cfm-class-video-iframe{
  display:block !important;
  flex:1 1 auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:contain !important;
  background:#000 !important;
}

/* v0.9.77 LiveKit Broadcast Bot mode */
.cfm-broadcast-bot-stage{display:none;place-items:center;align-content:center;gap:12px;flex:1;min-height:320px;background:radial-gradient(circle at 50% 10%,rgba(59,130,246,.22),rgba(2,6,23,.96) 46%,#020617 100%);color:#fff;text-align:center;padding:32px;position:relative;overflow:hidden}
.cfm-broadcast-bot-stage h3{margin:8px 0 0;color:#fff;font-size:clamp(22px,3vw,36px);font-weight:900;letter-spacing:-.02em}
.cfm-broadcast-bot-stage p{margin:0;color:#cbd5e1;font-weight:700;max-width:680px}.cfm-broadcast-bot-stage small{color:#93c5fd;font-weight:800}.cfm-bot-pulse{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:rgba(37,99,235,.18);box-shadow:0 0 0 1px rgba(147,197,253,.32),0 0 70px rgba(37,99,235,.35)}.cfm-bot-pulse span{width:42px;height:42px;border-radius:50%;background:#60a5fa;box-shadow:0 0 0 0 rgba(96,165,250,.85);animation:cfmBotPulse 1.4s infinite}@keyframes cfmBotPulse{70%{box-shadow:0 0 0 32px rgba(96,165,250,0)}100%{box-shadow:0 0 0 0 rgba(96,165,250,0)}}
#cfm-video-overlay.cfm-broadcast-bot-mode .cfm-class-video,#cfm-video-overlay.cfm-broadcast-bot-mode .cfm-class-video-iframe{display:none!important}#cfm-video-overlay.cfm-broadcast-bot-mode #cfm-broadcast-bot-stage{display:grid!important}body.cfm-broadcast-video-active .cfm-broadcast-bot-tile{outline:3px solid #60a5fa!important;box-shadow:0 0 0 8px rgba(96,165,250,.18)!important}body.cfm-broadcast-video-fullscreen .cfm-broadcast-bot-tile{position:relative;z-index:3;grid-column:1/-1;grid-row:1/-1}.cfm-participant-room #cfm-video-overlay.cfm-watch-only-video .cfm-video-overlay-actions{display:none!important}


/* v0.9.80 - host-only LiveKit broadcast video controls */
.cfm-broadcast-bot-main{position:relative!important;}
.cfm-broadcast-host-controls{position:absolute!important;left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;z-index:40!important;display:flex!important;align-items:center!important;gap:8px!important;max-width:calc(100% - 28px)!important;padding:10px 12px!important;border-radius:18px!important;background:rgba(15,23,42,.82)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 18px 48px rgba(0,0,0,.34)!important;backdrop-filter:blur(14px)!important;color:#fff!important;pointer-events:auto!important;}
.cfm-broadcast-host-controls__label{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:138px!important;margin-right:4px!important;line-height:1.1!important;}
.cfm-broadcast-host-controls__label strong{font-size:12px!important;font-weight:900!important;color:#fff!important;white-space:nowrap!important;}
.cfm-broadcast-host-controls__label span{font-size:10px!important;color:rgba(226,232,240,.82)!important;white-space:nowrap!important;}
.cfm-broadcast-host-controls button{appearance:none!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;min-height:36px!important;padding:0 12px!important;font-size:12px!important;font-weight:900!important;cursor:pointer!important;box-shadow:none!important;}
.cfm-broadcast-host-controls button:hover:not(:disabled){background:rgba(59,130,246,.92)!important;border-color:rgba(191,219,254,.65)!important;}
.cfm-broadcast-host-controls button:disabled{opacity:.48!important;cursor:not-allowed!important;}
.cfm-broadcast-host-controls button.is-danger{background:rgba(239,68,68,.92)!important;border-color:rgba(254,202,202,.35)!important;}
.cfm-participant-room .cfm-broadcast-host-controls{display:none!important;}
@media(max-width:900px){.cfm-broadcast-host-controls{left:10px!important;right:10px!important;bottom:10px!important;transform:none!important;overflow:auto!important;justify-content:flex-start!important}.cfm-broadcast-host-controls__label{display:none!important}.cfm-broadcast-host-controls button{flex:0 0 auto!important;}}


/* v0.9.81 - show the real LiveKit Course Video inside the host/admin video overlay and keep participant video visible on pause */
#cfm-video-overlay.cfm-broadcast-bot-mode #cfm-broadcast-bot-stage{position:relative!important;min-height:420px!important;padding:0!important;background:#020617!important;border-radius:18px!important;overflow:hidden!important;}
.cfm-broadcast-bot-live-preview{position:absolute!important;inset:0!important;display:none!important;background:#020617!important;}
.cfm-broadcast-bot-live-preview video{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;background:#020617!important;}
.cfm-broadcast-bot-live-preview .cfm-broadcast-preview-label{position:absolute!important;left:14px!important;bottom:14px!important;z-index:8!important;background:rgba(15,23,42,.82)!important;color:#fff!important;border-radius:999px!important;padding:7px 12px!important;font-size:12px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(0,0,0,.3)!important;}
#cfm-broadcast-bot-stage.has-live-preview .cfm-broadcast-bot-live-preview{display:block!important;}
#cfm-broadcast-bot-stage.has-live-preview .cfm-broadcast-bot-waiting{display:none!important;}
.cfm-broadcast-bot-waiting{display:grid!important;place-items:center!important;align-content:center!important;gap:12px!important;width:100%!important;height:100%!important;min-height:420px!important;padding:32px!important;}
#cfm-video-overlay.cfm-broadcast-bot-mode.is-video-fullscreen .cfm-video-overlay-card{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important;}
#cfm-video-overlay.cfm-broadcast-bot-mode.is-video-fullscreen #cfm-broadcast-bot-stage{flex:1!important;min-height:0!important;height:calc(100vh - 155px)!important;}
#cfm-video-overlay.cfm-broadcast-bot-mode.is-video-fullscreen .cfm-broadcast-bot-live-preview video{object-fit:contain!important;}
