.referral-panel { padding: 22px; margin: 18px 0; }
.referral-back { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.referral-partner-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 18px; margin-top: 20px; }
.referral-partner-card { border: 1px solid #dedbea; border-radius: 14px; padding: 22px; background: #faf9ff; min-width: 0; overflow-wrap: anywhere; }
.referral-partner-card h3 { margin: 0 0 16px; font-size: 20px; }
.referral-partner-card p { color: #536174; line-height: 1.6; }
.referral-partner-card p strong { color: #5b46a0; font-size: 24px; }
.referral-partner-card small { display: block; color: #536174; }
.referral-partner-card > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.referral-panel > p, .referral-panel .panel-head p { color: #536174; font-size: 13px; line-height: 1.6; }
.referral-tiers, .referral-totals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 18px 0; }
.referral-tiers > div, .referral-totals > div { padding: 16px; border-radius: 12px; background: #f3f1ff; min-width: 0; }
.referral-tiers span, .referral-totals span, .referral-assignment small { display: block; }
.referral-totals strong { display: block; font-size: 22px; margin-top: 10px; overflow-wrap: anywhere; }
.referral-totals .pln-amount { font-size: 13px; font-weight: 400; color: #59617c; }
.referral-range { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 20px 0; }
.referral-range label { display: grid; gap: 7px; }
.referral-range input { padding: 10px; border: 1px solid #d7dce5; border-radius: 8px; }
.referral-scroll { max-height: 460px; overflow: auto; }
.referral-scroll th { position: sticky; top: 0; background: #f5f6fa; z-index: 1; }
.referral-scroll td, .referral-scroll th { padding: 12px; white-space: nowrap; }
.referral-warning, .referral-panel p.referral-warning { padding: 12px; border-radius: 8px; background: #fff6df; color: #835200; }
.referral-shortfall { background: #fff9eb; }
.referral-assignment { display: flex; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid #e5e7eb; }
.referral-assignment > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.referral-assignment small { margin-top: 6px; color: #536174; }
.referral-panel details { margin-top: 20px; }
.referral-panel summary { cursor: pointer; padding: 12px 0; font-weight: 600; }
@media(max-width:1000px) { .referral-tiers, .referral-totals { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .referral-panel { padding: 14px; } .referral-assignment { flex-wrap: wrap; } .referral-assignment > div { flex-basis: 100%; } .referral-panel .panel-head { align-items: start; flex-direction: column; gap: 12px; } .referral-totals strong { font-size: 18px; } }
