:root{--ink-navy: #0a1e28;--aqua-600: #0e9aa7;--aqua-300: #2bd1de;--aqua-deep: #0a6e7a;--aqua-tint: #dff3f5;--mist: #eef3f4;--deep-pool: #06141a;--card-dark: #0c222b;--pb-gold: #d9a13b;--faster: #2e9e6b;--slower: #d65454;--slate: #51646e;--line: #dce6e9;--white: #fff;--field-bg: #f7fafb;--placeholder: #8aa0aa;--bg: var(--mist);--surface: var(--white);--surface-alt: var(--field-bg);--border: var(--line);--text: var(--ink-navy);--text-secondary: var(--slate);--primary: var(--aqua-600);--on-primary: var(--white);--tint: var(--aqua-tint);--on-tint: var(--aqua-deep);--chart-1: #0e9aa7;--chart-2: #5ebdc5;--chart-3: #d9a13b;--chart-4: #6f8fb5;--chart-5: #9b789f;--font-ui: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--hero-bg: linear-gradient(118deg, var(--white) 0%, #e9f6f7 58%, var(--aqua-tint) 100%);--hero-fg: var(--ink-navy);--hero-muted: var(--slate);--hero-accent: var(--aqua-deep);--hero-border: var(--aqua-600);--hero-hairline: rgb(10 30 40 / 12%);--hero-panel: rgb(255 255 255 / 62%);--hero-wave-opacity: .42}:root[data-theme=dark]{--bg: var(--deep-pool);--surface: var(--card-dark);--surface-alt: var(--ink-navy);--border: #1b333d;--text: var(--white);--text-secondary: #8fa6af;--primary: var(--aqua-300);--on-primary: var(--ink-navy);--tint: rgb(43 209 222 / 12%);--on-tint: var(--aqua-300);--chart-1: #2bd1de;--chart-2: #69aeb8;--chart-3: #e4b85e;--chart-4: #89a9d0;--chart-5: #b897ba;--hero-bg: linear-gradient(118deg, #0b2632 0%, var(--ink-navy) 55%, var(--deep-pool) 100%);--hero-fg: var(--white);--hero-muted: #9eb1b9;--hero-accent: var(--aqua-300);--hero-border: var(--aqua-300);--hero-hairline: rgb(255 255 255 / 10%);--hero-panel: rgb(8 23 30 / 58%);--hero-wave-opacity: .45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgb(43 209 222 / 45%);outline-offset:2px}.wordmark{display:flex;align-items:center}.wordmark-icon{position:relative;flex:0 0 auto;overflow:hidden;background:var(--ink-navy)}.wordmark-icon img{width:100%;height:100%;display:block;object-fit:cover}.mono,.tnum{font-family:var(--font-mono);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.overline{color:var(--aqua-deep);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:capitalize}h1,h2,h3,h4,h5,h6{text-transform:capitalize}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 14px 16px;display:flex;flex-direction:column;gap:22px;background:var(--ink-navy);color:#fff}.sidebar-brand{padding:0 10px}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:3px}.nav-item{min-height:44px;padding:0 12px;border-radius:10px;display:flex;align-items:center;gap:11px;color:#8fa6af;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .14s ease,color .14s ease}.nav-item:hover{background:#ffffff0d;color:#d7e4e8}.nav-item.is-active{background:#2bd1de21;color:var(--aqua-300)}.nav-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.sidebar-account{min-width:0;padding:10px;border-top:1px solid rgb(255 255 255 / 8%);display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:9px}.account-link{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;text-decoration:none;border-radius:10px}.account-link:hover .account-copy strong{color:var(--aqua-300)}.account-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--aqua-300);color:var(--deep-pool);font-size:11px;font-weight:800}.account-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.account-copy strong{overflow:hidden;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.account-copy span{color:#78909b;font-size:10px;font-weight:700;text-transform:capitalize}.signout-button{width:28px;height:28px;padding:5px;border:0;border-radius:7px;background:transparent;color:#78909b}.signout-button:hover{background:#ffffff0f;color:#fff}.signout-button svg{width:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-button{min-height:38px;padding:0 10px;border:0;border-radius:9px;display:flex;align-items:center;gap:10px;background:transparent;color:#78909b;font-size:11px;font-weight:700}.theme-button:hover{background:#ffffff0f;color:#fff}.theme-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-main{min-width:0;padding:28px clamp(22px,2.4vw,42px) 44px;overflow:auto}.page-header{position:relative;min-height:150px;margin:-28px calc(clamp(22px,2.4vw,42px)*-1) 24px;padding:34px clamp(22px,4vw,64px) 30px;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;border-bottom:3px solid var(--hero-border);background:var(--hero-bg);color:var(--hero-fg)}.page-header>div:first-child{position:relative;z-index:1;min-width:0}.page-header .overline{color:var(--hero-accent)}.page-header h1{margin:6px 0 0;font-size:clamp(29px,2.9vw,42px);font-weight:800;letter-spacing:-.04em;line-height:1.02}.page-header p{max-width:640px;margin:12px 0 0;color:var(--hero-muted);font-size:14px;line-height:1.5}.page-header-action{position:relative;z-index:1;flex:0 0 auto}.dashboard-hero:after,.page-header:after,.program-topbar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:38%;opacity:var(--hero-wave-opacity);background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='60'><g fill='none' stroke='%232bd1de' stroke-width='2'><path d='M-30 15 Q0 0 30 15 T90 15 T150 15'/><path d='M-30 45 Q0 30 30 45 T90 45 T150 45'/></g></svg>");background-size:120px 60px;-webkit-mask-image:linear-gradient(to right,transparent,#000 46%);mask-image:linear-gradient(to right,transparent,#000 46%);pointer-events:none}.section-title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.section-heading{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading span{color:var(--text-secondary);font-size:12px}.section-sub{display:block;margin-top:3px;font-size:11px;max-width:60ch}.workspace-stack{width:100%;display:flex;flex-direction:column;gap:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.surface-panel{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.empty-state{padding:24px 20px;color:var(--text-secondary);font-size:14px;text-align:center}.loading-state{width:100%;min-height:240px;display:grid;place-content:center;justify-items:center;gap:4px;color:var(--text)}.loading-state.is-app{min-height:100vh;background:var(--bg)}.loading-state.is-compact{min-height:180px}.loading-animation{width:132px;height:132px}.loading-state.is-app .loading-animation{width:184px;height:184px}.loading-state.is-compact .loading-animation{width:112px;height:112px}.loading-label{margin-top:-10px;color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}.content-reveal{animation:content-arrive .42s cubic-bezier(.22,.75,.28,1) both}.drill-row,.session-row,.task-row,.swimmer-table-row,.recent-time-row{animation:list-item-arrive .3s cubic-bezier(.22,.75,.28,1) both}.drill-row:nth-child(2),.session-row:nth-child(2),.task-row:nth-child(2),.swimmer-table-row:nth-child(2),.recent-time-row:nth-child(2){animation-delay:35ms}.drill-row:nth-child(3),.session-row:nth-child(3),.task-row:nth-child(3),.swimmer-table-row:nth-child(3),.recent-time-row:nth-child(3){animation-delay:70ms}.drill-row:nth-child(4),.session-row:nth-child(4),.task-row:nth-child(4),.swimmer-table-row:nth-child(4),.recent-time-row:nth-child(4){animation-delay:105ms}.drill-row:nth-child(5),.session-row:nth-child(5),.task-row:nth-child(5),.swimmer-table-row:nth-child(5),.recent-time-row:nth-child(5){animation-delay:.14s}.btn-primary,.btn-secondary{height:46px;padding:0 21px;border-radius:999px;font-size:14px;font-weight:700;white-space:nowrap}.btn-primary{border:0;background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--aqua-deep)}.btn-primary:disabled{cursor:default;opacity:.55}.btn-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn-danger{height:46px;padding:0 21px;border-radius:999px;font-size:14px;font-weight:700;white-space:nowrap;border:0;background:var(--slower);color:#fff}.btn-danger:hover{background:#bf3b3b}.btn-danger:disabled{cursor:default;opacity:.55}.btn-warning{height:46px;padding:0 21px;border:0;border-radius:999px;background:var(--pb-gold);color:var(--ink-navy);font-size:14px;font-weight:800;white-space:nowrap}.btn-warning:hover{background:#c78e28}.danger-zone{margin-top:34px;padding:20px 22px;border:1px solid rgb(214 84 84 / 35%);border-radius:16px;background:#d654540f;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.danger-zone .danger-copy strong{display:block;color:var(--slower);font-size:14px}.danger-zone .danger-copy span{color:var(--text-secondary);font-size:12px}.field{width:100%;height:46px;padding:0 15px;border:1px solid var(--border);border-radius:11px;background:var(--surface-alt);color:var(--text);font-size:14px;font-weight:500}.field::placeholder{color:var(--placeholder)}.field:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px var(--tint);background:var(--surface)}.control-label{display:flex;flex-direction:column;gap:7px}.control-label>span{color:var(--text-secondary);font-size:12px;font-weight:700}.filter-bar{margin-bottom:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-field{position:relative;width:min(100%,340px)}.search-field svg{position:absolute;left:14px;top:14px;width:17px;height:17px;fill:none;stroke:var(--text-secondary);stroke-width:2;stroke-linecap:round}.search-field .field{padding-left:41px;border-radius:999px;background:var(--surface)}.filter-chip{min-height:38px;padding:0 15px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:700}.filter-chip:hover{color:var(--text);border-color:#bccbd0}.filter-chip.is-active{border-color:transparent;background:var(--tint);color:var(--on-tint)}.count-label{color:var(--text-secondary);font-size:12px}.content-width{width:100%}.header-actions,.toolbar-actions,.row-inline{display:flex;align-items:center;gap:10px}.compact-field{width:auto;min-width:150px}.squad-filter{position:relative;min-width:174px}.squad-filter-trigger{width:100%;height:46px;padding:0 13px 0 11px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);color:var(--text);font-size:13px;font-weight:700;text-align:left}.squad-filter-trigger:hover{border-color:#b5c7cc}.squad-filter-trigger:disabled{cursor:default;opacity:.56}.squad-filter.is-open .squad-filter-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint)}.squad-filter-current{min-width:0;display:flex;align-items:center;gap:9px}.squad-filter-current>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squad-filter-mark{width:24px;height:24px;border:2px solid var(--aqua-600);border-radius:50%;display:grid;place-items:center;background:var(--aqua-tint);color:var(--aqua-deep);font-size:16px;font-weight:800;line-height:1}.squad-filter-mark.is-unassigned{position:relative;border-style:dashed;border-color:var(--placeholder);background:transparent}.squad-filter-mark.is-unassigned:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:2px;border-radius:999px;background:currentColor;color:var(--placeholder);transform:translate(-50%,-50%)}.squad-filter-chevron,.squad-filter-check{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.squad-filter-chevron{flex:0 0 auto;color:var(--text-secondary);transition:transform .15s ease}.squad-filter.is-open .squad-filter-chevron{transform:rotate(180deg)}.squad-filter-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:max(100%,202px);padding:7px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 42px #03181f2e;animation:squad-filter-arrive .14s ease-out both}.squad-filter-menu-label{padding:6px 8px 8px;color:var(--placeholder);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.squad-filter-option{width:100%;min-height:38px;padding:6px 8px;border:0;border-radius:9px;display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:9px;background:transparent;color:var(--text);font-size:13px;font-weight:650;text-align:left}.squad-filter-option:hover,.squad-filter-option.is-selected{background:var(--tint);color:var(--on-tint)}.squad-filter-option .squad-filter-check{justify-self:end}.squad-filter-divider{height:1px;margin:5px 7px;background:var(--border)}@keyframes squad-filter-arrive{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.role-select{position:relative;min-width:140px}.role-select-trigger{width:100%;height:46px;padding:0 12px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:8px;background:var(--surface-alt);color:var(--text);font-size:13px;font-weight:700;text-align:left}.role-select-trigger:hover{border-color:#b5c7cc;background:var(--surface)}.role-select-trigger:disabled{cursor:default;opacity:.56}.role-select.is-open .role-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint);background:var(--surface)}.role-select-mark{width:19px;height:19px;border:2px solid var(--aqua-600);border-radius:50%;display:grid;place-items:center;background:var(--aqua-tint)}.role-select-mark:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--aqua-600);box-shadow:0 -5px 0 -2px var(--aqua-600)}.role-select-mark.is-admin{border-radius:6px 6px 8px 8px;border-color:var(--pb-gold);background:#d9a13b21}.role-select-mark.is-admin:after{width:8px;height:8px;border-radius:2px;background:var(--pb-gold);box-shadow:none;transform:rotate(45deg)}.role-select-chevron,.role-select-check{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.role-select-chevron{color:var(--text-secondary);transition:transform .15s ease}.role-select.is-open .role-select-chevron{transform:rotate(180deg)}.role-select-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:max(100%,190px);padding:7px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 42px #03181f2e;animation:squad-filter-arrive .14s ease-out both}.role-select-menu-label{padding:6px 8px 8px;color:var(--placeholder);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.role-select-option{width:100%;min-height:47px;padding:7px 8px;border:0;border-radius:9px;display:grid;grid-template-columns:19px minmax(0,1fr) 16px;align-items:center;gap:9px;background:transparent;color:var(--text);text-align:left}.role-select-option:hover,.role-select-option.is-selected{background:var(--tint);color:var(--on-tint)}.role-select-option strong,.role-select-option small{display:block}.role-select-option strong{font-size:13px;font-weight:700}.role-select-option small{margin-top:2px;color:var(--text-secondary);font-size:10px;font-weight:600}.role-select-option.is-selected small{color:inherit;opacity:.78}.role-select-check{justify-self:end}.segmented-control{height:38px;padding:3px;border:1px solid var(--border);border-radius:999px;display:inline-flex;background:var(--surface)}.segmented-control button{padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:700}.segmented-control button.is-active{background:var(--ink-navy);color:#fff}.icon-button{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--text-secondary);font-size:21px;line-height:1}.icon-button:hover{color:var(--text)}.icon-button.danger:hover,.text-action.danger{color:var(--slower);border-color:#d6545459}.text-action{padding:5px 0;border:0;background:transparent;color:var(--primary);font-size:11px;font-weight:700}.detail-actions{margin-top:16px;display:flex;gap:18px}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;overflow-y:auto;background:#030d11ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-panel{width:min(100%,650px);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 26px 80px #00000047}.modal-header{padding:25px 26px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modal-header h2{margin:0;font-size:21px;letter-spacing:-.025em}.modal-header p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.5}.modal-form{padding:24px 26px 26px;display:flex;flex-direction:column;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.thirds{grid-template-columns:.85fr 1fr 1.2fr}.textarea.field{height:92px;padding-top:12px;resize:vertical;line-height:1.45}.range-field{padding:0 8px;accent-color:var(--primary)}.modal-actions{padding-top:5px;display:flex;justify-content:flex-end;gap:10px}.confirm-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;background:#030d11c2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:confirm-fade-in .15s ease-out both}.confirm-panel{width:min(100%,480px);overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:0 30px 90px #00000061;animation:confirm-arrive .19s cubic-bezier(.22,.75,.28,1) both}.confirm-safety-rail{height:5px;background:repeating-linear-gradient(90deg,var(--slower) 0 22px,#f0a2a2 22px 30px)}.confirm-panel.is-warning .confirm-safety-rail{background:repeating-linear-gradient(90deg,var(--pb-gold) 0 22px,#f1d395 22px 30px)}.confirm-content{padding:28px 28px 24px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:17px}.confirm-mark{width:46px;height:46px;border:1px solid rgb(214 84 84 / 26%);border-radius:14px;display:grid;place-items:center;background:#d6545417;color:var(--slower)}.confirm-panel.is-warning .confirm-mark{border-color:#d9a13b4d;background:#d9a13b1c;color:var(--pb-gold)}.confirm-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.confirm-copy{min-width:0}.confirm-eyebrow{display:block;margin:1px 0 7px;color:var(--slower);font-family:var(--font-mono);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.confirm-panel.is-warning .confirm-eyebrow{color:#9b6712}.confirm-copy h2{margin:0;font-size:21px;letter-spacing:-.025em;line-height:1.2}.confirm-copy p{margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.confirm-subject{min-width:0;margin-top:17px;padding:11px 13px;border-left:3px solid rgb(214 84 84 / 58%);border-radius:0 9px 9px 0;display:flex;flex-direction:column;gap:3px;background:var(--surface-alt)}.confirm-panel.is-warning .confirm-subject{border-left-color:#d9a13bb3}.confirm-subject span{color:var(--placeholder);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.confirm-subject strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.confirm-actions{padding:17px 28px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:color-mix(in srgb,var(--surface-alt) 54%,var(--surface))}.confirm-actions .btn-secondary{background:transparent}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-arrive{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.shape-picker{margin:0;padding:0;border:0}.shape-picker legend{margin-bottom:8px;color:var(--text-secondary);font-size:12px;font-weight:700}.shape-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shape-picker label{min-height:76px;border:1px solid var(--border);border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-secondary);font-size:10px;text-transform:capitalize;cursor:pointer}.shape-picker label.is-active{border-color:var(--primary);background:var(--tint);color:var(--on-tint)}.shape-picker input,.assignment-chip input{position:absolute;opacity:0;pointer-events:none}.date-picker{position:relative;min-width:0;display:flex;flex-direction:column;gap:7px}.date-picker-label{color:var(--text-secondary);font-size:12px;font-weight:700}.date-trigger{width:100%;height:46px;padding:0 12px;border:1px solid var(--border);border-radius:11px;display:grid;grid-template-columns:19px minmax(0,1fr) 16px;align-items:center;gap:10px;background:var(--surface-alt);color:var(--text);text-align:left}.date-trigger:hover{border-color:#b5c7cc;background:var(--surface)}.date-picker.is-open .date-trigger{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--tint)}.date-trigger>span{overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.date-trigger .is-placeholder{color:var(--placeholder);font-weight:500}.date-icon,.date-chevron{width:18px;height:18px;fill:none;stroke:var(--text-secondary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date-chevron{width:15px;transition:transform .14s ease}.date-picker.is-open .date-chevron{transform:rotate(180deg)}.calendar-panel{position:fixed;z-index:70;width:min(330px,calc(100vw - 24px));padding:0 14px 12px;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--surface);box-shadow:0 20px 50px #03181f38;animation:calendar-arrive .15s ease-out}.calendar-header{height:62px;margin:0 -14px 12px;padding:0 12px;border-bottom:3px solid var(--aqua-300);display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px;background:var(--ink-navy)}.calendar-header>button{width:32px;height:32px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#a8bcc4}.calendar-header>button:hover:not(:disabled){background:#ffffff17;color:#fff}.calendar-header>button:disabled{opacity:.25;cursor:default}.calendar-header svg{width:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.calendar-period{display:flex;align-items:center;justify-content:center;gap:2px}.calendar-period select{height:34px;padding:0 3px;border:0;outline:0;background:transparent;color:#fff;font-size:13px;font-weight:800;text-align:center;cursor:pointer}.calendar-period select:first-of-type{max-width:116px}.calendar-period select option{color:var(--ink-navy)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{height:25px;align-items:center;color:var(--placeholder);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.04em;text-align:center;text-transform:uppercase}.calendar-grid{row-gap:2px}.calendar-grid button{position:relative;aspect-ratio:1;min-width:0;padding:0;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:11px;font-weight:600}.calendar-grid button:hover:not(:disabled):not(.is-selected){background:var(--tint);color:var(--on-tint)}.calendar-grid button.is-outside{color:var(--placeholder);opacity:.48}.calendar-grid button:disabled{color:var(--placeholder);opacity:.22;cursor:default;text-decoration:line-through}.calendar-grid button.is-today:not(.is-selected):after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--aqua-600)}.calendar-grid button.is-selected{overflow:hidden;background:var(--aqua-600);color:#fff;box-shadow:0 5px 12px #0e9aa74d}.calendar-grid button.is-selected:before,.calendar-grid button.is-selected:after{content:"";position:absolute;left:7px;right:7px;height:1px;border-radius:999px;background:#ffffff47}.calendar-grid button.is-selected:before{top:6px}.calendar-grid button.is-selected:after{bottom:6px}.calendar-grid button.is-selected span{position:relative;z-index:1}.calendar-footer{min-height:38px;margin-top:8px;padding-top:9px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.calendar-footer span{color:var(--placeholder);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-footer button{padding:5px;border:0;background:transparent;color:var(--primary);font-size:10px;font-weight:800}.calendar-footer button:disabled{color:var(--placeholder);opacity:.45;cursor:default}@keyframes calendar-arrive{0%{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-height: 520px){.calendar-panel{width:min(300px,calc(100vw - 24px));padding-bottom:8px}.calendar-header{height:50px;margin-bottom:6px}.calendar-weekdays{height:21px}.calendar-grid{row-gap:1px}.calendar-grid button{height:31px;aspect-ratio:auto}.calendar-footer{min-height:32px;margin-top:5px;padding-top:5px}}.program-page{width:100%}.program-topbar{position:relative;min-height:150px;margin:-28px calc(clamp(22px,2.4vw,42px)*-1) 24px;padding:34px clamp(22px,4vw,64px) 30px;overflow:hidden;display:grid;grid-template-columns:1fr minmax(240px,380px) auto;align-items:end;gap:32px;border-bottom:3px solid var(--hero-border);background:var(--hero-bg);color:var(--hero-fg)}.program-topbar>*{position:relative;z-index:1}.program-heading .overline{color:var(--hero-accent)}.program-heading h1{margin:6px 0 0;font-size:clamp(29px,2.9vw,42px);font-weight:800;letter-spacing:-.04em;line-height:1.02}.distance-board{position:relative;min-width:0;padding:4px 0 12px;display:flex;align-items:baseline;justify-content:space-between;gap:18px;overflow:hidden}.distance-board>span{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.distance-board strong{font-size:31px;letter-spacing:-.06em}.distance-board strong small{margin-left:3px;color:var(--text-secondary);font-size:14px;letter-spacing:0}.distance-board:after,.distance-board>i{content:"";position:absolute;left:0;bottom:3px;height:4px;border-radius:10px}.distance-board:after{width:100%;background:var(--border)}.distance-board>i{z-index:1;max-width:100%;background:linear-gradient(90deg,var(--aqua-deep),var(--aqua-300));transition:width .24s ease}.program-meta{min-height:96px;margin-top:22px;padding:18px 0;display:grid;grid-template-columns:minmax(260px,1fr) 190px 220px auto;align-items:end;gap:14px}.program-meta label{display:flex;flex-direction:column;gap:6px}.program-meta label>span{color:var(--text-secondary);font-size:11px;font-weight:700}.program-meta label>span small{font-weight:500}.meta-note{padding-bottom:14px;color:var(--text-secondary);font-size:11px}.program-notice{margin:0 0 14px;padding:11px 14px;border-radius:9px;font-size:13px;font-weight:600}.program-notice.is-success{background:#2e9e6b1f;color:var(--faster)}.program-notice.is-error{background:#d654541c;color:var(--slower)}.program-workbench{display:grid;grid-template-columns:348px minmax(0,1fr);gap:20px;align-items:start}.program-library,.program-lane{border:1px solid var(--border);border-radius:16px;background:var(--surface)}.program-library{position:sticky;top:20px;max-height:calc(100vh - 40px);padding:22px;display:flex;flex-direction:column;overflow:hidden}.library-title,.lane-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.library-title h2,.lane-heading h2{margin:4px 0 0;font-size:20px;letter-spacing:-.025em}.library-drag-hint,.lane-heading>span{color:var(--text-secondary);font-size:10px;font-weight:700}.library-tabs{margin:20px 0 14px;padding:4px;display:grid;grid-template-columns:1fr 1fr;border-radius:10px;background:var(--surface-alt)}.library-tabs button{height:34px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:700}.library-tabs button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0a1e2817}.library-search{height:39px;margin-bottom:10px}.library-stack{min-height:0;display:flex;flex-direction:column;gap:11px;padding:2px;margin:-2px;overflow-x:visible;overflow-y:auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.library-tile{min-height:76px;padding:13px 14px;display:grid;grid-template-columns:46px minmax(0,1fr) 34px;align-items:center;gap:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:grab;transition:border-color .14s ease,transform .14s ease}.library-tile .stroke-mark{width:46px;height:46px;border-radius:12px;font-size:12px}.library-tile:hover{border-color:var(--primary);transform:translate(2px)}.library-tile:active{cursor:grabbing}.library-tile>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:5px}.library-tile strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.library-tile small{color:var(--text-secondary);font-size:10px}.library-tile button{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:var(--surface-alt);color:var(--primary);font-size:20px;line-height:1}.library-empty{color:var(--text-secondary);font-size:12px;text-align:center}.stroke-mark{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--tint);color:var(--on-tint);font-family:var(--font-mono);font-size:10px;font-weight:700}.stroke-mark.is-backstroke{background:#6f8fb524;color:#6f8fb5}.stroke-mark.is-breaststroke{background:#d9a13b26;color:#a7771e}.stroke-mark.is-butterfly{background:#9b789f26;color:#9b789f}.stroke-mark.is-im{background:#2e9e6b24;color:var(--faster)}.stroke-mark.is-choice,.stroke-mark.is-general{background:var(--surface-alt);color:var(--text-secondary)}.program-lane{min-height:560px;padding:20px;transition:border-color .15s ease,box-shadow .15s ease}.program-lane.is-drag-over{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--tint)}.lane-heading{padding:0 2px 16px;border-bottom:1px solid var(--border)}.program-empty{min-height:400px;display:grid;place-content:center;justify-items:center;color:var(--text-secondary);text-align:center}.program-empty strong{margin-top:18px;color:var(--text);font-size:15px}.program-empty p{max-width:300px;margin:7px 0 0;font-size:12px;line-height:1.5}.empty-builder-mark{position:relative;width:128px;height:82px;display:grid;place-items:center}.empty-builder-mark:before{content:"";position:absolute;top:16px;right:8px;bottom:8px;left:22px;border:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);border-radius:13px;background:color-mix(in srgb,var(--tint) 55%,transparent)}.builder-plus{position:absolute;z-index:2;top:2px;left:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);box-shadow:0 10px 24px #0a1e2829;font-size:24px;font-weight:600;line-height:1}.builder-plus:before{content:"+";transform:translateY(-1px)}.builder-set{position:absolute;z-index:1;left:44px;width:64px;height:26px;padding:6px 7px;border:1px solid var(--border);border-radius:8px;display:grid;grid-template-columns:10px 1fr 12px;align-items:center;gap:6px;background:var(--surface);box-shadow:0 10px 28px #0a1e2814}.builder-set.is-primary{top:23px;transform:rotate(-2deg)}.builder-set.is-secondary{top:48px;left:35px;opacity:.82;transform:rotate(3deg)}.builder-set i,.builder-set b,.builder-set em{display:block;font-style:normal}.builder-set i{width:10px;height:10px;border-radius:4px;background:var(--pb-gold)}.builder-set b{height:5px;border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 30%,transparent)}.builder-set em{width:12px;height:12px;border-radius:50%;border:2px solid color-mix(in srgb,var(--faster) 65%,transparent)}.program-set-list{padding-top:12px;display:flex;flex-direction:column;gap:10px}.program-set{position:relative;min-height:166px;display:grid;grid-template-columns:42px minmax(0,1fr);border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden;animation:content-arrive .22s ease both}.set-grip{padding:15px 0;display:flex;flex-direction:column;align-items:center;gap:9px;border-right:1px solid var(--border);background:var(--surface-alt);color:var(--text-secondary);cursor:grab}.set-grip:active{cursor:grabbing}.set-grip span{font-size:18px;line-height:1}.set-grip small{font-size:9px}.set-main{padding:14px 46px 14px 15px;display:grid;grid-template-columns:minmax(150px,.85fr) minmax(280px,1.25fr);gap:13px 24px;align-items:center}.set-name{display:flex;align-items:center;gap:11px;min-width:0}.set-name>div{min-width:0;display:flex;flex-direction:column;gap:4px}.set-name strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.set-name small{color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.set-prescription{display:grid;grid-template-columns:72px 14px 100px 1fr;align-items:end;gap:8px}.set-prescription label{display:flex;flex-direction:column;gap:5px}.set-prescription label>span{color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:uppercase}.set-prescription .field{height:38px;padding:0 10px}.set-prescription>b{padding-bottom:9px;color:var(--text-secondary);font-weight:500}.distance-input{position:relative}.distance-input .field{padding-right:25px}.distance-input i{position:absolute;right:10px;top:12px;color:var(--text-secondary);font-size:10px;font-style:normal}.set-total{padding-bottom:9px;justify-self:end;color:var(--text);font-size:16px}.effort-control{grid-column:1 / -1;display:grid;grid-template-columns:82px 1fr;align-items:center;gap:5px 13px}.effort-readout{grid-row:1 / 3;display:flex;flex-direction:column;gap:3px}.effort-readout span{color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.effort-readout strong{color:var(--primary);font-family:var(--font-mono);font-size:16px}.effort-control input{width:100%;height:18px;margin:0;accent-color:var(--primary)}.effort-labels{display:flex;justify-content:space-between;color:var(--text-secondary);font-family:var(--font-mono);font-size:8px}.set-remove{position:absolute;right:12px;top:12px;width:27px;height:27px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:20px}.set-remove:hover{background:#d654541a;color:var(--slower)}.summary-strip{width:100%;margin-bottom:16px;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:var(--surface)}.summary-strip>div{min-height:76px;padding:15px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:5px}.summary-strip>div:last-child{border-right:0}.summary-strip span{color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.summary-strip strong{font-size:21px}.summary-strip .squad-summary>span{display:flex;align-items:center;gap:7px}.summary-strip .squad-summary svg{flex:0 0 auto}.session-list{width:100%;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.session-list-head,.session-row-main{display:grid;grid-template-columns:100px minmax(260px,1fr) 110px 70px 64px;gap:16px;align-items:center}.session-list-head{min-height:42px;padding:0 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.session-row{border-bottom:1px solid var(--border)}.session-row:last-child{border-bottom:0}.session-row.is-open{box-shadow:inset 3px 0 var(--primary);background:var(--surface-alt)}.session-row-main{width:100%;min-height:72px;padding:8px 18px;border:0;background:transparent;color:var(--text);text-align:left}.session-row-main:hover{background:var(--surface-alt)}.date-cell{display:flex;flex-direction:column;gap:4px}.date-cell strong{font-size:12px}.date-cell small,.session-primary small{color:var(--text-secondary);font-size:10px}.session-primary{display:flex;align-items:center;gap:11px;min-width:0}.session-primary>span{min-width:0}.session-primary strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.session-primary small{display:block;margin-top:4px;text-transform:capitalize}.status-dot:before{content:"";width:6px;height:6px;margin-right:4px;border-radius:50%;display:inline-block;background:var(--placeholder)}.status-dot.is-completed:before{background:var(--faster)}.status-dot.is-published:before{background:var(--aqua-600)}.session-metric{color:var(--text-secondary);font-size:12px}.session-detail{padding:0 20px 22px 118px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.session-detail section{padding-top:17px;border-top:1px solid var(--border)}.session-detail h3{margin:0 0 10px;color:var(--text-secondary);font-size:10px;letter-spacing:.1em;text-transform:capitalize}.program-completion p{margin:0 0 10px;color:var(--text-secondary);font-size:13px}.program-completion>div{display:flex;gap:8px}.program-completion .btn-primary,.program-completion .btn-secondary{min-width:116px}.program-completion .is-complete{color:var(--faster);border-color:var(--faster)}.block-line,.time-table>div{min-height:34px;display:grid;align-items:center;gap:8px;font-size:11px}.block-line{grid-template-columns:64px 1fr auto}.block-line strong{font-weight:600}.block-type{color:var(--aqua-deep);font-size:9px;font-weight:800;text-transform:uppercase}.time-table>div{grid-template-columns:1fr 1fr auto;border-bottom:1px solid var(--border)}.time-table>div:last-child{border:0}.time-table strong{color:var(--primary)}.detail-empty{color:var(--text-secondary);font-size:12px}.season-toolbar{min-height:72px;margin-bottom:18px;padding:12px 15px;border:1px solid var(--border);border-radius:14px;display:flex;align-items:flex-end;gap:18px;background:var(--surface)}.season-toolbar .control-label{width:min(310px,100%)}.season-picker{position:relative}.season-picker-trigger{width:100%;height:46px;padding:0 13px 0 15px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-alt);color:var(--text);font-size:14px;font-weight:650;text-align:left}.season-picker-trigger:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:var(--surface)}.season-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.season-picker-chevron{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--text-secondary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.season-picker.is-open .season-picker-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint);background:var(--surface)}.season-picker.is-open .season-picker-chevron{transform:rotate(180deg)}.season-picker-menu{position:absolute;z-index:20;top:calc(100% + 7px);left:0;width:100%;min-width:270px;padding:7px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 42px #03181f3d;animation:squad-filter-arrive .14s ease-out both}.season-picker-menu:before{content:"";position:absolute;top:0;right:14px;left:14px;height:2px;border-radius:999px;background:var(--primary);opacity:.72}.season-picker-menu-label{padding:9px 8px 8px;color:var(--placeholder);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.season-picker-option{width:100%;min-height:40px;padding:7px 9px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--text);font-size:13px;font-weight:650;text-align:left}.season-picker-option:hover{background:var(--surface-alt)}.season-picker-option.is-selected{background:var(--tint);color:var(--on-tint)}.season-picker-option small{color:inherit;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.82}.season-dates{height:46px;display:flex;align-items:center;gap:9px;color:var(--text-secondary);font-size:11px}.season-toolbar .toolbar-actions{margin-left:auto}.empty-workspace{min-height:240px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-mark{color:var(--aqua-600);font-size:48px}.empty-workspace h2{margin:12px 0 5px;font-size:20px}.empty-workspace p{max-width:430px;margin:0 0 20px;color:var(--text-secondary);font-size:13px;line-height:1.55}.season-board{border:1px solid var(--border);border-radius:14px;overflow-x:auto;background:var(--surface)}.timeline-axis,.meet-lane,.squad-lane{min-width:850px;display:grid;grid-template-columns:150px minmax(700px,1fr)}.timeline-axis{min-height:45px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.timeline-axis>span,.meet-lane-label{padding:0 18px;display:flex;align-items:center}.axis-track,.timeline-track{position:relative}.axis-track span{position:absolute;bottom:13px;transform:translate(6px)}.timeline-track>i{position:absolute;inset-block:0;width:1px;background:var(--border)}.meet-lane{min-height:100px;border-bottom:1px solid #bfe6eb;background:#edf8fa}.meet-lane-label{gap:7px;color:#176b78;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.meet-lane-label i{color:#0e9aa7;font-size:12px;font-style:normal}.meet-marker{position:absolute;top:12px;width:136px;min-height:74px;padding:10px 10px 8px 42px;border:1px solid #9ed8df;border-left:4px solid #0e9aa7;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;transform:translate(-12px);background:var(--surface);box-shadow:0 4px 12px #0e68751a;color:var(--text);text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.meet-marker:after{content:"COMPETE";position:absolute;right:8px;bottom:8px;color:#6b9fa7;font-family:var(--font-mono);font-size:7px;font-weight:800;letter-spacing:.09em}.meet-marker:hover,.meet-marker:focus-visible{transform:translate(-12px) translateY(-2px);border-color:#0e9aa7;border-left-color:#087987;box-shadow:0 9px 20px #0e68752e;outline:0}.meet-marker b{position:absolute;top:10px;left:8px;width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#0e9aa7;color:#fff;font-family:var(--font-mono);font-size:10px;box-shadow:inset 0 -2px #00000021}.meet-marker span{max-width:82px;overflow:hidden;color:#113941;font-size:10px;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.meet-marker small{max-width:82px;overflow:hidden;color:#47747c;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}:root[data-theme=dark] .meet-lane{border-bottom-color:#1c4652;background:#0b2028}:root[data-theme=dark] .meet-lane-label{color:#a9d9df}:root[data-theme=dark] .meet-lane-label i{color:var(--aqua-300)}:root[data-theme=dark] .meet-marker{border-color:#276b77;border-left-color:var(--aqua-300);background:#102d37;box-shadow:0 4px 12px #00000038}:root[data-theme=dark] .meet-marker:hover,:root[data-theme=dark] .meet-marker:focus-visible{border-color:#51d9e4;border-left-color:#51d9e4;box-shadow:0 9px 20px #2bd1de2e}:root[data-theme=dark] .meet-marker b{background:var(--aqua-300);color:var(--ink-navy)}:root[data-theme=dark] .meet-marker span{color:#f1fcff}:root[data-theme=dark] .meet-marker small{color:#b7d3d9}:root[data-theme=dark] .meet-marker:after{color:#79c5cf}.squad-lane{min-height:84px;border-bottom:1px solid var(--border)}.lane-label{padding:0 17px;display:flex;align-items:center;gap:9px}.lane-label strong{font-size:12px}.phase-block{position:absolute;top:20px;height:44px;min-width:24px;padding:0 8px;border:0;border-radius:7px;overflow:hidden;color:var(--ink-navy);font-size:9px;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.phase-block{display:flex;align-items:center;justify-content:space-between;gap:7px}.phase-block em{padding:3px 4px;border-radius:4px;background:#0a1e281c;font-size:7px;font-style:normal;letter-spacing:0}.phase-block:hover{filter:brightness(.94)}.phase-block.is-prep,.phase-legend i.is-prep{background:#b9e4e8}.phase-block.is-build,.phase-legend i.is-build{background:#68c9d1}.phase-block.is-skills,.phase-legend i.is-skills{background:#8ebbd8}.phase-block.is-peak,.phase-legend i.is-peak{background:#f0c76f}.phase-block.is-taper,.phase-legend i.is-taper{background:#e99b83}.phase-block.is-race,.phase-legend i.is-race{background:#cf7d91}.phase-block.is-meet_season,.phase-legend i.is-meet_season{background:#7897b8}.phase-legend{min-width:850px;padding:14px 18px;display:flex;align-items:center;gap:16px;color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:capitalize}.phase-legend>span{display:flex;align-items:center;gap:5px}.phase-legend i{width:9px;height:9px;border-radius:3px}.phase-legend small{margin-left:auto;font-size:9px}.phase-difficulty>span{display:flex;align-items:center;justify-content:space-between}.phase-difficulty>span strong{color:var(--primary);font-size:12px}.phase-difficulty>small{display:flex;justify-content:space-between;color:var(--placeholder);font-size:9px;font-weight:600}.meet-modal{width:min(660px,calc(100vw - 28px))}.meet-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.currency-field{position:relative}.currency-field>span{position:absolute;z-index:1;left:14px;top:14px;color:var(--text-secondary);font-family:var(--font-mono);font-size:13px}.currency-field .field{padding-left:27px}.meet-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.meet-form-actions .modal-actions{margin-left:auto}.text-danger-button{border:0;background:transparent;color:var(--slower);font-size:12px;font-weight:700}.text-danger-button:hover{text-decoration:underline}.page-tabs{margin-bottom:22px;border-bottom:1px solid var(--border);display:flex;gap:24px}.page-tabs button{padding:0 2px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:700}.page-tabs button.is-active{border-color:var(--primary);color:var(--text)}.coach-access-row{min-height:72px;padding:10px 16px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(190px,1fr) minmax(260px,2fr) 105px;align-items:center;gap:14px}.coach-access-row:last-child{border:0}.coach-access-row.is-link{text-decoration:none;color:inherit;cursor:pointer;border-radius:12px;transition:background .12s}.coach-access-row.is-link:hover{background:var(--tint)}.coach-access-row.is-link:hover .data-title{color:var(--primary)}.coach-name-cell{min-width:0}.role-tag{justify-self:end;padding:4px 12px;border-radius:999px;border:1px solid var(--border);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.role-tag.is-admin{border-color:#9bdce1;background:var(--tint);color:var(--on-tint)}.assignment-empty{color:var(--text-secondary);font-size:11px;font-weight:600}.assignment-list{display:flex;flex-wrap:wrap;gap:6px}.assignment-chip.is-static{cursor:default;pointer-events:none}.access-config{display:grid;gap:18px}.access-config .access-role .field{max-width:220px}.access-config .access-role>.data-subtitle{display:block;margin-bottom:4px}.access-config .access-role>strong{font-size:15px}.access-config .access-squads>.control-label>span,.access-config .access-squads>.data-subtitle{display:block;margin-bottom:8px}.assignment-chip{min-height:30px;padding:3px 8px 3px 5px;border:1px solid var(--border);border-radius:999px;display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:9px;font-weight:700;cursor:pointer}.assignment-chip.is-active{border-color:#9bdce1;background:var(--tint);color:var(--on-tint)}.role-field{height:38px;padding:0 10px;font-size:11px}.squad-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.squad-admin-card{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.squad-admin-card>header{display:grid;grid-template-columns:40px 1fr 34px;gap:10px;align-items:center}.squad-admin-card header input{width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:16px;font-weight:800}.squad-admin-card header span{display:block;margin-bottom:3px;color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:uppercase}.constraint-grid{margin:18px 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.constraint-grid>label>span{display:block;margin-bottom:5px;color:var(--text-secondary);font-size:9px;font-weight:700;text-transform:uppercase}.constraint-grid>label>div{height:40px;padding:0 9px;border:1px solid var(--border);border-radius:9px;display:flex;align-items:center;background:var(--surface-alt)}.constraint-grid input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-family:var(--font-mono);font-size:11px}.constraint-grid b{color:var(--text-secondary);font-size:9px}.save-limits{width:100%;height:38px}.roster-guide{min-height:44px;margin:-5px 0 14px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:9px;background:var(--surface);color:var(--text-secondary);font-size:10px}.roster-guide strong{margin-right:4px;color:var(--text);font-size:11px}.drag-grip{flex:0 0 auto;color:var(--placeholder);font-size:18px;line-height:1;cursor:grab}.roster-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.roster-column{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.roster-column.is-available-target{cursor:pointer}.roster-column.is-drop-target{border-color:var(--primary);box-shadow:0 0 0 3px var(--tint),0 12px 26px #06141a1f;transform:translateY(-2px)}.roster-column>header{min-height:64px;padding:11px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:9px;background:var(--surface-alt)}.roster-column h2{margin:0;font-size:13px}.roster-column header span{color:var(--text-secondary);font-size:10px}.drop-label{margin-left:auto;padding:4px 7px;border-radius:6px;background:var(--tint);color:var(--on-tint)!important;font-size:8px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.roster-list{min-height:58px}.athlete-row{min-height:58px;padding:8px 12px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:18px minmax(0,1fr) 32px;align-items:center;gap:8px;cursor:grab;transition:background-color .12s ease,opacity .12s ease}.athlete-row:last-child{border:0}.athlete-row:hover{background:var(--surface-alt)}.athlete-row:active{cursor:grabbing}.athlete-row .icon-button{opacity:0}.athlete-row:hover .icon-button,.athlete-row:focus-within .icon-button{opacity:1}.athlete-row.is-dragging{background:var(--tint);opacity:.58}.athlete-row.is-moving{opacity:.45;pointer-events:none}.unassigned-badge{width:28px;height:28px;border:1px dashed var(--placeholder);border-radius:50%;display:grid;place-items:center;color:var(--placeholder);font-size:11px;font-weight:800}.mini-empty{padding:22px;color:var(--text-secondary);font-size:11px;text-align:center}@media (prefers-reduced-motion: reduce){.roster-column,.athlete-row{transition:none}}.analytics-grid{margin-bottom:22px;display:grid;grid-template-columns:minmax(360px,480px) minmax(440px,1fr);align-items:start;gap:16px}.analytics-panel,.pb-panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.analytics-heading{min-height:46px;margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.analytics-heading h2,.profile-section-heading h2,.directory-heading h2{margin:4px 0 0;font-size:16px;letter-spacing:-.02em}.analytics-heading p{max-width:460px;margin:5px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.45}.analytics-heading>strong{color:var(--text);font-size:23px}.donut-layout{display:flex;flex-direction:column;align-items:center;gap:18px}.squad-donut{width:168px;max-width:62%;height:auto;overflow:visible}.donut-track,.donut-segment{fill:none;stroke-width:14;transform:rotate(-90deg);transform-origin:60px 60px}.donut-track{stroke:var(--surface-alt)}.donut-segment{stroke-linecap:butt;animation:donut-arrive .62s cubic-bezier(.22,.75,.28,1) both}.donut-total{fill:var(--text);font-family:var(--font-mono);font-size:18px;font-weight:700}.donut-label{fill:var(--text-secondary);font-family:var(--font-ui);font-size:5px;font-weight:700;letter-spacing:.1em}.composition-legend{width:100%;display:flex;flex-direction:column}.composition-legend>div{min-height:42px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;animation:row-arrive .35s ease-out both}.composition-legend>div:last-child{border:0}.composition-legend span{overflow:hidden;color:var(--text-secondary);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.composition-legend strong{font-size:14px}.unassigned-dot{width:10px;height:10px;margin-left:9px;border-radius:50%;background:var(--placeholder)}:root[data-theme=dark] .squad-composition .overline{color:var(--aqua-300)}:root[data-theme=dark] .squad-composition .composition-legend span,:root[data-theme=dark] .squad-composition .donut-label{color:#a8bbc2;fill:#a8bbc2}:root[data-theme=dark] .squad-composition .donut-segment{filter:brightness(1.2) saturate(.95)}.trend-chart{width:100%;height:auto;overflow:visible}.trend-chart line{stroke:var(--border);stroke-width:1}.trend-chart text{fill:var(--text-secondary);font-family:var(--font-mono);font-size:8px}.trend-chart .trend-area{fill:var(--tint);opacity:0;animation:chart-area-arrive .65s .28s ease-out forwards}.trend-chart .trend-line{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:chart-line-draw .8s .18s cubic-bezier(.45,0,.2,1) forwards}.trend-chart circle{fill:var(--surface);stroke:var(--primary);stroke-width:2}.trend-chart .x-label{font-family:var(--font-ui)}.trend-grid-line{opacity:0;animation:chart-grid-arrive .3s 80ms ease-out forwards}.trend-point{opacity:0;animation:chart-point-arrive .28s ease-out forwards}.chart-empty{min-height:96px;display:grid;place-items:center;color:var(--text-secondary);font-size:12px;text-align:center}.leaders-section{width:100%;margin-bottom:24px}.leader-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.leader-card{min-width:0;border-top:3px solid var(--primary);background:var(--surface)}.leader-card>header{min-height:57px;padding:11px 12px;border:1px solid var(--border);border-top:0;display:flex;flex-direction:column;justify-content:center}.leader-card header span{font-size:11px;font-weight:800}.leader-card header small{margin-top:4px;color:var(--text-secondary);font-size:8px;text-transform:uppercase}.leader-row{min-height:42px;padding:7px 10px;border:solid var(--border);border-width:0 1px 1px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;color:var(--text);text-decoration:none}.leader-row:hover{background:var(--surface-alt)}.leader-row>b{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--tint);color:var(--on-tint);font-size:8px}.leader-row span{overflow:hidden;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.leader-row>strong{font-size:9px}.leader-empty{min-height:78px;padding:12px;border:solid var(--border);border-width:0 1px 1px;display:grid;place-items:center;color:var(--text-secondary);font-size:9px;text-align:center}.swimmer-directory{margin-top:8px}.directory-heading{margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.directory-heading>div:first-child span{display:block;margin-top:4px;color:var(--text-secondary);font-size:10px}.directory-filters{display:flex;align-items:center;gap:8px}.directory-filters .search-field{width:250px}.directory-filters .field{height:40px}.swimmer-table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.swimmer-table-head,.swimmer-table-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) 115px 115px 25px;align-items:center;gap:14px}.swimmer-table-head{min-height:42px;padding:0 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swimmer-table-row{min-height:60px;padding:8px 16px;border-bottom:1px solid var(--border);color:var(--text);font-size:11px;text-decoration:none}.swimmer-table-row:last-child{border:0}.swimmer-table-row:hover{background:var(--surface-alt)}.swimmer-table-row>span:nth-child(2){display:flex;align-items:center;gap:7px;color:var(--text-secondary)}.swimmer-table-row>.tnum{color:var(--text-secondary)}.swimmer-table-row>strong.tnum{color:var(--primary);font-size:12px}.directory-arrow{color:var(--primary)!important;font-size:15px}.swimmer-identity{display:flex;align-items:center;gap:10px;min-width:0}.swimmer-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-hint{margin-top:-3px;color:var(--primary);font-size:9px;font-weight:700}.control-label>span small{color:var(--placeholder);font-weight:500}.profile-back{width:fit-content;margin-bottom:13px;display:block;color:var(--text-secondary);font-size:11px;font-weight:700;text-decoration:none}.profile-back:hover{color:var(--primary)}.back-link{width:fit-content;display:inline-flex;align-items:center;text-decoration:none}.swimmer-profile-summary{min-height:84px;margin-bottom:22px;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:1.6fr repeat(3,1fr);background:var(--surface)}.swimmer-profile-summary>div{padding:14px 18px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:4px}.swimmer-profile-summary>div:last-child{border:0}.swimmer-profile-summary small{color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.swimmer-profile-summary>div>strong{font-size:20px}.swimmer-profile-summary .profile-squad{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px}.profile-squad>span{display:flex;flex-direction:column;gap:3px}.profile-squad strong{font-size:13px}.profile-squad-picker{min-width:156px;margin-left:auto;flex:0 1 184px}.profile-squad-picker .squad-filter{min-width:0}.profile-squad-picker .squad-filter-trigger{height:36px;border-radius:9px;font-size:11px}.profile-squad-picker .squad-filter-option{font-size:12px}.profile-inline-message{width:fit-content;margin:-13px 0 17px auto;font-size:10px;font-weight:700}.profile-inline-message.is-success{color:var(--faster)}.profile-inline-message.is-error{color:var(--slower)}.profile-performance-grid{margin-bottom:28px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px;align-items:start}.profile-performance-grid>section:first-child{min-width:0}.profile-section-heading{min-height:58px;margin-bottom:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.profile-section-heading .field{height:40px;max-width:250px}.pb-panel{padding-bottom:8px}.pb-list>div{min-height:50px;padding:8px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.pb-list>div:last-child{border:0}.pb-list span{min-width:0}.pb-list span strong,.pb-list span small{display:block}.pb-list span strong{font-size:10px}.pb-list span small{margin-top:3px;color:var(--text-secondary);font-size:8px;text-transform:uppercase}.pb-list>div>strong{color:var(--primary);font-size:12px}.recent-times{margin-bottom:28px}.recent-time-row{min-height:55px;padding:8px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}.recent-time-row:last-child{border:0}.recent-time-row span strong,.recent-time-row span small{display:block}.recent-time-row span strong{font-size:11px}.recent-time-row span small{margin-top:4px;color:var(--text-secondary);font-size:9px}.recent-time-row>strong{color:var(--primary);font-size:13px}.swimmer-calendar{margin-bottom:28px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.swimmer-calendar .section-heading{align-items:flex-end}.swimmer-calendar .section-heading .overline{display:block;margin-bottom:5px}.swimmer-calendar .btn-secondary{min-height:36px}.swimmer-date-list{position:relative;border-top:1px solid var(--border)}.swimmer-date-list:before{content:"";position:absolute;top:0;bottom:0;left:77px;width:1px;background:var(--border)}.swimmer-date-row{position:relative;min-height:86px;display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:stretch}.swimmer-date-row+.swimmer-date-row{border-top:1px solid var(--border)}.date-rail{position:relative;padding:18px 14px 12px 0;display:flex;align-items:flex-start;justify-content:flex-end}.date-rail i{position:absolute;z-index:1;top:22px;right:-5px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.date-rail span{color:var(--text-secondary);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.03em}.date-copy{min-width:0;padding:15px 15px 13px 19px}.date-copy>strong,.date-copy>small{display:block}.date-copy>strong{margin-top:4px;font-size:12px}.date-copy>small{margin-top:3px;color:var(--text-secondary);font-size:9px}.date-copy p{max-width:680px;margin:7px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.5}.date-category{width:fit-content;padding:3px 6px;border-radius:5px;background:var(--tint);color:var(--on-tint);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.swimmer-date-row.is-holiday .date-rail i{background:var(--chart-3);box-shadow:0 0 0 1px var(--chart-3)}.swimmer-date-row.is-holiday .date-category{background:#d9a13b1f;color:#9b6712}.swimmer-date-row.is-medical .date-rail i{background:var(--slower);box-shadow:0 0 0 1px var(--slower)}.swimmer-date-row.is-medical .date-category{background:#d654541a;color:var(--slower)}.swimmer-date-row.is-other .date-rail i{background:var(--chart-4);box-shadow:0 0 0 1px var(--chart-4)}.date-actions{padding:14px 0 0 8px;display:flex;align-items:flex-start;gap:3px}.date-actions .icon-button{opacity:0}.swimmer-date-row:hover .date-actions .icon-button,.date-actions .icon-button:focus-visible{opacity:1}.calendar-empty{min-height:106px;padding:20px;display:grid;place-content:center;gap:5px;color:var(--text-secondary);text-align:center}.calendar-empty strong{color:var(--text);font-size:12px}.calendar-empty span{font-size:10px}.swimmer-notes{margin-bottom:28px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.swimmer-notes .section-heading>div .overline{display:block;margin-bottom:5px}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notes-grid .textarea{min-height:120px}.medical-note .textarea{border-color:#d654543d;background:#d654540a}.notes-actions{margin-top:14px;display:flex;align-items:center;justify-content:flex-end;gap:14px}.notes-actions span{font-size:10px;font-weight:700}.notes-actions .is-success{color:var(--faster)}.notes-actions .is-error{color:var(--slower)}:root[data-theme=dark] .drill-row.is-open,:root[data-theme=dark] .drill-row-main:hover{background:#102b35}:root[data-theme=dark] .drill-detail p,:root[data-theme=dark] .drill-detail li{color:#bdd0d6}:root[data-theme=dark] .skill-tag,:root[data-theme=dark] .status-tag{background:#18333d;color:#a9bec6}:root[data-theme=dark] .segmented-control button.is-active{background:var(--aqua-300);color:var(--ink-navy)}.drill-list{width:100%;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.drill-list-head,.drill-row-main{display:grid;grid-template-columns:minmax(240px,2.2fr) 1fr 1.2fr 64px;gap:18px;align-items:center}.drill-list-head{min-height:42px;padding:0 20px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.drill-row{border-bottom:1px solid var(--border)}.drill-row:last-child{border-bottom:0}.drill-row.is-open{background:#f8fbfb;box-shadow:inset 3px 0 0 var(--aqua-600)}.drill-row-main{width:100%;min-height:66px;padding:0 20px;border:0;background:transparent;color:inherit;text-align:left}.drill-row-main:hover{background:#f8fbfb}.drill-name{display:flex;align-items:center;gap:12px;min-width:0}.difficulty-pip{width:28px;height:28px;border:1px solid var(--border);border-radius:8px;display:grid;place-items:center;flex:0 0 auto;background:var(--surface)}.difficulty-pip span{font-size:11px;font-weight:700}.drill-name strong{display:block;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.drill-mobile-meta{display:none;margin-top:3px;color:var(--text-secondary);font-size:11px}.drill-cell{color:var(--text-secondary);font-size:13px;font-weight:500}.skill-tag{width:fit-content;padding:5px 10px;border-radius:999px;background:var(--mist);color:var(--slate);font-size:11px;font-weight:700}.row-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--text-secondary);font-size:11px}.row-action svg{width:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform .14s ease}.drill-row.is-open .row-action svg{transform:rotate(180deg)}.drill-detail{padding:0 20px 20px 60px;display:grid;grid-template-columns:1fr 1.35fr;gap:26px}.drill-detail section{padding-top:16px;border-top:1px solid var(--border)}.drill-detail h3{margin:0 0 8px;color:var(--text-secondary);font-size:10px;letter-spacing:.1em;text-transform:capitalize}.drill-detail p,.drill-detail li{margin:0;color:#33454f;font-size:13px;line-height:1.55}.drill-detail ol{margin:0;padding-left:18px}.level-list{margin-top:13px;display:flex;gap:6px;flex-wrap:wrap}.level-tag{padding:4px 9px;border:1px solid #b9e2e6;border-radius:6px;color:var(--aqua-deep);font-size:10px;font-weight:700}.drill-form-modal{width:min(100%,540px)}.drill-form-modal .modal-header{padding:24px 28px 18px;border-bottom:0;align-items:center}.drill-form-modal .modal-header h2{font-size:20px;letter-spacing:0}.drill-form-modal .modal-header .icon-button{width:32px;height:32px;border:0;background:transparent;color:var(--placeholder)}.drill-form-modal .modal-header .icon-button:hover{background:var(--surface-alt);color:var(--text)}.drill-editor{padding:0 28px 28px;gap:18px}.drill-editor .field{height:48px;border-radius:10px;background:var(--surface-alt);font-weight:600}.drill-editor textarea{font-family:inherit}.drill-editor .textarea.field{height:94px;font-weight:500}.drill-editor .drill-notes{height:112px}.drill-editor .control-label{gap:8px}.drill-editor .control-label>span,.drill-level-picker legend{color:var(--text-secondary);font-size:12px;font-weight:700}.drill-editor .control-label>span small{margin-left:6px;color:var(--placeholder);font-size:10px;font-weight:600}.drill-editor-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.75fr);gap:14px}.drill-difficulty>span{display:flex;justify-content:space-between}.drill-difficulty>span strong{color:var(--primary);font-size:11px}.drill-difficulty .range-field{width:100%;height:48px;margin:0;accent-color:var(--aqua-600)}.drill-level-picker{margin:0;padding:0;border:0}.drill-level-picker legend{margin-bottom:8px}.drill-level-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.drill-level-picker label{position:relative;min-height:47px;padding:0 13px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:9px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.drill-level-picker label:hover{border-color:#afc5ca;color:var(--text)}.drill-level-picker label.is-active{border-color:var(--aqua-600);background:var(--aqua-tint);color:var(--ink-navy);box-shadow:inset 0 0 0 1px var(--aqua-600)}.drill-level-picker input{position:absolute;opacity:0;pointer-events:none}.drill-level-picker strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.level-mark{width:17px;height:17px;border:2px solid var(--aqua-600);border-radius:50%;background:var(--surface)}.level-mark.is-bronze{border-color:#b87838;border-radius:5px}.level-mark.is-silver{width:14px;height:14px;margin-left:1px;border-color:#88a2ad;border-radius:3px;transform:rotate(45deg)}.level-mark.is-gold{border-color:var(--pb-gold);border-radius:5px 5px 8px 8px}.level-mark.is-custom{border-color:var(--chart-4);border-radius:5px}.level-check{color:var(--aqua-deep);font-size:13px;font-weight:800;opacity:0}.drill-level-picker label.is-active .level-check{opacity:1}.drill-editor-actions{position:sticky;bottom:-28px;z-index:2;margin:2px -28px -28px;padding:17px 28px 22px;border-top:1px solid var(--border);background:var(--surface)}.drill-editor-actions .btn-secondary{border-color:transparent}.drill-editor-actions .btn-primary{min-width:190px}:root[data-theme=dark] .drill-level-picker label.is-active{background:#2bd1de1f;color:var(--white)}:root[data-theme=dark] .level-mark{background:var(--card-dark)}.invite-form{padding:18px;display:grid;grid-template-columns:minmax(260px,1fr) 150px auto;gap:12px;align-items:end}.account-create-form{grid-template-columns:minmax(190px,1fr) minmax(230px,1.1fr) minmax(180px,.8fr) 140px auto}.data-list{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.data-row{min-height:60px;padding:10px 16px;border-bottom:1px solid var(--mist);display:flex;align-items:center;justify-content:space-between;gap:16px}.data-row:last-child{border-bottom:0}.data-primary{display:flex;align-items:center;gap:12px;min-width:0}.person-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--ink-navy);color:var(--aqua-300);font-size:10px;font-weight:800}.data-title{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.data-subtitle{margin-top:3px;color:var(--text-secondary);font-size:11px;text-transform:capitalize}.status-tag{padding:5px 9px;border-radius:6px;background:var(--mist);color:var(--slate);font-size:10px;font-weight:700;text-transform:uppercase}.status-tag.is-accepted{background:#e3f3eb;color:#227950}.revoke-button{padding:6px 9px;border:0;background:transparent;color:var(--slower);font-size:11px;font-weight:700}.task-summary{min-height:82px;margin-bottom:16px;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--surface)}.task-summary>div{padding:14px 18px;border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:5px}.task-summary>div:last-child{border-right:0}.task-summary span{color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.task-summary strong{font-size:23px;line-height:1}.task-summary strong.is-danger{color:var(--slower)}.task-toolbar{margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-toolbar .search-field{margin-right:auto}.mine-toggle{min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer}.mine-toggle:hover{border-color:#b9cbd0;color:var(--text)}.mine-toggle.is-active{border-color:transparent;background:var(--tint);color:var(--on-tint)}.mine-toggle input{width:14px;height:14px;margin:0;accent-color:var(--primary)}.task-list{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}.task-row{position:relative;min-height:78px;padding:12px 14px 12px 17px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:28px minmax(240px,1fr) minmax(155px,210px) 34px;align-items:center;gap:13px}.task-row:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.task-row:has(.priority-tag.is-high):before{background:var(--pb-gold)}.task-row:has(.priority-tag.is-urgent):before{background:var(--slower)}.task-row:last-child{border-bottom:0}.task-row:hover{background:var(--surface-alt)}.task-check{width:25px;height:25px;padding:0;border:2px solid #b7c7cc;border-radius:8px;display:grid;place-items:center;background:var(--surface);color:#fff;transition:border-color .2s ease,background .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.task-check:active{transform:scale(.88)}.task-check:hover{border-color:var(--primary);background:var(--tint)}.task-check span{font-size:14px;font-weight:800;line-height:1}.task-copy{min-width:0}.task-copy>button{max-width:100%;padding:0;border:0;display:block;background:transparent;color:var(--text);text-align:left}.task-copy>button>strong{display:block;overflow:hidden;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap;transition:color .26s ease}.task-copy>button>span{margin-top:4px;display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.task-meta{margin-top:8px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--text-secondary);font-size:10px;font-weight:600}.priority-tag{padding:4px 7px;border-radius:5px;background:var(--surface-alt);color:var(--text-secondary);font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.priority-tag.is-high{background:#d9a13b21;color:#9a6914}.priority-tag.is-urgent{background:#d654541f;color:var(--slower)}.task-squad{display:inline-flex;align-items:center;gap:5px}.task-meta .is-overdue{color:var(--slower);font-weight:800}.task-owner{min-width:0;display:flex;align-items:center;gap:9px}.task-owner>span{min-width:0;display:flex;flex-direction:column;gap:2px}.task-owner small{color:var(--text-secondary);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.task-owner strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.task-delete{opacity:0;transition:opacity .12s ease}.task-row:hover .task-delete,.task-delete:focus-visible{opacity:1}.task-row.is-completed:before{background:var(--faster)}.task-row.is-completed .task-check{border-color:var(--faster);background:var(--faster)}.task-row.is-completed .task-copy>button>strong{color:var(--text-secondary);text-decoration:line-through}.task-row.is-completed .task-copy>button>span,.task-row.is-completed .task-meta,.task-row.is-completed .task-owner{opacity:.62}.task-completed-at{color:var(--faster);font-weight:800}.task-row.is-completed .task-completed-at{opacity:1}.task-row.is-celebrating{animation:task-complete-flash .7s ease}.task-row.is-celebrating .task-check{animation:task-check-pop .52s cubic-bezier(.34,1.56,.64,1)}.task-row.is-celebrating .task-check span{animation:task-check-draw .34s cubic-bezier(.22,.75,.28,1) 70ms both}.task-completed-section{margin-top:20px}.task-section-label{margin:0 2px 10px;display:flex;align-items:baseline;justify-content:space-between}.task-section-label span{color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.task-section-label small{color:var(--text-secondary);font-size:10px;font-weight:700}.task-completed-section .task-list{background:var(--surface-alt)}.task-completed-section .task-row{min-height:60px}:root[data-theme=dark] .priority-tag.is-high{color:#e4b85e}.signin-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) 520px;overflow:hidden;background:var(--ink-navy)}.signin-brand-panel{position:relative;min-height:100vh;padding:58px clamp(40px,7vw,96px);display:flex;flex-direction:column;overflow:hidden}.signin-brand-panel:before{content:"";position:absolute;top:-100px;right:-100px;bottom:-100px;left:-100px;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg width='320' height='200' viewBox='0 0 320 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-20 100 Q20 75 60 100 T140 100 T220 100 T300 100 T380 100' fill='none' stroke='%2312303c' stroke-width='2'/%3E%3C/svg%3E");background-position:0 0;background-size:320px 200px;transform:rotate(-3deg) scale(1.08);animation:lane-drift 28s linear infinite}.signin-brand-panel:after{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(ellipse at 18% 32%,rgb(43 209 222 / 9%),transparent 30%),radial-gradient(ellipse at 72% 78%,rgb(14 154 167 / 7%),transparent 35%);filter:blur(12px);transform:translate3d(-3%,-2%,0) scale(1.08);animation:pool-light 18s ease-in-out infinite alternate}.signin-brand-panel>*{position:relative;z-index:1}.signin-thesis{width:min(100%,500px);margin-top:auto}.signin-thesis h1{margin:0;color:#fff;font-size:clamp(42px,5vw,68px);font-weight:800;letter-spacing:-.055em;line-height:.98}.signin-thesis p{width:min(100%,410px);margin:22px 0 0;color:#91a8b2;font-size:16px;line-height:1.6}.signin-form-side{padding:48px;display:grid;place-items:center;background:var(--ink-navy)}.signin-panel{width:100%;max-width:420px;padding:38px;border-radius:18px;display:flex;flex-direction:column;gap:25px;background:#fff;box-shadow:0 30px 80px #00000052}.signin-form{display:flex;flex-direction:column;gap:16px}.signin-heading h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em}.signin-heading p{margin:6px 0 0;color:var(--slate);font-size:13px;line-height:1.5}.signin-panel .google-button{height:48px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:var(--ink-navy);font-size:14px;font-weight:700}.form-divider{display:flex;align-items:center;gap:12px;color:var(--placeholder);font-size:11px;font-weight:700}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--line)}.form-message{padding:11px 13px;border-radius:9px;font-size:12px;line-height:1.45}.form-message.is-error{background:#fbeaea;color:var(--slower)}.form-message.is-notice{background:var(--aqua-tint);color:var(--aqua-deep)}.form-message.is-success{background:#e3f3eb;color:#227950}.text-button{padding:4px;border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:700}.back-button{width:fit-content;padding:0;border:0;display:flex;align-items:center;gap:6px;background:transparent;color:var(--ink-navy);font-size:12px;font-weight:700}@keyframes lane-drift{0%{background-position:0 0}to{background-position:320px 200px}}@keyframes pool-light{0%{opacity:.65;transform:translate3d(-3%,-2%,0) scale(1.08)}55%{opacity:1}to{opacity:.72;transform:translate3d(4%,3%,0) scale(1.16)}}@keyframes content-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes list-item-arrive{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes task-complete-flash{0%{background:transparent}28%{background:color-mix(in srgb,var(--faster) 16%,transparent)}to{background:transparent}}@keyframes task-check-pop{0%{transform:scale(1)}38%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes task-check-draw{0%{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes row-arrive{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes donut-arrive{0%{opacity:0;transform:rotate(-90deg) scale(.94)}to{opacity:1;transform:rotate(-90deg) scale(1)}}@keyframes chart-grid-arrive{0%{opacity:0}to{opacity:1}}@keyframes chart-area-arrive{0%{opacity:0}to{opacity:.72}}@keyframes chart-line-draw{to{stroke-dashoffset:0}}@keyframes chart-point-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dashboard-page{width:100%;margin:0 auto}.dashboard-hero{position:relative;min-height:224px;margin:-28px calc(clamp(22px,2.4vw,42px)*-1) 24px;padding:42px clamp(22px,4vw,64px) 34px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.72fr);align-items:end;gap:44px;border-bottom:3px solid var(--hero-border);background:var(--hero-bg);color:var(--hero-fg)}.dashboard-hero-copy,.dashboard-metrics{position:relative;z-index:1}.dashboard-date{color:var(--hero-accent);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.dashboard-hero h1{max-width:720px;margin:8px 0 0;font-size:clamp(31px,3.1vw,46px);font-weight:800;letter-spacing:-.045em;line-height:1}.dashboard-hero p{max-width:630px;margin:13px 0 0;color:var(--hero-muted);font-size:13px;line-height:1.55}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--hero-hairline);border-radius:14px;background:var(--hero-panel);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dashboard-metrics>div{min-height:82px;padding:14px 17px;border-right:1px solid var(--hero-hairline);display:flex;flex-direction:column;justify-content:center;gap:5px}.dashboard-metrics>div:last-child{border:0}.dashboard-metrics strong{color:var(--hero-fg);font-size:24px;line-height:1}.dashboard-metrics span{color:var(--hero-muted);font-size:9px;font-weight:700;line-height:1.3}.dashboard-message{margin-bottom:16px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);align-items:start;gap:18px}.dashboard-stage,.dashboard-todo{overflow:hidden}.dashboard-panel-heading{min-height:68px;padding:14px 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--surface-alt)}.dashboard-panel-heading h2,.dashboard-section-heading h2{margin:4px 0 0;font-size:18px;letter-spacing:-.025em}.dashboard-panel-heading a{color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.045em;text-decoration:none;text-transform:uppercase}.dashboard-panel-heading a:hover{color:var(--aqua-deep)}.dashboard-stage-row{min-height:82px;padding:13px 16px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;color:var(--text);text-decoration:none}.dashboard-stage-row:last-child{border-bottom:0}.dashboard-stage-row:hover{background:var(--surface-alt)}.dashboard-stage-copy{min-width:0}.dashboard-stage-copy>span{min-width:0;display:flex;align-items:baseline;gap:9px}.dashboard-stage-copy strong,.dashboard-stage-copy b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dashboard-stage-copy strong{flex:0 1 auto}.dashboard-stage-copy b{flex:1}.dashboard-stage-copy small{margin-top:4px;display:block;color:var(--text-secondary);font-size:9px;font-weight:600}.dashboard-stage-copy>i{height:3px;margin-top:8px;overflow:hidden;display:block;border-radius:999px;background:var(--border)}.dashboard-stage-copy>i>i{height:100%;display:block;border-radius:inherit}.dashboard-difficulty{min-width:34px;padding:6px;border-radius:8px;font-size:9px;font-weight:700;text-align:center}.dashboard-actions{display:flex;flex-direction:column;gap:9px}.dashboard-section-heading{min-height:59px;padding:0 3px;display:flex;align-items:center}.dashboard-action{min-height:84px;padding:14px;border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:38px minmax(0,1fr) 15px;align-items:center;gap:12px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .14s ease,transform .14s ease}.dashboard-action:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transform:translate(2px)}.dashboard-action svg{width:38px;height:38px;padding:9px;border-radius:11px;background:var(--tint);fill:none;stroke:var(--on-tint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dashboard-action span{min-width:0}.dashboard-action strong,.dashboard-action small{display:block}.dashboard-action strong{font-size:12px}.dashboard-action small{margin-top:4px;color:var(--text-secondary);font-size:9px;line-height:1.35}.dashboard-action>b{color:var(--primary);font-size:14px}.dashboard-todo{margin-top:18px}.dashboard-todo-row{min-height:74px;padding:12px 16px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px}.dashboard-task-check{width:27px;height:27px;padding:0;border:1.5px solid var(--border);border-radius:9px;display:grid;place-items:center;background:var(--surface)}.dashboard-task-check:hover{border-color:var(--primary);background:var(--tint)}.dashboard-task-check i{width:9px;height:9px;border-radius:3px}.dashboard-todo-row>a{min-width:0;color:var(--text);text-decoration:none}.dashboard-todo-row>a>strong{overflow:hidden;display:block;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-todo-row>a>span{margin-top:6px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.dashboard-todo-row b{font-size:8px;letter-spacing:.05em;text-transform:uppercase}.dashboard-todo-row small{color:var(--text-secondary);font-size:9px;font-weight:650}.dashboard-todo-row small:before{content:"•";margin-right:9px;color:var(--border)}.dashboard-todo-row small.is-overdue{color:var(--slower)}.dashboard-list-footer{min-height:48px;display:flex;align-items:center;justify-content:center;background:var(--surface-alt);color:var(--primary);font-size:11px;font-weight:750;text-decoration:none}.dashboard-list-footer span{margin-left:6px}.dashboard-empty{min-height:104px;padding:24px;display:grid;place-content:center;gap:4px;color:var(--text-secondary);font-size:11px;text-align:center}.dashboard-empty strong{color:var(--text);font-size:13px}@media (min-width: 1400px){.squad-admin-grid,.roster-board{grid-template-columns:repeat(3,minmax(0,1fr))}.invite-form{grid-template-columns:minmax(360px,1fr) 190px auto}.account-create-form{grid-template-columns:minmax(220px,1fr) minmax(260px,1.1fr) minmax(200px,.8fr) 160px auto}.drill-list-head,.drill-row-main{grid-template-columns:minmax(360px,2.6fr) minmax(160px,.8fr) minmax(200px,1fr) 72px}.session-list-head,.session-row-main{grid-template-columns:120px minmax(400px,1fr) 140px 90px 72px}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{position:sticky;z-index:10;width:100%;height:auto;padding:12px 16px 0;gap:10px}.sidebar-brand{padding:0;display:flex;align-items:center;justify-content:space-between}.account-copy,.account-avatar{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{min-width:max-content;min-height:42px;border-radius:9px 9px 0 0}.sidebar-account{position:absolute;right:15px;top:11px;width:32px;padding:0;border:0;display:block}.sidebar-account .signout-button{display:block}.theme-button{position:absolute;right:55px;top:10px;width:34px;padding:0;justify-content:center}.theme-button span{display:none}.app-main{padding:26px 20px 44px}.dashboard-hero{margin:-26px -20px 22px;padding-inline:28px;grid-template-columns:1fr;gap:25px}.page-header{min-height:0;margin:-26px -20px 22px;padding:28px 20px 22px}.dashboard-grid{grid-template-columns:1fr}.dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr)}.dashboard-section-heading{grid-column:1 / -1}.dashboard-action{grid-template-columns:38px minmax(0,1fr)}.dashboard-action>b{display:none}.signin-shell{grid-template-columns:1fr}.signin-brand-panel{min-height:270px;padding:34px}.signin-thesis h1{font-size:40px}.signin-thesis p{display:none}.signin-form-side{padding:32px 20px 48px}.session-list-head,.session-row-main{grid-template-columns:92px minmax(220px,1fr) 80px 55px 32px;gap:10px}.session-detail{padding-left:18px}.season-toolbar{align-items:flex-end;flex-wrap:wrap}.season-toolbar .toolbar-actions{width:100%;margin-left:0}.coach-access-row{grid-template-columns:1fr 110px}.assignment-list{grid-column:1 / -1;grid-row:2}.analytics-grid{grid-template-columns:1fr}.leader-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-performance-grid{grid-template-columns:1fr}.date-actions .icon-button{opacity:1}.swimmer-table-head,.swimmer-table-row{grid-template-columns:minmax(190px,1.5fr) minmax(130px,1fr) 90px 24px}.swimmer-table-head>:nth-child(4),.swimmer-table-row>:nth-child(4){display:none}.task-row{grid-template-columns:28px minmax(180px,1fr) minmax(135px,180px) 34px}.program-topbar{min-height:0;margin:-26px -20px 22px;padding:26px 20px 22px;grid-template-columns:1fr auto;align-items:center;row-gap:16px}.program-heading{grid-column:1 / -1}.program-meta{grid-template-columns:1fr 170px 190px}.meta-note{display:none}.program-workbench{grid-template-columns:300px minmax(0,1fr)}.program-library{top:20px}.set-main{grid-template-columns:1fr}.effort-control{grid-column:1}}@media (max-width: 650px){.confirm-backdrop{padding:0;align-items:end}.confirm-panel{width:100%;border-width:1px 0 0;border-radius:20px 20px 0 0}.confirm-content{padding:24px 20px 20px;grid-template-columns:40px minmax(0,1fr);gap:14px}.confirm-mark{width:40px;height:40px;border-radius:12px}.confirm-actions{padding:15px 20px max(20px,env(safe-area-inset-bottom))}.confirm-actions>button{flex:1;padding-inline:14px}.page-header{align-items:flex-start}.page-header h1{font-size:28px}.dashboard-hero{min-height:0;padding:30px 20px 24px}.dashboard-hero h1{font-size:32px}.dashboard-hero p{display:none}.dashboard-metrics>div{min-height:68px;padding:11px}.dashboard-metrics strong{font-size:19px}.dashboard-metrics span{font-size:8px}.dashboard-actions{grid-template-columns:1fr}.dashboard-section-heading{min-height:52px}.dashboard-action{min-height:76px}.dashboard-stage-row{padding-inline:13px}.drill-list-head{display:none}.drill-row-main{min-height:72px;grid-template-columns:minmax(0,1fr) 28px;gap:12px;padding:0 14px}.drill-row-main>.drill-cell{display:none}.drill-mobile-meta{display:block}.row-action span{display:none}.drill-detail{padding:0 15px 18px 54px;grid-template-columns:1fr;gap:14px}.invite-form{grid-template-columns:1fr}.invite-form .btn-primary{width:100%}.header-actions{flex-direction:column-reverse;align-items:flex-end}.summary-strip{grid-template-columns:1fr}.summary-strip>div{min-height:62px;border-right:0;border-bottom:1px solid var(--border)}.summary-strip>div:last-child{border-bottom:0}.history-filters .search-field,.history-filters .compact-field,.history-filters .squad-filter{width:100%}.session-list-head{display:none}.session-row-main{grid-template-columns:76px minmax(0,1fr) 24px}.session-row-main>.session-metric{display:none}.session-detail{padding:0 14px 18px;grid-template-columns:1fr;gap:13px}.form-grid,.form-grid.thirds{grid-template-columns:1fr}.modal-backdrop{padding:0;align-items:end}.modal-panel{max-height:92vh;border-radius:18px 18px 0 0}.modal-header,.modal-form,.drill-form-modal .modal-header,.drill-editor{padding-inline:20px}.drill-editor-pair{grid-template-columns:1fr}.drill-editor-actions{margin-inline:-20px;padding-inline:20px}.drill-editor-actions .btn-primary{min-width:0;flex:1}.shape-picker{grid-template-columns:repeat(2,1fr)}.season-toolbar .control-label{width:100%}.season-dates{height:auto}.toolbar-actions{flex-wrap:wrap}.squad-admin-grid,.roster-board{grid-template-columns:1fr}.coach-access-row{grid-template-columns:minmax(0,1fr) 100px}.page-tabs{gap:15px;overflow-x:auto}.page-tabs button{min-width:max-content}.athlete-row .icon-button{opacity:1}.leader-grid{grid-template-columns:1fr 1fr}.directory-heading,.directory-filters{align-items:stretch;flex-direction:column}.directory-filters .search-field,.directory-filters .compact-field,.directory-filters .squad-filter{width:100%}.swimmer-table-head{display:none}.swimmer-table-row{grid-template-columns:minmax(0,1fr) 24px}.swimmer-table-row>:nth-child(2),.swimmer-table-row>:nth-child(3),.swimmer-table-row>:nth-child(4){display:none}.swimmer-profile-summary{grid-template-columns:1fr 1fr}.swimmer-profile-summary>div{border-bottom:1px solid var(--border)}.swimmer-profile-summary>div:nth-child(2){border-right:0}.swimmer-profile-summary>div:nth-child(3),.swimmer-profile-summary>div:nth-child(4){border-bottom:0}.swimmer-profile-summary .profile-squad{padding-right:12px}.profile-section-heading{align-items:stretch;flex-direction:column}.profile-section-heading .field{width:100%;max-width:none}.swimmer-calendar{padding:15px}.swimmer-calendar .section-heading{align-items:stretch;flex-direction:column}.swimmer-calendar .section-heading .btn-secondary{width:100%}.swimmer-date-list:before{left:60px}.swimmer-date-row{grid-template-columns:61px minmax(0,1fr) auto}.date-rail{padding-right:10px}.date-copy{padding-left:15px}.date-actions{flex-direction:column}.notes-grid{grid-template-columns:1fr}.signin-panel{padding:28px 24px}.signin-brand-panel{min-height:230px}.task-summary{grid-template-columns:1fr 1fr}.task-summary>div:nth-child(2){border-right:0}.task-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.task-toolbar{align-items:stretch}.task-toolbar .search-field{width:100%;margin-right:0}.task-toolbar .segmented-control,.task-toolbar .segmented-control button{flex:1}.task-row{grid-template-columns:28px minmax(0,1fr) 34px;align-items:start}.task-owner{grid-column:2}.task-delete{grid-column:3;grid-row:1;opacity:1}.program-topbar{margin-inline:-20px;padding-inline:20px;gap:12px}.distance-board>span{display:none}.distance-board strong{font-size:26px}.program-topbar .btn-primary{height:42px;padding-inline:15px}.program-meta{grid-template-columns:1fr 1fr}.program-meta label:first-child{grid-column:1 / -1}.program-workbench{grid-template-columns:1fr}.program-library{position:static;max-height:360px}.program-lane{min-height:480px;padding:14px}.program-set{grid-template-columns:34px minmax(0,1fr)}.set-main{padding:12px 40px 12px 12px}.set-prescription{grid-template-columns:64px 10px 92px 1fr}.effort-control{grid-template-columns:60px 1fr}.effort-labels span:nth-child(2n){display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.trend-chart .trend-line{stroke-dashoffset:0}.trend-chart .trend-area,.trend-grid-line,.trend-point{opacity:1}}
