


.range-premium { -webkit-appearance: none; appearance: none; height: 10px; border-radius: 9999px; background: linear-gradient(90deg, #0ea5e9, #2563eb); outline: none; }
.range-premium::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 9999px; background: #fff; border: 2px solid #2563eb; box-shadow: 0 10px 20px rgba(37,99,235,.25); cursor: pointer; }
.range-premium::-moz-range-thumb { width: 22px; height: 22px; border-radius: 9999px; background: #fff; border: 2px solid #2563eb; box-shadow: 0 10px 20px rgba(37,99,235,.25); cursor: pointer; }


.choice-card { position: relative; transition: box-shadow .2s ease, transform .2s ease, background .2s ease, border-color .2s ease; }
.choice-card:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(15,23,42,.08); }
.choice-card[data-selected] { border-color: #2563eb !important; background: #eff6ff !important; box-shadow: 0 16px 30px rgba(37,99,235,.18); }
.choice-check { display: none; position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; border-radius: 9999px; background: #2563eb; color: #fff; align-items: center; justify-content: center; box-shadow: 0 10px 18px rgba(37,99,235,.25); }
.choice-card[data-selected] .choice-check { display: flex; }


.step-row { display:flex; gap:12px; overflow-x:auto; padding-bottom:6px; }
.step-pill { min-width: 220px; border: 1px solid #e5e7eb; background: #fff; border-radius: 16px; padding: 14px 14px; display:flex; align-items:center; gap:12px; }
.step-badge { width: 32px; height: 32px; border-radius: 9999px; display:grid; place-items:center; background:#0f172a; color:#fff; font-weight:800; font-size: 13px; flex: 0 0 auto; }
.step-pill[data-active] { border-color:#bfdbfe; background:#eff6ff; box-shadow: 0 10px 18px rgba(37,99,235,.10); }
.step-pill[data-done] { border-color:#bbf7d0; background:#f0fdf4; }
.step-pill[data-done] .step-badge { background:#16a34a; }
.step-pill[data-done] .step-badge::before { content: "✓"; font-size: 14px; }
.step-pill[data-done] .step-num { display:none; }


.price-hero {
  background: radial-gradient(800px circle at 20% 20%, rgba(37,99,235,.16), transparent 45%),
              radial-gradient(900px circle at 85% 40%, rgba(245,158,11,.14), transparent 45%),
              linear-gradient(135deg, #0b1220, #0f172a);
  color:#fff;
}
.band { height: 14px; border-radius: 9999px; background: #e5e7eb; position: relative; overflow: hidden; }
.band > .fill { position:absolute; inset:0; background: linear-gradient(90deg, #94a3b8, #f59e0b, #2563eb); opacity:.95; }
.marker { position:absolute; top:50%; transform: translate(-50%,-50%); width:12px; height:12px; border-radius:9999px; border:2px solid #fff; box-shadow: 0 10px 18px rgba(15,23,42,.18); }
.marker.low { background:#94a3b8; left:0%; transform: translate(-10%,-50%); }
.marker.mid { background:#f59e0b; left:50%; }
.marker.high { background:#2563eb; left:100%; transform: translate(-90%,-50%); }
.kpi-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); }
.pill { border-radius:9999px; padding:6px 10px; font-size:12px; font-weight:700; display:inline-flex; align-items:center; gap:8px; }
.pill-good { background: rgba(16,185,129,.16); border:1px solid rgba(16,185,129,.35); color:#d1fae5; }
.pill-warn { background: rgba(245,158,11,.18); border:1px solid rgba(245,158,11,.35); color:#fde68a; }
.pill-neutral { background: rgba(148,163,184,.18); border:1px solid rgba(148,163,184,.30); color:#e2e8f0; }


body { padding-top: 0 !important; }
header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 60 !important;
}

@media (max-width: 768px) {
  
  .tool-required-hint { display: none !important; }
}

@media (max-width: 520px) {
  header > div {
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
  }
  header img {
    height: 2.25rem !important;
  }
}


