.cpo-profile{display:grid;gap:var(--section-space,24px);min-width:0;color:var(--ink,#111)}
.cpo-context{min-width:0}
.cpo-team-context{min-width:0;border-top:1px solid var(--line,#111);border-bottom:1px solid var(--line,#111)}
.cpo-team-context>summary{display:flex;align-items:center;min-height:44px;gap:8px;padding:12px 0;font-size:var(--text-body,16px);line-height:1.4;font-weight:600;cursor:pointer;list-style:none}
.cpo-team-context>summary::after{content:'+';flex:none;font-size:20px;font-weight:400}
.cpo-team-context[open]>summary::after{content:'−'}
.cpo-team-context>.cpo-context{padding-bottom:16px}
.cpo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}
.cpo-metric{display:flex;flex-direction:column;gap:9px;align-items:flex-start;text-align:left;min-width:0;border:1px solid var(--frame,#fff);border-radius:var(--radius,12px);padding:var(--card-space,20px);background:var(--white,#fff);color:var(--ink,#111);box-shadow:none;overflow-wrap:anywhere}
.cpo-metric-label{font-size:var(--text-label,14px);line-height:1.4;color:var(--muted,#666)}
.cpo-metric>strong{font-family:var(--display,Arial,sans-serif);font-size:clamp(20px,1.9vw,26px);line-height:1.15;font-weight:800;letter-spacing:-.4px}
.cpo-metric>small{font-size:var(--text-label,14px);line-height:1.4;color:var(--muted,#666)}
button.cpo-metric{cursor:pointer}
button.cpo-metric:hover{border-color:var(--ink,#111);background:var(--white,#fff);color:var(--ink,#111)}
.cpo-metric.is-full{border-left:4px solid #18834b}
.cpo-metric.is-adapted{border-left:4px solid #e4b728}
.cpo-metric.is-unavailable{border-left:4px solid var(--red,#d20a2e)}
.cpo-metric.is-unknown{border-left:4px solid var(--ink,#111)}
.cpo-upcoming{border:1px solid var(--frame,#fff);border-radius:var(--radius,12px);background:var(--white,#fff);padding:var(--card-space,20px);min-width:0}
.cpo-upcoming>header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 16px}
.cpo-upcoming h3{font:800 var(--section-title-size,22px)/1.3 var(--display,Arial,sans-serif);margin:0;letter-spacing:-.4px}
.cpo-upcoming ul{list-style:none;padding:0;margin:0;min-width:0}
.cpo-upcoming li+li{border-top:1px solid var(--line,#111)}
.cpo-upcoming li>button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:60px;width:100%;padding:13px 0;text-align:left;min-width:0;color:var(--ink,#111);background:transparent}
.cpo-upcoming li>button>span:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.cpo-upcoming strong{font-size:var(--text-body,16px);line-height:1.35;font-weight:600;overflow-wrap:anywhere}
.cpo-upcoming small,.cpo-empty{font-size:var(--text-label,14px);line-height:1.5;color:var(--muted,#666)}
.cpo-empty{margin:0;padding:8px 0}
.cpo-tasks{min-width:0}
.cpo-profile :is(button,a,summary):focus-visible{outline:2px solid var(--red,#d20a2e);outline-offset:3px}
@media(max-width:1000px){.cpo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cpo-profile{gap:20px}.cpo-metrics{gap:10px}.cpo-metric{padding:14px;gap:8px;border:1px solid var(--frame,#fff)}.cpo-metric>strong{font-size:21px}.cpo-upcoming{padding:16px;border:1px solid var(--frame,#fff)}.cpo-upcoming>header .co-text-btn{margin-left:auto}}

/* Athlete metrics use the Campus surfaces and remain three columns at every size. */
.cpo-athlete-status{display:grid;gap:var(--section-space,24px);color:var(--ink,#111)}
.cas-section{display:grid;gap:12px;min-width:0}
.cas-section>h3,.cas-section>header>h3{margin:0;font:800 var(--section-title-size,20px)/1.3 var(--display,Montserrat,Arial,sans-serif);letter-spacing:-.4px}
.cas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.cas-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;width:100%;padding:var(--card-space,16px);border:1px solid var(--frame,#fff);border-radius:var(--radius,16px);background:var(--white,#fff);color:var(--ink,#111);font:400 var(--text-body,16px)/1.4 var(--font,'Source Sans 3',Arial,sans-serif);text-align:left;cursor:pointer}
.cas-card::before{content:'';position:absolute;inset:12px auto 12px 0;width:3px;border-radius:0 3px 3px 0;background:var(--cas-status,#a5a5a5)}
.cas-card.is-good{--cas-status:var(--status-good,#168446)}
.cas-card.is-watch{--cas-status:var(--gold,#fdc52c)}
.cas-card.is-review{--cas-status:var(--red,#d20a2e)}
.cas-card.is-unknown{--cas-status:#a5a5a5}
.cas-card:hover{border-color:var(--muted,#565656)}
.cas-label{display:block;max-width:100%;font:600 var(--text-label,14px)/1.3 var(--font,'Source Sans 3',Arial,sans-serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cas-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 5px;min-width:0;max-width:100%;font:800 24px/1.15 var(--display,Montserrat,Arial,sans-serif);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.cas-value>span{white-space:nowrap}
.cas-unit{font:400 var(--text-label,14px)/1.3 var(--font,'Source Sans 3',Arial,sans-serif);letter-spacing:0}
.cas-date,.cas-detail{font:400 var(--text-label,14px)/1.35 var(--font,'Source Sans 3',Arial,sans-serif);color:var(--muted,#565656);overflow-wrap:anywhere}
.cas-delta{font:600 var(--text-label,14px)/1.3 var(--font,'Source Sans 3',Arial,sans-serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cas-delta.is-up{color:var(--status-good,#168446)}
.cas-delta.is-down{color:var(--red,#d20a2e)}
.cas-delta.is-neutral{color:var(--muted,#565656)}
.cas-sparkline{display:block;width:100%;max-width:140px;height:30px;flex:none;color:var(--muted,#565656)}
.cas-status-grid .cas-card{padding:12px;gap:5px}
.cas-status-grid article.cas-card{cursor:default}
.cas-status-grid article.cas-card:hover{border-color:var(--frame,#fff)}
.cas-status-grid .cas-label{white-space:normal;overflow-wrap:anywhere}
.cas-status-grid .cas-health-tile>strong{font:750 var(--text-body,16px)/1.25 var(--display,Montserrat,Arial,sans-serif);hyphens:auto;overflow-wrap:anywhere}
.cas-status-grid .cas-health-tile>.cas-date{margin-top:auto}
@media(max-width:600px){
 .cpo-athlete-status{gap:var(--section-space,24px)}
 .cas-section{gap:10px}
 .cas-grid{gap:8px}
 .cas-card{padding:8px;gap:7px;border:1px solid var(--frame,#fff)}
 .cas-value{font-size:20px;letter-spacing:-.4px}
 .cas-sparkline{height:24px}
 .cas-status-grid .cas-card{padding:9px 8px 9px 10px;gap:4px}
 .cas-status-grid .cas-health-tile>strong{font-size:13px}
 .cas-status-grid .cas-date,.cas-status-grid .cas-detail{font-size:12px}
}

/* Separate whole Status sections, keeping each archive within its own section. */
.cpo-athlete-status>:not(:first-child),.cpo-team-status>.cts-status{border-top:1px solid var(--line,#111);padding-top:var(--section-space,24px)}
