/* Friend invites: student list (s14-share), BMS Invites tab, contact blocks, referrals overview. Tokens only. */
.refer-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.refer-chip{display:inline-block;font-size:var(--t-xs);font-weight:700;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--color-line);color:var(--color-muted);background:transparent;white-space:nowrap}
.refer-chip.on{border-color:transparent}
.refer-chip.on-invited{background:var(--color-info-wash);color:var(--color-info-ink)}
.refer-chip.on-opened{background:var(--color-warning-wash);color:var(--color-warning-ink)}
.refer-chip.on-registered{background:var(--color-success-wash);color:var(--color-success-ink)}
.refer-chip.on-paid{background:var(--color-success);color:var(--color-on-accent)}
.refer-chips{display:flex;gap:var(--s-1);flex-wrap:wrap}
/* student side */
.refer-mine{margin:var(--s-5) 0}
.refer-mine h2{font-family:var(--font-head);font-size:var(--t-lg);color:var(--color-ink);margin:0 0 var(--s-1)}
.refer-mine>p{margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--color-muted)}
.refer-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.refer-list li{display:grid;grid-template-columns:minmax(200px,1.3fr) 2fr;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-sm)}
.refer-who b{display:block;color:var(--color-ink);font-size:var(--t-sm)}
.refer-who span{display:block;font-size:var(--t-xs);color:var(--color-muted)}
.refer-empty{padding:var(--s-4);background:var(--color-bg);border:1px dashed var(--color-line);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--t-sm)}
@media(max-width:720px){.refer-list li{grid-template-columns:1fr}}
/* BMS */
.refer-tbl{width:100%}
.refer-head,.refer-row{display:grid;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4)}
.refer-head{background:var(--color-bg);border-bottom:1px solid var(--color-line);font-size:var(--t-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}
.refer-row{border-top:1px solid var(--color-line);font-size:var(--t-sm);color:var(--color-ink)}
.refer-head + .refer-row{border-top:none}
.refer-cols-inv{grid-template-columns:minmax(150px,1.2fr) 80px 2.4fr 1.8fr}
.refer-cols-ov{grid-template-columns:minmax(150px,1.3fr) minmax(170px,1.6fr) 70px 70px 90px 70px 90px}
.refer-num{font-variant-numeric:tabular-nums}
.refer-ppl{display:flex;flex-direction:column;gap:2px}
.refer-ppl a{color:var(--color-accent-text);font-weight:700;text-decoration:none}
.refer-ppl a:hover{text-decoration:underline}
.refer-wait{color:var(--color-muted)}
.refer-by{display:block;font-size:var(--t-xs);color:var(--color-muted)}
.refer-by a{color:var(--color-accent-text);font-weight:700}
.refer-line{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;padding:var(--s-3) var(--s-4);border-top:1px solid var(--color-line);font-size:var(--t-sm)}
.refer-line:first-of-type{border-top:none}
.refer-line a{font-weight:700;color:var(--color-accent-text)}
.refer-line small{display:block;color:var(--color-muted);font-size:var(--t-xs)}
.refer-bar{display:inline-block;height:8px;border-radius:4px;background:var(--color-success);vertical-align:middle;min-width:2px}
.refer-bar-bg{display:inline-block;width:70px;height:8px;border-radius:4px;background:var(--color-bg);border:1px solid var(--color-line);margin-right:var(--s-2);vertical-align:middle;overflow:hidden}
.refer-filter{display:flex;gap:var(--s-3);align-items:center;flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--color-line)}
.refer-filter select{font:inherit;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-ink)}
.refer-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-3);margin-bottom:var(--s-4)}
@media(max-width:1100px){.refer-kpis{grid-template-columns:repeat(3,1fr)}.refer-cols-ov{grid-template-columns:1fr 1fr 60px 60px 70px 60px 70px}}
.refer-note{font-size:var(--t-sm);color:var(--color-muted);margin:var(--s-2) 0 var(--s-4)}
.refer-status{margin:0 0 var(--s-3);font-size:var(--t-sm);font-weight:700;color:var(--color-info-ink)}
.refer-status a{color:var(--color-accent-text)}
.refer-filter select{width:auto;min-width:16rem;flex:0 0 auto}
.refer-num{color:var(--color-ink)}
