:root {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color: #fff;
  background: #17152f;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at 20% 10%, #6d6bdf, #302d73 42%, #17152f 100%);
}
.app { max-width: 1100px; margin: auto; padding: 22px; }
header {
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; margin-bottom:18px;
}
.brand { font-size:28px; font-weight:900; letter-spacing:.5px; }
.brand span { opacity:.65; }
.subtitle, .muted { color:#d8d8f4; }
.small { font-size:12px; line-height:1.45; margin-top:12px; }
.badge, .pill {
  padding:9px 14px; border-radius:999px; background:#646464; font-weight:800;
}
.pill { padding:4px 10px; font-size:12px; }
.card {
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.17);
  border-radius:20px;
  padding:20px;
  margin-bottom:16px;
  backdrop-filter:blur(12px);
  box-shadow:0 15px 45px rgba(0,0,0,.17);
}
.inner { margin-top:16px; background:rgba(0,0,0,.13); }
h1,h2,h3 { margin-top:0; }
label { display:block; margin:14px 0 7px; font-weight:800; }
input, select, textarea, button {
  width:100%; border:0; border-radius:12px; padding:13px 14px;
  font:inherit;
}
input, select, textarea { background:#f4f4f9; color:#17152f; }
textarea { min-height:80px; margin:10px 0; }
button { cursor:pointer; font-weight:900; margin-top:12px; }
.primary { background:#29b744; color:#fff; }
.secondary { background:#686dbb; color:#fff; }
.danger { background:#d74756; color:#fff; width:auto; }
.error { color:#ffb8bf; min-height:20px; margin-top:12px; }
.hidden { display:none !important; }
.topbar, .sectionTitle { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.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; }
.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; }
  .brand { font-size:22px; }
  .danger { width:auto; }
}

.participantMeter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.participantMeterTrack {
  flex: 1;
  height: 8px;
  background: #222;
  border-radius: 4px;
  overflow: hidden;
}

.participantMeterFill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #20c997 0%, #ffc107 70%, #dc3545 90%);
  transition: width 80ms linear;
}

.participantDb {
  min-width: 52px;
  text-align: right;
  font-size: 12px;
  font-family: monospace;
  opacity: 0.85;
}
