/* ==========================================================================
   Wigmorean GoLive — Stage room  v1.0.0
   Extends wig-golive.css. Palette inherited: navy #0C1A2E, slate #646970,
   green #1A6B3A. Nothing here overrides a 1.0.0 selector.
   ========================================================================== */

:root {
    --wig-gl-navy:  #0C1A2E;
    --wig-gl-slate: #646970;
    --wig-gl-green: #1A6B3A;
    --wig-gl-gold:  #C9A84C;
    --wig-gl-ink:   #E8ECF2;
    --wig-gl-stage-bg: #0A1420;
    --wig-gl-panel: rgba(255, 255, 255, .06);
}

.wig-gl-body {
    margin: 0;
    background: var(--wig-gl-stage-bg);
    color: var(--wig-gl-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    overflow: hidden;
}

.wig-gl-stage {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    height: 100vh;
    height: 100dvh;
}

/* ─── Top bar ───────────────────────────────────────────────────────────── */
.wig-gl-bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 10px 18px;
    background: var(--wig-gl-navy);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.wig-gl-bar__left, .wig-gl-bar__right { display: flex; align-items: center; gap: 12px; min-width: 0; }
.wig-gl-bar__title {
    font-weight: 700; font-size: 15px; color: #fff;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40vw;
}
.wig-gl-chip {
    font-size: 12px; padding: 3px 10px; border-radius: 50px;
    background: var(--wig-gl-panel); color: var(--wig-gl-ink); white-space: nowrap;
}
.wig-gl-timer { font-size: 12px; color: #93A2B5; font-variant-numeric: tabular-nums; }
.wig-gl-timer.is-urgent { color: var(--wig-gl-gold); font-weight: 700; }

/* ─── The toggle ────────────────────────────────────────────────────────── */
.wig-gl-toggle {
    display: inline-flex; align-items: center; gap: 9px;
    background: none; border: none; cursor: pointer; padding: 4px 6px;
    color: var(--wig-gl-ink); font-size: 13px; font-weight: 600;
}
.wig-gl-toggle__track {
    position: relative; width: 44px; height: 24px; border-radius: 50px;
    background: rgba(255,255,255,.18); transition: background .18s ease; flex: none;
}
.wig-gl-toggle__knob {
    position: absolute; top: 3px; left: 3px; width: 18px; height: 18px;
    border-radius: 50%; background: #fff; transition: transform .18s ease;
}
.wig-gl-toggle[aria-pressed="true"] .wig-gl-toggle__track { background: var(--wig-gl-green); }
.wig-gl-toggle[aria-pressed="true"] .wig-gl-toggle__knob  { transform: translateX(20px); }
.wig-gl-toggle:focus-visible { outline: 2px solid var(--wig-gl-gold); outline-offset: 3px; border-radius: 6px; }

/* ─── Permission panel ──────────────────────────────────────────────────── */
.wig-gl-perms {
    background: #10203A; border-bottom: 1px solid rgba(255,255,255,.08);
    padding: 14px 18px;
}
.wig-gl-perms__head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; flex-wrap: wrap; margin-bottom: 12px; font-size: 13px;
}
.wig-gl-presets { display: flex; gap: 6px; flex-wrap: wrap; }
.wig-gl-preset {
    background: var(--wig-gl-panel); border: 1px solid transparent; color: var(--wig-gl-ink);
    border-radius: 50px; padding: 4px 14px; font-size: 12px; font-weight: 600; cursor: pointer;
    transition: background .15s, border-color .15s;
}
.wig-gl-preset:hover     { background: rgba(255,255,255,.12); }
.wig-gl-preset.is-active { background: var(--wig-gl-green); border-color: var(--wig-gl-green); color: #fff; }

.wig-gl-perms__list {
    list-style: none; margin: 0; padding: 0;
    display: grid; gap: 8px 24px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.wig-gl-switch { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13px; }
.wig-gl-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.wig-gl-switch__ui {
    position: relative; width: 36px; height: 20px; border-radius: 50px; flex: none;
    background: rgba(255,255,255,.18); transition: background .16s;
}
.wig-gl-switch__ui::after {
    content: ""; position: absolute; top: 3px; left: 3px;
    width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .16s;
}
.wig-gl-switch input:checked + .wig-gl-switch__ui { background: var(--wig-gl-green); }
.wig-gl-switch input:checked + .wig-gl-switch__ui::after { transform: translateX(16px); }
.wig-gl-switch input:focus-visible + .wig-gl-switch__ui { outline: 2px solid var(--wig-gl-gold); outline-offset: 2px; }
.wig-gl-perms__note { margin: 12px 0 0; font-size: 12px; color: #93A2B5; }

/* ─── Stage ─────────────────────────────────────────────────────────────── */
.wig-gl-main { display: flex; min-height: 0; overflow: hidden; }

.wig-gl-grid {
    flex: 1; min-width: 0; padding: 14px; overflow-y: auto;
    display: grid; gap: 12px; align-content: start;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
/* When someone shares, the share takes the room and faces go small. */
.wig-gl-grid.has-screen { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.wig-gl-grid.has-screen .wig-gl-tile.is-screen { grid-column: 1 / -1; aspect-ratio: 16 / 9; }

.wig-gl-tile {
    position: relative; background: #0F1B2B; border-radius: 10px; overflow: hidden;
    aspect-ratio: 16 / 9; box-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.wig-gl-tile video { width: 100%; height: 100%; object-fit: cover; display: block; }
.wig-gl-tile.is-screen video { object-fit: contain; background: #000; }
.wig-gl-tile__name {
    position: absolute; bottom: 8px; left: 8px; z-index: 2;
    background: rgba(0,0,0,.6); color: #fff; font-size: 12px;
    padding: 3px 9px; border-radius: 50px; max-width: calc(100% - 16px);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ─── People panel ──────────────────────────────────────────────────────── */
.wig-gl-people {
    width: 300px; flex: none; background: #10203A; overflow-y: auto;
    padding: 16px; border-left: 1px solid rgba(255,255,255,.08);
}
.wig-gl-people h3 {
    margin: 0 0 12px; font-size: 14px; color: #fff;
    display: flex; align-items: center; gap: 8px;
}
.wig-gl-hand-count {
    background: var(--wig-gl-gold); color: var(--wig-gl-navy);
    border-radius: 50px; padding: 1px 8px; font-size: 11px; font-weight: 700;
}
.wig-gl-people ul { list-style: none; margin: 0; padding: 0; }
.wig-gl-person {
    display: flex; align-items: center; gap: 6px; padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,.06); font-size: 13px;
}
.wig-gl-person.has-hand { color: var(--wig-gl-gold); font-weight: 600; }
.wig-gl-person__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wig-gl-person__act {
    background: var(--wig-gl-panel); border: none; color: var(--wig-gl-ink);
    border-radius: 6px; padding: 3px 9px; font-size: 11px; cursor: pointer; white-space: nowrap;
}
.wig-gl-person__act:hover { background: rgba(255,255,255,.14); }

/* ─── Control bar ───────────────────────────────────────────────────────── */
.wig-gl-controls {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 14px; background: var(--wig-gl-navy);
    border-top: 1px solid rgba(255,255,255,.08);
}
.wig-gl-ctl {
    background: var(--wig-gl-panel); border: none; color: var(--wig-gl-ink);
    border-radius: 50px; padding: 10px 20px; font-size: 13px; font-weight: 600;
    cursor: pointer; transition: background .15s, color .15s;
}
.wig-gl-ctl:hover { background: rgba(255,255,255,.14); }
.wig-gl-ctl.is-active { background: var(--wig-gl-green); color: #fff; }
.wig-gl-ctl--danger { background: #8B1A1A; color: #fff; }
.wig-gl-ctl--danger:hover { background: #A32020; }
.wig-gl-ctl:focus-visible { outline: 2px solid var(--wig-gl-gold); outline-offset: 3px; }

/* Recording indicator */
#wig-gl-record .wig-gl-rec-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: #666; margin-right: 6px; vertical-align: middle;
}
#wig-gl-record.is-recording .wig-gl-rec-dot { background: #E03131; animation: wig-gl-pulse 1.4s infinite; }
@keyframes wig-gl-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }

/* ─── Space panel (course page / portal) ────────────────────────────────── */
.wig-gl-space {
    border: 1px solid #E3E7EC; border-radius: 12px; padding: 20px;
    background: #fff; color: #0C1A2E; margin: 20px 0;
}
.wig-gl-space__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.wig-gl-space__title { margin: 0; font-size: 17px; }
.wig-gl-space__live {
    display: inline-flex; align-items: center; gap: 6px;
    background: #FDECEC; color: #A32020; font-size: 12px; font-weight: 700;
    padding: 3px 12px; border-radius: 50px;
}
.wig-gl-dot {
    width: 8px; height: 8px; border-radius: 50%; background: #E03131;
    animation: wig-gl-pulse 1.4s infinite;
}
.wig-gl-space__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.wig-gl-space__idle { color: #5A6672; font-size: 14px; margin: 6px 0 0; }
.wig-gl-space__sub { margin: 22px 0 10px; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: #5A6672; }
.wig-gl-space__list { list-style: none; margin: 0; padding: 0; }
.wig-gl-space__list li {
    display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap;
    padding: 9px 0; border-bottom: 1px solid #EEF1F4; font-size: 14px;
}
.wig-gl-when { font-weight: 700; min-width: 150px; }
.wig-gl-mode { font-size: 12px; color: #5A6672; }

.wig-gl-recs { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.wig-gl-rec__player iframe {
    width: 100%; aspect-ratio: 16 / 9; border: none; border-radius: 8px; display: block;
}
.wig-gl-rec__meta { font-size: 13px; margin-top: 7px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wig-gl-rec__meta span { color: #5A6672; font-variant-numeric: tabular-nums; }

/* ─── Small screens ─────────────────────────────────────────────────────── */
@media (max-width: 782px) {
    .wig-gl-bar { flex-wrap: wrap; gap: 8px; }
    .wig-gl-bar__title { max-width: 100%; }
    .wig-gl-people { position: absolute; inset: auto 0 0 0; width: 100%; max-height: 55vh; z-index: 20; }
    .wig-gl-grid { grid-template-columns: 1fr; }
    .wig-gl-controls { flex-wrap: wrap; }
    .wig-gl-ctl { padding: 9px 14px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .wig-gl-toggle__track, .wig-gl-toggle__knob,
    .wig-gl-switch__ui, .wig-gl-switch__ui::after { transition: none; }
    .wig-gl-dot, #wig-gl-record.is-recording .wig-gl-rec-dot { animation: none; }
}

/* A tile for yourself while the camera is off */
.wig-gl-tile.is-self-off { display: flex; align-items: center; justify-content: center; }
.wig-gl-tile.is-self-off::before { content: "\1F4F7"; font-size: 40px; opacity: .35; }

/* ─── Grouped control bar: audio and video on the left, meeting tools in the middle, end on the right ─────────── */
.wig-gl-controls { justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.wig-gl-grp { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wig-gl-grp--mid { justify-content: center; flex: 1 1 auto; }
.wig-gl-split { position: relative; display: inline-flex; align-items: stretch; }
.wig-gl-split > .wig-gl-ctl:first-child { border-radius: 50px 0 0 50px; }
.wig-gl-split > .wig-gl-chev { border-radius: 0 50px 50px 0; padding: 10px 10px; margin-left: 1px; font-size: 10px; }
.wig-gl-split--solo > .wig-gl-ctl:first-child { border-radius: 50px; }
.wig-gl-split > .wig-gl-ctl[hidden] + .wig-gl-chev { display: none; }
/* Menus open upward, above the bar, over the meeting: never down off the page. */
.wig-gl-menu {
    position: absolute; bottom: calc(100% + 10px); left: 0; z-index: 80; min-width: 240px; max-width: min(92vw, 340px); max-height: 60vh; overflow: auto;
    background: var(--wig-gl-navy); color: var(--wig-gl-ink); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 6px; box-shadow: 0 -8px 30px rgba(0,0,0,.45);
}
.wig-gl-grp--end .wig-gl-menu { left: auto; right: 0; }
.wig-gl-menu[hidden] { display: none; }
.wig-gl-menu__h { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .7; padding: 6px 10px 4px; }
.wig-gl-menu .wig-gl-menu__item, .wig-gl-menu .wig-gl-ctl {
    display: block; width: 100%; text-align: left; background: none; color: var(--wig-gl-ink); border: 0; border-radius: 8px; padding: 10px 12px; font-size: 14px; font-weight: 500; cursor: pointer;
}
.wig-gl-menu .wig-gl-menu__item:hover, .wig-gl-menu .wig-gl-ctl:hover, .wig-gl-menu button:focus-visible { background: rgba(255,255,255,.12); outline: 2px solid transparent; }
.wig-gl-menu button:focus-visible { outline: 2px solid var(--wig-gl-gold); outline-offset: -2px; }
.wig-gl-menu .wig-gl-ctl--danger { background: none; color: #ff9b9b; }
.wig-gl-menu .wig-gl-ctl--danger:hover { background: rgba(255,80,80,.18); }
.wig-gl-menu button[hidden], .wig-gl-menu button[style*="display: none"] { display: none; }
@media (max-width: 640px) {
    .wig-gl-controls { justify-content: center; }
    .wig-gl-grp { justify-content: center; }
    .wig-gl-menu { position: fixed; left: 8px; right: 8px; bottom: 74px; max-width: none; }
    .wig-gl-grp--end .wig-gl-menu { left: 8px; right: 8px; }
}

/* ─── Typography for the room: one calm sans, sentence case, comfortable size ─────────────────────────────────── */
body.wig-gl-body, body.wig-gl-body button, body.wig-gl-body input, body.wig-gl-body select, body.wig-gl-body textarea {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
body.wig-gl-body button { text-transform: none !important; letter-spacing: 0 !important; font-weight: 500; }
body.wig-gl-body .wig-gl-ctl { font-size: 14px; }
body.wig-gl-body div[id^="wig-gl-"][style*="position:fixed"], body.wig-gl-body aside[id^="wig-gl-"] { font-size: 14px !important; line-height: 1.5 !important; font-weight: 400; }
body.wig-gl-body div[id^="wig-gl-"][style*="position:fixed"] strong, body.wig-gl-body aside h3 { font-weight: 600; font-size: 16px; letter-spacing: 0; text-transform: none; }
body.wig-gl-body div[id^="wig-gl-"][style*="position:fixed"] p { margin: 8px 0; color: #d6dde8; }
body.wig-gl-body div[id^="wig-gl-"][style*="position:fixed"] button { font-size: 14px !important; font-weight: 500 !important; padding: 9px 14px !important; border-radius: 10px !important; }
body.wig-gl-body div[id^="wig-gl-"][style*="position:fixed"] select { font-size: 14px; padding: 8px 10px !important; border-radius: 8px !important; }
/* The ✕ on every floating panel */
.wig-gl-x { position: absolute; top: 8px; right: 10px; width: 30px; height: 30px; padding: 0 !important; border: 0; border-radius: 50% !important; background: rgba(255,255,255,.1) !important; color: var(--wig-gl-ink); font-size: 14px !important; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.wig-gl-x:hover { background: rgba(255,255,255,.22) !important; }
.wig-gl-x:focus-visible { outline: 2px solid var(--wig-gl-gold); outline-offset: 2px; }
#wig-gl-people, #wig-gl-devmenu, #wig-gl-ccmenu { position: relative; }
#wig-gl-devmenu, #wig-gl-ccmenu { padding-top: 40px !important; }
#wig-gl-people h3 { padding-right: 40px; }

/* The WordPress toolbar is 32px (46px on phones) and sits above the stage. Without this the stage was 100vh tall below it,
   pushing the control bar that much below the screen. */
body.admin-bar .wig-gl-stage { height: calc(100vh - 32px); height: calc(100dvh - 32px); }
@media (max-width: 782px) { body.admin-bar .wig-gl-stage { height: calc(100vh - 46px); height: calc(100dvh - 46px); } }

/* The room's top bar is dark: outline buttons in it (Permissions) must be light, or they vanish into it. */
.wig-gl-bar .wig-golive-btn--outline { color: #f1f1f3; border-color: rgba(255,255,255,.6); }
.wig-gl-bar .wig-golive-btn--outline:hover, .wig-gl-bar .wig-golive-btn--outline:focus-visible { background: rgba(255,255,255,.14); color: #fff; }

/* The room keeps its own controls clear: the site's floating Support, Index and Contents buttons sat on top of Mute, Stop video and End. */
.wig-gl-body #wig-sl-btn, .wig-gl-body #wig-index-btn, .wig-gl-body .wig-cn-toggle { display: none !important; }

/* Desktop app: while you present, the meeting window becomes a side panel (People or Chat) so nothing covers your slides. */
#wig-panel-x { display: none; }
body.wig-panel-mode #wig-panel-x { display: flex; position: fixed; top: 0; left: 0; right: 0; height: 36px; z-index: 100000; align-items: center; justify-content: space-between; padding: 0 8px 0 14px; background: #0b1626; color: #fff; font: 600 14px system-ui, sans-serif; border-bottom: 1px solid rgba(255,255,255,.12); }
body.wig-panel-mode #wig-panel-x button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; }
body.wig-panel-mode .wig-gl-bar, body.wig-panel-mode #wig-gl-controls, body.wig-panel-mode #wig-gl-grid, body.wig-panel-mode #wig-gl-toast { display: none !important; }
body.wig-panel-mode { background: #10203A; overflow: hidden; }
body.wig-panel-mode .wig-gl-chat-panel { top: 36px !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: auto !important; max-width: none !important; border-radius: 0 !important; }
body.wig-panel-mode #wig-gl-people { position: fixed !important; inset: 36px 0 0 0 !important; max-height: none !important; width: auto !important; z-index: 99990; overflow: auto; }

/* Permissions: a compact drop-down under its button, not a panel that takes half the screen. */
.wig-gl-perms { position: fixed; top: 70px; right: 18px; width: min(360px, 92vw); max-height: calc(100vh - 100px); overflow: auto; background: #10203A; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; box-shadow: 0 14px 40px rgba(0,0,0,.55); padding: 12px 14px; z-index: 60; }
.wig-gl-perms[hidden] { display: none; }
.wig-gl-perms__head { flex-direction: column; align-items: stretch; gap: 8px; margin-bottom: 6px; }
.wig-gl-presets { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; }
.wig-gl-preset { padding: 6px 4px; border-radius: 8px; text-align: center; }
.wig-gl-perms__list { display: block; }
.wig-gl-perms__list li { padding: 8px 2px; border-top: 1px solid rgba(255,255,255,.08); }
.wig-gl-perms__list .wig-gl-switch { flex-direction: row-reverse; justify-content: space-between; }
.wig-gl-perms__note { margin-top: 8px; }

/* Desktop app: choosing what to share, inside the meeting (Screens, Windows, share options), as in Zoom. */
#wig-gl-sharemodal { position: fixed; inset: 0; z-index: 100001; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; }
.wig-sm__box { width: min(1000px, 94vw); height: min(640px, 90vh); display: flex; flex-direction: column; background: #202024; color: #f1f1f3; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 60px rgba(0,0,0,.6); overflow: hidden; font: 13px system-ui, sans-serif; }
.wig-sm__tabs { display: flex; align-items: center; gap: 6px; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.wig-sm__tabs span { flex: 1; }
.wig-sm__tabs button { background: none; border: 0; color: #b8b8c2; font: 600 13px system-ui; padding: 6px 14px; border-radius: 999px; cursor: pointer; }
.wig-sm__tabs button.on { background: #2f7be5; color: #fff; }
.wig-sm__tabs .wig-sm__x { font-size: 20px; line-height: 1; padding: 2px 10px; }
.wig-sm__cols { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) 260px; min-height: 0; }
.wig-sm__list { overflow: auto; padding: 4px 16px 16px; }
.wig-sm__list h3 { margin: 16px 0 10px; font-size: 13px; color: #d4d4dc; }
.wig-sm__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.wig-sm__card { border: 2px solid transparent; border-radius: 10px; padding: 8px; background: #2d2d33; cursor: pointer; }
.wig-sm__card:hover { background: #38383f; }
.wig-sm__card.sel { border-color: #2f7be5; background: #1e3050; }
.wig-sm__card:focus-visible { outline: 2px solid #6aa8ff; }
.wig-sm__card > img { width: 100%; aspect-ratio: 16/10; object-fit: contain; background: #101012; border-radius: 6px; display: block; }
.wig-sm__name { margin-top: 7px; display: flex; align-items: center; gap: 6px; font-weight: 600; white-space: nowrap; overflow: hidden; }
.wig-sm__name img { width: 16px; height: 16px; flex: none; }
.wig-sm__name span { overflow: hidden; text-overflow: ellipsis; }
.wig-sm__cols aside { border-left: 1px solid rgba(255,255,255,.1); padding: 16px; }
.wig-sm__cols aside h4 { margin: 0 0 12px; font-size: 13px; }
.wig-sm__cols aside label { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.wig-sm__cols aside p { color: #9a9aa5; font-size: 12px; line-height: 1.5; }
.wig-sm__load { color: #9a9aa5; padding: 18px 4px; grid-column: 1/-1; }
.wig-sm__foot { display: flex; justify-content: flex-end; gap: 10px; padding: 12px 16px; border-top: 1px solid rgba(255,255,255,.1); }
.wig-sm__foot button { border: 0; border-radius: 9px; padding: 9px 22px; font: 700 14px system-ui; cursor: pointer; background: #3a3a42; color: #fff; }
.wig-sm__foot .wig-sm__go { background: #2f7be5; }
.wig-sm__foot .wig-sm__go:disabled { opacity: .4; cursor: default; }

/* In the app's side panel (while sharing), dialogs such as the microphone test fill the panel. */
body.wig-panel-mode .wig-gl-pbox { top: 36px !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: auto !important; max-width: none !important; max-height: none !important; border-radius: 0 !important; z-index: 99995 !important; }
body.wig-panel-mode #wpadminbar { display: none !important; }
html:has(body.wig-panel-mode) { margin-top: 0 !important; }

/* Voice level on the microphone button */
#wig-gl-mic { position: relative; overflow: hidden; }
#wig-gl-mic .wig-lvl { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; background: #4ade80; border-radius: 0 2px 2px 0; transition: width .08s linear; pointer-events: none; }
/* On-air dot: shown to everyone while the meeting is recorded */
#wig-rec-pill { position: fixed; top: 10px; right: 14px; z-index: 100001; display: flex; align-items: center; gap: 6px; background: rgba(20,20,24,.88); color: #fff; font: 700 12px system-ui, sans-serif; letter-spacing: .08em; padding: 5px 10px; border-radius: 999px; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
#wig-rec-pill[hidden] { display: none; }
#wig-rec-pill i { width: 10px; height: 10px; border-radius: 50%; background: #ff3b30; animation: wigrec 1.2s infinite; }
@keyframes wigrec { 50% { opacity: .25; } }
