.roster-insight-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;}
.roster-insight-stat {display:grid;align-content:start;gap:5px;background:var(--surface-soft);border:1px solid var(--signup-border);border-radius:10px;padding:13px;}
.roster-insight-stat strong {font-size:25px;font-variant-numeric:tabular-nums;}
.roster-insight-stat span {font-size:11px;color:var(--muted);}
.roster-insight-stat small {font-size:10px;color:var(--muted);line-height:1.5;}
.roster-insight-detail {margin-bottom:16px;border:1px solid var(--signup-border);border-radius:10px;padding:12px 14px;}
.roster-insight-detail > summary {cursor:pointer;font-size:12px;color:var(--blue);}
.roster-insight-detail h4 {font-size:14px;margin:16px 0 10px;}
.roster-insight-note {font-size:11px;line-height:1.6;color:var(--muted);}
.roster-insight-heading {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
.roster-insight-heading > span {font-size:11px;color:var(--muted);}
.roster-recruitment svg {display:block;width:100%;height:auto;max-height:200px;margin-top:10px;overflow:visible;}
.roster-chart-axis {stroke:var(--signup-border);stroke-width:1;}
.roster-chart-line {fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round;}
.roster-recruitment circle {fill:var(--blue);}
.roster-chart-dates {display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);}
.roster-chart-table {font-size:11px;margin-top:12px;}
.roster-chart-table summary {cursor:pointer;color:var(--muted);}
.roster-chart-table table {width:100%;border-collapse:collapse;margin-top:10px;}
.roster-chart-table th,.roster-chart-table td {text-align:left;border-bottom:1px solid var(--signup-border);padding:7px;}
.roster-insight-notifications > p:not(.roster-insight-note) {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11px;}
.roster-insight-notifications span {color:var(--muted);}
.roster-push {font-size:10px;line-height:1.6;color:var(--muted);}
.roster-push > summary {cursor:pointer;overflow-wrap:anywhere;}
.roster-push p {margin:5px 0;max-width:400px;font-size:11px;color:var(--muted);}
.roster-push.is-available > summary {color:var(--green);}
.roster-push.is-limited > summary {color:var(--blue);}
.roster-push.is-disabled > summary {color:var(--amber);}
@media(max-width:600px){.roster-insight-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.roster-insight-stat{padding:10px;}.roster-insight-detail{padding:10px;}.roster-insight-heading{align-items:start;}.roster-chart-dates{font-size:9px;}}
