/* NuzLabs v6.25.0 — Admin & Roster Polish */

/* Coach roster: multi-program weekly context, card-first navigation. */
.coach-athlete-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.coach-athlete-card:hover{border-color:#a9cfe9;box-shadow:0 12px 32px rgba(6,22,50,.08);transform:translateY(-1px)}
.coach-athlete-card:focus-visible{outline:3px solid rgba(48,145,215,.28);outline-offset:3px}
.coach-athlete-status-stack{display:flex;gap:6px;align-items:flex-end;flex-direction:column}
.roster-attention-pill{display:inline-flex;align-items:center;border:1px solid #ecd8aa;background:#fff8e8;color:#765514;border-radius:999px;padding:5px 8px;font-size:9px;line-height:1;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.coach-athlete-roster-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}
.coach-athlete-roster-summary>div{background:#f5f8fb;border:1px solid transparent;border-radius:11px;padding:12px;min-width:0}
.coach-athlete-roster-summary>div.attention{background:#fff8e8;border-color:#ecd8aa}
.coach-athlete-roster-summary b{display:block;font-family:"Barlow Condensed";font-size:27px;line-height:1;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coach-athlete-roster-summary span{display:block;margin-top:5px;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#7d8b9c;font-weight:900}
.coach-athlete-programs{margin-top:15px;padding-top:13px;border-top:1px solid #edf1f4}
.coach-athlete-programs>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.coach-athlete-programs em{font-size:11px;color:#8c99a7;font-style:normal}
.coach-roster-program-chip,.coach-roster-program-more{font-size:9px;font-weight:900;padding:6px 8px;border-radius:999px;border:1px solid #d6e4ed;background:#f1f7fb;color:#31536d}
.coach-roster-program-chip.attention{border-color:#e4c77e;background:#fff8e8;color:#765514}
.coach-roster-program-more{background:#fff;color:#708092}
.coach-athlete-actions-v6234{justify-content:flex-end;margin-top:13px}
.coach-athlete-actions-v6234 .card-open-hint{margin-left:auto}

/* Organization roster: search stays visible; secondary filters collapse on mobile. */
.organization-roster-tools-v6234{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;margin:14px 0 16px}
.organization-roster-tools-v6234>span{justify-self:end;align-self:center;font-size:10px;font-weight:900;color:#758698;text-transform:uppercase;letter-spacing:.06em}
.organization-roster-search{display:grid;gap:5px}
.organization-roster-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.organization-roster-tools-v6234 label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#6e8194}
.organization-roster-tools-v6234 input,.organization-roster-tools-v6234 select{width:100%;border:1px solid #cfdbe5;border-radius:11px;padding:10px 12px;background:#fff;color:var(--navy);font:inherit;outline:none}
.organization-roster-tools-v6234 input:focus,.organization-roster-tools-v6234 select:focus{border-color:#6db4e4;box-shadow:0 0 0 3px rgba(49,145,209,.12)}
.organization-roster-filter-toggle{display:none;white-space:nowrap}
.organization-roster-filter-toggle.active{border-color:#78b8e5;background:#edf7ff;color:#176fae}
.organization-roster-filter-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) auto;gap:9px;align-items:end;padding:12px;border:1px solid #e1e8ee;border-radius:13px;background:#f8fafc}
.organization-roster-filter-panel>div{display:grid;gap:5px}
.organization-roster-filter-panel>.button{min-height:42px}

.organization-roster-row-v6234{grid-template-columns:minmax(210px,1.15fr) minmax(130px,.75fr) minmax(130px,.75fr) minmax(185px,.8fr);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.organization-roster-row-v6234:hover{border-color:#acd0e8;box-shadow:0 8px 22px rgba(6,22,50,.06);transform:translateY(-1px)}
.organization-roster-row-v6234:focus-visible{outline:3px solid rgba(48,145,215,.28);outline-offset:2px}
.organization-roster-athlete-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.organization-roster-athlete-title>b{font-family:"Barlow Condensed";font-size:24px;line-height:1;color:var(--navy)}
.roster-row-open-hint{font-size:9px;font-weight:900;color:#37749f;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.roster-context-more{background:#fff!important;color:#718093!important}
.roster-program-details{min-width:0}
.roster-program-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #dbe4ea;border-radius:11px;background:#f7f9fb;padding:9px 10px;color:#334f66}
.roster-program-details>summary::-webkit-details-marker{display:none}
.roster-program-details>summary:after{content:'▾';font-size:11px;color:#718195}
.roster-program-details[open]>summary:after{content:'▴'}
.roster-program-details>summary span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.roster-program-details>summary span b{font-size:13px;color:var(--navy)}
.roster-program-details>summary small{font-size:9px;color:#718195;text-align:right}
.roster-program-details .organization-roster-modules{justify-content:flex-start;margin-top:7px;padding:8px;border:1px solid #edf1f4;border-radius:10px;background:#fff}
.roster-program-details .organization-roster-modules em{font-size:10px;color:#8b98a5;font-style:normal}

/* Staff scope compression + card-first access management. */
.staff-access-card-clickable{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.staff-access-card-clickable:hover{border-color:#acd0e8;box-shadow:0 11px 28px rgba(6,22,50,.07);transform:translateY(-1px)}
.staff-access-card-clickable:focus-visible{outline:3px solid rgba(48,145,215,.28);outline-offset:3px}
.staff-scope-list-v6234{display:block}
.staff-scope-preview{display:flex;gap:7px;flex-wrap:wrap;align-items:flex-start}
.staff-scope-more{flex:1 1 100%;border-top:1px solid #edf1f4;padding-top:8px}
.staff-scope-more>summary{cursor:pointer;color:#39739c;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.staff-scope-more-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.staff-card-open-hint{margin-top:12px;padding-top:10px;border-top:1px solid #edf1f4;text-align:right;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#39739c}

/* Role navigation: active state remains explicit even when secondary items move under More. */
.coach-primary-nav [aria-current="page"],.organization-primary-nav [aria-current="page"]{font-weight:900}

html[data-theme="dark"] .coach-athlete-roster-summary>div,
html[data-theme="dark"] .organization-roster-filter-panel,
html[data-theme="dark"] .roster-program-details>summary,
html[data-theme="dark"] .roster-program-details .organization-roster-modules{background:#142233;border-color:#314256;color:#dce8f2}
html[data-theme="dark"] .coach-athlete-roster-summary>div.attention,
html[data-theme="dark"] .roster-attention-pill,
html[data-theme="dark"] .coach-roster-program-chip.attention{background:#332b19;border-color:#6d592c;color:#f4d98d}
html[data-theme="dark"] .coach-athlete-roster-summary b,
html[data-theme="dark"] .organization-roster-athlete-title>b,
html[data-theme="dark"] .roster-program-details>summary span b{color:#f2f7fb}
html[data-theme="dark"] .coach-roster-program-chip{background:#172d40;border-color:#31506a;color:#d8eafa}
html[data-theme="dark"] .coach-roster-program-more{background:#101c2b;border-color:#314256;color:#b9c8d6}
html[data-theme="dark"] .organization-roster-tools-v6234 input,
html[data-theme="dark"] .organization-roster-tools-v6234 select{background:#101c2b;border-color:#314256;color:#edf5fb}
html[data-theme="dark"] .roster-context-more{background:#101c2b!important;color:#bdcad6!important}
html[data-theme="dark"] .staff-scope-more,html[data-theme="dark"] .staff-card-open-hint{border-color:#314256}

@media(max-width:980px){
  .organization-roster-row-v6234{grid-template-columns:minmax(210px,1.2fr) 1fr 1fr}
  .organization-roster-row-v6234 .roster-program-details{grid-column:1/-1}
}
@media(max-width:700px){
  .coach-athlete-roster-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .coach-athlete-roster-summary b{font-size:23px}
  .organization-roster-tools-v6234{grid-template-columns:1fr auto;align-items:end}
  .organization-roster-search{grid-column:1/-1}
  .organization-roster-tools-v6234>span{grid-column:1;grid-row:2;justify-self:start}
  .organization-roster-filter-toggle{display:inline-flex;align-items:center;justify-content:center}
  .organization-roster-filter-panel{display:none;grid-template-columns:1fr;grid-column:1/-1;padding:12px;margin-top:0}
  .organization-roster-filter-panel.is-open{display:grid}
  .organization-roster-filter-panel>.button{width:100%}
  .organization-roster-row-v6234{grid-template-columns:1fr 1fr;padding:14px}
  .organization-roster-row-v6234 .organization-roster-athlete{grid-column:1/-1}
  .organization-roster-row-v6234 .roster-program-details{grid-column:1/-1}
  .roster-row-open-hint{display:none}
  .staff-scope-preview>.staff-scope-chip{max-width:100%}
}
@media(max-width:480px){
  .coach-athlete-status-stack{align-items:flex-start}
  .coach-athlete-top{flex-direction:column}
  .coach-athlete-roster-summary{grid-template-columns:1fr 1fr 1fr}
  .coach-athlete-roster-summary>div{padding:10px 8px}
  .coach-athlete-roster-summary b{font-size:21px}
  .coach-athlete-roster-summary span{font-size:8px}
  .organization-roster-row-v6234{grid-template-columns:1fr}
  .organization-roster-row-v6234 .organization-roster-athlete,.organization-roster-row-v6234 .roster-program-details{grid-column:auto}
  .organization-roster-row-v6234 .organization-roster-context{border-top:1px solid #edf1f4;padding-top:8px}
  .organization-roster-athlete-title{align-items:flex-start;flex-direction:column;gap:5px}
}
