.cx-context,.cx-overview{min-width:0;margin:var(--section-space) 0;color:var(--ink)}
.cx-context-meta{font-size:var(--text-label);color:var(--muted);margin:0 0 16px}
.cx-status-grid{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line)}
.cx-status-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 18px;align-items:center;gap:16px;min-width:0;min-height:72px;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);text-align:left;cursor:pointer}
.cx-status-label{display:grid;gap:4px;min-width:0;font-size:var(--text-label);font-weight:600;line-height:1.4;color:var(--muted)}
.cx-status-label small{font-size:var(--text-label);font-weight:400;line-height:1.4;overflow-wrap:anywhere}
.cx-status-value{font-size:var(--text-body);font-weight:600;line-height:1.4;overflow-wrap:anywhere;text-align:right}
.cx-status-card .cx-status-value .cx-badge{font-size:var(--text-body);justify-content:flex-end}
.cx-status-card.is-review{border-left:3px solid var(--red);padding-left:12px}
.cx-status-card>svg{color:var(--muted)}
.cx-comparison-baseline{display:block;margin-top:4px;font-size:var(--text-label);font-weight:400;line-height:1.4;color:var(--muted)}
.cx-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-label);font-weight:600;line-height:1.4;color:var(--muted)}
.cx-badge::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--muted)}
.cx-badge.is-full::before{background:var(--status-good)}
.cx-badge.is-adapted::before{background:var(--gold)}
.cx-badge.is-unavailable::before{background:var(--red)}
.cx-next-step{display:flex;align-items:center;gap:16px;padding:var(--card-space);border:1px solid var(--frame,#fff);border-left:3px solid var(--gold);border-radius:var(--radius);background:var(--white);margin:var(--section-space) 0 12px}
.cx-next-step>div{flex:1;min-width:0}
.cx-next-step>div>span{display:block;font-size:var(--text-label);font-weight:600;color:var(--muted);margin-bottom:6px}
.cx-next-step strong{display:block;font-size:var(--text-body);font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.cx-next-step small{display:block;margin-top:6px;font-size:var(--text-label);line-height:1.45;color:var(--muted)}
.cx-next-step>.btn,.cx-next-step>.icon-btn{flex:none}
.cx-context-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.cx-text,.cx-athlete-link{border:0;background:transparent;padding:8px 0;font-size:var(--text-label);line-height:1.45;color:var(--muted);cursor:pointer;text-align:left}
.cx-athlete-link{color:var(--ink);font-weight:700}
.cx-text:hover,.cx-athlete-link:hover{color:var(--red)}
.cx-scope-settings{margin:0 0 16px}
.cx-scope-settings>summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:var(--control-height);font-size:var(--text-label);line-height:1.45;color:var(--muted);cursor:pointer}
.cx-scope-settings>summary::-webkit-details-marker{display:none}
.cx-scope-settings>summary>span{min-width:0;overflow-wrap:anywhere}
.cx-scope-settings[open]>.cx-overview-tools{margin-top:12px}
.cx-overview-tools,.cx-roster-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:0 0 16px}
.cx-overview-tools>label,.cx-roster-filters>label{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:0;font-size:var(--text-label);color:var(--muted)}
.cx-overview-tools .select,.cx-roster-filters .select{min-height:var(--control-height);width:100%;font-size:var(--text-body)}
.cx-participation-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cx-count{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0;min-height:88px;border:1px solid var(--frame,#fff);border-radius:var(--radius);padding:var(--card-space);background:var(--white);color:var(--ink);text-align:left;cursor:pointer}
.cx-count b{font-family:var(--display);font-size:28px;font-weight:800;line-height:1}
.cx-count span{font-size:var(--text-label);line-height:1.4;overflow-wrap:anywhere}
.cx-count.is-full{border-left:3px solid var(--status-good)}
.cx-count.is-adapted{border-left:3px solid var(--gold)}
.cx-count.is-unavailable{border-left:3px solid var(--red)}
.cx-count[aria-pressed=true]{outline:1px solid var(--ink);outline-offset:-1px}
.cx-coverage{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--text-label)!important;color:var(--muted);margin:12px 0 var(--section-space)}
.cx-coverage>.cx-text{margin-left:auto}
.cx-section-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 12px}
.cx-section-head h3{font-family:var(--display);font-size:var(--section-title-size);font-weight:800;line-height:1.3;letter-spacing:-.6px;margin:0}
.cx-section-head>span{font-size:var(--text-label);line-height:1.4;color:var(--muted);text-align:right}
.cx-action{display:flex;gap:16px;align-items:center;min-width:0;border-bottom:1px solid var(--line);padding:16px 0}
.cx-action>div{flex:1;min-width:0}
.cx-action strong{display:block;font-size:var(--text-body);font-weight:700;line-height:1.4}
.cx-action p{font-size:var(--text-label)!important;line-height:1.5!important;color:var(--muted);margin:6px 0}
.cx-action small{display:block;color:var(--muted);font-size:var(--text-label);line-height:1.45}
.cx-action>.btn{flex:none}
.cx-action.is-done{opacity:.7}
.cx-action .cx-athlete-link{display:block;font-size:var(--text-body);margin-bottom:4px;padding:0}
.cx-more{margin-top:12px;border-top:1px solid var(--line)}
.cx-more>summary,.cx-documentation>summary{font-size:var(--text-label);line-height:1.5;min-height:var(--control-height);padding:12px 0;cursor:pointer;color:var(--muted)}
.cx-all-cases h4{font-size:var(--text-body);font-weight:700;line-height:1.4;margin:20px 0 0}
.cx-documentation{margin-top:12px}
.cx-documentation .cx-context-links{padding:0 0 12px}
.cx-cases{margin-bottom:var(--section-space)}
.cx-upcoming{margin-top:var(--section-space)}
.cx-muted{font-size:var(--text-label)!important;line-height:1.5!important;color:var(--muted);margin:12px 0}
.cx-upcoming-row{width:100%;border:0;border-bottom:1px solid var(--line);padding:16px 0;background:var(--white);display:flex;align-items:center;gap:16px;text-align:left;cursor:pointer;color:var(--ink)}
.cx-upcoming-row>time{flex:0 0 84px;color:var(--muted);font-size:var(--text-label);font-variant-numeric:tabular-nums}
.cx-upcoming-row>time>span{display:block;margin-top:4px}
.cx-upcoming-row>span{flex:1;min-width:0}
.cx-upcoming-row strong{font-size:var(--text-body);font-weight:700;line-height:1.4;display:block;overflow-wrap:anywhere}
.cx-upcoming-row small{font-size:var(--text-label);line-height:1.45;color:var(--muted);display:block;margin-top:4px}
.cx-upcoming-row svg{flex:none}
.cx-roster{border-top:1px solid var(--line);margin-top:var(--section-space)}
.cx-roster>summary{font-size:var(--text-body);font-weight:600;line-height:1.4;min-height:var(--control-height);padding:12px 0;cursor:pointer}
.cx-roster[open]>.cx-roster-filters{margin-top:12px}
.cx-roster-row{display:flex;align-items:center;gap:16px;text-align:left;width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;min-width:0}
.cx-roster-row>span:first-child{flex:1;min-width:0}
.cx-roster-row strong{display:block;font-size:var(--text-body);font-weight:700;line-height:1.4}
.cx-roster-row small{display:block;color:var(--muted);font-size:var(--text-label);line-height:1.45;margin-top:4px}
.cx-roster-row>.cx-badge{flex:0 0 120px}
.cx-roster-context{flex:1;min-width:0}
.cx-roster-context>span{display:block;font-size:var(--text-label);color:var(--muted);line-height:1.45}
.cx-roster-row>svg{flex:none}
.cx-editor{min-width:0}
.cx-editor .field{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.cx-editor .form-grid{align-items:start}
.cx-editor .form-grid>.field{min-width:0}
.cx-editor>.btn{margin-top:8px}
.cx-editor hr{border:0;border-top:1px solid var(--line);margin:var(--section-space) 0}
.cx-form-status{min-height:20px;font-size:var(--text-label)!important;color:var(--muted);margin:16px 0 0}
.cx-modal-person{font-weight:700;font-size:var(--text-body)!important;margin:0 0 var(--section-space)}
.cx-checkin-values{margin:12px 0}
.cx-checkin-values>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;font-size:var(--text-body)}
.cx-checkin-values dt{color:var(--muted)}
.cx-checkin-values dd{margin:0;font-weight:600}
.cx-help p{font-size:var(--text-body);line-height:1.55}
.cx-context button:focus-visible,.cx-overview button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:700px){
 .cx-next-step{flex-wrap:wrap;border:1px solid var(--frame,#fff)}
 .cx-next-step>div{flex-basis:100%}
 .cx-next-step>.btn{margin-right:auto}
 .cx-roster-row{flex-wrap:wrap;gap:8px 12px}
 .cx-roster-row>span:first-child{flex:1 1 160px}
 .cx-roster-context{flex:1 1 100%;order:3}
 .cx-roster-row>svg{order:2}
 .cx-roster-row>.cx-badge{flex-basis:auto}
}
@media(max-width:600px){
 .cx-overview-tools>label{flex-basis:100%}
 .cx-participation-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cx-roster-filters>label{flex-basis:120px}
}
@media(max-width:420px){
 .cx-action{gap:12px;align-items:center}
 .cx-action>.btn{padding-inline:12px}
 .cx-status-card{gap:10px}
 .cx-upcoming-row{gap:12px}
}

/* Daily overview: one row of numeric statuses with its selected athletes directly below. */
.cx-daily-readiness .cx-section-head h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.cx-readiness-coverage{font-size:var(--text-body);font-weight:600;letter-spacing:0;white-space:nowrap;color:var(--muted)}
.cx-daily-readiness .cx-participation-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cx-daily-readiness .cx-count{min-height:64px;padding:14px 12px;justify-content:center;align-items:center;text-align:center}
.cx-daily-readiness .cx-count.is-unknown{border-left:3px solid var(--ink)}
.cx-daily-readiness .cx-count[aria-selected=true]{outline:1px solid var(--ink);outline-offset:-1px}
.cx-readiness-results{margin-top:12px;border-top:1px solid var(--line)}
.cx-readiness-row{padding:14px 12px;border-left:3px solid var(--ink)}
.cx-readiness-row.is-full{border-left-color:var(--status-good)}
.cx-readiness-row.is-adapted{border-left-color:var(--gold)}
.cx-readiness-row.is-unavailable{border-left-color:var(--red)}
@media(max-width:420px){.cx-daily-readiness .cx-count{min-height:60px;padding:12px 8px}.cx-daily-readiness .cx-count b{font-size:26px}}
