/* Voice room page — AGENT-C — ตาม ref-6 (light glass, กริดสมาชิก + แผงลอย + ปุ่มวงกลม)
 * จูนสีให้เข้าชุดเดียวกับ messages/community: การ์ดขาวโปร่ง, ชื่อ #1f3350, ป้ายเขียวมินต์ #4ade80 */

/* ---------- header ---------- */
.vc-head{display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:18px 18px 10px;padding-top:calc(18px + env(safe-area-inset-top));text-align:center}
.vc-title{font-size:20px;font-weight:800;color:var(--card-ink)}
.theme-light .vc-sub{font-size:13px;min-height:16px;color:var(--card-ink-dim)}
.vc-meta{display:flex;align-items:center;gap:10px;margin-top:6px}
.vc-meeting{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;
  border-radius:var(--r-pill);font-size:12.5px;font-weight:700;color:#0b5c37;
  background:linear-gradient(120deg,#b7f4d4,#4ade80);border:1px solid rgba(38,180,110,.4);
  box-shadow:0 3px 12px rgba(74,222,128,.32)}
.theme-light .vc-count{font-size:12.5px;color:var(--card-ink-dim)}

/* ---------- stage + member grid (การ์ดขาวโปร่งแบบ messages) ---------- */
.vc-body{flex:1;padding:4px 14px calc(130px + env(safe-area-inset-bottom));display:flex}
.vc-stage{flex:1;padding:16px 10px;align-self:flex-start;width:100%}
.theme-light .vc-stage{background:var(--card-glass);
  border:1px solid var(--card-brd);border-radius:26px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 6px 20px rgba(80,140,220,.15)}
.vc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px}
@media (min-width:420px){.vc-grid{grid-template-columns:repeat(5,1fr)}}
.vc-skel{height:96px;border-radius:var(--r-md)}

.vc-tile{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.vc-tile .avatar{border-radius:16px;transition:box-shadow .18s}
.vc-tile .avatar .status-dot{display:none}
.vc-tile.speaking .avatar{
  border-color:rgba(74,222,128,.95);
  box-shadow:0 0 0 3px rgba(74,222,128,.35), 0 0 18px rgba(74,222,128,.6)}
.vc-tile.self .vc-name{color:#0d7a4b;font-weight:700}
.vc-name{font-size:11.5px;max-width:100%;text-align:center;color:var(--card-ink)}
.vc-badges{display:flex;align-items:center;justify-content:center;gap:4px;
  flex-wrap:wrap;min-height:18px}
.vc-b{display:inline-flex;align-items:center;justify-content:center;
  padding:2px 8px;border-radius:var(--r-pill);font-size:9.5px;font-weight:700;color:#fff}
.vc-b-speak{background:linear-gradient(120deg,#4ade80,#22c07a);
  box-shadow:0 2px 8px rgba(74,222,128,.5)}
.vc-b-share{background:linear-gradient(120deg,#4fb9ff,#2f8bff);
  box-shadow:0 2px 8px rgba(47,139,255,.45)}
.vc-b-mute{padding:2px;width:18px;height:18px;border-radius:50%;
  background:linear-gradient(120deg,#ff7a7a,#ff5d5d);box-shadow:0 2px 8px rgba(255,93,93,.45)}
.vc-b-mute svg{width:11px;height:11px}

/* ---------- floating room feed (การ์ดกระจกลอยขวาแบบ ref-6) ---------- */
.vc-feed{position:fixed;z-index:60;width:150px;
  top:calc(120px + env(safe-area-inset-top));
  right:max(8px, calc(50vw - 232px));
  padding:10px 10px 12px;border-radius:18px;
  background:var(--card-glass);border:1px solid var(--card-brd);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 14px 34px rgba(25,60,130,.25);
  animation:vcFeedIn .4s ease}
@keyframes vcFeedIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.vc-feed-title{font-size:11.5px;font-weight:800;margin-bottom:8px;color:var(--card-ink)}
.vc-feed-list{display:flex;flex-direction:column;gap:7px;max-height:34vh;overflow-y:auto}
.vc-feed-item{display:flex;align-items:flex-start;gap:6px;padding:7px 9px;
  border-radius:11px;background:rgba(255,255,255,.9);
  border:1px solid var(--lt-card-brd);font-size:11px;line-height:1.4;
  color:var(--card-ink);box-shadow:0 2px 8px rgba(60,110,180,.12)}
.vc-feed-dot{flex:none;width:7px;height:7px;border-radius:3px;margin-top:4px;
  background:linear-gradient(135deg,#37b6ff,#2f8bff)}

/* ---------- bottom controls (วงกลมขาว เงาฟ้า แบบ ref-6) ---------- */
.vc-controls{position:fixed;z-index:70;left:50%;transform:translateX(-50%);
  bottom:calc(16px + env(safe-area-inset-bottom));
  display:flex;gap:18px;align-items:flex-start;
  padding:12px 20px;border-radius:var(--r-pill);
  background:var(--card-glass);border:1px solid var(--card-brd);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 12px 34px rgba(25,60,130,.28)}
.vc-ctrl{display:flex;flex-direction:column;align-items:center;gap:5px;
  font-size:10.5px;color:var(--card-ink);min-width:52px}
.vc-btn{width:52px;height:52px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:#fff;color:#2a4a75;
  border:1px solid rgba(150,190,240,.5);
  box-shadow:0 6px 16px rgba(40,90,170,.22), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .12s, background .15s, color .15s}
.vc-btn:active{transform:scale(.92)}
.vc-btn svg{width:22px;height:22px}
.vc-btn.off{background:linear-gradient(120deg,#ffe4e4,#ffd2d2);color:#c22525;
  border-color:rgba(255,120,120,.55)}
.vc-btn.danger{background:linear-gradient(120deg,#ff7a7a,#ff4d4d);color:#fff;
  border-color:rgba(255,90,90,.6);box-shadow:0 6px 18px rgba(255,80,80,.4)}

@media (max-width:379px){
  .vc-controls{gap:10px;padding:10px 14px}
  .vc-btn{width:47px;height:47px}
  .vc-ctrl{min-width:47px}
  .vc-feed{width:132px}
}

/* ================= ส่วนที่เพิ่ม: วิดีโอ / 4 ทางเข้า / แผงลอย ================= */
.vc-body{flex-direction:column;gap:12px}

/* ---- วิดีโอจริง (กล้อง / แชร์จอ) ---- */
.vc-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;width:100%}
.vc-videos[hidden]{display:none}
.vc-vid{position:relative;border-radius:16px;overflow:hidden;background:#0d2242;
  border:1px solid var(--card-brd);box-shadow:0 8px 22px rgba(40,90,170,.24);
  animation:vcVidIn .25s ease}
@keyframes vcVidIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.vc-vid video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#0d2242}
.vc-vid-name{position:absolute;left:7px;bottom:6px;max-width:calc(100% - 14px);
  padding:3px 9px;border-radius:var(--r-pill);font-size:10.5px;font-weight:600;
  color:#fff;background:rgba(10,28,55,.62);backdrop-filter:blur(6px)}

.vc-b-cam{background:linear-gradient(120deg,#a78bfa,#7c5cff);
  box-shadow:0 2px 8px rgba(124,92,255,.45)}
.vc-b-host{background:linear-gradient(120deg,#ffd66b,#f0b429);color:#4a3505;
  box-shadow:0 2px 8px rgba(240,180,41,.45)}
.vc-btn.on{background:linear-gradient(120deg,#d7ecff,#b6dcff);color:#1257a8;
  border-color:rgba(80,160,255,.6)}
.vc-btn.locked{opacity:.75}

/* ---- 4 ทางเข้า (สมาชิก / แชท / ของขวัญ / ตั้งค่า) ---- */
.vc-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}
.vc-tab{display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:11px 4px;border-radius:18px;font-size:10.5px;font-weight:600;color:#2a4a75;
  background:var(--card-glass);border:1px solid var(--card-brd);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 6px 18px rgba(80,140,220,.14);transition:transform .12s, background .15s}
.vc-tab:active{transform:scale(.95)}
.vc-tab svg{width:19px;height:19px}
.vc-tab-emo{font-size:17px;line-height:19px}
.vc-tab.on{background:linear-gradient(135deg,#4aa4ff,#2f8bff);color:#fff;
  border-color:rgba(47,139,255,.6);box-shadow:0 8px 20px rgba(47,139,255,.4)}
.vc-tab span:not(.vc-tab-emo){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- แผงลอยด้านล่าง (sheet) ---- */
.vc-sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.vc-sheet[hidden]{display:none}
.vc-sheet-bd{position:absolute;inset:0;background:rgba(12,32,60,.32);
  opacity:0;transition:opacity .22s ease}
.vc-sheet.open .vc-sheet-bd{opacity:1}
.vc-sheet-card{position:relative;width:min(480px,100%);max-height:72vh;
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.95);border:1px solid var(--card-brd);
  border-radius:26px 26px 0 0;box-shadow:0 -14px 40px rgba(25,60,130,.28);
  transform:translateY(100%);transition:transform .26s cubic-bezier(.22,.9,.3,1);
  padding-bottom:env(safe-area-inset-bottom)}
.vc-sheet.open .vc-sheet-card{transform:none}
.vc-sheet-h{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;
  border-bottom:1px solid rgba(120,170,230,.22)}
.vc-sheet-title{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--card-ink)}
.vc-sheet-h .icon-btn{flex:none;width:32px;height:32px;border-radius:50%;color:var(--card-ink-dim);
  display:flex;align-items:center;justify-content:center}
.vc-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px}

/* ---- สมาชิกในห้อง ---- */
.vc-mlist{display:flex;flex-direction:column;gap:8px}
.vc-mrow{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:16px;
  background:rgba(190,215,240,.26);border:1px solid rgba(120,170,230,.2)}
.vc-mname{font-size:14px;font-weight:600;color:var(--card-ink)}
.vc-mtags{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px;min-height:16px}
.vc-mgift{flex:none;width:38px;height:38px;border-radius:50%;font-size:18px;line-height:1;
  background:rgba(255,214,107,.24);border:1px solid rgba(240,180,41,.4);
  transition:transform .13s}
.vc-mgift:active{transform:scale(.88)}

/* ---- แชทในห้อง ---- */
.vc-clist{display:flex;flex-direction:column;gap:9px;max-height:44vh;overflow-y:auto;padding-bottom:6px}
.vc-cempty{padding:26px 0;text-align:center;font-size:13px}
.vc-cmsg{display:flex;align-items:flex-end;gap:7px;max-width:88%}
.vc-cmsg.mine{margin-left:auto;flex-direction:row-reverse}
.vc-cbub{display:flex;flex-direction:column;padding:8px 12px;border-radius:16px;
  background:rgba(190,215,240,.36);color:var(--card-ink);font-size:13.5px;line-height:1.45}
.vc-cmsg.mine .vc-cbub{background:linear-gradient(135deg,#4aa4ff,#2f8bff);color:#fff}
.vc-cfrom{font-size:11px;font-weight:700;opacity:.8;margin-bottom:2px}
.vc-ctime{font-size:10px;opacity:.65;margin-top:3px;align-self:flex-end}
.vc-cfoot{display:flex;gap:8px;margin-top:10px}
.vc-cinput{flex:1;min-width:0;padding:11px 14px;font-size:14px;color:var(--card-ink);
  border-radius:var(--r-pill);background:rgba(190,215,240,.32);
  border:1px solid var(--lt-card-brd);transition:border-color .15s}
.vc-cinput:focus{border-color:var(--accent)}
.vc-cinput::placeholder{color:var(--card-ink-dim)}
.vc-csend{flex:none;width:44px;height:44px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;color:#fff;
  background:linear-gradient(135deg,#4aa4ff,#2f8bff);
  box-shadow:0 6px 16px rgba(47,139,255,.4);transition:transform .13s}
.vc-csend:active{transform:scale(.9)}
.vc-csend svg{width:19px;height:19px}

/* ---- ของขวัญ ---- */
.vc-gwrap{display:flex;flex-direction:column;gap:11px}
.vc-gpoints{align-self:flex-start;padding:6px 14px;border-radius:var(--r-pill);
  font-size:12.5px;font-weight:700;color:#4a3505;
  background:linear-gradient(120deg,#ffe9ad,#ffd66b);border:1px solid rgba(240,180,41,.4)}
.vc-glabel{font-size:12.5px;font-weight:600;color:var(--card-ink-dim)}
.vc-gnoone{font-size:13px;padding:8px 0}
.vc-gpeople{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.vc-gp{flex:none;display:flex;flex-direction:column;align-items:center;gap:5px;
  width:62px;padding:8px 4px;border-radius:14px;font-size:10.5px;color:var(--card-ink);
  background:rgba(190,215,240,.28);border:1px solid transparent;transition:all .13s}
.vc-gp span{max-width:100%}
.vc-gp.on{border-color:var(--accent);background:rgba(47,139,255,.14);
  box-shadow:0 0 10px rgba(47,139,255,.22)}
.vc-ggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}
.vc-gitem{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;
  border-radius:16px;background:rgba(190,215,240,.28);border:1px solid transparent;
  transition:all .13s}
.vc-gitem:active{transform:scale(.94)}
.vc-gitem.on{border-color:#f0b429;background:rgba(255,214,107,.22);
  box-shadow:0 0 12px rgba(240,180,41,.3)}
.vc-gemoji{font-size:26px;line-height:1.1}
.vc-gname{font-size:11px;color:var(--card-ink);max-width:100%}
.vc-gprice{font-size:11px;font-weight:700;color:#b8860b}
.vc-gsend[disabled]{opacity:.55;pointer-events:none}

/* ---- ตั้งค่าห้อง ---- */
.vc-swrap{display:flex;flex-direction:column;gap:13px}
.vc-sfield>span{display:block;font-size:12.5px;font-weight:600;color:var(--card-ink-dim);margin-bottom:6px}
.vc-sfield input{width:100%;padding:11px 14px;font-size:14.5px;color:var(--card-ink);
  border-radius:var(--r-sm);background:rgba(190,215,240,.32);
  border:1px solid var(--lt-card-brd)}
.vc-sfield input:focus{border-color:var(--accent)}
.vc-sfield input[disabled]{opacity:.6}
.vc-stoggle{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--card-ink);
  padding:11px 13px;border-radius:16px;background:rgba(190,215,240,.26)}
.vc-stoggle input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.vc-snote{font-size:12px;line-height:1.5}

/* feed สีตามชนิดเหตุการณ์ */
.vc-feed-item.is-join .vc-feed-dot{background:linear-gradient(135deg,#7ef2c0,#22c07a)}
.vc-feed-item.is-leave .vc-feed-dot{background:linear-gradient(135deg,#ffb3b3,#ff5d5d)}
.vc-feed-item.is-gift .vc-feed-dot{background:linear-gradient(135deg,#ffe9ad,#f0b429)}

@media (max-width:379px){
  .vc-tabs{gap:6px}
  .vc-tab{padding:9px 3px;font-size:9.5px;border-radius:15px}
  .vc-videos{grid-template-columns:1fr}
}
