@font-face{font-family:Inter Display;src:url(/fonts/InterDisplay-Regular.otf) format("opentype");font-weight:400}@font-face{font-family:Inter Display;src:url(/fonts/InterDisplay-SemiBold.otf) format("opentype");font-weight:600}@font-face{font-family:Unbounded;src:url(/fonts/Unbounded-Regular.ttf) format("truetype");font-weight:400}@font-face{font-family:Unbounded;src:url(/fonts/Unbounded-SemiBold.ttf) format("truetype");font-weight:600}:root{color:#f5f7f5;background:#1a1a1a;font-family:Inter Display,system-ui,sans-serif;font-synthesis:none;--trainflow-yellow: #f9c541;--trainflow-mint: #abd4bf;--trainflow-cyan: #29b8c8;--trainflow-black: #1a1a1a;--trainflow-red: #e05345;--bg: var(--trainflow-black);--bg-soft: #151916;--sidebar: #0d100e;--surface: #1a1f1b;--surface-raised: #202721;--surface-interactive: #232b25;--border: rgba(216, 234, 223, .11);--border-strong: rgba(216, 234, 223, .2);--text: #f5f7f5;--text-secondary: #a4ada7;--text-tertiary: #6e7871;--mint: var(--trainflow-mint);--mint-strong: var(--trainflow-mint);--mint-soft: rgba(171, 212, 191, .1);--yellow: var(--trainflow-yellow);--yellow-soft: rgba(249, 197, 65, .11);--cyan: var(--trainflow-cyan);--cyan-soft: rgba(41, 184, 200, .1);--danger: var(--trainflow-red);--danger-soft: rgba(224, 83, 69, .09);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--space-1: 6px;--space-2: 10px;--space-3: 14px;--space-4: 18px;--space-5: 24px;--space-6: 32px;--shadow-card: 0 16px 42px rgba(0, 0, 0, .16);--shadow-raised: 0 20px 55px rgba(0, 0, 0, .24)}.brandSplash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#111512}.brandSplashGlow{position:absolute;width:min(72vw,840px);aspect-ratio:1.6;border-radius:50%;background:radial-gradient(circle at 28% 45%,rgba(171,212,191,.24),transparent 42%),radial-gradient(circle at 68% 35%,rgba(249,197,65,.16),transparent 38%),radial-gradient(circle at 58% 72%,rgba(41,184,200,.17),transparent 40%);filter:blur(46px);animation:splashGlow 2.4s ease-in-out infinite alternate}.brandSplashContent{position:relative;display:grid;justify-items:center;gap:12px}.brandSplashContent strong{font:600 36px Unbounded,system-ui;letter-spacing:-.05em}.brandSplashContent span{color:var(--mint);font-size:16px}.brandSplashContent i{width:54px;height:3px;margin-top:12px;border-radius:9px;background:linear-gradient(90deg,var(--mint),var(--yellow),var(--cyan));animation:splashLine 1.15s ease-in-out infinite}@keyframes splashGlow{to{transform:translate3d(2%,-2%,0) scale(1.04);opacity:.82}}@keyframes splashLine{50%{transform:scaleX(.45);opacity:.62}}@media(prefers-reduced-motion:reduce){.brandSplashGlow,.brandSplashContent i{animation:none}}.clientHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.clientHero h2{margin:0 0 10px}.clientHeroActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.clientSections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.clientSections>section{min-width:0;padding:18px;line-height:1.45}.clientSections h2{margin:0 0 12px;font-size:17px}.clientSections p{margin:0;line-height:1.45}.clientSections .clientDetails{gap:12px}.clientSections .clientDetails>div{padding:12px 14px}.clientSections .actions{gap:10px;margin-top:2px}.clientSections textarea{min-height:132px;padding:14px 15px;line-height:1.45;resize:vertical}.clientHero .chipRow{gap:10px}.clientSections .noteSection,.clientSections .accessSection{grid-column:1 / -1}.historyRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.sessionDetails{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.sessionDetails summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:12px;cursor:pointer}.sessionDetails dl{margin-top:14px}.progressionRow{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary)}.sessionDetails+.sessionDetails,.progressionRow+.progressionRow{margin-top:12px}.noteActions{display:flex;align-items:center;gap:14px;margin-top:12px;color:var(--text-secondary)}.dialogBackdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialogCard{width:min(520px,100%);padding:24px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-raised)}.dialogCard h2{margin-top:0}.dialogCard .actions{justify-content:flex-end;margin-top:20px}.builderHeader{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(150px,2fr) minmax(140px,2fr) 110px minmax(170px,1.2fr) auto auto;align-items:end;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:#1a1f1bf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.builderHeader label{display:grid;gap:6px;color:var(--text-secondary);font-size:12px}.saveIndicator{align-self:center;color:var(--text-secondary);white-space:nowrap}.saveIndicator.error,.rowError{color:#ff8f83}.builderWorkspace{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start;gap:18px}.exerciseCatalog{position:sticky;top:96px;display:grid;gap:10px;max-height:calc(100vh - 135px);padding:16px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.exerciseCatalog h2{margin:0;font-size:17px}.catalogList{display:grid;gap:8px}.catalogList article{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-interactive);cursor:grab}.catalogList article span{color:var(--text-secondary);font-size:12px}.catalogCardHeader{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.dragHandle{min-width:36px;min-height:36px;padding:0;border-color:var(--border-strong);background:transparent;color:var(--text-secondary);cursor:grab;touch-action:none}.dragHandle:hover{background:var(--surface-raised);color:var(--mint);box-shadow:none}.dragging{opacity:.45}.trainingDays{display:grid;gap:16px;min-width:0}.trainingDay{padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.trainingDay.dropActive{border-color:var(--mint);background:var(--mint-soft);box-shadow:0 0 0 3px #abd4bf1f}.trainingDay>header{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:14px}.trainingDay>header input{max-width:360px;font:600 16px Unbounded}.exerciseBlock{margin:12px 0;padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-soft)}.exerciseToolbar{display:grid;grid-template-columns:auto minmax(0,1.5fr) minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.exerciseToolbar select,.setRow select,.setRow input{min-width:0;width:100%}.setHeader,.setRow{display:grid;grid-template-columns:30px 90px repeat(5,minmax(58px,1fr)) 48px;align-items:center;gap:7px}.setHeader{padding:6px 0;color:var(--text-tertiary);font-size:11px;text-transform:uppercase}.setRow{margin:6px 0}.setRow input,.setRow select{padding:9px}.compactActions{position:relative;min-width:0}.compactActions>summary{min-width:44px;min-height:40px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:10px;color:var(--text-secondary);cursor:pointer;list-style:none}.compactActions>summary::-webkit-details-marker{display:none}.compactActions>div{position:absolute;z-index:30;right:0;top:calc(100% + 6px);min-width:180px;display:grid;gap:6px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--shadow-raised)}.compactActions button{width:100%;min-height:38px;font-size:12px}.addSet{margin:8px 0}.dropHint{margin:12px 0 0;padding:12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-tertiary);text-align:center}.programGroup{display:grid;gap:10px}.programGroup h2{margin:8px 0 0;font-size:18px}.programListCard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 18px;padding:17px}.programListCard>.programListFacts{grid-column:2 / -1}.programListCard>.programCardActions{grid-column:1 / -1}.programListCard:not(:has(.draftSelect))>.listCardIdentity{grid-column:1 / 3}.draftSelect input{width:20px;height:20px}.programListFacts{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:8px;margin:0}.programListFacts div{min-width:0;padding:8px 10px;border-radius:8px;background:#00000021}.programListFacts dt,.programDetailFacts dt,.snapshotFacts dt,.snapshotExtras dt,.actualSetRow dt{margin-bottom:4px;color:var(--text-tertiary);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.programListFacts dd,.programDetailFacts dd,.snapshotFacts dd,.snapshotExtras dd,.actualSetRow dd{min-width:0;margin:0;overflow-wrap:anywhere}.programCardActions{min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.programTabs,.historyFilters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.programTabs button.active,.historyFilters button.active{background:var(--yellow);color:#10120f}.programGroupToolbar,.templateToolbar,.templateAdminCreate{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px}.templateToolbar label,.templateAdminCreate label{min-width:min(100%,320px);display:grid;gap:6px;color:var(--text-secondary)}.clientProgramGroups{display:grid;gap:18px}.clientProgramGroups h3{margin:0 0 10px}.clientSections .clientProgramSection,.clientSections .clientHistorySection{grid-column:1 / -1}.clientProgramList{display:grid;gap:12px}.clientProgramList>article{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0000001a}.clientProgramList>article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.clientProgramList .textLink{justify-self:end}.inlineQueryError{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--danger)}.programDetailHero,.programDetailSection{min-width:0;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.programLoading{display:grid;gap:14px}.programDetailSection{margin-top:18px}.programDetailSection>h2{margin:0 0 16px;font-size:20px}.programDetailFacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:16px 0 0}.programDetailFacts>div,.snapshotFacts>div{min-width:0;padding:11px 12px;border:1px solid rgba(216,234,223,.07);border-radius:var(--radius-sm);background:#0000001f}.technicalID{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.readonlyDays,.readonlyExercises,.programHistoryList,.actualSetList{display:grid;gap:14px;min-width:0}.readonlyDay{min-width:0;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-soft)}.readonlyDay>header,.readonlyExerciseHeading,.programHistoryItem summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.readonlyDay>header{margin-bottom:14px}.readonlyDay header span,.readonlyExerciseHeading span,.actualSetRow>div>span,.programHistoryItem summary span{color:var(--text-tertiary);font-size:12px}.readonlyDay h3,.readonlyExercise h4{margin:4px 0 0}.readonlyExercise{min-width:0;padding:15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.readonlyExerciseHeading>span{max-width:44%;color:var(--text-secondary);text-align:right;overflow-wrap:anywhere}.snapshotFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.coachSnapshotNote{margin:0 0 13px;padding:10px 12px;border-left:2px solid var(--cyan);background:var(--cyan-soft);color:var(--text-secondary)}.readonlySetTable{min-width:0;overflow-x:auto;overscroll-behavior-x:contain}.readonlySetHeader,.readonlySetRow{min-width:620px;display:grid;grid-template-columns:34px 110px repeat(4,minmax(78px,1fr));align-items:center;gap:8px}.readonlySetHeader{padding:7px 9px;color:var(--text-tertiary);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.readonlySetRow{margin-top:5px;padding:9px;border-radius:8px;background:#00000026;color:var(--text-secondary);font-size:13px}.programHistoryItem{min-width:0;padding:15px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-soft)}.programHistoryItem summary{cursor:pointer}.programHistoryItem summary>div:first-child{display:grid;gap:4px}.programHistoryItem[open] summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.actualSetRow{min-width:0;padding:13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.actualSetRow>div:first-child{display:grid;gap:4px;margin-bottom:10px}.actualSetRow>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.actualSetRow>dl>div{min-width:0;padding:8px;border-radius:7px;background:#0000001f}.progressionSnapshot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 14px;margin-top:14px;padding:12px;border:1px solid rgba(41,184,200,.18);border-radius:var(--radius-sm);background:var(--cyan-soft)}.progressionSnapshot p{grid-column:1 / -1;margin:0;color:var(--text-secondary)}.builderFooter{position:sticky;bottom:0;z-index:16;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:#0d100ef5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.publishReason{margin-right:auto;color:#ffb4aa;font-size:13px}.catalogAdminLayout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;gap:18px}.catalogFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.catalogAdminRow{width:100%;min-height:62px;justify-content:space-between;margin-bottom:8px;border-color:var(--border);background:var(--surface);color:var(--text);text-align:left}.catalogAdminRow:hover{border-color:var(--border-strong);background:var(--surface-raised);box-shadow:none}.catalogAdminRow>span:first-child{display:grid;gap:5px}.catalogAdminRow small{color:var(--text-secondary);font-weight:400}.catalogDetail{position:sticky;top:28px;display:grid;gap:12px;max-height:calc(100vh - 56px);padding:20px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.catalogDetail h2,.catalogDetail h3,.catalogDetail p{margin:0}.catalogDetail label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px}.catalogDetail .checkLabel,.relationChecklist label{grid-template-columns:auto 1fr;align-items:center}.catalogDetail input[type=checkbox],.relationChecklist input{width:auto}.relationChecklist{display:grid;gap:8px;max-height:240px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.catalogFacts{display:grid;gap:8px;margin:0}.catalogFacts div{display:flex;justify-content:space-between;gap:12px}.catalogFacts dt{color:var(--text-secondary)}.catalogFacts dd{margin:0;text-align:right}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg)}a{color:inherit;text-decoration:none}button,.buttonLink{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(249,197,65,.45);border-radius:var(--radius-sm);background:var(--yellow);color:#17180f;font:600 14px Inter Display;padding:0 16px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:hover,.buttonLink:hover{background:var(--yellow);border-color:var(--yellow);box-shadow:0 10px 25px #f9c5411f}button:active,.buttonLink:active{transform:scale(.98)}button:focus-visible,.buttonLink:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:400 15px Inter Display;padding:13px 14px}input:focus,select:focus,textarea:focus{border-color:var(--mint);outline:3px solid rgba(171,212,191,.09)}h1,h2,.sidebar strong,.loginBrand span{font-family:Unbounded,system-ui,sans-serif}.portalShell{min-width:1120px;height:100dvh;display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;background:var(--bg)}.sidebar{width:280px;height:100dvh;min-height:0;display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto;overscroll-behavior:contain;padding:25px 18px 18px;border-right:1px solid var(--border);background:var(--sidebar);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sidebarHeader{display:grid;gap:5px;padding:0 11px;flex:0 0 auto}.sidebarHeader strong{font-size:18px;letter-spacing:-.04em}.sidebarHeader span{color:var(--text-tertiary);font-size:13px}.roleSwitcher{display:grid;grid-template-columns:1fr 1fr;flex:0 0 auto;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;background:#ffffff05}.roleSwitcher a{min-width:0;padding:8px 5px;border-radius:8px;color:var(--text-tertiary);font-size:12px;text-align:center;transition:background-color .16s ease,color .16s ease}.roleSwitcher a:hover{color:var(--mint)}.roleSwitcher a.active{background:var(--surface-raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.sidebarNav{display:flex;flex:1 0 auto;flex-direction:column;gap:5px}.sidebarNav a{min-height:44px;display:flex;align-items:center;gap:12px;padding:0 12px;border:1px solid transparent;border-radius:11px;color:var(--text-secondary);transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.sidebarNav a svg{flex:0 0 auto;color:var(--text-tertiary);transition:color .16s ease}.sidebarNav a:hover{transform:translateY(-1px);border-color:var(--border);background:#ffffff06;color:var(--text)}.sidebarNav a:hover svg{color:var(--mint)}.sidebarNav a.active{border-color:#abd4bf3d;background:var(--mint-soft);color:var(--mint-strong);box-shadow:inset 3px 0 #abd4bfb3}.sidebarNav a.active svg{color:var(--mint)}.sidebarFooter{display:flex;flex:0 0 auto;justify-content:center;margin-top:auto;padding:14px 0 max(2px,env(safe-area-inset-bottom));border-top:1px solid var(--border)}.sidebar .signOutButton{min-height:40px;border-color:transparent;background:transparent;box-shadow:none;color:var(--text-tertiary)}.sidebar .signOutButton:hover,.sidebar .signOutButton:focus-visible{border-color:#e053454d;background:var(--danger-soft);box-shadow:none;color:var(--danger);outline-color:var(--danger)}.sidebar .signOutButton:active{transform:scale(.98)}.portalContent{position:relative;isolation:isolate;min-width:0;height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--trainflow-black)}.portalContent:before{content:"";position:fixed;z-index:0;inset:-14%;pointer-events:none;background:radial-gradient(circle at 20% 24%,rgba(171,212,191,.055),transparent 31%),radial-gradient(circle at 78% 12%,rgba(249,197,65,.045),transparent 28%),radial-gradient(circle at 66% 82%,rgba(41,184,200,.045),transparent 32%);animation:ambientShift 22s ease-in-out infinite alternate;will-change:transform}.page{position:relative;z-index:0;width:min(100%,1260px);min-height:100%;margin:0 auto;padding:38px 42px 70px;animation:pageEnter .2s ease-out both}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:30px}.pageHeading{display:flex;min-width:0;align-items:center;gap:16px}.pageIcon,.dashboardCardIcon,.cardIcon,.stateIcon,.placeholderIcon,.profileAvatar,.clientAvatar,.overviewGlow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(171,212,191,.18);background:var(--mint-soft);color:var(--mint)}.accent-mint{--accent: var(--mint);--accent-soft: var(--mint-soft);--accent-border: rgba(171, 212, 191, .3);--accent-glow: rgba(171, 212, 191, .1)}.accent-yellow{--accent: var(--yellow);--accent-soft: var(--yellow-soft);--accent-border: rgba(249, 197, 65, .3);--accent-glow: rgba(249, 197, 65, .1)}.accent-cyan{--accent: var(--cyan);--accent-soft: var(--cyan-soft);--accent-border: rgba(41, 184, 200, .3);--accent-glow: rgba(41, 184, 200, .1)}.pageIcon[class*=accent-],.dashboardCard[class*=accent-] .dashboardCardIcon,.cardIcon[class*=accent-]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);box-shadow:0 10px 28px var(--accent-glow)}.pageIcon{width:50px;height:50px;border-radius:15px;box-shadow:0 12px 30px #00000029}.pageHeading h1{margin:0 0 5px;font-size:clamp(27px,2.4vw,36px);line-height:1.1;letter-spacing:-.035em}.pageHeading p{max-width:680px;margin:0;color:var(--text-secondary);font-size:15px;line-height:1.45}.pageAction{flex:0 0 auto}.pageBody{max-width:1160px}.overviewIntro{display:flex;align-items:center;gap:17px;margin-bottom:18px;padding:20px 22px;border:1px solid rgba(171,212,191,.14);border-radius:var(--radius-md);background:linear-gradient(110deg,#abd4bf13,#f9c54107)}.overviewGlow{width:44px;height:44px;border-radius:13px}.overviewIntro strong{font-size:17px}.overviewIntro p{margin:4px 0 0;color:var(--text-secondary);line-height:1.45}.dashboardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboardCard{position:relative;overflow:hidden;min-height:158px;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:15px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(145deg,var(--surface-raised),var(--surface));box-shadow:var(--shadow-card);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.dashboardCard:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--accent);opacity:.58;transition:opacity .18s ease}.dashboardCard:hover,.dashboardCard:focus-visible{transform:translateY(-2px);border-color:var(--accent-border);background:var(--surface-interactive);box-shadow:var(--shadow-raised),0 0 28px var(--accent-glow);outline:none}.dashboardCard:hover:before,.dashboardCard:focus-visible:before{opacity:.9}.dashboardCard:hover .dashboardCardIcon,.dashboardCard:focus-visible .dashboardCardIcon{border-color:var(--accent)}.dashboardCardIcon{width:42px;height:42px;border-radius:12px;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease}.dashboardCard strong{display:block;margin:2px 0 7px;font-size:16px}.dashboardCard p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4}.dashboardArrow{margin-top:10px;color:var(--text-tertiary);transition:color .16s ease,transform .16s ease}.dashboardCard:hover .dashboardArrow{transform:translate(3px);color:var(--accent)}.stack{display:grid;gap:12px}.card,.clientCard,.profileCard,.notice,.infoStrip,.placeholderCard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.card,.clientCard,.profileCard,.placeholderCard{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover,.clientCard:hover,.profileCard:hover,.placeholderCard:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-raised)}.clientCard,.profileCard{border-color:#abd4bf29}.clientCard:hover,.profileCard:hover{border-color:#abd4bf4d;box-shadow:var(--shadow-raised),0 0 28px #abd4bf12}.listCard{min-height:76px;display:flex;align-items:center;gap:18px;padding:15px 17px}.listCardIdentity{min-width:240px;display:flex;flex:1 1 auto;align-items:center;gap:13px}.listCardIdentity>div{display:grid;gap:4px}.listCardIdentity strong{line-height:1.35}.listCardIdentity span,.metaValue,.profileCard span{color:var(--text-secondary);font-size:14px}.cardIcon{width:40px;height:40px;border-radius:12px;transition:border-color .18s ease,color .18s ease,box-shadow .18s ease}.card:hover .cardIcon[class*=accent-]{border-color:var(--accent);box-shadow:0 10px 30px var(--accent-glow)}.actions{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.secondaryButton,.dangerButton{border-color:var(--border-strong);background:transparent;box-shadow:none;color:var(--text-secondary)}.secondaryButton:hover,.secondaryButton:focus-visible{border-color:#abd4bf57;background:var(--mint-soft);box-shadow:none;color:var(--mint)}.dangerButton{color:var(--danger)}.dangerButton:hover,.dangerButton:focus-visible{border-color:#e053454d;background:var(--danger-soft);box-shadow:none}.statusChip{width:fit-content;display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:#ffffff06;color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.statusChip.success{border-color:#abd4bf40;background:var(--mint-soft);color:var(--mint)}.statusChip.warning{border-color:#f9c54140;background:var(--yellow-soft);color:var(--yellow)}.statusChip.danger{border-color:#e0534540;background:var(--danger-soft);color:var(--danger)}.chipRow{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.clientCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:21px;background:linear-gradient(145deg,var(--surface-raised),var(--surface))}.clientMain{min-width:0;display:grid;gap:15px}.clientIdentity{display:flex;align-items:center;gap:13px}.clientAvatar,.profileAvatar{width:48px;height:48px;border-radius:15px}.clientInitials{font-size:14px;font-weight:750;letter-spacing:.04em}.clientIdentity h2,.profileCard h2,.placeholderCard h2{margin:0 0 4px;font-size:18px;letter-spacing:-.02em}.clientUID{color:var(--text-tertiary);font-size:13px}.clientDetails{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin:0}.clientDetails>div{padding:11px 12px;border:1px solid rgba(216,234,223,.07);border-radius:var(--radius-sm);background:#0000001f}.clientDetails dt{margin-bottom:5px;color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.clientDetails dd{margin:0;color:var(--text);font-size:14px}.clientActions{min-width:178px;display:flex;align-self:center;flex-direction:column;gap:8px}.sectionToolbar{display:flex;justify-content:flex-end;margin:-8px 0 14px}.notice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:16px 18px;border-color:#f9c54147;background:var(--yellow-soft)}.notice>div{display:grid;gap:3px}.notice span{color:var(--text-secondary);font-size:12px}.notice strong{font-size:18px;letter-spacing:.06em}.infoStrip{display:flex;align-items:center;gap:11px;margin-bottom:15px;padding:14px 16px;border-color:#29b8c833;background:var(--cyan-soft);color:var(--text-secondary)}.infoStrip svg{color:var(--cyan)}.textLink{display:inline-flex;align-items:center;gap:6px;color:var(--cyan);font-weight:600;white-space:nowrap}.textLink:hover{color:var(--cyan)}.profileCard{max-width:760px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px;padding:22px}.profileCard p,.profileCard .chipRow{grid-column:1 / -1}.profileCard p{margin:3px 0;color:var(--text-secondary);line-height:1.5}.emptyState,.queryError{width:min(100%,620px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.stateIcon{width:42px;height:42px;border-radius:12px}.stateIcon.neutral{border-color:var(--border);background:#ffffff06;color:var(--text-tertiary)}.stateIcon.error{border-color:#e0534538;background:var(--danger-soft);color:var(--danger)}.emptyState strong,.queryError strong{display:block;margin-bottom:5px}.emptyState p,.queryError p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.45}.queryError{border-color:#e0534529;background:linear-gradient(110deg,var(--danger-soft),var(--surface) 54%)}.queryError small{display:block;margin-top:7px;color:var(--text-tertiary);font-size:11px}.placeholderCard{width:min(100%,680px);display:flex;align-items:flex-start;flex-direction:column;padding:28px;background:linear-gradient(145deg,var(--surface-raised),var(--surface))}.placeholderIcon{width:56px;height:56px;margin-bottom:17px;border-radius:17px}.placeholderCard h2{margin-top:18px}.placeholderCard p{max-width:520px;margin:4px 0 0;color:var(--text-secondary);line-height:1.55}.actionFeedback{width:fit-content;margin:0 0 14px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.actionFeedback.success{border-color:#abd4bf3d;color:var(--mint)}.actionFeedback.error,.error{color:var(--danger)}.loadingState{width:min(100%,680px);display:grid;gap:11px}.skeleton{width:100%;height:15px;border-radius:999px;background:linear-gradient(90deg,var(--surface) 20%,var(--surface-raised) 50%,var(--surface) 80%);background-size:220% 100%;animation:skeletonPulse 1.4s ease-in-out infinite}.skeletonTitle{width:44%;height:22px}.skeletonShort{width:68%}.standaloneShell{min-width:1120px;min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 18% 85%,rgba(171,212,191,.1),transparent 35%),radial-gradient(circle at 84% 12%,rgba(249,197,65,.07),transparent 32%),var(--bg)}.loginPanel,.statusPanel{width:min(100%,480px);padding:30px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-raised)}.loginPanel h1,.statusPanel h1{margin:26px 0 8px;font-size:27px}.loginBrand{display:flex;align-items:baseline;justify-content:space-between}.loginBrand span{font-size:20px}.loginBrand small{color:var(--text-tertiary)}.loginPanel form{display:grid;gap:11px;margin-top:22px}.statusPanel{display:block}.statusPanel .stateIcon{margin-bottom:2px}.statusPanelError{border-color:#e0534533}.muted{color:var(--text-secondary)}.mobilePortalNotice{position:fixed;inset:0;min-height:100dvh;overflow:hidden;display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));isolation:isolate;background:radial-gradient(circle at 12% 88%,rgba(171,212,191,.22) 0,rgba(171,212,191,.08) 28%,transparent 58%),radial-gradient(circle at 88% 12%,rgba(249,197,65,.18) 0,rgba(249,197,65,.06) 28%,transparent 56%),#1a1a1a;color:#f7f7f7}.mobilePortalNotice:before{content:"";position:absolute;z-index:-1;width:min(86vw,560px);aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#abd4bf1f,#f9c5411a);filter:blur(56px);animation:mobilePortalGlow 8s ease-in-out infinite alternate}.mobilePortalNoticeContent{width:min(100%,540px);text-align:center}.mobilePortalBrand{margin:0 0 clamp(56px,12vh,112px);font:600 clamp(30px,9vw,42px) "Unbounded",system-ui,sans-serif;letter-spacing:-.04em}.mobilePortalNotice h1{max-width:520px;margin:0 auto 16px;font:600 clamp(24px,7vw,34px)/1.2 "Unbounded",system-ui,sans-serif;text-wrap:balance}.mobilePortalNoticeContent>p:last-child{max-width:460px;margin:0 auto;color:#a4a4a4;font-size:clamp(16px,4.4vw,19px);line-height:1.5;text-wrap:balance}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes skeletonPulse{0%{background-position:100% 0}to{background-position:-120% 0}}@keyframes ambientShift{0%{transform:translate3d(-1.5%,0,0) scale(1)}to{transform:translate3d(1.5%,-1%,0) scale(1.025)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes mobilePortalGlow{0%{transform:translate3d(-12%,10%,0) scale(.9)}to{transform:translate3d(12%,-10%,0) scale(1.12)}}@media(max-height:820px){.sidebar{gap:12px;padding-top:18px;padding-bottom:10px}.sidebarNav{gap:2px}.sidebarNav a{min-height:40px}.sidebarFooter{padding-top:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.portalContent:before,.page{animation:none!important}button:active,.buttonLink:active,.sidebarNav a:hover,.sidebar .signOutButton:active,.dashboardCard:hover,.dashboardCard:focus-visible,.dashboardCard:hover .dashboardArrow,.card:hover,.clientCard:hover,.profileCard:hover,.placeholderCard:hover{transform:none!important}}.dayActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.importOpenButton{border-color:var(--cyan);color:var(--cyan)}.importWizard{width:min(960px,100%);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;position:relative}.importWizard .importHeader{margin-bottom:8px}.importWizard .importSteps{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;font-size:12px;color:var(--text-tertiary)}.importWizard .importSteps li{padding:4px 10px;border:1px solid var(--border);border-radius:999px}.importWizard .importSteps li.active{color:var(--bg);background:var(--cyan);border-color:var(--cyan);font-weight:600}.importWizard .importBody{overflow-y:auto;padding:4px 2px;display:grid;gap:14px}.importWizard .dialogClose{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.importWizard .dialogClose:hover{color:var(--text);border-color:var(--border-strong)}.dropZone{display:grid;gap:10px;place-items:center;padding:34px 18px;border:2px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;background:var(--surface);transition:border-color .15s,background .15s}.dropZone.over{border-color:var(--cyan);background:var(--cyan-soft)}.dropZone .importFileName{color:var(--text);font-weight:600}.dropZone .importHint{font-size:12px;max-width:460px}.linkButton{background:none;border:none;padding:0;color:var(--cyan);cursor:pointer;font:inherit;text-decoration:underline}.linkButton:disabled{color:var(--text-tertiary);cursor:not-allowed;text-decoration:none}.importMeta{display:flex;flex-wrap:wrap;align-items:end;gap:14px;color:var(--text-secondary);font-size:13px}.importMeta label{display:grid;gap:4px}.columnMapGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.columnMapGrid label{display:grid;gap:5px;font-size:12px;color:var(--text-secondary)}.columnMapGrid label.mapMissing select{border-color:var(--danger)}.columnMapGrid .mapGuess{color:var(--yellow);font-style:normal}.importActions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px;border-top:1px solid var(--border);background:var(--surface-raised)}.importActions .unresolvedNotice{margin-right:auto}.matchSummary{display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}.matchSummary .ok{color:var(--mint)}.matchSummary .warn{color:var(--yellow)}.matchTableWrap{overflow-x:auto;max-height:46vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.matchTable{width:100%;border-collapse:collapse;font-size:13px}.matchTable th,.matchTable td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.matchTable thead th{position:sticky;top:0;background:var(--surface-raised);z-index:1}.matchTable select{width:100%;min-width:180px}.matchRow.unresolved{background:var(--danger-soft)}.matchRow.skipped{opacity:.55}.matchRow.conf-low.resolved{background:var(--yellow-soft)}.matchReason{display:block;margin-top:3px;font-size:11px;color:var(--text-tertiary)}.confBadge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.confBadge.conf-high{background:var(--mint-soft);color:var(--mint)}.confBadge.conf-medium{background:var(--yellow-soft);color:var(--yellow)}.confBadge.conf-low{background:var(--danger-soft);color:var(--danger)}.warningsBlock{border:1px solid var(--yellow-soft);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.warningsBlock summary{cursor:pointer;color:var(--yellow)}.warningsBlock ul{margin:8px 0 0;padding-left:18px}.previewDays{display:grid;gap:12px;max-height:42vh;overflow-y:auto}.previewDay{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px}.previewDay h3{margin:0 0 6px;font-size:15px}.previewDay ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}.applyModeChoice{display:grid;gap:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 14px}.applyModeChoice legend{padding:0 6px;font-size:13px;color:var(--text-secondary)}.applyModeChoice label{display:flex;align-items:center;gap:8px}@media(max-width:720px){.columnMapGrid{grid-template-columns:1fr}.matchTable select{min-width:140px}}.adminUsersLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:18px}.userListRow{width:100%;min-height:78px;justify-content:space-between;border-color:var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.userListRow:hover,.userListRow.selected{border-color:var(--border-strong);background:var(--surface-raised)}.userListRow.selected{box-shadow:inset 3px 0 0 var(--mint)}.userDetailCard{min-height:360px;padding:22px}.userDetailHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.userDetailHeader h2{font-size:20px}.userDetailFacts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.userActionGroup{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.userActionGroup h3{margin:0 0 10px;font-size:15px;color:var(--text-secondary)}.userActionGroup .actions{justify-content:flex-start}.destructiveActions{border-top:1px solid rgba(224,83,69,.22)}.destructiveActions h3{color:var(--danger)}.destructivePrimary{border-color:#e0534573;background:#e053451f}.destructivePrimary:hover,.destructivePrimary:focus-visible{border-color:var(--danger);background:#e053452e;box-shadow:0 10px 25px #e053451f}.destructivePanel{border-color:#e053452e;background:linear-gradient(110deg,var(--danger-soft),var(--surface) 56%)}.destructivePanelHeader{display:flex;align-items:center;gap:14px;margin-bottom:14px}.destructivePanelHeader h2{margin:0;font-size:18px}.destructivePanelHeader p{margin:4px 0 0}.destructiveDialog .clientDetails{grid-template-columns:1fr;margin:14px 0}.destructiveDialog .clientDetails>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.destructiveDialog .clientDetails dt{flex:0 0 auto;margin:0}.destructiveDialog .clientDetails dd{text-align:right;overflow-wrap:anywhere}.emptyStateCompact{display:flex;align-items:center;gap:14px;padding:10px 0}.emptyStateCompact strong{display:block;margin-bottom:3px}.emptyStateCompact p{margin:0;color:var(--text-secondary);font-size:14px}.stateIcon.success{border-color:#abd4bf3d;background:var(--mint-soft);color:var(--mint)}@media(max-width:1100px){.adminUsersLayout{grid-template-columns:1fr}.userDetailCard{order:-1}}.coachDirectorySection{display:grid;gap:12px;margin-bottom:26px}.coachDirectorySection>h2{margin:0;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:18px}.coachDirectorySection .listCard.orphanRecord{border-color:color-mix(in srgb,var(--trainflow-red) 45%,var(--border));background:color-mix(in srgb,var(--trainflow-red) 6%,var(--surface))}.coachDirectorySection .listCardIdentity .technicalID{display:block;margin-top:4px;font-size:12px;word-break:break-all}
