/* Lightweight, premium gradient + rounded cards */
.hsc-root { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; max-width:900px;margin:0 auto;padding:18px;box-sizing:border-box; }
.hsc-app { background: linear-gradient(135deg,#667eea 0%,#764ba2 100%); padding:18px; border-radius:14px; color:#fff; box-shadow:0 8px 30px rgba(0,0,0,0.15); }
.hsc-card { background: #fff; color:#111; border-radius:12px; padding:18px; box-shadow:0 6px 18px rgba(0,0,0,0.08); margin-bottom:12px; transition: transform .25s ease, opacity .25s ease; }
.hsc-progress { color:#fff; margin-bottom:12px; display:flex; align-items:center; gap:12px; }
.hsc-progress-bar { flex:1; height:10px; background: rgba(255,255,255,0.18); border-radius:999px; overflow:hidden; }
.hsc-progress-bar > i { display:block; height:100%; width:0%; background:linear-gradient(90deg,#eef2ff,rgba(255,255,255,0.5)); transition: width .4s ease; border-radius:999px; }
.hsc-steps { font-weight:600; font-size:14px; opacity:0.95; }
.hsc-question-title { font-size:18px; font-weight:700; margin-bottom:8px; }
.hsc-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.hsc-option { background:#f7f7fc;border-radius:10px;padding:12px;cursor:pointer;border:2px solid transparent;display:flex;gap:10px;align-items:flex-start;min-height:72px;transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease; }
.hsc-option:hover{ transform: translateY(-4px); }
.hsc-option.selected{ border-color: rgba(102,126,234,0.9); box-shadow:0 8px 20px rgba(102,126,234,0.12); }
.hsc-option .icon{ font-size:22px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:8px; background: linear-gradient(135deg,#667eea,#764ba2); color:#fff; }
.hsc-option .meta{ font-size:13px; color:#333; }
.hsc-footer { display:flex; justify-content:space-between; gap:12px; margin-top:12px; }
.hsc-btn{ padding:10px 14px; border-radius:10px; border:0; cursor:pointer; font-weight:600; }
.hsc-btn-ghost{ background:transparent; color:#333; border:1px solid #ddd; }
.hsc-btn-primary{ background:#2b2bff; color:#fff; box-shadow:0 8px 20px rgba(102,126,234,0.18); }
.hsc-result { display:flex; flex-direction:column; gap:10px; align-items:center; text-align:center; padding:20px; }
.hsc-total { font-size:36px; font-weight:800; color:#111; }
.hsc-tier { font-size:18px; font-weight:700; color:#444; }
.hsc-recs { text-align:left; margin-top:8px; }
.hsc-email { display:flex; flex-direction:column; gap:8px; }
.hsc-input, .hsc-checkbox { padding:10px;border-radius:8px;border:1px solid #e6e6ef; }
.hsc-small { font-size:13px;color:#666; }

/* Admin modal */
#hsc-modal { position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index:9999; }
.hsc-modal-inner { background:#fff;padding:20px;border-radius:8px;max-width:800px;width:90%; }
@media (max-width:600px){
  .hsc-root{padding:10px}
  .hsc-option{min-height:68px}
}