/* Partner invitation refinement. Keep the existing calculator card and brand. */
#partners .partner-copy > p { max-width: 480px; line-height: 1.65; }
#partners .partner-copy > p strong { font-weight: 600; }
#partners .partner-invite { margin-bottom: 20px; }
#partners .partner-rank-preview { max-width: 450px; margin: 32px 0; }
#partners .partner-rank-caption { margin: 0 0 16px; font-size: 14px; line-height: 1.5; }
#partners .partner-rank-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 16px; }
#partners .partner-rank-track li { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
#partners .partner-rank-track li:not(:last-child)::after { content: ""; position: absolute; top: 8px; left: 28px; right: 0; height: 1px; background: var(--line); }
#partners .partner-rank-dot { display: block; width: 17px; height: 17px; margin-bottom: 7px; border: 1px solid currentColor; border-radius: 50%; box-shadow: inset 0 0 0 4px var(--paper); background: currentColor; }
#partners .rank-bronze { color: #a87048; }
#partners .rank-silver { color: #8b8c9e; }
#partners .rank-gold { color: #ad8740; }
#partners .partner-rank-track strong { font-size: 15px; font-weight: 600; line-height: 1.5; }
#partners .partner-rank-track li > span:last-child { font-size: 13px; line-height: 1.5; opacity: .8; }
#partners .partner-actions { gap: 15px; margin-top: 30px; }
#partners .partner-actions .button { min-height: 52px; transition: transform .18s ease; }
#partners .partner-actions .button:hover { transform: translateY(-2px); }
#partners .partner-actions .button:focus-visible { outline: 3px solid #9c70c2; outline-offset: 5px; }
#partners .partner-note .partner-meter { margin-bottom: 0; }
#partners .partner-note h3 { margin: 18px 0; }
#partners .partner-policy-details { max-width: 1320px; margin: 0 auto; }
@media(max-width:550px) {
 #partners .partner-rank-preview { margin: 26px 0; }
 #partners .partner-rank-track { gap: 10px; }
 #partners .partner-rank-track li > span:last-child { font-size: 12px; }
 #partners .partner-actions .button { font-size: 14px; }
}
@media(prefers-reduced-motion:reduce) {
 #partners .partner-actions .button { transition: none; }
 #partners .partner-actions .button:hover { transform: none; }
}

/* Native range with a generous hit area and stable, frame-synced output. */
#partners #ref-count {
  -webkit-appearance: none; appearance: none; display: block;
  box-sizing: border-box; width: 100%; height: 44px; padding: 0;
  margin: 6px 0 0; border: 0; border-radius: 8px;
  background: transparent; cursor: pointer; touch-action: pan-y;
}
#partners #ref-count::-webkit-slider-runnable-track {
  height: 6px; border-radius: 999px;
  background: linear-gradient(to right, #513695 0%, #513695 var(--range-progress,1%), #cdb9dd var(--range-progress,1%), #cdb9dd 100%);
}
#partners #ref-count::-moz-range-track { height: 6px; border-radius: 999px; background: #cdb9dd; }
#partners #ref-count::-moz-range-progress { height: 6px; border-radius: 999px; background: #513695; }
#partners #ref-count::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 24px; height: 24px;
  margin-top: -9px; border: 3px solid #e8d5f3; border-radius: 50%;
  background: #513695; box-shadow: 0 0 0 1px #513695; cursor: grab;
}
#partners #ref-count::-moz-range-thumb {
  box-sizing: border-box; width: 24px; height: 24px;
  border: 3px solid #e8d5f3; border-radius: 50%;
  background: #513695; box-shadow: 0 0 0 1px #513695; cursor: grab;
}
#partners #ref-count:active { cursor: grabbing; }
#partners #ref-count:active::-webkit-slider-thumb { cursor: grabbing; }
#partners #ref-count:active::-moz-range-thumb { cursor: grabbing; }
#partners #ref-count:focus-visible { outline: 2px solid #513695; outline-offset: 3px; }
#partners .partner-meter-panel { container-type: inline-size; }
#partners .partner-note #ref-earnings {
  font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal;
  font-size: clamp(28px, 12cqi, 56px); line-height: 1.2; min-height: 1.2em;
}
#partners #ref-count-label { font-variant-numeric: tabular-nums; display: inline-block; min-width: 4ch; }
