.tl-meeting27, .tl-meeting27-choice {
  color: #191615;
  background: #fff;
  border: 1px solid #e6e0dd;
  border-radius: 16px;
  box-shadow: 0 18px 64px #1d15154d;
  padding: 20px;
  width: min(880px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  box-sizing: border-box;
}
.tl-meeting27-choice { width: min(480px, calc(100vw - 36px)); }
.tl-meeting27::backdrop, .tl-meeting27-choice::backdrop { background: #2019187d; }
.tl-meeting27 h2, .tl-meeting27-choice h2 { font-size: 22px; margin: 0; }
.tl-meeting27-head, .tl-meeting27-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.tl-meeting27-head { justify-content: space-between; }
.tl-meeting27-status, .tl-meeting27-wave { color: #605955; margin: 4px 0 14px; }
.tl-meeting27-wave:empty, .tl-meeting27-error:empty { display: none; }
.tl-meeting27-error { color: #a71c24; margin: 4px 0; }
.tl-meeting27-choice-body { padding: 14px 0; }
.tl-meeting27-screen figure, .tl-meeting27-videos figure { margin: 0; min-width: 0; }
.tl-meeting27-screen video, .tl-meeting27-videos video {
  display: block;
  width: 100%;
  max-height: 53vh;
  background: #171516;
  object-fit: contain;
  border-radius: 10px;
}
.tl-meeting27-screen { margin-bottom: 10px; }
.tl-meeting27-videos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.tl-meeting27-videos video { max-height: 26vh; aspect-ratio: 16 / 9; }
.tl-meeting27 figcaption { font-size: 13px; margin: 4px 0; }
.tl-meeting27-people { margin-top: 12px; }
.tl-meeting27-people ul { padding-inline-start: 18px; }
.tl-meeting27-people li { margin: 4px 0; }
.tl-meeting27-people button { margin-inline-start: 6px; }
.tl-meeting27-select {
  display: grid;
  gap: 6px;
  border: 1px solid #e6e0dd;
  border-radius: 8px;
  max-height: 230px;
  overflow: auto;
  margin: 12px 0 0;
}
.tl-meeting27-select label { display: flex; gap: 8px; align-items: center; padding: 4px; }
/* Khung hop nam TRONG cot hoi thoai, khong con noi giua man hinh.
   .tl-meeting27-choice (bang chon man hinh) VAN la <dialog> nen giu nguyen
   luat nen o dau tep — chi ghi de rieng cho .tl-meeting27.

   Cot hoi thoai thieu CHIEU CAO nhung thua CHIEU NGANG. Nen:
   - ca khung la mot cot co gian; hang nut va tieu de KHONG BAO GIO co gian
     => khong bao giờ bi cat mat nhu truoc;
   - chi vung man hinh chia se va vung o video duoc co gian va tu cuon;
   - o video co BE RONG CO DINH 190px xep ngang roi xuong dong, thay vi
     auto-fit 1fr lam mot nguoi chiem tron chieu ngang thanh mot dai den.

   CANH BAO: co gian PHAI la "flex: N 1 auto", KHONG duoc la "flex: N 1 0".
   Khung nay cao theo NOI DUNG (max-height chi la tran, khong phai chieu cao
   co dinh), nen co goc 0 lam vung video dong gop 0 pixel va bi dep hoan toan
   — mat sach camera. Da dinh dung loi do ngay 12/11/2026. */
.tl-meeting27 {
  width: auto;
  max-height: 50vh;
  margin: 8px 12px 0;
  border-radius: 12px;
  box-shadow: none;
  padding: 10px 14px;
  flex: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.tl-meeting27 > * { flex: none; }
.tl-meeting27 .tl-meeting27-screen { flex: 3 1 auto; min-height: 0; overflow: auto; }
.tl-meeting27 .tl-meeting27-videos { flex: 1 1 auto; min-height: 0; overflow: auto; }
.tl-meeting27 .tl-meeting27-videos {
  /* Dan ngang, CAN GIUA. Doi tu luoi sang flex de it nguoi thi o to va nam
     giua khung, dong nguoi thi o nho lai va tu xuong dong. */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  gap: 8px;
  margin-bottom: 6px;
}
/* Co o theo SO NGUOI — on dinh, khong doi theo ai dang noi. */
.tl-meeting27 .tl-meeting27-videos figure { width: 210px; }
.tl-meeting27 .tl-meeting27-videos[data-so="1"] figure { width: min(440px, 70%); }
.tl-meeting27 .tl-meeting27-videos[data-so="2"] figure { width: min(340px, 46%); }
.tl-meeting27 .tl-meeting27-videos[data-so="3"] figure { width: 270px; }
.tl-meeting27 .tl-meeting27-videos[data-so="4"] figure { width: 240px; }

/* Nguoi dang phat bieu: CHI vien sang, KHONG doi kich thuoc.
   Truoc day cho chiem hai cot thi o nhay tu 240 len gan 500px moi lan cat
   tieng — giat va kho chiu. Meet cung chi vien chu khong phong to. */
.tl-meeting27 .tl-meeting27-videos figure.is-speaking video {
  outline: 3px solid #c0392b;
  outline-offset: -3px;
}
/* Chu nut nho lai va khit lai, danh cho khung video nhieu cho hon. */
.tl-meeting27 button { font-size: 12.5px; padding: 5px 9px; }
.tl-meeting27 h2 { font-size: 17px; }
.tl-meeting27 figcaption { font-size: 12px; margin: 2px 0; }
.tl-meeting27 .tl-meeting27-head { margin-bottom: 2px; }
.tl-meeting27 .tl-meeting27-controls { gap: 6px; margin-top: 6px; }
.tl-meeting27 .tl-meeting27-people { margin-top: 6px; }
.tl-meeting27 .tl-meeting27-people li { margin: 2px 0; }
.tl-meeting27 .tl-meeting27-screen { margin-bottom: 6px; }
.tl-meeting27 .tl-meeting27-videos video { max-height: none; }
.tl-meeting27 .tl-meeting27-screen video { max-height: none; }
.tl-meeting27 .tl-meeting27-status { margin: 2px 0 8px; }
.tl-meeting27-compact {
  display: block;
  width: calc(100% - 24px);
  margin: 8px 12px 0;
  text-align: left;
  box-shadow: none;
}

/* ===== Theo lối Google Meet (12/11/2026) =====
   - Hàng nút NỔI ĐÈ lên vùng video thay vì nằm dưới, để video chiếm hết khung.
     Đặt tuyệt đối theo chính khung họp (không theo vùng video) nên nó KHÔNG
     cuộn mất khi danh sách người dài ra.
   - Vùng video chừa đáy cho thanh nút khỏi che mặt người.
   - Ba trạng thái cửa sổ kiểu Windows: thu nhỏ · phóng to · phục hồi. */
.tl-meeting27 { position: relative; min-height: 170px; }
.tl-meeting27 .tl-meeting27-controls {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  margin: 0;
  z-index: 3;
  flex-wrap: nowrap;
  max-width: calc(100% - 28px);
  overflow-x: auto;
  background: #fffffff2;
  border: 1px solid #e6e0dd;
  border-radius: 999px;
  padding: 6px 10px;
  box-shadow: 0 6px 20px #1d151533;
}
.tl-meeting27 .tl-meeting27-videos { padding-bottom: 50px; }
.tl-meeting27.is-max { max-height: 85vh; }

/* Nút cửa sổ: thu nhỏ · phóng to/phục hồi */
.tl-meeting27-wins { display: flex; gap: 4px; align-items: center; }
.tl-meeting27 .tl-meeting27-win {
  min-width: 30px;
  padding: 2px 8px;
  font-size: 15px;
  line-height: 1.2;
}

/* Thành viên cuộc họp nay là một thẻ riêng ở cột phải */
.tl-meeting27-people-card { margin-top: 10px; }
.tl-meeting27-people-card .tl-meeting27-people { margin-top: 0; }

/* Nut bieu tuong nam DE LEN video: tron, nen mo, de nhin tren nen toi lan sang */
.tl-meeting27 .tl-meeting27-videos { position: relative; }
.tl-meeting27 .tl-meeting27-ic {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.tl-meeting27 .tl-meeting27-ic svg { width: 18px; height: 18px; fill: currentColor; display: block; }
/* Nut «Roi cuoc hop» nam NGOAI video */
.tl-meeting27-outside { display: flex; justify-content: flex-end; margin-top: 6px; }
/* The thanh vien cuoc hop o dau cot phai */
.tl-meeting27-people-card { margin-bottom: 10px; }

/* ===== Khung hop chiem tron vung hoi thoai (12/11/2026) =====
   LUU Y DO UU TIEN: thao_luan_design_20261106_30.css co luat
   #tlApp[data-pc-layout="true"]:is([data-pc-design="b"],[data-pc-design="c"]) .tl-conv
   dat display:flex — manh hon ba lop. Moi luat bo cuc tren .tl-conv o day PHAI
   co tien to #tlApp, neu khong se bi ep ve flex va grid khong bao gio an.
   Dang mo  : an dong tin, khung an het chieu cao con lai — de con cho chia se man hinh.
   Phong to : an luon o soan tin.
   Thu nho  : tra lai nguyen trang, dong tin hien lai. */
#tlApp .tl-conv.tl-co-hop27:not(.tl-ben-chat) #tlFeed { display: none; }
#tlApp .tl-conv.tl-co-hop27 .tl-meeting27 {
  max-height: none;
  flex: 1 1 auto;
  min-height: 0;
  margin-bottom: 6px;
}
#tlApp .tl-conv.tl-co-hop27-max .tl-compose { display: none; }

/* ===== Theo anh chup Google Meet (12/11/2026) =====
   Nen toi, o video bo goc, ten nguoi DE LEN goc duoi trai o, thanh nut noi
   dang vien thuoc o giua day, nut cup may tron do. */
#tlApp .tl-conv.tl-co-hop27:not(.tl-ben-chat) .tl-compose { display: none; }     /* goi video thi khong chat duoi */
#tlApp .tl-conv.tl-co-hop27-max .tl-side { display: none; }    /* phong to: an luon danh sach trai */

.tl-meeting27 {
  background: #202124;
  border-color: #3c4043;
  color: #e8eaed;
}
.tl-meeting27 h2, .tl-meeting27 .tl-meeting27-status { color: #e8eaed; }
.tl-meeting27 .tl-meeting27-status { color: #9aa0a6; }

/* O video: bo goc, ten de len goc duoi trai */
.tl-meeting27 .tl-meeting27-videos figure { position: relative; }
.tl-meeting27 .tl-meeting27-videos video,
.tl-meeting27 .tl-meeting27-screen video { border-radius: 12px; background: #3c4043; }
.tl-meeting27 .tl-meeting27-videos figcaption {
  position: absolute;
  left: 10px;
  bottom: 8px;
  margin: 0;
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  text-shadow: 0 1px 3px #000c;
  pointer-events: none;
}

/* Thanh nut noi: vien thuoc, nen toi, giua day */
.tl-meeting27 .tl-meeting27-controls {
  background: #292a2db3;
  border-color: #5f6368;
  backdrop-filter: blur(6px);
  gap: 8px;
}
.tl-meeting27 .tl-meeting27-ic {
  background: #3c4043;
  border-color: #5f6368;
  color: #e8eaed;
}
.tl-meeting27 .tl-meeting27-ic:hover { background: #4a4e51; }
.tl-meeting27 .tl-meeting27-controls .tl-btn:not(.tl-meeting27-ic) {
  background: #3c4043;
  border-color: #5f6368;
  color: #e8eaed;
  border-radius: 999px;
}
/* Nut cua so tren dau khung */
.tl-meeting27 .tl-meeting27-win { background: transparent; border-color: #5f6368; color: #e8eaed; }
/* «Roi cuoc hop» kieu nut cup may do cua Meet */
.tl-meeting27-outside .tl-meeting27-leave {
  background: #ea4335;
  border-color: #ea4335;
  color: #fff;
  border-radius: 999px;
  padding: 7px 20px;
}

/* ===== O cua chinh minh: anh nho goc duoi phai (theo anh chup Meet) ===== */
.tl-meeting27 .tl-meeting27-videos figure.is-self {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 190px;
  z-index: 2;
  margin: 0;
  box-shadow: 0 6px 22px #000000a6;
  border-radius: 12px;
  overflow: hidden;
}
.tl-meeting27 .tl-meeting27-videos figure.is-self video { border-radius: 12px; }
.tl-meeting27 .tl-meeting27-videos figure.is-self figcaption { font-size: 11px; left: 8px; bottom: 6px; }
/* Khong co ai khac thi o cua minh ra giua cho do trong trai */
.tl-meeting27 .tl-meeting27-videos[data-so="0"] figure.is-self {
  position: static;
  width: min(440px, 70%);
  margin: 0 auto;
}
/* San khau nen den nhu Meet */
.tl-meeting27 .tl-meeting27-videos,
.tl-meeting27 .tl-meeting27-screen { background: #000; border-radius: 12px; }
.tl-meeting27 .tl-meeting27-videos { padding: 10px 10px 54px; }

/* ===== O theo NGUOI: vong tron chu cai khi tat hinh, dau mic tat ===== */
.tl-meeting27 .tl-meeting27-videos figure {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #3c4043;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tl-meeting27 .tl-meeting27-videos figure video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}
/* Vong tron chu cai — hien khi nguoi do tat camera */
.tl-meeting27-chu {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #5f6368;
  color: #fff;
  font-size: 30px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
}
.tl-meeting27-chu[hidden] { display: none; }
.tl-meeting27 .tl-meeting27-videos figure.is-self .tl-meeting27-chu { width: 46px; height: 46px; font-size: 20px; }
/* Dau mic bi tat — goc tren phai o, nhu Meet */
.tl-meeting27-dau-mic {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #ea4335;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tl-meeting27-dau-mic[hidden] { display: none; }
.tl-meeting27-dau-mic svg { width: 14px; height: 14px; fill: #fff; display: block; }
/* Vien sang cho nguoi dang noi dat tren O chu khong tren the video nua */
.tl-meeting27 .tl-meeting27-videos figure.is-speaking {
  outline: 3px solid #8ab4f8;
  outline-offset: -3px;
}
.tl-meeting27 .tl-meeting27-videos figure.is-speaking video { outline: none; }

.tl-meeting27-ben {
  background: #292a2d;
  border: 1px solid #3c4043;
  border-radius: 12px;
  padding: 10px 12px;
  overflow-y: auto;
  min-height: 0;
}
.tl-meeting27-ben[hidden] { display: none; }
.tl-meeting27-ben-dau { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.tl-meeting27 .tl-meeting27-ben-dong { background: transparent; border: none; color: #9aa0a6; font-size: 20px; padding: 0 4px; }
.tl-meeting27-ben .tl-meeting27-people { margin: 0; }
.tl-meeting27-ben .tl-meeting27-people li { color: #e8eaed; }
/* Nut panel dang mo thi sang len */
.tl-meeting27 .tl-meeting27-ic.dang-mo { background: #8ab4f8; color: #202124; border-color: #8ab4f8; }

/* Che do «Tin nhan»: dong tin va o soan tin thanh COT PHAI, khong doi cho trong DOM */
#tlApp .tl-conv.tl-co-hop27.tl-ben-chat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(200px, 31%, 330px);
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas: "hop ghim" "hop tin" "hop soan";
  column-gap: 10px;
}
#tlApp .tl-conv.tl-co-hop27 > .tl-conv-head,
#tlApp .tl-conv.tl-co-hop27:not(.tl-ben-chat) > #tlPinnedBar { display: none; }
#tlApp .tl-conv.tl-co-hop27.tl-ben-chat > #tlPinnedBar { grid-area: ghim; }
#tlApp .tl-conv.tl-co-hop27.tl-ben-chat > .tl-meeting27 { grid-area: hop; max-height: none; }
#tlApp .tl-conv.tl-co-hop27.tl-ben-chat > #tlFeed { grid-area: tin; overflow-y: auto; min-height: 0; }
#tlApp .tl-conv.tl-co-hop27.tl-ben-chat > .tl-compose { grid-area: soan; display: flex; }
@media (max-width: 1050px) {
  #tlApp .tl-conv.tl-co-hop27.tl-ben-chat {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(170px, 3fr) auto minmax(60px, 1fr) auto;
    grid-template-areas: "hop" "ghim" "tin" "soan";
  }
}

/* ===== Khung chinh + dai o nho ben phai (tu 2 nguoi khac tro len) ===== */
.tl-meeting27:not(.is-presenting):not(.is-mini) .tl-meeting27-videos.co-chinh {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  grid-auto-rows: min-content;
  align-content: start;
  gap: 8px;
}
.tl-meeting27:not(.is-presenting):not(.is-mini) .tl-meeting27-videos.co-chinh figure.is-main {
  grid-column: 1;
  grid-row: 1 / span 20;
  width: auto;
  height: 100%;
}
.tl-meeting27:not(.is-presenting):not(.is-mini) .tl-meeting27-videos.co-chinh figure:not(.is-main):not(.is-self) {
  grid-column: 2;
  width: auto;
}
.tl-meeting27 .tl-meeting27-videos figure { cursor: pointer; }
.tl-meeting27 .tl-meeting27-videos figure.is-main { cursor: default; }


/* ===== Guong cho o cua CHINH MINH (12/11/2026) =====
   Moi ung dung goi video deu lat o tu quay: Meet, Zalo, va chinh app dien
   thoai FFA (man_phien_cuoc_goi.dart dong 1223 dat mirror:true cho DUNG
   luong local). Ban PC tu truoc den nay khong lat, nen quay dau sang trai
   thi tren hinh dau lai ngang sang phai — giam doc bao loi toi 12/11/2026.
   TUYET DOI khong lat o nguoi khac va khong lat man hinh chia se: chu tren
   ban ve hay to du toan gio len camera se doc nguoc. */
.tl-meeting27 .tl-meeting27-videos figure.is-self video { transform: scaleX(-1); }


/* ===== Thu nho = cua so noi nho (PiP) (12/11/2026) =====
   Truoc nay «thu nho» dat panel.hidden nen mat sach ca hai ben hinh, chi con
   mot nut chu. Nay khung co lai thanh cua so noi van thay nguoi dang noi, keo
   duoc bang thanh tieu de.

   BA DIEU PHAI NHO KHI SUA KHOI NAY:
   1. .tl-meeting27-controls (mic/camera/loa) nam BEN TRONG .tl-meeting27-videos
      — xem ui dong 200 «videos.append(media)». Dat display:none cho vung video
      la MAT SACH nut dieu khien giua cuoc hop. Chu thich o dong 135 cua tep nay
      noi cum nut «dat tuyet doi theo chinh khung hop» la SAI so voi DOM that.
   2. .co-ben va .is-presenting cung la hai lop (0,2,0) va deu dat display:grid.
      Khoi .is-mini phai nam CUOI tep thi moi thang.
   3. z-index phai o DUOI 2500 — tren nua thi PiP de len hop thoai va man cuoc
      goi 1-1 cua chat, che mat nut xac nhan. */
.tl-meeting27.is-mini {
  position: fixed;
  top: 76px;
  right: 18px;
  left: auto;
  bottom: auto;
  z-index: 2400;
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  grid-template-rows: none;
  grid-template-areas: none;
  width: min(300px, calc(100vw - 36px));
  max-height: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 14px;
  box-shadow: 0 18px 44px #000000a6;
  overflow: hidden;
}
/* Neo goc PHAI TREN chu khong phai phai duoi: thu nho la de vua hop vua chat,
   ma goc phai duoi dung ngay tren o soan tin khi nguoi dung dong cot phai. */

/* Thanh tieu de lam tay cam de keo */
.tl-meeting27.is-mini .tl-meeting27-head {
  flex-wrap: nowrap;
  gap: 6px;
  margin: 0;
  padding: 5px 6px 5px 10px;
  background: #17181a;
  cursor: grab;
  touch-action: none;
}
.tl-meeting27.is-mini.dang-keo .tl-meeting27-head { cursor: grabbing; }
.tl-meeting27.is-mini .tl-meeting27-head > div:first-child { min-width: 0; }
.tl-meeting27.is-mini .tl-meeting27-head h2 {
  font-size: 12.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Giu dong trang thai: bam thu nho ngay luc vua goi thi phai doc duoc
   «Dang ket noi…», neu khong cua so chi la mot thanh chu tro khong hieu gi. */
.tl-meeting27.is-mini .tl-meeting27-status {
  margin: 0;
  font-size: 10.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Hai nut «Moi nguoi» / «Tin nhan» khong du cho trong cua so nho. CHI giau nut
   trong cum cua so: cum mic/camera/loa cung mang lop .tl-meeting27-ic nen giau
   tran la tat luon dieu khien tieng va hinh. */
.tl-meeting27.is-mini .tl-meeting27-wins .tl-meeting27-ic { display: none; }
.tl-meeting27.is-mini .tl-meeting27-wins { flex: none; }
.tl-meeting27.is-mini .tl-meeting27-win { min-width: 26px; padding: 1px 6px; font-size: 13px; }

/* Than cua so: chi con MOT o hinh */
.tl-meeting27.is-mini .tl-meeting27-ben,
.tl-meeting27.is-mini .tl-meeting27-people,
.tl-meeting27.is-mini .tl-meeting27-wave,
.tl-meeting27.is-mini .tl-meeting27-error { display: none; }
/* MOC CUA CUM NUT: trong che do nho, cho vung video THOI lam moc, de cum
   mic/camera/loa bam theo CA KHUNG. Can the vi luc trinh chieu ta phai thu
   vung video ve 0 ma cum nut lai nam ben trong no — con bam theo vung video
   thi nut tut theo va bien mat. */
.tl-meeting27.is-mini .tl-meeting27-videos {
  position: static;
  display: block;
  flex: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
}
/* San chieu cao: luc «Dang ket noi…» chua co o nao, khong co san thi cua so
   bep con moi thanh tieu de. 168px dung bang chieu cao o 16/9 cua be rong 300. */
.tl-meeting27.is-mini:not(.is-presenting) .tl-meeting27-videos {
  min-height: 168px;
  background: #000;
}
.tl-meeting27.is-mini .tl-meeting27-videos figure { display: none; }
.tl-meeting27.is-mini .tl-meeting27-videos figure.is-main {
  display: flex;
  width: 100%;
  height: auto;
  border-radius: 0;
}
/* Giữ video và tên người gọi trong ô khi phòng chỉ còn camera của mình. */
.tl-meeting27.is-mini .tl-meeting27-videos.khong-chinh figure.is-self {
  display: flex;
  position: relative;
  inset: auto;
  width: 100%;
  border-radius: 0;
  box-shadow: none;
}
.tl-meeting27.is-mini .tl-meeting27-videos figure video,
.tl-meeting27.is-mini .tl-meeting27-videos figure.is-self video { border-radius: 0; }

/* Dang trinh chieu: uu tien man hinh chia se hon mat nguoi.
   TUYET DOI khong dat display:none cho .tl-meeting27-videos — xem dieu 1 o dau
   khoi. Chi thu no ve 0 va an cac o ben trong; cum nut da doi moc sang khung
   nen khong bi keo theo, va cung khong bi overflow:hidden cua no cat. */
.tl-meeting27.is-mini.is-presenting .tl-meeting27-videos {
  height: 0;
  min-height: 0;
  padding: 0;
  margin: 0;
}
.tl-meeting27.is-mini.is-presenting .tl-meeting27-videos figure { display: none; }
.tl-meeting27.is-mini .tl-meeting27-screen { display: none; }
.tl-meeting27.is-mini.is-presenting .tl-meeting27-screen {
  display: block;
  flex: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  background: #000;
}
.tl-meeting27.is-mini.is-presenting .tl-meeting27-screen figure { height: auto; margin: 0; }
.tl-meeting27.is-mini.is-presenting .tl-meeting27-screen video {
  width: 100%;
  height: auto;
  max-height: 168px;
  border-radius: 0;
  object-fit: contain;
}
/* Ten nguoi chia se da co tren thanh tieu de khi mo lai khung, trong cua so
   cao chua day 200px thi dong chu nay an mat chinh thu can xem. */
.tl-meeting27.is-mini .tl-meeting27-screen figcaption { display: none; }

/* Cum mic/camera/loa va nut roi hop thu nho theo, nam de day cua so */
.tl-meeting27.is-mini .tl-meeting27-controls {
  position: absolute;
  left: 8px;
  bottom: 8px;
  transform: none;
  gap: 5px;
  padding: 4px 7px;
  max-width: calc(100% - 118px);
  z-index: 4;
}
.tl-meeting27.is-mini .tl-meeting27-controls .tl-btn:not(.tl-meeting27-ic) { display: none; }
.tl-meeting27.is-mini .tl-meeting27-ic { width: 27px; height: 27px; }
.tl-meeting27.is-mini .tl-meeting27-ic svg { width: 14px; height: 14px; }
.tl-meeting27.is-mini .tl-meeting27-outside {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 4;
  margin: 0;
}
.tl-meeting27.is-mini .tl-meeting27-outside .tl-btn { padding: 4px 11px; font-size: 11px; }

#tlApp .tl-grid:has(> .tl-conv.tl-co-hop27-max) > :is(.tl-side, .tl-context) { display: none; }

.tl-meeting27:not(.is-mini) { container: tl-meeting / inline-size; }
.tl-meeting27 .tl-meeting27-layout {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 8px;
}
.tl-meeting27.co-ben:not(.is-mini) .tl-meeting27-layout {
  grid-template-columns: minmax(0, 1fr) clamp(148px, 26%, 248px);
}
.tl-meeting27-stage {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
}
.tl-meeting27:not(.is-mini) .tl-meeting27-videos { padding-bottom: 10px; }
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(104px, 23%, 228px);
  grid-template-rows: minmax(0, 1fr);
  gap: 8px;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-screen {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-screen figure {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-screen video {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  background: #000;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-screen figcaption {
  padding: 4px 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-videos {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  overflow: auto;
  margin: 0;
  padding: 6px;
}
.tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-videos[data-so] figure {
  position: relative;
  inset: auto;
  width: 100%;
  flex: none;
  box-shadow: none;
}
@container tl-meeting (max-width: 620px) {
  .tl-meeting27.co-ben:not(.is-mini) .tl-meeting27-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(48px, 27%);
  }
}
@container tl-meeting (max-width: 500px) {
  .tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-stage {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-videos { flex-direction: row; }
  .tl-meeting27.is-presenting:not(.is-mini) .tl-meeting27-videos[data-so] figure { width: 96px; }
}
.tl-meeting27.is-presenting.focus-share:not(.is-mini) .tl-meeting27-stage {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
.tl-meeting27.is-presenting.focus-share:not(.is-mini) .tl-meeting27-videos,
.tl-meeting27 .tl-meeting27-screen[hidden],
.tl-meeting27 [hidden]:is(.tl-meeting27-focus, .tl-meeting27-share-note, .tl-meeting27-controls > button) { display: none; }

.tl-meeting27 .tl-meeting27-outside {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
}
.tl-meeting27 .tl-meeting27-controls {
  position: static;
  transform: none;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
}
.tl-meeting27 .tl-meeting27-controls .tl-meeting27-share.is-sharing {
  background: #8ab4f8;
  color: #202124;
  font-weight: 600;
}
.tl-meeting27-share-note { color: #c4c7c5; margin: 4px 0 0; text-align: center; }
.tl-meeting27.is-mini .tl-meeting27-layout { display: block; flex: none; }
.tl-meeting27.is-mini .tl-meeting27-focus { display: none; }
.tl-meeting27.is-mini .tl-meeting27-controls {
  position: static;
  max-width: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}
.tl-meeting27.is-mini .tl-meeting27-controls .tl-meeting27-share.is-sharing { display: inline-flex; }
.tl-meeting27.is-mini .tl-meeting27-outside { position: static; padding: 4px; }
