:root {
  font-family: Inter, system-ui, Arial, sans-serif;
  color: #fff;
  background: #171634;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 20% 10%, #6669d8, #28265f 45%, #171634 100%);
}
.app { max-width: 1100px; margin: auto; padding: 22px; }
header {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:18px;
}
.brand { font-size:28px; font-weight:900; letter-spacing:.5px; }
.brand span { opacity:.65; }
.subtitle, .muted { color: #d9daf8; }
.badge {
  padding:9px 14px; border-radius:999px; background:#666; font-weight:700;
}
.card {
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  padding:20px;
  margin-bottom:16px;
  backdrop-filter: blur(12px);
  box-shadow: 0 15px 45px rgba(0,0,0,.18);
}
h1,h2,h3 { margin-top:0; }
label { display:block; margin:14px 0 7px; font-weight:700; }
input, select, textarea, button {
  width:100%; border:0; border-radius:12px; padding:13px 14px;
  font:inherit;
}
input, select, textarea { background:#f5f5fa; color:#171634; }
textarea { min-height:85px; margin:10px 0; }
button { cursor:pointer; font-weight:800; margin-top:12px; }
.primary { background:#27b83c; color:white; }
.secondary { background:#6d71b9; color:white; }
.danger { background:#d83f4d; color:white; max-width:140px; }
.error { color:#ffb3bb; margin-top:12px; min-height:20px; }
.hidden { display:none !important; }
.topbar { display:flex; justify-content:space-between; align-items:center; }
.grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
}
.participants {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
  margin-bottom:16px;
}
.participant {
  background:rgba(0,0,0,.18); padding:14px; border-radius:15px;
}
.dot { display:inline-block; width:10px; height:10px; border-radius:50%; background:#2bd64a; margin-right:6px; }
.meter { height:18px; background:rgba(0,0,0,.25); border-radius:20px; overflow:hidden; margin-top:15px; }
.meterFill { height:100%; width:0%; background:linear-gradient(90deg,#2bd64a,#ffd84d,#ef4a55); transition:width .08s linear; }
.stats, .statLine { display:flex; justify-content:space-between; margin-top:10px; color:#e5e5ff; }
.bigStatus { font-size:24px; font-weight:900; margin-bottom:18px; }
.check { font-weight:500; }
.check input { width:auto; margin-right:8px; }
.invite { margin-top:16px; padding:15px; background:rgba(0,0,0,.2); border-radius:12px; }
@media (max-width: 760px) {
  .app { padding:14px; }
  .grid, .participants { grid-template-columns:1fr; }
  header, .topbar { align-items:flex-start; gap:10px; }
  .brand { font-size:22px; }
  .danger { width:auto; }
}

.remoteAudios { display:grid; gap:10px; margin-bottom:16px; }
.remoteAudioCard { background:rgba(0,0,0,.18); border-radius:15px; padding:12px; }
.remoteAudioCard audio { width:100%; }
