:root{
  --bg:#f6f8fc;
  --fg:#0f172a;
  --muted:#64748b;
  --card:#ffffff;
  --border:rgba(15,23,42,.12);
  --shadow:0 10px 30px rgba(2,6,23,.08);

  --accent:#16a34a;
  --accent-soft:rgba(22,163,74,.12);

  --danger:#dc2626;
  --danger-soft:rgba(220,38,38,.10);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--fg);
}
.container{max-width:980px;margin:0 auto;padding:24px;}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  box-shadow:var(--shadow);
}

.grid{display:grid;gap:12px}
.grid-2{grid-template-columns:1fr 1fr}
@media (max-width:900px){ .grid-2{grid-template-columns:1fr} }

.btn{
  display:inline-flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:10px 12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--fg);
  cursor:pointer;
  text-decoration:none;
  transition:transform .04s ease, box-shadow .12s ease, border-color .12s ease;
}
.btn:hover{border-color:rgba(15,23,42,.22); box-shadow:0 8px 18px rgba(2,6,23,.08)}
.btn:active{transform:translateY(1px)}
.btn-primary{
  background:var(--accent-soft);
  border-color:rgba(22,163,74,.35);
  color:#14532d;
}
.btn-danger{
  background:var(--danger-soft);
  border-color:rgba(220,38,38,.35);
  color:#7f1d1d;
}

.muted{color:var(--muted)}
.badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  font-size:12px;
  color:var(--muted);
  background:#fff;
}
.badge-ok{
  border-color:rgba(22,163,74,.35);
  color:#14532d;
  background:rgba(22,163,74,.08);
}
.badge-warn{
  border-color:rgba(220,38,38,.35);
  color:#7f1d1d;
  background:rgba(220,38,38,.06);
}

.table{width:100%;border-collapse:collapse}
.table th,.table td{
  padding:10px;
  border-bottom:1px solid var(--border);
  text-align:left;
  vertical-align:top
}
.table th{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted)
}

.input{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--fg);
  outline:none;
}
.input:focus{
  border-color:rgba(22,163,74,.45);
  box-shadow:0 0 0 4px rgba(22,163,74,.12);
}

hr{border:0;border-top:1px solid var(--border);margin:14px 0}

.timer{font-variant-numeric:tabular-nums;font-weight:800;color:#0f172a}
.option{width:100%;text-align:left}
.option[disabled]{opacity:.6;cursor:not-allowed}

.notice{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(100,116,139,.06);
}
code{background:rgba(100,116,139,.12); padding:2px 6px; border-radius:8px}
