.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.2rem;
}
.badge { display:inline-block; background:#eaf0ff; color:var(--primary-dark); font-size:.78rem; padding:.2rem .55rem; border-radius:999px; margin-bottom:.5rem; }
.btn { display:inline-block; border-radius: 999px; padding: .72rem 1.2rem; font-weight: 700; border:1px solid transparent; }
.btn-primary { background: var(--primary); color:#fff; }
.btn-primary:hover { background: var(--primary-dark); }
.btn-ghost { border-color: var(--border); background:#fff; }
.btn-row { display:flex; gap:.7rem; flex-wrap:wrap; }
.notice { border-left:4px solid var(--success); padding: .6rem .8rem; background:#f0fdfa; color:#0f4f49; }
.kv-list dt { font-weight:700; margin-top:.8rem; }
.kv-list dd { color:var(--muted); }
.form-group { display:grid; gap:.35rem; margin-bottom:1rem; }
label { font-weight: 600; }
input, select, textarea { border:1px solid var(--border); border-radius:10px; padding:.7rem; background:#fff; }
textarea { min-height: 150px; resize: vertical; }
.checkbox { display:flex; gap:.5rem; align-items:flex-start; }
.faq-item { padding: 1rem; border:1px solid var(--border); border-radius: var(--radius); background:#fff; }
