.team-form{gap:var(--sp-3);margin-top:var(--sp-4);display:grid}.team-setup-error{border-color:color-mix(in oklch, var(--red) 35%, transparent);background:color-mix(in oklch, var(--red) 6%, var(--panel));grid-column:1/-1}.team-setup-notice{grid-column:1/-1}.coach-dashboard{gap:var(--sp-5);display:grid}.team-header{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.team-header .micro{margin-bottom:var(--sp-1)}.team-header h2{margin:0 0 var(--sp-1);font-size:var(--fs-2xl)}.team-header p{font-size:var(--fs-sm);margin:0}.invite-code-button{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.team-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.regenerate-code-status{white-space:nowrap}.team-summary{gap:var(--sp-1) var(--sp-4);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;display:flex}.team-summary strong{color:var(--text);font-weight:800}.team-summary-alert,.team-summary-alert strong{color:var(--warn)}.team-summary-clear{color:var(--green)}.modal-overlay{width:100%;max-width:none;height:100%;max-height:none;color:inherit;padding:max(var(--sp-4), env(safe-area-inset-top)) max(var(--sp-4), env(safe-area-inset-right)) max(var(--sp-4), env(safe-area-inset-bottom)) max(var(--sp-4), env(safe-area-inset-left));background:color-mix(in oklch, var(--bg-deep) 74%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.modal-overlay:not([open]){display:none}.modal-overlay::backdrop{background:0 0}html:has(dialog[open]){overflow:hidden}.modal-card{width:100%;max-width:640px;max-height:calc(100vh - var(--sp-8));max-height:calc(100dvh - var(--sp-8));overscroll-behavior:contain;box-shadow:var(--shadow-lg);animation:pop-in .2s var(--ease-out) both;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.modal-header h2{margin:0}.modal-close{min-height:auto;color:var(--muted);flex:none;padding:6px}@media (prefers-reduced-motion:reduce){.modal-card{animation:none}}.athlete-stats-table{gap:var(--sp-1);margin-top:var(--sp-4);display:grid;overflow-x:auto}.athlete-stats-row{gap:var(--sp-2);min-width:720px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;grid-template-columns:.9fr 1.2fr repeat(8,minmax(60px,.6fr));display:grid}.athlete-stats-row-prs{grid-template-columns:.8fr 1.3fr 1fr 1.4fr;min-width:0}.athlete-stats-row-adherence{grid-template-columns:1fr .6fr 1fr .9fr;min-width:0}.athlete-stats-row:not(.athlete-stats-header):nth-child(odd){background:#ffffff06}.athlete-stats-header{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.athlete-adherence-summary{gap:var(--sp-3);margin-top:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.athlete-adherence-summary div{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:2px;display:flex}.athlete-adherence-summary strong{font-family:var(--font-display);font-size:var(--fs-2xl);line-height:1}.athlete-adherence-summary .muted{font-size:var(--fs-xs)}@media (max-width:700px){.athlete-stats-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto;min-width:0}.athlete-adherence-summary{grid-template-columns:1fr}}.team-switcher{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-1);flex-wrap:wrap;display:flex}.team-switcher-select{min-width:200px}.team-switcher-new{min-height:34px;font-size:var(--fs-sm);padding:6px 14px}.team-switcher-new-form{gap:var(--sp-2);align-items:center;display:flex}.team-switcher-new-form input{min-width:200px}.program-editor{gap:var(--sp-4);display:grid}.program-phase-tabs{margin:0 0 var(--sp-2)}.program-day-card h3{font-size:var(--fs-xl);margin:0 0 var(--sp-3)}.program-exercise-list{gap:var(--sp-2);display:grid}.program-exercise-row{justify-content:space-between;align-items:center;gap:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);display:flex}.program-exercise-original{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.program-exercise-row select{flex:none;min-width:200px}.program-paid-gate{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.program-full-editor-list{margin:0 0 var(--sp-3);gap:var(--sp-2);padding:0;list-style:none;display:grid}.program-full-editor-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);display:flex}.program-full-editor-controls{gap:var(--sp-2);display:flex}.program-full-editor-controls button{font-size:var(--fs-xs);min-height:auto;padding:6px 10px}.program-full-editor-add{gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.program-full-editor-actions{gap:var(--sp-3);display:flex}.program-guardrail-warning{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in oklch, var(--warn) 40%, transparent);background:color-mix(in oklch, var(--warn) 8%, transparent);border-radius:var(--radius-md);color:var(--warn);font-size:var(--fs-sm)}.team-week{gap:var(--sp-2);margin:var(--sp-4) 0;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.team-week-day{min-width:0;padding:var(--sp-3) 2px var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.team-week-dow{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.team-week-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.team-week-tag{max-width:100%;color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.team-week-tag-empty{color:var(--faint)}.team-week-day.is-today{background:var(--gold);color:var(--on-gold);border-color:#0000}.team-week-day.is-today .team-week-dow,.team-week-day.is-today .team-week-tag{color:color-mix(in oklch, var(--on-gold) 78%, transparent)}.team-week-day.has-event:not(.is-today) .team-week-tag{color:var(--text)}.team-event-form{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.team-event-form input[type=text],.team-event-form input:not([type]),.team-event-form input[placeholder]{flex:1;min-width:200px}.team-event-list{margin:var(--sp-3) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.team-event-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);display:flex}.team-event-row strong{flex:1;min-width:0}.team-event-row .muted{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}@media (max-width:520px){.team-event-row{flex-wrap:wrap}.team-event-row strong{flex-basis:100%;order:3}}.team-progress .section-heading h2{margin:0}.team-progress .micro{margin:0 0 var(--sp-1)}.progress-summary{gap:var(--sp-1) var(--sp-4);margin:0 0 var(--sp-4);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.progress-summary strong{color:var(--text);font-weight:800}.progress-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.progress-row{align-items:center;column-gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;transition:border-color var(--transition), background-color var(--transition);grid-template-columns:auto minmax(120px,1.4fr) repeat(4,minmax(0,1fr));display:grid;position:relative}@media (hover:hover) and (pointer:fine){.progress-row:hover{background:var(--panel-2);border-color:var(--border-strong)}}.progress-row:has(.roster-open:focus-visible){border-color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}.progress-name{min-width:0}.progress-cell{align-items:baseline;gap:2px var(--sp-2);min-width:0;font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.progress-cell strong{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.1}.progress-cell-label{color:var(--faint);font-size:var(--fs-micro);letter-spacing:var(--tracking-micro);text-transform:uppercase;flex:1 0 100%;font-weight:700}.progress-up{color:var(--green);font-weight:700}.progress-down{color:var(--red);font-weight:700}.progress-pr-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (max-width:700px){.progress-row{row-gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.progress-row>.avatar-initials{grid-row:1/span 3;align-self:start}.progress-name{grid-column:2/-1}}.custom-program-panel h4{margin:var(--sp-4) 0 var(--sp-2)}.custom-program-new,.custom-program-new-group,.custom-program-row-controls{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.custom-program-new button,.custom-program-row-controls button{width:auto}.custom-program-list,.custom-program-athletes,.custom-program-exercises{margin:var(--sp-3) 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.custom-program-list li{justify-content:space-between;gap:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);align-items:flex-start;display:flex}.custom-program-list p{margin:4px 0 0}.custom-program-assign-row{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.custom-program-assign-row select{max-width:260px}.custom-program-group{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-3);margin-bottom:var(--sp-2)}.custom-program-group-header{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.custom-program-group-header select{flex:1;min-width:160px}.custom-program-group-header button{width:auto}.custom-program-group-members{gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.custom-program-group-members label,.custom-program-rest-toggle{align-items:center;gap:6px;display:inline-flex}.custom-program-name{margin-bottom:var(--sp-2);gap:4px;display:grid}.custom-program-day{margin-top:var(--sp-3)}.custom-program-day.is-rest{opacity:.75}.custom-program-day-header{justify-content:space-between;align-items:center;display:flex}.custom-program-day-header h4{margin:0}.custom-program-day-fields{gap:var(--sp-2);margin:var(--sp-2) 0;grid-template-columns:2fr 1fr;display:grid}.custom-program-day textarea{width:100%}.custom-program-exercise{border-top:1px solid var(--border);padding-top:var(--sp-2);gap:6px;display:grid}.custom-program-target{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.custom-program-target input{width:72px}.custom-program-measure{gap:4px;display:inline-flex}.custom-program-measure button{width:auto;min-height:32px;padding:4px 10px}@media (max-width:520px){.custom-program-day-fields{grid-template-columns:1fr}}.invite-qr-button{align-items:center;gap:var(--sp-2);display:inline-flex}.invite-qr-card{text-align:center;gap:var(--sp-3);justify-items:center;display:grid}.invite-qr-card h2,.invite-qr-card p{margin:0}.invite-qr{aspect-ratio:1;background:#fff;border-radius:12px;width:min(72vw,300px,42vh);padding:4px}.invite-qr svg{width:100%;height:100%;display:block}.invite-qr-loading{opacity:.4}.invite-qr-code{font-size:var(--fs-base)}.invite-qr-code strong{letter-spacing:.08em}.pilot-notices{gap:var(--sp-2);margin-bottom:var(--sp-4);display:grid}.pilot-banner{justify-content:space-between;align-items:center;gap:var(--sp-3);border-color:color-mix(in oklch, var(--gold) 45%, transparent);flex-wrap:wrap;display:flex}.pilot-banner-actions{align-items:center;gap:var(--sp-2);display:flex}.pilot-dismiss{place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.pilot-roster-warning{padding:var(--sp-2) var(--sp-3);background:color-mix(in oklch, var(--warn) 12%, transparent);color:var(--text);font-size:var(--fs-sm);border-radius:10px;margin:0}
