.grp { border: 1px solid var(--line); border-radius: 10px; padding: 4px 14px 6px; margin: 16px 0; min-width: 0; }
.grp > legend { font-weight: 700; padding: 0 6px; font-size: 18px; }
.qset { border: 0; border-top: 1px solid var(--line); margin: 0; padding: 12px 0; min-width: 0; }
.grp .qset:first-of-type { border-top: 0; }
.qset legend { font-weight: 600; padding: 0; margin-bottom: 8px; float: left; width: 100%; }
.qset .opts { clear: both; }
.opts label { min-height: 28px; }
progress { width: 100%; min-width: 72px; height: 10px; accent-color: var(--accent); }
#gaps { padding: 0; list-style: none; }
#result h3.sub { margin: 26px 0 6px; font-size: 18px; }
.offer h2 { font-size: 21px; margin: 24px 0 8px; }
.tiers { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 700px) { .tiers { grid-template-columns: 1fr 1fr; } }
.tier-card { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; background: var(--panel-2); }
.tier-card h4 { margin: 0 0 4px; font-size: 16px; }
.tier-card p { margin: 6px 0; }
.price { font-size: 26px; font-weight: 800; line-height: 1.2; }
.price small { font-size: 14px; font-weight: 500; color: var(--muted); }
.fine { font-size: 14px; color: var(--muted); }
@media print {
  #grc-form, .hero, .info, .crumbs, .offer { display: none !important; }
  #result { display: block !important; }
  progress { display: none; }
}
@media (prefers-color-scheme: light) { .sev.medium, .tier.medium { color: #854d0e; } }
