/* Extend the approved Mantis v2 member surfaces and class palette. */
.member-page .roster-classes{margin:22px 0 28px;padding:22px 24px;background:var(--panel);border:1px solid var(--line)}
.member-page .roster-classes-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
.member-page .roster-classes h2{margin:0;font:700 25px/1.15 var(--display);letter-spacing:.02em}
.member-page .roster-classes-heading p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.member-page .roster-classes-heading .roster-classes-total{margin:0;text-align:right;white-space:nowrap;color:var(--text);font-size:15px}
.member-page .roster-classes-total strong{color:var(--lime);font-weight:600;font-variant-numeric:tabular-nums}
.member-page .roster-classes-total>span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.member-page .roster-classes-columns,.member-page .roster-classes-bars>li{display:grid;grid-template-columns:90px minmax(0,1fr) 42px 56px;align-items:center;gap:14px}
.member-page .roster-classes-columns{margin-bottom:9px;color:var(--muted);font:11px/1.5 var(--mono)}
.member-page .roster-classes-columns>span:nth-last-child(-n+2){text-align:right}
.member-page .roster-classes-scale{display:flex;justify-content:space-between;gap:12px}
.member-page .roster-classes-bars{list-style:none;margin:0;padding:0}
.member-page .roster-classes-bars>li{min-height:29px;font-size:13px}
.member-page .roster-classes-label{color:var(--text)}
.member-page .roster-classes-track{height:10px;background:var(--raised);overflow:hidden}
.member-page .roster-classes-track>span{display:block;height:100%}
.member-page .roster-classes-count,.member-page .roster-classes-share{text-align:right;font-variant-numeric:tabular-nums}
.member-page .roster-classes-count{color:var(--text)}
.member-page .roster-classes-share{color:var(--muted)}
.member-page .roster-classes-empty{margin:0;color:var(--muted);font-size:14px;line-height:1.6;max-width:70ch}
.roster-classes-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:640px){
 .member-page .roster-classes{padding:18px 14px;margin-top:18px}
 .member-page .roster-classes-heading{flex-direction:column;gap:10px;margin-bottom:16px}
 .member-page .roster-classes-heading .roster-classes-total{text-align:left}
 .member-page .roster-classes-total>span{display:inline;margin-left:12px}
 .member-page .roster-classes-columns,.member-page .roster-classes-bars>li{grid-template-columns:76px minmax(0,1fr) 32px 46px;gap:8px}
 .member-page .roster-classes-bars>li{min-height:30px;font-size:12px}
 .member-page .roster-classes-columns{font-size:11px}
}
