/* Approved review list, 21 October. No global surface token changes. */
body.athvCoach:not([data-theme=light]):not(.avConversation)::before{
 display:block!important;content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(at 8% 0%,rgba(102,150,67,.17),transparent 48%),radial-gradient(at 95% 40%,rgba(44,99,105,.13),transparent 46%)!important;
}
body.athvCoach:not([data-theme=light]) #nav.coachFixedFive{
 background:rgba(20,20,20,.8)!important;border-color:rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;box-shadow:0 8px 28px rgba(0,0,0,.2)!important;
}
/* Secondary controls; selected/primary controls keep their existing lime. */
body:is(.studentApp,.athvCoach):not([data-theme=light])>header>button.secondary:not(#headerProfile):not(#coachProfileButton),
body.athvCoach:not([data-theme=light]) :is(#content,dialog) :is(button.secondary,.supportTabs button,.chatFilters button):not(.primary):not(.selected):not([aria-pressed=true]),
body.athvCoach:not([data-theme=light]) #coachSectionTabs>button:not(.primary):not(.selected),
body.studentApp:not([data-theme=light]) #content [data-action=changeMyPhoto],
body.studentApp:not([data-theme=light]) #content>.settings button.secondary:not(.primary):not(.selected),
body.athvCoach:not([data-theme=light]) #coachAccountForm input[type=file],
body.athvCoach:not([data-theme=light]) #coachAccountForm input[type=file]::file-selector-button{
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)!important;
}
/* Only the additional panels explicitly identified during the review. */
body.athvCoach:not([data-theme=light]) #content :is(.filterPanel,.clientDirectory,#tenantInvite,.chatInbox,.supportContacts),
body.athvCoach:not([data-theme=light]) #content:has(.athleteHero)>.empty,
body.studentApp:not([data-theme=light]) #content :is(#myForms,.progressPanel,.progressPanel .empty){
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.6)!important;
}
/* Five equal actions, wrapping at spaces only. */
body.athvCoach #content .programCard>.actions{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:5px!important;align-items:stretch!important;
}
body.athvCoach #content .programCard>.actions>button{
 width:100%!important;min-width:0!important;min-height:44px!important;height:auto!important;align-self:stretch!important;
 margin:0!important;padding:8px 3px!important;font-size:11px!important;line-height:1.25!important;
 word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;hyphens:none!important;
}

/* Athlete history: preserve records and refresh logic, remove redundant visible controls. */
body.studentApp #content:has(>.progressPanel)>h2,
body.studentApp #content:has(>.progressPanel)>button[data-action=refresh]{display:none!important}
body.studentApp #content:has(>.progressPanel)>.progressPanel{margin-bottom:16px!important}
body.studentApp #content:has(>.progressPanel)>.historyCard{margin-top:0!important}
body.studentApp:not([data-theme=light]) .historyCard .volumeTotal{color:#c2ff45!important}
/* Shared chat accents, without changing receipts, incoming bubbles or geometry. */
body.modernChat:is(.studentApp,.athvCoach):not([data-theme=light]){--chat-own:#c2ff45;--chat-own-text:#0e0e0b}
body.modernChat:is(.studentApp,.athvCoach):not([data-theme=light]) .avChatAttach{color:#c2ff45!important}





@media(max-width:400px){body.athvCoach #content .programCard>.actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:46px}}

/* Additional cards approved on October 21; preserve all hero/resume styles. */
body.athvCoach:not([data-theme=light]) #content :is(article.exercise:has([data-action=clientRecords]),.catalogTile,#routineForm>.exercise,#routineForm .trainingBlock,#routineForm .builderRow){
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.6)!important;
}
body.athvCoach:not([data-theme=light]) #content [data-action=clientRecords]>span{color:#c2ff45!important}
@media(max-width:700px){
 body:is(.studentApp,.athvCoach):has(main>.intro:not([hidden]))>header{padding-bottom:6px!important}
 body.athvCoach main:has(>#athvCoachHero)>.intro{padding-bottom:12px!important}
 body.athvCoach #content:has(#coachSectionTabs [data-tab=routines]) #coachSectionTabs{margin-bottom:12px!important}
 body.athvCoach #content:has(#coachSectionTabs [data-tab=routines])>.sectionHead{margin-top:12px!important;margin-bottom:12px!important}
}

/* Coach and mother accounts only: fade decorative glow into the iPhone status-area base.
   No spacing, dimensions, cards or navigation changes. */
html.avCoachSafeBackground:has(body:not([data-theme=light]):not(.avConversation)){
 background:#0b100e!important;
}
html.avCoachSafeBackground body.athvCoach:not([data-theme=light]):not(.avConversation)::before{
 -webkit-mask-image:linear-gradient(to bottom,transparent,black 110px)!important;
 mask-image:linear-gradient(to bottom,transparent,black 110px)!important;
}



/* Only coach/mother empty states and secondary controls from the approved review. */
body.athvCoach:not([data-theme=light]) #content:has(#programSearch)>.empty,
body.athvCoach:not([data-theme=light]) #content:has(#studentSearch)>.empty,
body.athvCoach:not([data-theme=light]) #content .chatInbox .chatContacts>.empty{
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.6)!important;
 border:1px solid rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
 box-shadow:0 8px 28px rgba(0,0,0,.12)!important;
}
body.athvCoach:not([data-theme=light]) #content .coachAccountCard>button[data-coach-load],
body.athvCoach:not([data-theme=light]) #content :is(.supportTabs,.chatFilters)>button:not(.primary):not(.selected):not([aria-pressed=true]){
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)!important;
 border:1px solid rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
 box-shadow:0 8px 28px rgba(0,0,0,.12)!important;
}

/* Athlete dark mobile conversation only: reserve breathing room below iOS safe area. */
@media(max-width:700px){
 body.studentApp.avConversation.modernChat:not([data-theme=light]) main{
  padding-top:calc(env(safe-area-inset-top,0px) + 16px)!important;
 }
 body.studentApp.avConversation.modernChat:not([data-theme=light]) .chatPerson{
  position:relative;z-index:1;isolation:isolate;
  background:var(--chat-canvas)!important;
 }
}

/* Approved athlete-only workout and dialog refinement. No shared tokens changed. */
body.studentApp:not([data-theme=light]) #content:has(>.session){--av-review-card:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.6);--av-review-button:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)}
body.studentApp:not([data-theme=light]) #content:has(>.session)>:is(.session,.block,.exercise),
body.studentApp:not([data-theme=light]) dialog:has(:is(.rating,.celebrationTotal,#bodyWeightForm,#measurementsForm,.technique)),
body.studentApp:not([data-theme=light]) dialog .techniqueSteps>li{
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.6)!important;
 border-color:rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
body.studentApp:not([data-theme=light]) #content:has(>.session) :is(button[data-action=back],button[data-action=save],.restPill,.resetRest),
body.studentApp:not([data-theme=light]) dialog:has(:is(.rating,.celebrationTotal,#bodyWeightForm,#measurementsForm,.technique)) button.secondary,
body.studentApp:not([data-theme=light]) #measurementsForm input[type=file],
body.studentApp:not([data-theme=light]) #measurementsForm input[type=file]::file-selector-button{
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)!important;
 border:1px solid rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#f4f6f8;
}
body.studentApp:not([data-theme=light]) #content:has(>.session) :is(.techniqueLink,.exerciseTitle,.exerciseNumber,.restDuration){color:#c2ff45!important}
body.studentApp:not([data-theme=light]) #content:has(>.session) :is([data-av-substitute],.sessionTools,.macroHint){display:none!important}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.session{padding:16px!important;margin:12px 0!important}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.session h2{font-size:22px;line-height:1.25;margin:8px 0}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.session p{margin:6px 0}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.block{padding:12px!important;margin:20px 0 10px!important;gap:10px;border-left-color:#c2ff45!important}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.block h3{font-size:17px!important;line-height:1.3}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.block>span{width:30px;height:30px;flex-basis:30px;padding:4px;font-size:16px}
body.studentApp:not([data-theme=light]) #content:has(>.session)>.exercise{padding:14px!important;margin:10px 0!important}
body.studentApp:not([data-theme=light]) #content:has(>.session) .exerciseHeader{gap:10px;margin-bottom:6px}
body.studentApp:not([data-theme=light]) #content:has(>.session) .techniqueLink{padding:7px 0;min-height:36px}
body.studentApp:not([data-theme=light]) #content:has(>.session) .seriesRow{padding:4px 0!important;margin:0!important;background:transparent!important;box-shadow:none!important}
body.studentApp:not([data-theme=light]) #content:has(>.session) .set{margin-top:4px;gap:6px;grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 36px}
body.studentApp:not([data-theme=light]) #content:has(>.session) .set input[type=number]{padding:8px!important;height:44px;min-height:44px;font-size:16px!important}
body.studentApp:not([data-theme=light]) #content:has(>.session) .set input[type=checkbox]{accent-color:#c2ff45}
body.studentApp:not([data-theme=light]) #content:has(>.session) .miniRest{padding:4px 0;gap:5px}
body.studentApp:not([data-theme=light]) #content:has(>.session) .restPill{min-height:36px;padding:6px 8px;font-size:10px}
body.studentApp:not([data-theme=light]) #content:has(>.session) .macroRest{padding-top:8px;margin-top:6px}
body.studentApp:not([data-theme=light]) dialog:has(.rating) #ratingDial>path{stroke:#454940}
body.studentApp:not([data-theme=light]) dialog:has(.rating) .dialTick{fill:#f4f6f8;stroke:#0e0e0b}
body.studentApp:not([data-theme=light]) dialog:has(.rating) #dialNeedle{stroke:#c2ff45}
body.studentApp:not([data-theme=light]) dialog:has(.rating) #ratingDial:focus-visible{outline:2px solid #c2ff45;outline-offset:3px}
body.studentApp:not([data-theme=light]) dialog .techniqueSteps>li::before{color:#c2ff45}

/* Only the requested coach/mother surfaces. */
body.athvCoach:not([data-theme=light]) dialog:has(#optionListForm),
body.athvCoach:not([data-theme=light]) dialog:has(#profileForm),
body.athvCoach:not([data-theme=light]) #content .progressPanel {
 background:rgba(14,14,11,.60)!important;
 backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
 border:1px solid rgba(255,255,255,.12)!important;
}
body.athvCoach:not([data-theme=light]) dialog:has(#optionListForm) button:not(.primary),
body.athvCoach:not([data-theme=light]) #preferencesForm [data-action="configureEditor"] {
 background:rgba(14,14,11,.75)!important;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 border:1px solid rgba(255,255,255,.12)!important;
}
body.athvCoach #preferencesForm [data-action="configureEditor"] {margin-bottom:12px}

/* 2026-10-22: audited surfaces only. No editor/viewport geometry changes. */
body.athvCoach:not([data-theme=light]) dialog:has(:is(#catalogForm,#applyProgramForm,#intervalPlanForm,#pickerRows,.technique)),
body.athvCoach:not([data-theme=light]) #avExerciseDetail,
body.athvCoach:not([data-theme=light]) dialog .techniqueSteps>li,
body.athvCoach:not([data-theme=light]) dialog :is(.intervalPlanBlock,#pickerRows .catalogTile),
body.athvCoach:not([data-theme=light]) #content .avClientDisclosure,
body.studentApp:not([data-theme=light]) dialog:has(:is(#myPhotoForm,.avLoadHistoryHeading)),
body.studentApp:not([data-theme=light]) dialog:has(.avLoadHistoryHeading) :is(.historyCard,.empty),
body.studentApp:not([data-theme=light]) #content :is(#avTrainingPending,#avHealthPending),
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content .progressPanel .empty,
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(.progressPanel)>.empty,
body.athvCoach:not([data-theme=light]) #content:has([data-action=personalBack])>.empty,
body.athvCoach:not([data-theme=light]) #content:has(.coachPersonalIntro)>.empty{
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.60)!important;
 border-color:rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
body.athvCoach:not([data-theme=light]) dialog:has(:is(#catalogForm,#applyProgramForm,#intervalPlanForm,#pickerRows,.technique)) button.secondary,
body.athvCoach:not([data-theme=light]) #avExerciseDetail button.secondary,
body.athvCoach:not([data-theme=light]) .chatWorkspace.hasThread .chatContacts button.chatContact,
body.athvCoach:not([data-theme=light]) #coachAdminList .coachAccessRow>button,
body.studentApp:not([data-theme=light]) dialog:has(:is(#myPhotoForm,.avLoadHistoryHeading)) button.secondary,
body.studentApp:not([data-theme=light]) #myForms :is([data-action=avOpenTrainingForm],[data-action=avOpenHealth]){
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)!important;
 border-color:rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
/* Retain a visible selected contact without changing its approved surface. */
body.athvCoach:not([data-theme=light]) .chatWorkspace.hasThread .chatContacts button.chatContact.selected{border-color:#c2ff45!important}
/* Client actions align with the name (36px avatar + 8px gap). */
body.athvCoach #content .clientRow.avClientCompactRow{grid-template-columns:minmax(0,1fr) auto!important}
body.athvCoach #content .clientRow.avClientCompactRow>.actions{grid-column:1 / -1!important;justify-self:start!important;justify-content:flex-start!important;margin:0 0 0 44px!important;flex-wrap:wrap!important}
body.athvCoach #content .clientRow.avClientCompactRow>.actions button{width:auto!important}

/* Approved refinements: retain existing palette, navigation and glass alpha. */
body.studentApp:not([data-theme=light]) #content:has(>.session) .set{
 grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 44px!important;
}
body.studentApp:not([data-theme=light]) #content:has(>.session) .set.labels{font-size:12px!important;line-height:1.35}
body.studentApp:not([data-theme=light]) #content:has(>.session) .restPill{font-size:12px!important;min-height:40px;white-space:normal}
body.studentApp #content .set>.avUXCheckHit{display:grid!important;place-items:center;width:44px;height:44px;margin:0!important;padding:0!important;cursor:pointer}
body.studentApp #content .avUXCheckHit>input[type=checkbox]{width:26px!important;height:26px!important;margin:0!important;cursor:pointer}
.performanceChart text{font-size:14px!important}
.performanceChart [role=button]{cursor:pointer}
.performanceChart [role=button]:focus-visible{outline:2px solid #c2ff45;outline-offset:2px}
.avUXChartData summary,.avUXInviteHelp summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.avUXTableScroll{overflow-x:auto}
.avUXChartData table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.avUXChartData caption{text-align:left;padding:10px 0;text-transform:capitalize}
.avUXChartData th,.avUXChartData td{padding:8px 4px;text-align:left;border-bottom:1px solid rgba(255,255,255,.12)}
.avUXChartData td:nth-child(2){white-space:nowrap}
.avUXChartData td button{min-height:44px;font-size:12px}
body:is(.studentApp,.athvCoach):not([data-theme=light]) dialog:has(.avUXMetricHeading),
body.athvCoach:not([data-theme=light]) .studentInvitationCard{
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(14,14,11,.60)!important;
 border-color:rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(dialog:has(.avUXMetricHeading) button.secondary,.avUXChartData button,.avUXFold,.avUXMoreActions,.avUXLoadMore,.avUXMotherShortcut,#coachSectionTabs [data-av-ux=coaches]){
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(14,14,11,.75)!important;
 border:1px solid rgba(255,255,255,.12)!important;
 -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#f4f6f8;
}
#routineForm [hidden]{display:none!important}
.cleanCoachEditor #routineForm .avUXFoldBar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:4px 0 10px}
.cleanCoachEditor #routineForm .avUXFoldSummary{flex:1;min-width:90px;font-size:12px!important;line-height:1.5;margin:0;overflow-wrap:anywhere}
.cleanCoachEditor #routineForm button.avUXFold{width:auto!important;min-height:44px!important;flex:none;font-size:12px!important;padding:8px 10px!important;margin:0!important}
.cleanCoachEditor #routineForm .avUXCollapsed{padding-bottom:6px!important}
.cleanCoachEditor #routineForm .avUXCollapsed>.avUXFoldBar{margin-bottom:4px}
.avUXFormProgress{padding:10px 0;font-size:13px!important;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.12)}
body.athvCoach #content .programCard>.avUXProgramActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start;gap:8px}
body.athvCoach #content .avUXMoreActions{min-width:0;border-radius:12px;margin:0!important;padding:0!important}
.avUXMoreActions>summary{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;cursor:pointer}
.avUXMoreActions>summary::after{content:'⌄';margin-left:8px}
.avUXMoreActions[open]>summary::after{content:'⌃'}
body.athvCoach #content .avUXMoreActions[open]{grid-column:1/-1}
.avUXMoreGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}
body.athvCoach #content .avUXMoreGroup>button{min-height:44px!important;width:100%!important;margin:0!important;white-space:normal}
.avUXLoadMore{width:100%;min-height:44px;margin-top:12px;border-radius:12px;padding:10px}
body.athvCoach #content .avUXClientHeading{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;align-items:center;gap:8px;width:100%}
body.athvCoach #content .avUXClientHeading>.eyebrow{grid-column:1/-1;margin:0 0 4px!important}
body.athvCoach #content .avUXClientHeading>.avatar{grid-column:1;grid-row:2;width:48px!important;height:48px!important;min-width:48px!important;margin:0!important}
body.athvCoach #content .avUXClientHeading>h2{grid-column:2;grid-row:2;margin:0!important;overflow-wrap:anywhere}
body.athvCoach #content .avUXClientHeading>.statusBadge{grid-column:3;grid-row:2;margin:0!important}
body.athvCoach #content .studentInvitationCard{padding:14px!important;margin:12px 0!important;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.studentInvitationCard>h3{margin:0!important;flex:1;font-size:15px}
.studentInvitationCard>.avUXInviteHelp{flex-basis:100%}
.avUXInviteHelp>summary{font-size:12px;padding:0}
.avUXInviteHelp p{margin:0 0 8px}
body.athvCoach #coachSectionTabs:has([data-av-ux=coaches]){grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.athvCoach #coachSectionTabs [data-av-ux=coaches]{font-size:12px;min-width:0;white-space:normal}
body.athvCoach #coachAdminList [data-coach-status=active]{color:#ffb4a2!important;border-color:rgba(255,180,162,.4)!important}
.avUXScope{font-size:11px!important;letter-spacing:1px;margin:8px 0 0!important;color:#b0b9bf}
@media(max-width:480px){.performanceChart text{font-size:16px!important}.avUXChartData th,.avUXChartData td{padding:8px 2px}.avUXChartData table{font-size:12px}.avUXChartData td button{padding:8px!important}.avUXClientHeading>h2{font-size:18px!important}}

/* Second visual audit: retain the existing fonts, palette and glass alpha. */
body:is(.studentApp,.athvCoach):not([data-theme=light]) {
 --av-v-lime:#c2ff45;
 --av-v-text:#f4f6f8;
 --av-v-muted:#b0b9bf;
 --av-v-line:rgba(255,255,255,.12);
 --av-v-inner-line:rgba(255,255,255,.065);
 --av-v-card:rgba(14,14,11,.60);
 --av-v-button:rgba(14,14,11,.75);
}

/* 1. A consistent type hierarchy, using only the existing two families. */
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(h2,h3,h4){text-wrap:balance}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content>h2,
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(.sectionHead h2,.coachAccountCard h2){
 font-family:'Archivo Black',Arial,sans-serif!important;font-size:clamp(20px,2.2vw,24px)!important;
 font-weight:400!important;line-height:1.3!important;letter-spacing:-.35px;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(.programOpen>strong,.resumeCard h3,.cleanDayCard h3){
 font-family:Inter,Arial,sans-serif!important;font-size:17px!important;font-weight:650!important;line-height:1.35!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content .eyebrow{
 font-size:11px!important;font-weight:600!important;letter-spacing:1.2px;line-height:1.5;
}
body.athvCoach:not([data-theme=light]) #content #routineForm label,
body.athvCoach:not([data-theme=light]) #content #coachAccountForm label{
 font-family:Inter,Arial,sans-serif;font-size:12px!important;font-weight:500!important;line-height:1.5;
}

/* 2. Selection has an indicator; primary actions retain their solid lime. */
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(#coachSectionTabs,.weekTabs,.coachPersonalTabs)>button{
 background:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),var(--av-v-button)!important;
 color:var(--av-v-muted)!important;border:1px solid var(--av-v-inner-line)!important;
 border-radius:10px!important;box-shadow:none!important;font-weight:500!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(#coachSectionTabs,.weekTabs,.coachPersonalTabs)>button:is(.selected,.primary,[aria-pressed=true]){
 color:var(--av-v-lime)!important;border-color:rgba(194,255,69,.22)!important;
 box-shadow:inset 0 -2px 0 var(--av-v-lime)!important;font-weight:650!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(#coachSectionTabs,.weekTabs,.coachPersonalTabs)>button:hover{
 border-color:rgba(194,255,69,.35)!important;color:var(--av-v-text)!important;
}

/* 3. Outer surfaces carry the hierarchy; inner frames stay quiet. */
body.athvCoach:not([data-theme=light]) #content #routineForm .trainingBlock{
 border:1px solid var(--av-v-line)!important;border-radius:20px!important;
}
body.athvCoach:not([data-theme=light]) #content #routineForm .builderRow{
 border:1px solid var(--av-v-inner-line)!important;border-radius:12px!important;
 box-shadow:none!important;
}
body.athvCoach:not([data-theme=light]) #content #routineForm .trainingBlock>legend{
 font-family:'Archivo Black',Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;
 color:var(--av-v-text)!important;line-height:1.4!important;padding:0 8px;
}
body.athvCoach:not([data-theme=light]) #content #routineForm .builderRow>legend{
 font-family:Inter,Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;
 color:var(--av-v-muted)!important;line-height:1.5!important;padding:0 6px;
}
body.athvCoach:not([data-theme=light]) #content #routineForm .avUXFoldSummary{
 font-size:13px!important;font-weight:500;line-height:1.5!important;color:var(--av-v-text);
}
body.athvCoach:not([data-theme=light]) #content #routineForm :is(input,select,textarea){
 border-color:var(--av-v-line)!important;border-radius:10px!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(>.session) .sessionExercise{
 border-color:var(--av-v-line)!important;border-radius:20px!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(>.session) .block{
 border-color:var(--av-v-inner-line)!important;border-left:2px solid var(--av-v-lime)!important;border-radius:12px!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(>.session) :is(.restPill,.set input){
 border-color:var(--av-v-inner-line)!important;border-radius:8px!important;box-shadow:none!important;
}

/* 4. The opening composition gives results more weight than the greeting. */
body:is(.studentApp,.athvCoach):not(.unifiedChat):not([data-theme=light]) main:has(.athleteHero)>.intro{
 padding:16px 0 12px!important;margin:0!important;text-align:left!important;
}
body:is(.studentApp,.athvCoach):not(.unifiedChat):not([data-theme=light]) main:has(.athleteHero)>.intro h1{
 font-family:Inter,Arial,sans-serif!important;font-size:clamp(18px,2vw,21px)!important;
 font-weight:600!important;letter-spacing:-.3px!important;line-height:1.4!important;margin:0!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero{
 padding:20px 22px!important;margin:0 0 20px!important;border-radius:20px!important;
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),var(--av-v-card)!important;
 border:1px solid var(--av-v-line)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero h2{
 font-family:Inter,Arial,sans-serif!important;font-size:16px!important;font-weight:500!important;
 text-align:left!important;line-height:1.5!important;letter-spacing:0!important;margin:0!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers{
 margin-top:14px!important;padding-top:14px!important;border-color:var(--av-v-inner-line)!important;gap:16px!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers strong{
 font-family:Inter,Arial,sans-serif!important;font-size:32px!important;font-weight:700!important;line-height:1.15!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers span{
 font-size:12px!important;line-height:1.45!important;color:var(--av-v-muted)!important;opacity:1!important;margin-top:6px;
}

/* 5. The account stack shares one column on coach and mother. */
body.athvCoach:not([data-theme=light]) #content:has(#coachAccountForm)>:is(.coachAccountCard,.settings){
 width:100%!important;max-width:760px!important;margin:0 auto 20px!important;box-sizing:border-box;
 border-radius:20px!important;padding:20px!important;
}
@media(min-width:760px){
 body.athvCoach #content #routineForm>.exercise{
  display:grid!important;grid-template-columns:160px minmax(0,1fr);gap:12px 16px!important;
 }
 body.athvCoach #content #routineForm>.exercise>label{margin:0!important;align-self:start}
 body.athvCoach #content #routineForm>.exercise>label:has(textarea){grid-column:1/-1}
 body.athvCoach #content #routineForm .cleanBlockFields{
  grid-template-columns:112px minmax(0,1fr)!important;max-width:620px;
 }
 body.athvCoach #content #routineForm .trainingBlock>.cleanBlockActions{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;
 }
 body.athvCoach #content #routineForm .trainingBlock>.cleanBlockActions>button{
  width:auto!important;flex:0 1 auto!important;
 }
}

/* 6. A consistent media/title axis, with quieter catalog metadata. */
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile{
 display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;
 gap:8px 16px!important;padding:20px 16px!important;border-bottom-color:var(--av-v-inner-line)!important;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile>.catalogPreview{
 grid-column:1;grid-row:1 / span 3;width:72px!important;height:72px!important;
 flex-basis:72px!important;border-radius:10px!important;align-self:start;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile>.catalogPreview+div{display:contents!important}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile h3{
 grid-column:2;grid-row:1;margin:0!important;font-family:Inter,Arial,sans-serif!important;
 font-size:17px!important;font-weight:650!important;line-height:1.35!important;align-self:end;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogMovement{
 grid-column:2;grid-row:2;margin:0!important;font-size:12px!important;line-height:1.5;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .tagBadges{
 grid-column:2;grid-row:3;display:flex;flex-wrap:wrap;gap:4px 6px;margin:0!important;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .tagBadges>span{
 background:var(--av-v-card)!important;color:var(--av-v-muted)!important;
 border:1px solid var(--av-v-inner-line);border-radius:4px;padding:3px 6px;font-size:11px!important;font-weight:500!important;line-height:1.4;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogActions{
 grid-column:2;grid-row:4;display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:4px 0 0!important;
}
body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogActions>button{
 width:auto!important;min-height:44px!important;margin:0!important;padding:8px 10px!important;
 font-size:12px!important;font-weight:500!important;border-radius:10px!important;
}

/* 7. A lighter dial face. Geometry and interaction coordinates stay intact. */
body:is(.studentApp,.athvCoach):not([data-theme=light]) #modal:has(.rating) #ratingDial>path{
 stroke:#626b61!important;stroke-width:4px!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #modal:has(.rating) .dialTick{
 font-family:Inter,Arial,sans-serif!important;font-size:12px!important;font-weight:500!important;
 fill:#bec6c9!important;stroke:none!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #modal:has(.rating) .dialMark{
 stroke:#899286;stroke-width:1.5px;stroke-linecap:round;pointer-events:none;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #modal:has(.rating) #dialValue{
 font-family:'Archivo Black',Arial,sans-serif!important;font-size:46px!important;font-weight:400!important;fill:var(--av-v-text)!important;
}
body:is(.studentApp,.athvCoach):not([data-theme=light]) #modal:has(.rating) #dialNeedle{
 stroke:var(--av-v-lime)!important;stroke-width:2.5px!important;
}

@media(max-width:600px){
 body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero{padding:18px!important}
 body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers{gap:12px!important}
 body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers strong{font-size:28px!important}
 body:is(.studentApp,.athvCoach):not([data-theme=light]) main .athleteHero .athleteNumbers span{font-size:11px!important}
 body.athvCoach:not([data-theme=light]) #content:has(#coachAccountForm)>:is(.coachAccountCard,.settings){padding:16px!important}
 body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile{grid-template-columns:64px minmax(0,1fr)!important;gap:8px 12px!important;padding:18px 12px!important}
 body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogTile>.catalogPreview{width:64px!important;height:64px!important;grid-row:1 / span 2}
 body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .tagBadges{grid-column:1/-1;grid-row:3}
 body.athvCoach:not([data-theme=light]) :is(#content,#modal) #pickerRows .catalogActions{grid-column:1/-1;grid-row:4}
}

/* Approved subtle surface adjustment. No geometry, typography or state changes. */
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) {
 --av-subtle-card:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(24,27,24,.60);
 --av-subtle-button:linear-gradient(125deg,rgba(255,255,255,.025),transparent 65%),rgba(23,28,24,.75);
 --av-subtle-input:rgba(20,24,21,.90);
 --av-subtle-text:#f2f5f3;
 --av-subtle-muted:#bcc5be;
 --av-subtle-label:#adb7af;
}
/* Existing content surfaces only: hero, resume accents, navigation and chat canvas stay intact. */
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content :is(.programCard,.exercise,.historyCard,.settings,.progressPanel,.filterPanel,.clientDirectory,.coachAccountCard,.catalogTile,.empty,.avClientDisclosure,#tenantInvite,#myForms,#avTrainingPending,#avHealthPending,.chatInbox,.supportContacts),
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content #routineForm :is(.trainingBlock,.builderRow),
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(>.session)>:is(.session,.block),
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) dialog#modal,
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #avExerciseDetail,
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) dialog#modal :is(.catalogTile,.historyCard,.empty,.intervalPlanBlock,.techniqueSteps>li) {
 background:var(--av-subtle-card)!important;
 border-color:rgba(255,255,255,.16)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
/* Inner exercise frames remain quieter than their enclosing block. */
html:root body.athvCoach:not([data-theme=light]) #content #routineForm .builderRow {
 border-color:rgba(255,255,255,.10)!important;
}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content:has(>.session)>.block {
 border-left-color:#c2ff45!important;
}
/* Text-bearing controls; checkbox/radio, file and action inputs retain their states. */
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=range]):not([type=hidden]),select,textarea),
html:root body.athvCoach:not([data-theme=light]) #content #routineForm :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
 background:var(--av-subtle-input)!important;
 border-color:rgba(255,255,255,.20)!important;color:var(--av-subtle-text)!important;
}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(input,textarea)::placeholder {
 color:#a8b1ab!important;opacity:1!important;
}
/* Secondary actions only. Preserve selected tabs, semantic danger text and primary lime. */
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(button.secondary,.avUXMoreActions,.avUXMoreGroup>button,.avUXFold,.avUXLoadMore,.avUXMotherShortcut,.restPill,.resetRest):not(.primary):not(.selected):not([aria-pressed=true]):not(#coachSectionTabs>button):not(.weekTabs>button):not(.coachPersonalTabs>button):not(.supportTabs>button):not(.chatFilters>button),
html:root body:is(.studentApp,.athvCoach):not([data-theme=light])>header>button.secondary:not(#headerProfile):not(#coachProfileButton),
html:root body.athvCoach:not([data-theme=light]) #content .coachAccountCard>button[data-coach-load],
html:root body.athvCoach:not([data-theme=light]) dialog#modal:has(#optionListForm) button:not(.primary) {
 background:var(--av-subtle-button)!important;border-color:rgba(255,255,255,.18)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(button.secondary,.avUXMoreActions,.avUXMoreGroup>button):not(.primary):not(.selected):not([aria-pressed=true]):not(.danger):not(#coachSectionTabs>button):not(.weekTabs>button):not(.coachPersonalTabs>button):not(.supportTabs>button):not(.chatFilters>button) {
 color:#edf1ee!important;
}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(button.secondary,.avUXMoreActions):not(.primary):not(.selected):not([aria-pressed=true]):not(#coachSectionTabs>button):not(.weekTabs>button):not(.coachPersonalTabs>button):not(.supportTabs>button):not(.chatFilters>button):hover {
 border-color:rgba(255,255,255,.26)!important;
}
/* Neutral text only: retain lime indicators, error colors and chart/energy scales. */
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content .programCard .programOpen>strong {color:var(--av-subtle-text)!important}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content .programCard .programOpen>span:not(.eyebrow):not(:last-child) {color:var(--av-subtle-muted)!important}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) :is(#content,dialog#modal) :is(.muted,.meta,.sessionMeta) {color:var(--av-subtle-muted)!important}
html:root body:is(.studentApp,.athvCoach):not([data-theme=light]) #content .programCard .eyebrow {color:var(--av-subtle-label)!important}

/* Only the seven approved student changes. Keep existing navigation and chat geometry. */
html:root body.studentApp:not([data-theme=light]) #content :is(.athleteHero,.resumeCard,.profileHero .profileStats>div),
html:root body.studentApp:not([data-theme=light]) #athvStudentHero {
 background:var(--av-subtle-card)!important;border-color:rgba(255,255,255,.16)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
html:root body.studentApp:not([data-theme=light]) #content :is(#coachSectionTabs,.weekTabs,.coachPersonalTabs)>button {
 background:var(--av-subtle-button)!important;border-color:rgba(255,255,255,.18)!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
html:root body.studentApp:not([data-theme=light]) #content :is(#coachSectionTabs,.weekTabs,.coachPersonalTabs)>button:is(.selected,.primary,[aria-pressed=true]) {
 color:#c2ff45!important;border-color:rgba(194,255,69,.30)!important;box-shadow:inset 0 -2px 0 #c2ff45!important;
}
html:root body.studentApp :is(header,.myProfileHeading,.chatPerson) .avatar {
 border:2px solid #c2ff45!important;box-shadow:none!important;
}
html:root body.studentApp #content .profileHero {padding:16px!important}
html:root body.studentApp #content .myProfileHeading {gap:14px!important;align-items:center!important}
html:root body.studentApp #content .myProfileHeading h3 {margin:0 0 4px!important}
html:root body.studentApp #content .myProfileHeading p {margin:0!important;overflow-wrap:anywhere}
html:root body.studentApp #content .avProfilePhoto {position:relative;flex:0 0 auto;width:64px;height:64px;margin:0 4px 6px 0}
html:root body.studentApp #content .avProfilePhoto>.avatar {width:64px!important;height:64px!important;margin:0!important}
html:root body.studentApp #content .avPhotoEdit {
 position:absolute;bottom:-5px;right:-6px;width:36px!important;height:36px!important;min-height:36px!important;
 padding:7px!important;border:2px solid #161c17!important;border-radius:50%!important;
 background:#c2ff45!important;color:#11170d!important;display:grid;place-items:center;overflow:visible;
}
/* Expand the camera tap area without enlarging its visible badge. */
body.studentApp .avPhotoEdit::after {content:"";position:absolute;inset:-4px;border-radius:50%}
html:root body.studentApp #content .profileStats {margin:16px 0 10px!important;gap:10px!important}
html:root body.studentApp #content .profileStats>div {padding:8px 10px!important;border-radius:12px!important;min-height:0!important}
html:root body.studentApp #content .profileStats strong {font-size:22px!important;line-height:1.25!important;margin-top:0!important}
html:root body.studentApp #content .profileStats span {font-size:12px!important;line-height:1.35!important;margin-bottom:3px!important;color:#bcc5be!important}
html:root body.studentApp #content .avPersonalDetails {margin:10px 0 0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
html:root body.studentApp #content .avPersonalDetails>summary {font-size:15px!important;font-weight:600;padding:12px 0;min-height:44px;cursor:pointer}
html:root body.studentApp #content .avPersonalDetails .profileGrid {margin:8px 0!important}

/* Searchable exercise selection: five matches per increment. */
body.studentApp .avExercisePicker {min-width:0;grid-column:1/-1}
body.studentApp #avExerciseLabel {display:block;margin-bottom:6px}
html:root body.studentApp #content #avExercisePicker {margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:10px!important;background:var(--av-subtle-input)!important;box-shadow:none!important}
body.studentApp #avExercisePicker>summary {padding:10px 12px;min-height:44px;cursor:pointer;overflow-wrap:anywhere;font-size:14px}
body.studentApp .avExerciseMenu {padding:0 12px 12px}
body.studentApp .avExerciseMenu label {display:block;font-size:12px;margin:8px 0 6px}
body.studentApp #avExerciseSearch {width:100%;min-height:44px}
body.studentApp #avExerciseResults {display:grid;gap:4px;margin-top:8px}
html:root body.studentApp #content .avExerciseChoice {display:flex;justify-content:space-between;gap:8px;text-align:left;min-height:44px;padding:10px 8px;font-size:14px;border:0!important;border-radius:6px;background:transparent!important;color:#edf1ee!important;white-space:normal;overflow-wrap:anywhere}
html:root body.studentApp #content .avExerciseChoice[aria-pressed=true] {background:rgba(194,255,69,.09)!important;color:#c2ff45!important}
body.studentApp .avExerciseChoice:hover {text-decoration:underline}
html:root body.studentApp [data-av-student=more-exercises][hidden] {display:none!important}

/* Compact history. All existing values and records remain in the disclosure body. */
html:root body.studentApp #content details.avHistoryCompact {padding:0!important;margin:12px 0!important;background:var(--av-subtle-card)!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
body.studentApp .avHistorySummary {list-style:none;position:relative;padding:16px 40px 14px 16px;cursor:pointer}
body.studentApp .avHistorySummary::-webkit-details-marker {display:none}
body.studentApp .avHistorySummary::after {content:"+";position:absolute;right:16px;top:18px;color:#c2ff45;font-size:22px}
body.studentApp .avHistoryCompact[open]>.avHistorySummary::after {content:"−"}
html:root body.studentApp #content .avHistorySummary h3 {font-family:Inter,Arial,sans-serif!important;font-size:16px!important;font-weight:650!important;line-height:1.35!important;margin:0 0 6px!important}
html:root body.studentApp #content .avHistorySummary p.meta {font-size:12px!important;margin:0!important;line-height:1.5}
body.studentApp .avHistoryCaption {display:block;font-size:11px;color:#c2ff45;margin-top:6px}
body.studentApp .avHistoryBody {padding:0 16px 16px;border-top:1px solid rgba(255,255,255,.08)}
html:root body.studentApp #content .avHistoryBody .volumeTotal {font-size:20px!important;margin:14px 0 8px!important}

/* Compact preview only; active workout inputs and timers retain their approved layout. */
html:root body.studentApp #content:has(>.session)>.session.avDayHeader {padding:14px!important;margin:10px 0!important;display:block!important}
html:root body.studentApp #content .avDayHeader h2 {font-size:21px!important;margin:4px 0!important;line-height:1.25!important}
html:root body.studentApp #content .avDayHeader .eyebrow {font-size:11px!important;margin:0 0 4px!important}
html:root body.studentApp #content .avDayHeader p {font-size:13px!important;line-height:1.5!important;margin:4px 0!important}
body.studentApp .avDayDescription {margin-top:10px;border-top:1px solid rgba(255,255,255,.10);padding-top:6px}
body.studentApp .avDayDescription:not(.avExpanded)>p {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html:root body.studentApp #content .avDescriptionMore {min-height:44px!important;padding:8px 0!important;font-size:12px!important;margin:0!important}
html:root body.studentApp #content:has(>.session)>.block.avPreviewBlock {padding:8px 10px!important;margin:14px 0 8px!important;gap:8px!important}
html:root body.studentApp #content .avPreviewBlock h3 {font-size:14px!important;line-height:1.3!important}
html:root body.studentApp #content .avPreviewBlock>span {width:25px!important;height:25px!important;flex-basis:25px!important;font-size:13px!important;padding:3px!important}
html:root body.studentApp #content:has(>.session)>.exercise.avPreviewExercise {padding:10px 12px!important;margin:8px 0!important}
html:root body.studentApp #content .avPreviewExercise .catalogPreview {width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;grid-row:1/3!important}
html:root body.studentApp #content .avPreviewExercise {grid-template-columns:44px minmax(0,1fr)!important;gap:4px 12px!important}
html:root body.studentApp #content .avPreviewExercise .exerciseHeader {gap:10px!important;margin:0!important}
html:root body.studentApp #content .avPreviewExercise h4 {font-size:14px!important;line-height:1.3!important;margin:0!important}
html:root body.studentApp #content .avPreviewExercise .exerciseTitle {font-size:14px!important;line-height:1.35!important}
html:root body.studentApp #content .avPreviewExercise p.meta {font-size:12px!important;margin:4px 0!important;line-height:1.4!important}
html:root body.studentApp #content .avPreviewExercise .techniqueLink {grid-column:2!important;font-size:12px!important;min-height:36px!important;padding:4px 0!important;margin:0!important}

/* The new circular slider has no needle. Focus is drawn on the arc itself. */
html:root body:is(.studentApp,.athvCoach) #modal:has(.avStudentRating) {max-width:440px!important;padding:24px 20px!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating h2 {font-size:22px!important;line-height:1.25!important;margin:10px 0!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .eyebrow {font-size:10px!important;letter-spacing:1.2px!important;margin:0!important}
html:root body:is(.studentApp,.athvCoach) #modal .avRatingInstruction {font-size:13px!important;color:#bcc5be!important;margin:8px 0 0!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #ratingDial {display:block;width:100%!important;max-width:300px!important;height:auto!important;margin:0 auto!important;touch-action:none;border:0!important;outline:none!important;box-shadow:none!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #ratingDial>.avRatingTrack {stroke:#e0ebcf!important;stroke-width:10px!important;stroke-linecap:round}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #ratingDial>#avRatingProgress {stroke:#c2ff45!important;stroke-width:8px!important;stroke-linecap:round;stroke-dasharray:100}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #ratingDial:focus-visible>.avRatingTrack {stroke:#e0ebcf!important;stroke-width:10px!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #dialKnob {fill:#c2ff45;stroke:#182017;stroke-width:3px}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #dialValue {font-family:'Archivo Black',Arial,sans-serif!important;font-size:48px!important;fill:#f2f5f3!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .avRatingUnit {font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:1.5px;fill:#bcc5be}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .dialTick {font-size:11px!important;fill:#bcc5be!important;stroke:none!important;font-family:Inter,Arial,sans-serif}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating #ratingHint {font-size:16px!important;margin:-8px 0 8px!important;min-height:24px}
body:is(.studentApp,.athvCoach) .avRatingAdjust {display:flex;justify-content:center;align-items:center;gap:18px;margin:8px 0}
html:root body:is(.studentApp,.athvCoach) #modal .avRatingAdjust button {width:44px!important;min-height:44px!important;padding:8px!important;font-size:22px!important}
body:is(.studentApp,.athvCoach) .avRatingAdjust>span {font-size:12px;color:#adb7af}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .ratingEnds {font-size:10px!important;gap:8px;margin:10px 0 18px!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .actions {margin:0!important;gap:10px!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating .actions button {font-size:13px!important;min-height:44px!important;padding:12px!important}
body.studentApp :is(.avPhotoEdit,.avExerciseChoice,.avHistorySummary,.avPersonalDetails>summary,#avExercisePicker>summary):focus-visible {outline:2px solid #c2ff45!important;outline-offset:3px}
body.studentApp :is(.avPhotoEdit,.avExerciseChoice):active {filter:brightness(1.15)}

@media(max-width:700px){
 /* The document's bottom anchor must not follow the keyboard's reduced height. */
 html:root body.studentApp #nav {
  position:fixed!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
 }
 /* Keep navigation from covering the active chat/search field while typing. */
 html:root body.studentApp.avStudentKeyboard #nav {display:none!important}
}
/* These are navigation destinations, not controls. Keep semantic focus for screen
   readers without drawing a rectangle around the whole content area. */
body.studentApp #content.avFocusLanding:focus,
body.studentApp #content .avFocusLanding:focus {outline:none!important;box-shadow:none!important}

/* Corrections 1, 2, 4 and 6, student only. */
html:root body.studentApp #content .avPhotoEdit {
 width:24px!important;height:24px!important;min-height:24px!important;min-width:24px!important;
 bottom:-2px!important;right:-2px!important;padding:4px!important;border-width:1px!important;color:#fff!important;
}
html:root body.studentApp #content .avPhotoEdit svg {width:14px!important;height:14px!important}
html:root body.studentApp #content .avPhotoEdit::after {inset:-10px!important}
html:root body.studentApp:not([data-theme=light]) #modal:has(#myPhotoForm) {
 background:var(--av-subtle-card)!important;border-color:rgba(255,255,255,.16)!important;
 backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
html:root body.studentApp:not([data-theme=light]) #myPhotoForm :is(button.secondary,input[type=file]),
html:root body.studentApp:not([data-theme=light]) #myPhotoForm input[type=file]::file-selector-button {
 background:var(--av-subtle-button)!important;color:#edf1ee!important;border:1px solid rgba(255,255,255,.18)!important;
 backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border-radius:10px!important;
}
body.studentApp #myPhotoForm input[type=file] {width:100%;min-width:0;font-size:12px!important}
body.studentApp #myPhotoForm input[type=file]::file-selector-button {font:inherit;padding:8px 10px;margin-right:8px;cursor:pointer;min-height:36px}
html:root body.studentApp #photoPreview .avatar {border:2px solid #c2ff45!important;box-shadow:none!important}
html:root body.studentApp:not([data-theme=light]) #content:has(>.session) .exercise .techniqueLink[data-action=exerciseInfo] {color:var(--av-subtle-muted,#bcc5be)!important}

/* A single counter, in its original place; no extra output beside the control. */
html:root body.studentApp #content:has(>.session) .avInlineRest {
 display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;
 gap:8px!important;margin:8px 0!important;padding:5px 8px 5px 12px!important;min-height:54px!important;
 background:var(--av-subtle-button)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;
 backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
html:root body.studentApp #content .avInlineRest .avRestCopy {font:400 12px/1.4 Inter,Arial,sans-serif!important;color:#bcc5be!important;white-space:nowrap}
body.studentApp .avRestCopy strong {font-weight:650;color:#edf1ee;font-variant-numeric:tabular-nums}
body.studentApp .avRestButtons {display:flex;align-items:center;gap:2px;flex-shrink:0}
html:root body.studentApp #content .avInlineRest .avRestAction {
 display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px!important;min-width:78px!important;
 padding:8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#c2ff45!important;
 font:600 12px/1.3 Inter,Arial,sans-serif!important;white-space:nowrap;
}
html:root body.studentApp #content .avInlineRest .avRestCancel {width:28px!important;min-width:28px!important;min-height:44px!important;padding:4px!important;border:0!important;background:transparent!important;color:#bcc5be!important;font-size:20px!important;flex:none}
html:root body.studentApp #content .avInlineRest .avRestCancel[hidden] {display:none!important}
html:root body.studentApp #content .avInlineRest[data-rest-state=running] {border-color:rgba(194,255,69,.28)!important}
body.studentApp .avInlineRest[data-rest-state=running] .avRestCopy strong {color:#c2ff45}
body.studentApp .avInlineRest .avRestAction:hover {text-decoration:underline}
body.studentApp .avInlineRest :is(.avRestAction,.avRestCancel):focus-visible {outline:2px solid #c2ff45!important;outline-offset:2px}
@media(max-width:360px){html:root body.studentApp #content .avInlineRest .avRestCopy {font-size:11px!important}html:root body.studentApp #content:has(>.session) .avInlineRest {padding-left:8px!important;gap:4px!important}}

/* Coach and mother share the approved subtle surfaces. No token changes. */
html:root body.athvCoach:not([data-theme=light]) main .athleteHero {
 background:var(--av-subtle-card)!important;border-color:rgba(255,255,255,.16)!important;
}
/* Same tab component for planning, client records, messaging modes and filters. */
html:root body.athvCoach:not([data-theme=light]) #content :is(#coachSectionTabs,.supportTabs,.chatFilters)>button {
 background:var(--av-subtle-button)!important;color:var(--av-subtle-muted)!important;
 border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;
 box-shadow:none!important;font-family:inherit!important;font-weight:500!important;
 min-height:44px;line-height:1.4;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
html:root body.athvCoach:not([data-theme=light]) #content :is(#coachSectionTabs,.supportTabs,.chatFilters)>button:is(.selected,.primary,[aria-pressed=true]) {
 color:#c2ff45!important;border-color:rgba(194,255,69,.25)!important;
 box-shadow:inset 0 -2px 0 #c2ff45!important;font-weight:650!important;
}
html:root body.athvCoach:not([data-theme=light]) #content :is(#coachSectionTabs,.supportTabs,.chatFilters)>button:hover {
 border-color:rgba(194,255,69,.35)!important;color:var(--av-subtle-text)!important;
}
body.athvCoach #content .supportTabs {
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
}
body.athvCoach #content .supportTabs>button {font-size:14px!important;min-height:44px!important;padding:10px 12px!important;white-space:normal;min-width:0}
body.athvCoach #content .chatFilters {display:flex;flex-wrap:wrap;gap:8px}
body.athvCoach #content .chatFilters>button {min-height:44px!important}
/* Native file controls retain upload behavior, with the secondary glass surface. */
html:root body.athvCoach:not([data-theme=light]) :is(#coachAccountForm,#profileForm) input[type=file],
html:root body.athvCoach:not([data-theme=light]) :is(#coachAccountForm,#profileForm) input[type=file]::file-selector-button {
 background:var(--av-subtle-button)!important;color:var(--av-subtle-text)!important;
 border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;
 -webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;
}
body.athvCoach :is(#coachAccountForm,#profileForm) input[type=file] {min-width:0;max-width:100%;font:inherit}
body.athvCoach :is(#coachAccountForm,#profileForm) input[type=file]::file-selector-button {font:inherit;padding:8px 10px;margin-right:8px;min-height:36px;cursor:pointer}
/* Programmatic page focus is semantic; interactive controls retain their rings. */
body.athvCoach #content.avFocusLanding:focus,
body.athvCoach #content .avFocusLanding:focus {outline:none!important;box-shadow:none!important}
body.athvCoach .avTrashTools {display:flex;justify-content:flex-end;margin:12px 0}
body.athvCoach #avPurgeAllStatus:empty {display:none}
@media(max-width:700px) {
 /* Match Planificar's 12px/safe-area bottom gap in every coach section. */
 html:root body.athvCoach #nav {position:fixed!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom,0px))!important}
 html:root body.athvCoach.avCoachKeyboard #nav {display:none!important}
 /* Support mode is inside the fixed conversation shell, below iOS status chrome. */
 html:root body.athvCoach.avConversation.modernChat main {padding-top:calc(env(safe-area-inset-top,0px) + 16px)!important}
 body.athvCoach.avConversation.modernChat #content>.supportTabs {padding:0 12px 8px!important;flex:none;position:relative;z-index:1}
}

@media(max-width:700px) {
 /* Short pages and full-screen chat get the same viewport-sized root layer. */
 html:root body.athvCoach.avCoachScreenDock {min-height:100dvh}
 /* Keep glass, dimensions, safe area and keyboard visibility unchanged. */
 html:root body.athvCoach.avCoachScreenDock #nav.coachFixedFive {
  top:var(--av-coach-screen-top,calc(100dvh - 90px))!important;
  bottom:auto!important;
 }
}

/* Uses the approved .60 card and .75 secondary glass tokens. No global restyling. */
.avWorkoutSummary,.avWorkoutTiming,.avWorkoutReturn {
 background:var(--av-subtle-card,rgba(37,40,38,.6));border:1px solid var(--av-subtle-border,rgba(255,255,255,.18));
 border-radius:20px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:20px;margin:16px 0;
}
.avWorkoutReturn,.avWorkoutTiming {display:flex;align-items:center;justify-content:space-between;gap:16px}
.avWorkoutReturn>div,.avWorkoutTiming>div {display:grid;gap:4px;min-width:0}
.avWorkoutReturn strong {font-size:14px;overflow-wrap:anywhere}
.avWorkoutReturn .eyebrow {font-size:11px;letter-spacing:.1em}
.avWorkoutReturn button {flex-shrink:0;min-height:44px;font-size:13px}
.avWorkoutTiming strong {font-size:24px;font-variant-numeric:tabular-nums}
.avWorkoutTiming span {font-size:13px;color:var(--muted,#b6bfbd)}
.avWorkoutRecovery {display:block}.avWorkoutRecovery button{margin:6px 8px 10px 0}
.avWorkoutRecovery label {display:grid;gap:8px;margin:12px 0}
.avWorkoutExerciseExtra {border-top:1px solid rgba(255,255,255,.14);margin-top:14px;padding-top:8px}
.avWorkoutExerciseExtra details {margin:10px 0}
.avWorkoutExerciseExtra summary,.avWorkoutConfig>summary {min-height:44px;align-content:center;font-size:14px;font-weight:600;cursor:pointer}
.avWorkoutExerciseExtra label,.avWorkoutSpecFields label {display:grid;gap:7px;font-size:13px;color:#d9dfdc;margin-top:12px}
.avWorkoutExerciseExtra textarea {width:100%;box-sizing:border-box;min-height:76px;font:inherit;font-size:16px;resize:vertical}
.avWorkoutSpecFields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.avWorkoutSpecFields select,.avWorkoutSpecFields input {width:100%;min-width:0;font-size:16px;min-height:44px;box-sizing:border-box}
.avWorkoutExerciseExtra blockquote {border-left:2px solid #8e9c91;padding:6px 12px;margin:12px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.avWorkoutExerciseExtra time,.avWorkoutExerciseExtra .meta {font-size:13px;line-height:1.5}
.avWorkoutFiles {display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.avWorkoutFile {min-width:0;display:grid;gap:8px;font-size:12px;overflow-wrap:anywhere}
.avWorkoutFile img,.avWorkoutFile video {display:block;object-fit:contain;border-radius:10px;max-width:100%;max-height:220px}
.avWorkoutUpload input[type=file] {max-width:100%;width:100%;min-width:0;font-size:14px}
.avWorkoutUpload progress {width:100%;accent-color:#c2ff45;margin-top:10px}
.avWorkoutSummary h2 {font-family:inherit;font-weight:750;font-size:clamp(22px,4vw,30px);letter-spacing:-.035em;text-wrap:balance;margin:10px 0}
.avWorkoutSummaryStats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.avWorkoutSummaryStats>div {display:grid;gap:5px;min-width:0}
.avWorkoutSummaryStats strong {font-size:30px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#f4f6f5}
.avWorkoutSummaryStats span {font-size:12px;line-height:1.4;color:#bbc4bf}
.avWorkoutDistribution {margin:22px 0}.avWorkoutDistribution h3 {font-size:16px;font-weight:650;margin:0 0 16px}
.avWorkoutBar {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;margin:14px 0;font-size:13px}
.avWorkoutBar strong {font-weight:600;font-variant-numeric:tabular-nums}.avWorkoutBar small {font-size:12px;font-weight:400;color:#b6bfbd}
.avWorkoutBar meter {grid-column:1/-1;width:100%;height:7px;border:0;background:#363e37;border-radius:4px}
.avWorkoutBar meter::-webkit-meter-bar {background:#363e37;border:0;border-radius:4px}
.avWorkoutBar meter::-webkit-meter-optimum-value {background:#c2ff45;border-radius:4px}
.avWorkoutBar meter::-moz-meter-bar {background:#c2ff45;border-radius:4px}
.avWorkoutCongrats {color:#d6e2bc;font-weight:600;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}
.avWorkoutCompletion {max-width:650px;margin:auto}.avWorkoutCompletion>.avWorkoutSummary {border:0;background:none;backdrop-filter:none;padding:0;margin:0 0 18px}
.avWorkoutEvolution {min-width:0}.avWorkoutEvolution h2 {font-family:inherit;letter-spacing:-.035em;font-size:26px}
.avWorkoutEvolution .sectionHead {align-items:flex-start;gap:14px}.avWorkoutEvolution label {display:grid;gap:7px;font-size:13px}
.avWorkoutEvolution select {min-height:44px;font-size:16px}
.avWorkoutChart {width:100%;height:auto;display:block;max-height:260px;margin:18px 0;color:#c2ff45;overflow:visible}
.avWorkoutChart rect,.avWorkoutChart circle {fill:currentColor}
.avWorkoutChart text {fill:#c1c9c4;font-size:17px;font-family:inherit;font-variant-numeric:tabular-nums}
.avWorkoutChart line {stroke:rgba(255,255,255,.2)}
.avWorkoutHistory .avWorkoutSummary {margin-top:14px;padding:16px;border-radius:14px;background:transparent;backdrop-filter:none}
.avWorkoutHistory .recordExercise h4 {font-size:16px}.avWorkoutHistory .recordExercise p {font-size:13px;line-height:1.6}
.avWorkoutSavedNote {border-left:2px solid #c2ff45;padding-left:12px;margin:16px 0;overflow-wrap:anywhere}
.avWorkoutSavedNote strong {font-size:12px;color:#bbc4bf}
.avWorkoutType {margin:14px 0}.avWorkoutType summary {min-height:44px;align-content:center;font-size:14px}.avWorkoutType label {display:grid;gap:7px;font-size:14px}.avWorkoutType select {min-height:44px;font-size:16px}
body.unifiedChat #avWorkoutReturn {padding:8px 12px;margin:4px 0;border-radius:12px;flex:0 0 auto}
body.unifiedChat #avWorkoutReturn .eyebrow {display:none}
@media(min-width:800px){.avWorkoutSummaryStats{grid-template-columns:repeat(4,minmax(0,1fr))}.avWorkoutEvolution>.avWorkoutSummaryStats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:380px){.avWorkoutSpecFields{grid-template-columns:1fr}.avWorkoutReturn{align-items:flex-start;flex-direction:column}.avWorkoutReturn button{width:100%}.avWorkoutSummary,.avWorkoutTiming{padding:16px}.avWorkoutEvolution .sectionHead{display:block}}
@media(prefers-reduced-motion:reduce){.avWorkoutChart,.avWorkoutFile{animation:none;transition:none}}

/* Calendar-only presentation. Existing header, dock and all other screens stay unchanged. */
body.avCalendarHome .intro,body.avCalendarHome #athvCoachHero{display:none!important}
#content #avCalendarHome{max-width:760px;margin:0 auto;min-width:0;--cal-lime:#b4eb00;--cal-blue:#69b7ff;--cal-green:#72d991;--cal-red:#f58484;--cal-muted:#b6bfbd;--cal-border:var(--av-subtle-border,rgba(255,255,255,.18));color:var(--text,#f2f4f4)}
#avCalendarHome .avCalendarGreeting{text-align:center;margin:8px 0 30px}
#avCalendarHome .avCalendarGreeting p{color:var(--cal-muted);font-size:15px;margin:0 0 7px;line-height:1.5}
#avCalendarHome .avCalendarGreeting h1{font-family:Inter,sans-serif;font-size:clamp(28px,5vw,34px);font-weight:700;letter-spacing:-.04em;line-height:1.2;margin:0;text-wrap:balance;overflow-wrap:anywhere}
#avCalendarHome .avCalendarDatebar{display:flex;align-items:center;gap:8px;margin:0 0 14px}
#avCalendarHome .avCalendarDatebar h2{flex:1;min-width:0;font-family:Inter,sans-serif;font-size:20px;font-weight:650;letter-spacing:-.03em;margin:0;text-transform:capitalize}
#avCalendarHome .avCalendarToday{background:transparent;border:0;color:var(--cal-lime);min-height:44px;padding:0 10px;font:600 15px Inter,sans-serif}
#avCalendarHome .avCalendarIcon,dialog.avCalendarDialog .avCalendarIcon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;width:44px;height:44px;padding:10px;border-radius:12px}
#avCalendarHome .avCalendarIcon svg,dialog.avCalendarDialog .avCalendarIcon svg{height:22px;width:22px;flex:0 0 22px}
#avCalendarHome .avCalendarStrip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:3px 2px 9px;scrollbar-width:thin;scrollbar-color:#475140 transparent}
#content #avCalendarHome .avCalendarDay{display:flex;flex:0 0 48px;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:86px;padding:9px 3px;border:1px solid var(--cal-border);border-radius:13px;background:var(--av-subtle-button,rgba(31,35,32,.75))!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);scroll-snap-align:center;font-variant-numeric:tabular-nums;color:inherit;box-shadow:none}
#avCalendarHome .avCalendarDay strong{font:500 22px/1.1 Inter,sans-serif;color:inherit}
#avCalendarHome .avCalendarDay small{font:400 11px/1.2 Inter,sans-serif;color:var(--cal-muted)}
#content #avCalendarHome .avCalendarDay.today{background:rgba(180,235,0,.15)!important;border-color:rgba(180,235,0,.52)}
#content #avCalendarHome .avCalendarDay[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--cal-lime)}
.avCalendarDots{display:flex;justify-content:center;align-items:center;gap:3px;min-height:6px}
.avCalendarDot{display:inline-block;width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#69b7ff}
.avCalendarDot.done{background:#72d991}.avCalendarDot.missed{background:#f58484}
.avCalendarLegend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;color:#b6bfbd;font-size:11px;line-height:1.5;margin:12px 0 23px}
.avCalendarLegend>span{display:inline-flex;align-items:center;gap:5px}
#avCalendarHome .avCalendarAssigned>.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--cal-muted);margin:0 0 10px}
#content #avCalendarHome .avCalendarCard{padding:18px!important;margin:0 0 11px!important;min-width:0;border-radius:19px;background:var(--av-subtle-card,rgba(37,40,38,.6))!important;border:1px solid var(--cal-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#avCalendarHome .avCalendarCardTop{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--cal-muted);font-size:11px;line-height:1.5;margin-bottom:10px}
#avCalendarHome .avCalendarCardTop>span:first-child{min-width:0;overflow-wrap:anywhere}
#avCalendarHome .avCalendarStatus{display:flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;white-space:nowrap}
#content #avCalendarHome .avCalendarCard h3{font-family:'Archivo Black',Inter,sans-serif;font-weight:400;font-size:18px;line-height:1.35;letter-spacing:-.03em;color:inherit;margin:0 0 7px;overflow-wrap:anywhere;text-wrap:balance}
#avCalendarHome .avCalendarCard .meta{font-size:13px;line-height:1.5;margin:0;color:var(--cal-muted)}
#avCalendarHome .avCalendarOpen{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;margin-top:15px;font-size:13px;border-radius:12px}
#avCalendarHome .avCalendarOpen svg{width:17px;height:17px;flex-shrink:0}
#avCalendarHome .avCalendarEmpty{padding:22px 16px;border:1px dashed var(--cal-border);border-radius:17px;color:var(--cal-muted);font-size:13px;line-height:1.7;margin:0 0 12px}
#avCalendarHome .avCalendarPlanning{margin-top:30px}
#avCalendarHome .avCalendarPlanningHead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#avCalendarHome .avCalendarPlanningHead h2{font-family:Inter,sans-serif;font-weight:650;font-size:20px;letter-spacing:-.03em;line-height:1.4;margin:0}
#avCalendarHome .avCalendarPlanningHead label{margin:0;min-width:0;max-width:100%}
#avCalendarHome .avCalendarPlanningHead select{width:auto;max-width:100%;min-height:44px;padding:8px 12px;font-size:14px;text-transform:capitalize}
#avCalendarHome .avCalendarPlanning .srOnly{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
#avCalendarHome .avCalendarPlan>.eyebrow{font-size:11px;color:var(--cal-muted);letter-spacing:.09em;overflow-wrap:anywhere;margin:18px 0 12px}
#avCalendarHome .avCalendarWeek{margin-top:9px;border-radius:15px;border:1px solid var(--cal-border);background:var(--av-subtle-card,rgba(37,40,38,.6));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#avCalendarHome .avCalendarWeek>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:58px;padding:14px 15px;font:600 14px/1.4 Inter,sans-serif;cursor:pointer}
#avCalendarHome .avCalendarWeek>summary::-webkit-details-marker{display:none}
#avCalendarHome .avCalendarWeek>summary strong{font-weight:600;font-size:14px}
#avCalendarHome .avCalendarWeek>summary small{margin-left:auto;color:var(--cal-muted);font-weight:400;font-size:11px;white-space:nowrap}
#avCalendarHome .avCalendarWeek>summary>span{font-size:19px;color:var(--cal-muted)}
#avCalendarHome .avCalendarWeek[open]>summary>span{transform:rotate(180deg)}
#avCalendarHome .avCalendarWeekRows{border-top:1px solid var(--cal-border);padding:0 15px}
#avCalendarHome .avCalendarWeeklyDay{padding:15px 0;border-bottom:1px solid var(--cal-border)}
#avCalendarHome .avCalendarWeeklyDay:last-child{border-bottom:0}
#content #avCalendarHome .avCalendarWeek .avCalendarCard{border:0;background:transparent!important;backdrop-filter:none;padding:0!important;margin:0!important}
#avCalendarHome .avCalendarWeek .avCalendarCard h3{font-family:Inter,sans-serif;font-weight:600;font-size:15px}
#avCalendarHome .avCalendarWeek .avCalendarOpen{background:var(--av-subtle-button,rgba(31,35,32,.75))!important;color:inherit!important;border:1px solid var(--cal-border);min-height:44px}
#avCalendarHome .avCalendarAssignment{color:var(--cal-muted);font-size:11px;line-height:1.5;margin:9px 0 0}
#avCalendarHome .avCalendarHistoryAccess{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
#routineForm .avCalendarScheduleLabel{display:block;min-width:0;max-width:100%}
#routineForm .avCalendarScheduleLabel small{display:block;font-size:12px;color:#b6bfbd;font-weight:400;line-height:1.6;margin-top:6px}
#routineForm .avCalendarScheduleLabel input{box-sizing:border-box;display:block;min-width:0;max-width:100%;width:100%;font-size:16px;line-height:1.5;min-height:48px;padding:10px 12px;text-align:left;-webkit-appearance:none;appearance:none}
#routineForm .avCalendarScheduleLabel input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
#routineForm .avCalendarScheduleLabel input::-webkit-datetime-edit{padding:0}
dialog#modal.avCalendarDialog{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:25px 25px 0 0;padding:12px 20px max(24px,env(safe-area-inset-bottom));background:linear-gradient(140deg,#20261f,#111a16)!important;border:1px solid rgba(221,231,225,.24);color:#f2f4f4;box-shadow:0 -16px 48px #0004;animation:avCalendarRise .2s ease-out}
dialog.avCalendarDialog::backdrop{background:rgba(3,8,5,.65);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.avCalendarHandle{height:4px;width:34px;background:#7b867d;border-radius:4px;margin:0 auto 14px}
dialog.avCalendarDialog>.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
dialog.avCalendarDialog>.sectionHead h2{font:650 19px/1.4 Inter,sans-serif;letter-spacing:-.03em;margin:0}
.avCalendarMonthHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 18px}
.avCalendarMonthHead h3{font:600 16px/1.4 Inter,sans-serif;text-transform:capitalize;margin:0;text-align:center}
dialog.avCalendarDialog .avCalendarMonthHead button{background:transparent!important;border-color:transparent}
.avCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 1px}
.avCalendarWeekday{text-align:center;text-transform:uppercase;color:#b6bfbd;font-size:10px;padding-bottom:10px;line-height:1.5}
dialog.avCalendarDialog .avCalendarCell{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border-radius:11px;border:1px solid transparent;background:transparent!important;color:inherit;min-height:47px;padding:6px 0;min-width:0;font:400 14px/1.3 Inter,sans-serif;font-variant-numeric:tabular-nums;box-shadow:none}
dialog.avCalendarDialog .avCalendarCell.today{background:rgba(180,235,0,.16)!important;border-color:rgba(180,235,0,.5)}
dialog.avCalendarDialog .avCalendarCell[aria-pressed=true]{box-shadow:inset 0 -2px 0 #b4eb00}
dialog.avCalendarDialog .avCalendarLegend{margin:20px 0 7px}
#avCalendarHome button,.avCalendarDialog button{touch-action:manipulation}
#avCalendarHome button:hover,.avCalendarDialog button:hover{filter:brightness(1.12)}
#avCalendarHome button:focus-visible,#avCalendarHome summary:focus-visible,.avCalendarDialog button:focus-visible{outline:2px solid #b4eb00;outline-offset:3px}
@keyframes avCalendarRise{from{transform:translateY(35px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:900px){#avCalendarHome .avCalendarAssigned{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}#avCalendarHome .avCalendarAssigned>.eyebrow,#avCalendarHome .avCalendarEmpty{grid-column:1/-1}#content #avCalendarHome .avCalendarDay{flex-basis:56px}#avCalendarHome .avCalendarStrip{gap:10px}}
@media(max-width:380px){#avCalendarHome .avCalendarPlanningHead{gap:6px}#avCalendarHome .avCalendarPlanningHead h2{font-size:18px}#avCalendarHome .avCalendarPlanningHead select{font-size:13px;padding:8px}#content #avCalendarHome .avCalendarCard{padding:16px!important}.avCalendarLegend{gap:8px}dialog#modal.avCalendarDialog{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){dialog#modal.avCalendarDialog{animation:none}}

/* Scope this release to Workout and active sessions; reuse approved surfaces. */
body.avCompactActive .intro,body.avCompactActive #athvCoachHero{display:none!important}
#content #avCalendarHome .avCalendarStrip{gap:6px;padding-left:0;padding-right:0;scroll-snap-type:x mandatory;scroll-padding:0}
#content #avCalendarHome .avCalendarDay{box-sizing:border-box;flex:0 0 calc((100% - 36px)/7)!important;min-width:0!important;width:calc((100% - 36px)/7);scroll-snap-align:start;padding-inline:0;border-radius:12px}
#content #avCalendarHome .avCalendarDay strong{font-size:clamp(18px,5vw,22px)}
#avCalendarHome .avCompactWeekLink{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;margin:10px 0;padding:16px;background:var(--av-subtle-card,rgba(37,40,38,.6));border:1px solid var(--av-subtle-border,rgba(255,255,255,.18));border-radius:16px;text-align:left;color:inherit}
.avCompactWeekLink>span{margin-left:auto;font-size:12px;color:var(--muted,#b6bfbd)}
.avCompactWeekLink svg{width:18px;height:18px}
#avCompactWeek{max-width:760px;margin:auto}.avCompactWeekHead{display:flex;gap:12px;align-items:center;margin-bottom:20px}.avCompactWeekHead h2{margin:6px 0;font-size:24px}.avCompactWeekHead .eyebrow{margin:0;overflow-wrap:anywhere}
#avCompactWeek .avCompactWeekNav{display:flex;gap:10px;overflow:auto;border:0;margin:14px 0 24px;padding:0 0 8px}
#avCompactWeek .avCompactWeekNav button{flex:0 0 44px;height:44px;min-width:44px;border-radius:50%;padding:0;border:2px solid var(--av-subtle-border,rgba(255,255,255,.18));background:var(--av-subtle-button,rgba(31,35,32,.75));color:inherit}
#avCompactWeek .avCompactWeekNav [aria-pressed=true]{color:#b4eb00;border-color:#b4eb00}
.avCompactDayTimeline{padding-left:22px;border-left:1px solid #626d62;margin-left:10px}
.avCompactDayCard{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center;padding:14px;margin:0 0 14px;border:1px solid var(--av-subtle-border,rgba(255,255,255,.18));border-radius:18px;background:var(--av-subtle-card,rgba(37,40,38,.6));backdrop-filter:blur(18px)}
.avCompactDayDot{position:absolute;left:-33px;top:44px;width:19px;height:19px;border:1px solid #7b877b;border-radius:50%;background:#172019;display:grid;place-items:center;font-size:12px}.avCompactDayDot.done{background:#b4eb00;color:#101610;border-color:#b4eb00}
.avCompactDayCard>img,.avCompactDayArt{width:82px;height:110px;object-fit:cover;border-radius:12px}.avCompactDayArt{display:grid;place-items:center;background:rgba(180,235,0,.07);color:#b4eb00}.avCompactDayArt svg{width:34px;height:34px}
.avCompactDayCard h3{font-family:Inter,sans-serif;font-size:17px;line-height:1.35;margin:7px 0;overflow-wrap:anywhere}.avCompactDayCard .meta{font-size:12px;line-height:1.5;margin:0}.avCompactDayCard button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:100%;margin-top:12px;padding:8px;font-size:12px}.avCompactDayCard button svg{height:16px;width:16px;flex-shrink:0}
#content.avCompactSession>.avCompactSessionHead{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,.65fr);gap:8px 14px;align-items:start;padding:24px 14px 10px!important;margin:16px 0 8px!important;border-radius:20px;background:var(--av-subtle-card,rgba(37,40,38,.6))!important;border:1px solid var(--av-subtle-border,rgba(255,255,255,.18))!important;backdrop-filter:blur(18px)}
.avCompactBack{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:10px;border-radius:50%}.avCompactBack svg{height:22px;width:22px}
#content.avCompactSession .avCompactSessionHead>.avCompactBack{position:absolute;left:12px;top:-20px;background:var(--av-subtle-button,rgba(31,35,32,.95))!important}.avCompactSessionHead>.avCompactBack+div{grid-column:1;grid-row:1}
#content.avCompactSession .avCompactSessionHead h2{font-family:Inter,sans-serif;font-size:17px;line-height:1.3;letter-spacing:-.02em;margin:7px 0;overflow-wrap:anywhere}
.avCompactSessionHead .eyebrow{font-size:9px;letter-spacing:.08em;margin:0}.avCompactSessionHead #progress{font-size:11px;line-height:1.4;margin:0}
#content.avCompactSession .avCompactClock{grid-column:2;grid-row:1;border:0;border-left:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent!important;box-shadow:none;backdrop-filter:none;padding:0 0 0 10px;margin:0;display:flex;flex-direction:column;gap:6px;align-items:stretch}
.avCompactClock strong{font-size:22px}.avCompactClock span{font-size:10px}.avCompactClock button{min-height:44px;padding:6px;font-size:12px}.avCompactClock>div>span:last-child{display:none}
#content.avCompactSession .avCompactCancel{grid-column:1/-1;justify-self:start;min-height:44px;border:0;background:transparent!important;color:#c5cbc7;font-size:11px;padding:6px 0;margin:0}
#content.avCompactSession>#sync{margin:0;min-height:0;font-size:12px}#content.avCompactSession>#sync:empty{display:none}
.avCompactBlock{margin:12px 0}.avCompactBlock>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;border:1px solid var(--av-subtle-border,rgba(255,255,255,.18));border-left:3px solid #b4eb00;border-radius:14px;background:var(--av-subtle-card,rgba(37,40,38,.6));padding:10px 12px;min-height:52px}
.avCompactBlock>summary::-webkit-details-marker{display:none}.avCompactBlock>summary>span:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#b4eb00;color:#121711;font-weight:700}.avCompactBlock>summary h3{font-size:16px;margin:0}.avCompactChevron{margin-left:auto;color:#b6bfbd}.avCompactBlock[open]>summary .avCompactChevron{transform:rotate(180deg)}
#content.avCompactSession .avCompactBlock>.sessionExercise{margin:9px 0!important}.avCompactLoadTotal{font-size:14px}.avCompactLoadTotal strong{color:#b4eb00}
.avCompactBack:focus-visible,.avCompactWeekLink:focus-visible,.avCompactBlock>summary:focus-visible{outline:2px solid #b4eb00;outline-offset:3px}
@media(max-width:360px){#content.avCompactSession>.avCompactSessionHead{grid-template-columns:minmax(0,1fr) 90px;gap:8px;padding:24px 12px 10px!important}.avCompactDayCard{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px}.avCompactDayCard>img,.avCompactDayArt{width:64px;height:100px}}

/* Unpublished: shared account navigation; existing calendar and brand surfaces retained. */
body.avAccountWorkout header,body.avAccountScreen header,body.avAccountWorkout .intro,body.avAccountScreen .intro,body.avAccountWorkout #athvCoachHero,body.avAccountScreen #athvCoachHero{display:none!important}
body.avAccountWorkout main,body.avAccountScreen main{padding-top:calc(20px + env(safe-area-inset-top,0px))!important}
body.avAccountWorkout #content,body.avAccountScreen #content{padding-top:0!important}
#content #avCalendarHome .avCalendarGreeting{display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;margin:8px 0 28px;padding:0}
#avCalendarHome .avAccountGreetingCopy{min-width:0}
#content #avCalendarHome .avCalendarGreeting p{font-size:14px;font-weight:400;line-height:1.5;margin:0 0 4px;color:var(--muted,#aeb6af)}
#content #avCalendarHome .avCalendarGreeting h1{font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-1px;text-align:left;text-wrap:initial;overflow-wrap:anywhere}
#content .avAccountPhoto{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;min-height:56px;padding:0!important;margin:0;border:1px solid rgba(194,255,69,.4)!important;border-radius:50%!important;background:rgba(194,255,69,.08)!important;box-shadow:none!important;overflow:hidden}
#content .avAccountPhoto .avatar{width:100%!important;height:100%!important;max-width:none;border-radius:50%;margin:0!important;border:0!important;object-fit:cover;display:grid;place-items:center;background:transparent;color:#c2ff45;font-size:18px;font-weight:600}
#content #avCalendarHome .avCalendarStrip{scrollbar-width:none}
#content #avCalendarHome .avCalendarStrip::-webkit-scrollbar{display:none}
#nav .avAccountNav svg{width:24px;height:24px;flex:none}
#nav .avAccountNav span{font-size:10px;letter-spacing:-.1px}
.avAccountScreen #content{max-width:760px;margin-inline:auto;padding-bottom:110px}
#content .avAccountPageHead{display:flex;align-items:center;gap:10px;margin:0 0 25px;min-height:44px}
#content .avAccountPageHead h1{margin:0;font-size:24px;font-weight:650;line-height:1.2;letter-spacing:-.7px;outline:0;color:inherit;overflow-wrap:anywhere}
#content .avAccountBack{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin-left:-10px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit;text-decoration:none}
.avAccountBack svg{width:25px;height:25px;transition:transform .15s ease}
.avAccountBack:hover svg{transform:translateX(-3px)}
#content .avAccountBack:focus-visible,#content .avAccountPhoto:focus-visible{outline:2px solid #c2ff45!important;outline-offset:3px}
.avAccountScreen #content>.exercise,.avAccountScreen #content>.avPersonalDetails{margin:12px 0!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(25,31,27,.65)!important;padding:20px!important}
.avAccountScreen #content>.profileHero{margin-bottom:22px!important}
.avAccountScreen .myProfileHeading h3{font-size:20px!important;line-height:1.3!important;overflow-wrap:anywhere}
.avAccountScreen .myProfileHeading .meta{font-size:13px;overflow-wrap:anywhere}
.avAccountScreen .profileStats{margin-top:20px!important}
.avAccountScreen #content>details>summary{font-size:15px!important;font-weight:600;line-height:1.5!important;min-height:44px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px}
.avAccountScreen #content>details>summary::-webkit-details-marker{display:none}
.avAccountScreen #content>details>summary::after{content:'';width:7px;height:7px;border-right:1.5px solid #b4c0b6;border-bottom:1.5px solid #b4c0b6;transform:rotate(-45deg);margin-left:auto;flex:none}
.avAccountScreen #content>details[open]>summary::after{transform:rotate(45deg)}
.avAccountScreen #content>details[open]>summary{margin-bottom:18px}
.avAccountScreen .avClientSubform>summary{min-height:44px;cursor:pointer;align-content:center}
.avAccountScreen .avAccountDetails .coachAccountCard{background:transparent!important;border:0!important;padding:0!important;margin:0!important}
.avAccountScreen input[type=file]{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
#content .avAccountIntro{font-size:14px;color:var(--muted,#b0bab2);margin:-13px 0 24px}
#content .avAccountPreferences h2{font-size:17px;font-weight:600;margin:0 0 22px}
.avAccountScreen #preferencesForm label{font-size:14px;font-weight:500;margin-bottom:18px}
.avAccountScreen #preferencesForm select{min-height:48px;margin-top:9px;border-radius:11px;font-size:14px}
.avAccountScreen #preferencesForm .primary{min-height:48px;width:100%;border-radius:12px;font-size:14px}
.avAccountScreen #content>.notificationSettings h3{font-size:17px;font-weight:600}
.avAccountScreen #content>.notificationSettings button{margin:5px 0;min-height:44px}
#content .avAccountLogout{margin-top:30px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12)}
#content .avAccountLogout button{display:block;width:100%;min-height:48px;background:transparent!important;border:0!important;color:#f3b3ac;font-size:14px;font-weight:500;box-shadow:none!important}
body[data-account-variant=b] #content #avCalendarHome .avCalendarGreeting{margin-top:12px;margin-bottom:32px;align-items:center}
body[data-account-variant=b] #content #avCalendarHome .avCalendarGreeting h1{font-size:34px;letter-spacing:-1.2px}
body[data-account-variant=b] #content .avAccountPhoto{width:60px;height:60px;flex-basis:60px;min-height:60px}
body[data-account-variant=b] #content .avAccountPageHead{position:relative;justify-content:center;padding:0 44px;margin-bottom:30px}
body[data-account-variant=b] #content .avAccountBack{position:absolute;left:0;margin-left:-10px}
body[data-account-variant=b] #content .avAccountPageHead h1{font-size:22px;text-align:center}
@media(max-width:359px){#content #avCalendarHome .avCalendarGreeting h1{font-size:27px}body[data-account-variant=b] #content #avCalendarHome .avCalendarGreeting h1{font-size:30px}#nav .avAccountNav span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.avAccountBack svg{transition:none}}

.avAccountScreen #content>.notificationSettings{display:flex;flex-wrap:wrap;gap:8px}.avAccountScreen #content>.notificationSettings h3,.avAccountScreen #content>.notificationSettings p{flex-basis:100%}.avAccountScreen #content>.notificationSettings button{margin:0!important}.avAccountLogout [role=alert]{font-size:14px;color:#f3b3ac;line-height:1.5}
/* Minimal settings: real existing controls inside compact grouped rows. */
.avAccountScreen #content.avSettingsMinimal{padding-bottom:24px}
#content.avSettingsMinimal .avAccountPageHead{gap:2px;margin-bottom:28px;padding:0;justify-content:flex-start}
#content.avSettingsMinimal .avAccountPageHead h1{text-align:left}
#content.avSettingsMinimal .avAccountBack{position:static;flex:0 0 44px;margin-left:-12px}
#content.avSettingsMinimal .avAccountBack svg{width:22px;height:22px}
#content.avSettingsMinimal>.avSettingsGroup{margin:0 0 28px;padding:0;background:none;border:0;box-shadow:none}
#content.avSettingsMinimal .avSettingsGroup>h2{font:600 11px/1.5 Inter,sans-serif!important;letter-spacing:2px;color:#abb5b0;margin:0 0 10px 12px}
#content.avSettingsMinimal .avSettingsList{border:1px solid rgba(222,237,224,.13);border-radius:18px;background:rgba(27,34,29,.32);overflow:hidden;padding:0 14px}
#content.avSettingsMinimal details.avSettingsRow{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#content.avSettingsMinimal .avSettingsRow+form,#content.avSettingsMinimal .avSettingsRow+.avSettingsRow,#content.avSettingsMinimal .avSettingsLink+.avSettingsRow,#content.avSettingsMinimal form .avSettingsRow+.avSettingsRow{border-top:1px solid rgba(222,237,224,.12)!important}
#content.avSettingsMinimal .avSettingsRow>summary,#content.avSettingsMinimal button.avSettingsLink{box-sizing:border-box;display:flex!important;align-items:center;gap:13px;min-height:64px;width:100%;padding:13px 2px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;list-style:none;cursor:pointer;text-align:left;color:#edf1ed!important;font:400 16px/1.4 Inter,sans-serif!important}
#content.avSettingsMinimal .avSettingsRow>summary::-webkit-details-marker{display:none}
#content.avSettingsMinimal .avSettingsRow>summary::after{display:none}
#content.avSettingsMinimal .avSettingsRow>summary>svg:first-child,#content.avSettingsMinimal .avSettingsLink>svg:first-child{width:23px;height:23px;flex:0 0 23px;color:#c2ff45}
#content.avSettingsMinimal .avSettingsLabel{flex:1;min-width:0;overflow-wrap:anywhere}
#content.avSettingsMinimal .avSettingsValue{font:400 13px/1.4 Inter,sans-serif;color:#abb5b0;margin-left:auto;white-space:nowrap}
#content.avSettingsMinimal svg.avSettingsChevron{width:17px;height:17px;flex:0 0 17px;color:#c6d0c9;transition:transform .15s ease}
#content.avSettingsMinimal .avSettingsRow[open]>summary .avSettingsChevron{transform:rotate(90deg)}
#content.avSettingsMinimal .avSettingsRow>summary:focus-visible,#content.avSettingsMinimal .avSettingsLink:focus-visible{outline:2px solid #c2ff45;outline-offset:-3px}
#content.avSettingsMinimal .avSettingsBody{padding:0 0 18px 38px}
#content.avSettingsMinimal .avSettingsBody label{margin:0!important}
#content.avSettingsMinimal #preferencesForm{margin:0;padding:0;background:none;border:0}
#content.avSettingsMinimal #preferencesForm .avSettingsSave{width:100%;min-height:44px;margin:0 0 14px;font-size:14px}
#content.avSettingsMinimal [hidden]{display:none!important}
#content.avSettingsMinimal .notificationSettings{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
#content.avSettingsMinimal .notificationSettings p{flex-basis:100%;font:400 13px/1.5 Inter,sans-serif;color:#abb5b0;margin:0 0 8px}
#content.avSettingsMinimal .notificationSettings button{min-height:44px;font-size:12px;margin:0;padding:9px 12px}
#content.avSettingsMinimal .avSettingsBody .coachAccountCard{padding:0;margin:0;border:0;background:transparent;box-shadow:none}
#content.avSettingsMinimal .avAccountLogout{margin:32px 0 8px;padding:0;border:0}
#content.avSettingsMinimal .avAccountLogout button{display:flex!important;justify-content:center;align-items:center;gap:10px;border:1px solid rgba(194,255,69,.3)!important;border-radius:13px!important;min-height:48px;color:#c2ff45!important;font:500 15px/1.4 Inter,sans-serif!important;background:transparent!important}
#content.avSettingsMinimal .avAccountLogout svg{width:21px;height:21px;flex:0 0 21px}
@media(max-width:359px){#content.avSettingsMinimal .avSettingsRow>summary,#content.avSettingsMinimal button.avSettingsLink{font-size:14px!important;gap:10px}#content.avSettingsMinimal .avSettingsValue{font-size:12px}#content.avSettingsMinimal .avSettingsBody{padding-left:0}}
@media(prefers-reduced-motion:reduce){#content.avSettingsMinimal svg.avSettingsChevron{transition:none}}
/* Independent existing units; empty future sections explicitly requested. */
#content.avSettingsMinimal .avUnitChoices{margin:12px 0 20px;padding:0;border:0;min-width:0}
#content.avSettingsMinimal .avUnitChoices legend{font:600 14px/1.4 Inter,sans-serif;margin:0 0 7px;padding:0;color:#edf1ed}
#content.avSettingsMinimal .avUnitChoices label{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid rgba(222,237,224,.08);font:400 15px/1.4 Inter,sans-serif;cursor:pointer;padding:8px 2px!important}
#content.avSettingsMinimal .avUnitChoices label:last-child{border-bottom:0}
#content.avSettingsMinimal .avUnitChoices input{position:absolute;width:100%;height:100%;inset:0;opacity:0;margin:0;cursor:pointer}
#content.avSettingsMinimal .avUnitChoices svg{width:20px;height:20px;color:#c2ff45;visibility:hidden}
#content.avSettingsMinimal .avUnitChoices input:checked+svg{visibility:visible}
#content.avSettingsMinimal .avUnitChoices label:focus-within{outline:2px solid #c2ff45;outline-offset:2px;border-radius:4px}
#content.avSettingsMinimal .avSettingsReserved>div{height:12px;border-bottom:1px solid rgba(222,237,224,.1);margin:0 12px}
/* Soft integrated depth: no outlined header card, no new logo or duplicate greeting. */
#content #avCalendarHome .avCalendarGreeting{position:relative;isolation:isolate;padding:22px 4px 24px;margin:0 0 18px}
#content #avCalendarHome .avCalendarGreeting::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-20px -16px -18px;background:radial-gradient(ellipse at 15% 12%,rgba(174,229,91,.13),transparent 64%),radial-gradient(ellipse at 86% 30%,rgba(118,155,129,.08),transparent 58%);filter:blur(12px);border-radius:40%;}
#content #avCalendarHome .avCalendarGreeting h1{text-shadow:0 2px 2px rgba(0,0,0,.4)}
#content .avAccountPhoto{box-shadow:0 7px 18px rgba(0,0,0,.3),inset 0 1px rgba(238,255,224,.1)!important;border-color:rgba(213,241,183,.28)!important}
/* Profile uses the same small heading and grouped settings rows. */
.avAccountScreen #content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px 0!important;margin:0 0 24px!important}
#content.avAccountListProfile .avAccountIdentity .myProfileHeading{gap:16px}
#content.avAccountListProfile .avAccountIdentity .profileStats{border:0;background:transparent;gap:24px;margin-top:20px!important}
#content.avAccountListProfile .avAccountIdentity .profileStats>div{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
#content.avAccountListProfile .avSettingsBody .coachAccountCard{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#content.avAccountListProfile .avSettingsBody .weightHistory{margin:0;padding:0;border:0;background:transparent}
#content.avAccountListProfile .avSettingsBody .weightHistory h3{font-size:15px}
#content.avAccountListProfile .avSettingsBody .avClientSubform>summary{font-size:14px;min-height:44px}
#content.avAccountListProfile .avSettingsBody .profileGrid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:0 0 16px}
/* Comparison requested by the user: same layout, different header depth. */
body[data-workout-depth=card] #content #avCalendarHome .avCalendarGreeting{padding:22px 18px;margin:8px 0 28px;border:1px solid rgba(220,244,210,.16);border-radius:22px;background:linear-gradient(130deg,rgba(49,64,43,.65),rgba(24,32,27,.64) 56%,rgba(18,26,23,.84));box-shadow:0 12px 26px rgba(0,0,0,.24),inset 0 1px 0 rgba(236,255,222,.07)}
body[data-workout-depth=card] #content #avCalendarHome .avCalendarGreeting::before{inset:0;border-radius:22px;background:radial-gradient(ellipse at 10% 0,rgba(188,255,105,.1),transparent 65%);filter:none}
body.avAccountScreen #content.avSettingsMinimal .avAccountLogout button.secondary.compact{color:#c2ff45!important;border:1px solid rgba(194,255,69,.3)!important;background:transparent!important}

/* Content depth comparison; greeting stays on the dark canvas. */
body[data-workout-composition] #content #avCalendarHome .avCalendarGreeting{padding:18px 0 22px;margin:0 0 16px;border:0;background:none;box-shadow:none}
body[data-workout-composition] #content #avCalendarHome .avCalendarGreeting::before{display:none}
body[data-workout-composition] #content #avCalendarHome .avCalendarGreeting h1{text-shadow:none}
body[data-workout-composition] #content .avAccountPhoto{box-shadow:none!important}
#content .avWorkoutCalendarSurface{position:relative;isolation:isolate;margin-bottom:28px;min-width:0}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface{padding:8px 0 18px;border-radius:0;background:none;border:0;box-shadow:none}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface::after{display:none}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface .avCalendarDatebar{margin-top:0}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface .avCalendarLegend{margin-bottom:0;font-size:11px;gap:10px}
body[data-workout-composition=workout] #content .avWorkoutCalendarSurface{padding:0;background:none;border:0;box-shadow:none}
body[data-workout-composition=workout] #content #avCalendarHome .avCalendarCard{position:relative;isolation:isolate;overflow:visible;border-radius:23px!important;border:1px solid #dff2dc24!important;background:linear-gradient(135deg,#303a30,#1d2820 65%,#17211b)!important;box-shadow:0 22px 30px -15px #000b,inset 0 1px #ffffff16!important;margin-bottom:28px!important}
body[data-workout-composition=workout] #content #avCalendarHome .avCalendarCard::after{content:'';position:absolute;z-index:-1;inset:12px 9px -8px;border-radius:23px;background:#19231c;border:1px solid #ffffff0c;box-shadow:0 10px 20px #0005}
#content.avSettingsMinimal .avSettingsReserved[hidden]{display:none!important}
#content.avSettingsMinimal .avAccountLogout{margin-top:16px}
body.avAccountScreen #content.avSettingsMinimal .avAccountLogout button>svg{color:#ffb6ab!important;stroke:#ffb6ab!important}

/* Integrated editorial header: broad light, no enclosing calendar card. */
body[data-workout-composition=calendar] #content #avCalendarHome{position:relative;isolation:isolate}
body[data-workout-composition=calendar] #content #avCalendarHome::before{content:'';position:absolute;pointer-events:none;z-index:-1;inset:-32px -16px auto;height:380px;background:radial-gradient(ellipse at 86% 12%,rgba(126,164,112,.13),transparent 58%),linear-gradient(180deg,rgba(37,51,40,.42),rgba(26,38,30,.2) 65%,transparent 100%)}
body[data-workout-composition=calendar] #content #avCalendarHome .avCalendarGreeting{padding-top:22px;padding-bottom:24px;margin-bottom:12px}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface .avCalendarLegend{margin-top:22px;padding-bottom:12px;font-size:12px;gap:14px}
body[data-workout-composition=calendar] #content .avWorkoutCalendarSurface{margin-bottom:12px}

/* Use the original published dark backdrop; remove only the new header light. */
html:root body[data-workout-composition] #content #avCalendarHome::before,html:root body[data-workout-composition] #content #avCalendarHome .avCalendarGreeting::before{display:none!important}
html:root body #content .avAccountPhoto{border:2px solid #c2ff45!important;background:transparent!important}
html:root body #content #avCalendarHome .avCompactWeekLink>strong,html:root body #content #avCompactWeek .avCompactDayCard h3{color:#c2ff45!important}
html:root body.avCleanSection>header,html:root body.avCleanSection main>.intro,html:root body.avCleanSection #athvCoachHero{display:none!important}
html:root body.avCleanSection main{padding-top:calc(20px + env(safe-area-inset-top,0px))!important}
html:root body #content #avCompactWeek .avCompactWeekNav{justify-content:center;flex-wrap:wrap;overflow:visible}
html:root body #content .avGoodBack,html:root body #content.avSettingsMinimal .avAccountBack.avGoodBack{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px!important;height:44px!important;min-height:44px!important;min-width:44px!important;padding:10px!important;margin:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;background:rgba(31,35,32,.75)!important;box-shadow:none!important;color:#edf1ee!important;text-decoration:none}
html:root body #content .avGoodBack svg{width:22px!important;height:22px!important;transform:none!important}
html:root body #content .avAccountPageHead{gap:12px!important}
html:root body #content .avFixedDayHeader{position:relative;padding-left:76px!important;margin-top:0!important;min-height:84px}
html:root body #content .avFixedDayHeader>.avGoodBack{position:absolute;left:16px;top:16px}
html:root body #content .techniqueLink[data-action=exerciseInfo]{display:none!important}
html:root body #content.avSettingsMinimal .notificationSettings{display:block!important}
html:root body #content.avSettingsMinimal .notificationSettings .avNotificationActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
html:root body #content.avSettingsMinimal .notificationSettings .avNotificationActions>button{width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:8px 3px!important;font:500 12px/1.3 Inter,sans-serif!important;white-space:normal!important}
html:root body #content.avSettingsMinimal .avSettingsBody:has(.notificationSettings){padding-left:0!important}
/* Shared profile surfaces: no inherited exercise-card gradients on individual rows. */
html:root body.avAccountScreen #content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity{padding:18px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;background:var(--av-subtle-card,rgba(37,40,38,.6))!important;box-shadow:none!important;margin-bottom:24px!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .myProfileHeading{display:flex!important;align-items:center!important;gap:16px!important;min-width:0}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .myProfileHeading>div{min-width:0}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .myProfileHeading h3{font-size:20px!important;margin:0 0 4px!important;line-height:1.25!important;overflow-wrap:anywhere}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .myProfileHeading .meta{font-size:13px!important;margin:0!important;overflow-wrap:anywhere}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .avatar{width:60px!important;height:60px!important;min-width:60px!important;border:2px solid #c2ff45!important;object-fit:cover}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .profileStats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin:18px 0 0!important;padding:0!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .profileStats>div{display:flex!important;flex-direction:column!important;padding:12px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:12px!important;background:rgba(15,20,17,.35)!important;box-shadow:none!important;min-width:0}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .profileStats strong{font:600 24px/1.3 Inter,sans-serif!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avAccountIdentity .profileStats span{font-size:12px!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avSettingsList>details.avSettingsRow,html:root body.avAccountScreen #content.avSettingsMinimal .avSettingsList>details.avSettingsRow>summary{background:transparent!important;box-shadow:none!important;border-radius:0!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avSettingsList>details.avSettingsRow{border:0!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avSettingsList>details.avSettingsRow+details.avSettingsRow{border-top:1px solid rgba(222,237,224,.12)!important}
html:root body.avAccountScreen #content.avSettingsMinimal .avSettingsList>details.avSettingsRow>summary{padding:16px 2px!important}
.avViewportProbe{position:fixed;pointer-events:none;visibility:hidden;left:0;top:0;width:0;height:100svh;contain:strict}
@media(max-width:700px){
 html:root body.avUnifiedDock #nav,html:root body.avUnifiedDock.avConversation #nav,html:root body.avUnifiedDock.athvCoach #nav.coachFixedFive{position:fixed!important;top:var(--av-unified-dock-top)!important;bottom:auto!important;transform:none!important;left:12px!important;right:12px!important;width:calc(100% - 24px)!important;margin:0!important}
 html:root body.avUnifiedDock.avUnifiedKeyboard #nav{display:none!important}
}

html:root body:is(.studentApp,.athvCoach) #content:has(>.session)>.session.avFixedDayHeader{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:16px!important}
html:root body:is(.studentApp,.athvCoach) #content:has(>.session)>.session.avFixedDayHeader>.avGoodBack{position:static!important;grid-column:1!important;grid-row:1!important}
html:root body:is(.studentApp,.athvCoach) #content:has(>.session)>.session.avFixedDayHeader>.avDayDescription{grid-column:1/-1!important}

html:root body #content .avCompactSessionHead .avLiveTitle{position:relative}
html:root body #content .avCompactSessionHead .avLiveTitle>.avGoodBack{position:absolute!important;left:0!important;top:0!important}
html:root body #content .avCompactSessionHead .avLiveTitle>.eyebrow{padding-left:52px!important;min-height:44px!important;display:flex;align-items:center;line-height:1.3!important}

html:root body #content #avCompactWeek .avCompactWeekHead h2{color:#c2ff45!important}
/* Session return remains usable on narrow profile and history screens. */
html:root body #content #avWorkoutReturn{min-width:0;flex-wrap:wrap}
html:root body #content #avWorkoutReturn>div{min-width:0;flex:1 1 140px}
html:root body #content #avWorkoutReturn button{max-width:100%;white-space:normal}

/* Scoped to History. Shared app navigation and other screen surfaces stay unchanged. */
html:root body #content.avHistoryModern{padding-bottom:110px!important}
html:root body #content.avHistoryModern>.avHistoryPageHead{margin-bottom:16px!important}
html:root body #content.avHistoryModern #avWorkoutEvolution,html:root body #content.avHistoryModern>.avHistoryFrequency,html:root body #content.avHistoryModern>.avHistoryFold{padding:16px!important;margin:0 0 12px!important;background:var(--av-subtle-card,rgba(37,40,38,.6))!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:16px!important;box-shadow:none!important;min-height:0!important}
html:root body #content.avHistoryModern #avWorkoutEvolution .sectionHead{display:flex;align-items:center;gap:12px;margin:0 0 8px!important}
html:root body #content.avHistoryModern #avWorkoutEvolution .sectionHead h2{font:600 18px/1.3 Inter,sans-serif!important;margin:0!important;flex:1}
html:root body #content.avHistoryModern #avWorkoutEvolution .sectionHead label{width:108px;min-width:0;margin:0!important}
html:root body #content.avHistoryModern #avWorkoutEvolution select{width:100%!important;min-height:44px!important;margin:0!important;font-size:14px!important;padding:8px!important}
html:root body #content.avHistoryModern #avWorkoutEvolution>p.meta{font-size:12px!important;margin:0 0 12px!important}
html:root body #content.avHistoryModern #avWorkoutEvolution .avWorkoutSummaryStats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important}
html:root body #content.avHistoryModern #avWorkoutEvolution .avWorkoutSummaryStats>div{padding:12px 8px!important;min-width:0!important;background:rgba(12,18,14,.4)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;display:flex;flex-direction:column;gap:6px}
html:root body #content.avHistoryModern #avWorkoutEvolution .avWorkoutSummaryStats strong{font:600 26px/1.15 Inter,sans-serif!important;margin:0!important;color:#edf1ee!important}
html:root body #content.avHistoryModern #avWorkoutEvolution .avWorkoutSummaryStats span{font:400 12px/1.35 Inter,sans-serif!important;color:#b9c3bd;overflow-wrap:normal}
html:root body #content.avHistoryModern>.avHistoryFrequency{display:flex;flex-direction:column}
html:root body #content.avHistoryModern .avHistoryFrequency>label{order:0;margin:0 0 10px!important;align-self:flex-end;max-width:100%;width:180px}
html:root body #content.avHistoryModern .avHistoryFrequency select{width:100%;min-height:44px!important;padding:8px 10px!important;font-size:14px!important;margin:0!important}
html:root body #content.avHistoryModern .avHistoryFrequency>h3{order:-1;font:600 16px/1.35 Inter,sans-serif!important;margin:0 0 10px!important}
html:root body #content.avHistoryModern :is(.avHistoryFrequency,.progressPanel) svg.avWorkoutChart{width:100%!important;height:auto!important;min-height:0!important;max-height:170px!important;margin:4px 0 8px!important;display:block!important}
html:root body #content.avHistoryModern .avWorkoutChart text{font:400 13px Inter,sans-serif!important;fill:#c0cac3!important}
html:root body #content.avHistoryModern .avWorkoutChart rect{fill:#c2ff45!important}
html:root body #content.avHistoryModern .avHistoryEmpty{font:400 14px/1.5 Inter,sans-serif!important;color:#b9c3bd;margin:2px 0 8px!important}
html:root body #content.avHistoryModern>.avHistoryFold>summary{font:500 15px/1.4 Inter,sans-serif!important;min-height:44px!important;cursor:pointer;align-content:center;list-style:none;display:flex;align-items:center;gap:12px}
html:root body #content.avHistoryModern>.avHistoryFold>summary::after{content:'›';font-size:24px;font-weight:400;margin-left:auto;color:#b9c3bd;transform:rotate(0deg)}
html:root body #content.avHistoryModern>.avHistoryFold[open]>summary::after{transform:rotate(90deg)}
html:root body #content.avHistoryModern>.avHistoryFold>summary::-webkit-details-marker{display:none}
html:root body #content.avHistoryModern>.avHistoryFold[open]>summary{margin-bottom:12px}
html:root body #content.avHistoryModern .avHistoryFold>.progressPanel,html:root body #content.avHistoryModern .avHistoryFold>.avWorkoutDistribution{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}
html:root body #content.avHistoryModern .avHistoryFold>.avWorkoutDistribution>h3{display:none}
html:root body #content.avHistoryModern .avWorkoutBar{margin:10px 0!important;gap:5px 10px!important;font-size:13px!important}
html:root body #content.avHistoryModern .avWorkoutBar meter{height:6px!important}
html:root body #content.avHistoryModern .progressFilters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin:0 0 12px!important}
html:root body #content.avHistoryModern .progressFilters>label:first-child,html:root body #content.avHistoryModern .progressFilters>.avExercisePicker{grid-column:1/-1}
html:root body #content.avHistoryModern .progressFilters label{font-size:12px!important;min-width:0!important}
html:root body #content.avHistoryModern .progressFilters select{width:100%!important;font-size:14px!important;min-height:44px!important}
html:root body #content.avHistoryModern .avHistorySessions>h2{font:600 18px/1.3 Inter,sans-serif!important;margin:20px 0 12px!important}
html:root body #content.avHistoryModern .avHistorySession{padding:14px!important;margin:0 0 10px!important;border-radius:14px!important;background:var(--av-subtle-card,rgba(37,40,38,.6))!important;border:1px solid rgba(255,255,255,.16)!important}
html:root body #content.avHistoryModern .avHistorySession>summary{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px!important;min-height:44px!important;padding:0!important;cursor:pointer;list-style:none}
html:root body #content.avHistoryModern .avHistorySession>summary::-webkit-details-marker{display:none}
html:root body #content.avHistoryModern .avHistorySession>summary h3{font:600 16px/1.35 Inter,sans-serif!important;margin:0!important}
html:root body #content.avHistoryModern .avHistorySession>summary p.meta,html:root body #content.avHistoryModern .avHistoryDuration{font:400 12px/1.4 Inter,sans-serif!important;margin:0!important;color:#b9c3bd}
html:root body #content.avHistoryModern .avHistorySession .avHistoryCaption{font:500 13px/1.4 Inter,sans-serif!important;color:#c2ff45!important;margin-top:3px}
html:root body #content.avHistoryModern .avHistorySession .avHistoryBody{padding:14px 0 0!important}
html:root body #content.avHistoryModern .avUXChartData>summary{font-size:12px!important;min-height:44px!important}
html:root body #content.avHistoryModern :is(.avHistoryFold>summary,.avHistorySession>summary):focus-visible{outline:2px solid #c2ff45;outline-offset:4px;border-radius:4px}

html:root body #content.avHistoryModern>.avHistoryFrequency{display:grid!important;grid-template-columns:minmax(0,1fr) 116px;gap:8px 12px;align-items:center}
html:root body #content.avHistoryModern .avHistoryFrequency>h3{grid-column:1;grid-row:1;margin:0!important}
html:root body #content.avHistoryModern .avHistoryFrequency>label{grid-column:2;grid-row:1;width:100%;margin:0!important}
html:root body #content.avHistoryModern .avHistoryFrequency>:not(h3):not(label){grid-column:1/-1}
html:root body #content.avHistoryModern>.avHistoryFold{padding:8px 16px!important}
html:root body #content.avHistoryModern>.avHistoryFold[open]{padding-bottom:16px!important}

html:root body #content.avCompactSession>.avCompactSessionHead{grid-template-columns:minmax(0,1fr) 122px!important;gap:8px 10px!important;padding:14px!important;align-items:center}
html:root body #content .avCompactSessionHead .avLiveTitle>.eyebrow{white-space:nowrap;font-size:10px!important;letter-spacing:0!important;padding-left:50px!important;min-height:44px!important}
html:root body #content .avCompactSessionHead .avCompactClock{gap:2px;padding-left:10px;align-self:stretch}
html:root body #content .avCompactSessionHead .avCompactClock>div{display:flex;flex-direction:column;gap:2px}
html:root body #content .avCompactSessionHead .avCompactClock>button{min-height:44px;margin:0}
html:root body #content .avCompactSessionHead .avCompactCancel{color:#ffb6ab!important;width:100%;font-size:10px!important;line-height:1.2;padding:4px 0!important;text-align:center}
html:root body[data-theme=light] #content .avCompactSessionHead .avCompactCancel{color:#9a2818!important}
.avCancelConfirmation{width:min(360px,calc(100% - 32px));padding:22px;border-radius:20px}.avCancelConfirmation h2{font-size:20px}.avCancelConfirmation .actions{display:flex;flex-direction:column;gap:8px}.avCancelConfirmation button{min-height:44px;width:100%;margin:0}
@media(max-width:359px){html:root body #content.avCompactSession>.avCompactSessionHead{grid-template-columns:minmax(0,1fr) 90px!important;padding:12px!important;gap:8px!important}html:root body #content .avCompactSessionHead .avLiveTitle>.eyebrow{font-size:8px!important;padding-left:47px!important}}

/* 2026-10-24: shared Workout and History corrections. */
html:root body #modal .avStudentRating{position:relative;padding-top:42px!important}
html:root body #modal .avStudentRating .avRatingBack{position:absolute;top:0;left:0;width:44px;height:44px;min-width:44px;padding:10px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:inherit;display:grid;place-items:center}
html:root body #modal .avStudentRating .avRatingBack svg{width:24px;height:24px}
html:root body #modal .avStudentRating .actions{display:flex!important;justify-content:center!important}
html:root body #modal .avStudentRating #ratingConfirm{flex:1;max-width:460px;margin-inline:auto!important}
html:root body #modal .avStudentRating #ratingDial>.avRatingTrack{stroke:#e0ebcf!important;stroke-width:10px!important;stroke-linecap:round}
html:root body #modal .avStudentRating #avRatingProgress{transition:stroke-dashoffset .2s ease}
html:root body .avWorkoutSummary>h2{margin-top:0!important}
html:root body .avWorkoutCongrats{margin:18px 0 0!important;padding:16px 0 0!important;border:0;border-top:1px solid var(--line);font:500 16px/1.5 Inter,sans-serif!important}
html:root body .avWorkoutCongrats p{margin:0!important;font:inherit!important}
html:root body .avWorkoutCongrats em{font-style:italic!important}
html:root body .avWorkoutCongrats cite{display:block;text-align:right;font:500 13px/1.4 Inter,sans-serif;margin-top:10px;color:var(--muted)}
html:root body #content.avHistoryModern>.avHistorySessions{padding:16px!important;margin:0 0 12px!important;border:1px solid var(--line);border-radius:16px;background:var(--av-subtle-card,rgba(37,40,38,.6))}
html:root body #content.avHistoryModern .avHistorySessions>h2{margin:0 0 16px!important}
html:root body #content.avHistoryModern :is(.sectionHead h2,.avHistorySessions>h2,.avHistoryFold>summary){display:flex;align-items:center;gap:10px!important}
html:root body #content.avHistoryModern .avHistoryIcon{display:inline-flex;flex:0 0 24px;color:#c2ff45}
html:root body #content.avHistoryModern .avHistoryIcon svg{width:24px;height:24px;stroke:currentColor}
html:root body #content.avHistoryModern .avHistorySession{padding:16px!important;background:transparent!important;margin:0 0 10px!important;box-shadow:none!important}
html:root body #content.avHistoryModern .avHistorySession>summary{padding:0 28px 0 0!important;position:relative}
html:root body #content.avHistoryModern .avHistoryFold>.progressPanel{padding:0!important;border-radius:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html:root body #content.avHistoryModern .progressFilters :is(select,summary){min-height:46px!important;padding:10px 12px!important;border-radius:12px!important;box-sizing:border-box;font-size:14px!important;line-height:1.4!important}
html:root body #content.avHistoryModern .avSingleProgress{padding:20px 0 8px;display:flex;flex-direction:column;gap:8px}
html:root body #content.avHistoryModern .avSingleProgress strong{font:600 34px/1.2 Inter,sans-serif;color:#c2ff45}
html:root body #content.avHistoryModern .avSingleProgress small{font-size:16px}
html:root body #content.avHistoryModern .avSingleProgress :is(span,time,p){font-size:13px;color:var(--muted)}
html:root body #content.avHistoryModern .avWorkoutChart{color:#c2ff45}
html:root body[data-theme=light] #content.avHistoryModern :is(.avHistoryIcon,.avSingleProgress strong){color:#527600}
@media(prefers-reduced-motion:reduce){html:root body #modal .avStudentRating #avRatingProgress{transition:none}}
/* Match the greeting/profile anchor: 20px shell + 22px header inset. */
html:root body #content :is(.avAccountPageHead,.avCompactWeekHead){padding-top:22px!important;padding-bottom:24px!important;margin-top:0!important;align-items:center!important;min-height:64px;box-sizing:content-box}
html:root body #content .avCompactWeekHead .eyebrow{margin-top:0!important;filter:none!important;opacity:1!important}
html:root body #content .avFixedDayHeader{margin-top:22px!important}
html:root body #modal .avStudentRating #ratingDial{display:block;width:min(320px,100%);margin:0 auto;overflow:visible;touch-action:none}
html:root body #modal .avStudentRating #avRatingProgress{stroke:#c2ff45;stroke-width:10px;stroke-linecap:round;stroke-dasharray:100}
html:root body #modal .avStudentRating #dialKnob{fill:#c2ff45;stroke:#192518;stroke-width:3px}
html:root body #modal .avStudentRating .avRatingAdjust{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0}
html:root body #modal .avStudentRating .avRatingAdjust button{min-width:44px;min-height:44px}
html:root body #modal .avStudentRating .avRatingUnit{fill:var(--muted);font:12px Inter,sans-serif;letter-spacing:1px}
html:root body:is(.studentApp,.athvCoach) #content.avHistoryModern .avHistoryFold>.progressPanel#exerciseProgress,
html:root body:is(.studentApp,.athvCoach) #content.avHistoryModern .avHistoryFold>.progressPanel{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
html:root body:is(.studentApp,.athvCoach) #content.avHistoryModern details.avHistoryCompact.avHistorySession{padding:16px!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html:root body:is(.studentApp,.athvCoach) #modal .avStudentRating h2{font-family:'Archivo Black',Arial,sans-serif!important}

/* Approved home cards, isolated from week rows. */
@property --av-today-angle { syntax: '<angle>'; initial-value: 25deg; inherits: false; }
html:root body #content #avCalendarHome .avCalendarAssigned>.avCalendarCard{
 position:relative;isolation:isolate;overflow:visible;
 border:1px solid rgba(194,255,69,.22)!important;
 background:linear-gradient(145deg,rgba(51,61,49,.94),rgba(21,29,24,.97) 72%)!important;
 box-shadow:0 15px 28px -15px rgba(0,0,0,.85),0 4px 9px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.075)!important;
}
html:root body #content #avCalendarHome .avCalendarAssigned>.avCalendarCard::before{
 content:'';position:absolute;inset:-1px;padding:1.4px;border-radius:inherit;pointer-events:none;
 background:conic-gradient(from var(--av-today-angle),transparent 0deg,transparent 215deg,rgba(194,255,69,.12) 255deg,#c2ff45 295deg,rgba(224,255,173,.9) 310deg,transparent 340deg);
 -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
 animation:avTodayBorder 7s linear infinite;
}
@keyframes avTodayBorder{to{--av-today-angle:385deg}}
@media(prefers-reduced-motion:reduce){html:root body #content #avCalendarHome .avCalendarAssigned>.avCalendarCard::before{animation:none}}

html:root body #content #avCalendarHome .avCalendarRestCard{min-height:176px;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px!important}
html:root body #content #avCalendarHome .avCalendarRestCard .avRestHeading{margin:0;color:#c2ff45;font:600 11px/1.5 Inter,sans-serif;letter-spacing:1.6px}
html:root body #content #avCalendarHome .avCalendarRestCard h3{margin:0;font:500 20px/1.45 Inter,sans-serif;letter-spacing:-.3px;text-wrap:pretty}
html:root body[data-theme=light] #content #avCalendarHome .avCalendarAssigned>.avCalendarCard{background:linear-gradient(145deg,#f8fbf2,#e8efdf)!important;box-shadow:0 15px 28px -15px #26362042,inset 0 1px #fff!important}
html:root body[data-theme=light] #content #avCalendarHome .avCalendarRestCard .avRestHeading{color:#48651b}

/* Equal rhythm: calendar strip / status legend / daily card. */
html:root body #content #avCalendarHome .avCalendarStrip{margin-bottom:0!important}
html:root body #content #avCalendarHome .avCalendarLegend{margin-top:20px!important;margin-bottom:0!important;padding-bottom:0!important}
html:root body #content #avCalendarHome .avWorkoutCalendarSurface{margin-bottom:20px!important;padding-bottom:0!important}
html:root body #content #avCalendarHome .avCalendarAssigned{margin-top:0!important;padding-top:0!important}
/* Program cards: fixed depth, shared proportions across screen sizes. */
html:root body #content .avProgramDays{display:grid;gap:16px;margin-top:20px}
html:root body #content .avProgramName{font:650 20px/1.3 Inter,sans-serif;margin:16px 0 8px}
html:root body #content .avProgramDescription{white-space:pre-wrap;line-height:1.5;margin:8px 0 18px;color:var(--muted)}
html:root body #content .avProgramDay{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px;padding:18px;border:1px solid rgba(194,255,69,.18);border-radius:22px;background:linear-gradient(145deg,rgba(51,61,49,.94),rgba(21,29,24,.97) 72%);box-shadow:0 12px 24px -14px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.07);animation:none!important}
html:root body #content .avProgramDay>img,html:root body #content .avProgramArt{width:96px;height:132px;object-fit:cover;border-radius:14px;background:rgba(194,255,69,.07)}
html:root body #content .avProgramArt{display:grid;place-items:center;color:#c2ff45}
html:root body #content .avProgramArt svg{width:36px;height:36px}
html:root body #content .avProgramDay h3{font:600 17px/1.3 Inter,sans-serif;color:var(--ath-accent,#c2ff45);margin:8px 0;overflow-wrap:anywhere}
html:root body #content .avProgramDay .meta,html:root body #content .avProgramDates{font:400 12px/1.45 Inter,sans-serif;margin:4px 0;overflow-wrap:anywhere}
html:root body #content .avProgramDay button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;min-height:44px;padding:10px;font:500 13px/1.3 Inter,sans-serif}
html:root body[data-theme=light] #content .avProgramDay{background:linear-gradient(145deg,#f5f8ee,#e8efdf);border-color:rgba(70,100,30,.2);box-shadow:0 10px 24px -17px rgba(24,48,18,.4)}
html:root body #avProgramSchedule{grid-column:1/-1;min-width:0}
html:root body .avProgramDateRow{display:flex;gap:8px;align-items:center;margin:8px 0}
html:root body .avProgramDateRow input{flex:1;min-width:0}
html:root body .avProgramDateRow button{flex:0 0 44px;min-height:44px}
html:root body #content.avHistoryModern :is(.avWorkoutEvolution .sectionHead h2,.avHistorySessions>h2,.avHistoryFold>summary){font:600 18px/1.3 Inter,sans-serif!important}
@media(min-width:701px){
 html:root body:is(.studentApp,.athvCoach):not(.avConversation) main{width:100%!important;max-width:1100px!important;margin-inline:auto!important;box-sizing:border-box!important;padding-inline:28px!important;padding-bottom:140px!important}
 html:root body:is(.avAccountWorkout,.avAccountScreen,.avCalendarHome) #content,html:root body #content.avHistoryModern{width:100%!important;max-width:720px!important;margin-inline:auto!important;box-sizing:border-box!important}
 html:root body:is(.studentApp,.athvCoach):not(.avConversation) #nav{position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;top:auto!important;width:max-content!important;max-width:calc(100% - 32px)!important;margin:0!important;display:flex!important;justify-content:center!important;gap:4px!important;padding:8px!important;box-sizing:border-box!important;border-radius:40px!important}
 html:root body:is(.studentApp,.athvCoach) #nav button{flex:0 1 auto!important;min-width:76px!important;max-width:112px!important;min-height:56px!important;padding:10px 12px!important;font-size:11px!important}
}
@media(max-width:380px){html:root body #content .avProgramDay{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px}html:root body #content .avProgramDay>img,html:root body #content .avProgramArt{width:76px;height:116px}}
/* Restore approved dark glass and compact program cards. */
html:root body:not([data-theme=light]) #content #avCalendarHome .avCalendarAssigned>.avCalendarCard,
html:root body:not([data-theme=light]) #content .avProgramDay{background:var(--av-subtle-card,linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(24,27,24,.60))!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 20px -14px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.045)!important}
html:root body #content .avProgramDays{gap:10px;margin-top:12px}
html:root body #content .avProgramDay{grid-template-columns:74px minmax(0,1fr);gap:12px;padding:12px;border-radius:18px;border-color:rgba(255,255,255,.12)}
html:root body #content .avProgramDay>img,html:root body #content .avProgramArt{width:74px;height:100px;border-radius:10px}
html:root body #content .avProgramArt{background:rgba(255,255,255,.035)}
html:root body #content .avProgramDay h3{font-size:15px!important;line-height:1.25!important;margin:4px 0!important}
html:root body #content .avProgramDay .meta,html:root body #content .avProgramDates{font-size:11px;line-height:1.35;margin:3px 0}
html:root body #content .avProgramDay button{margin-top:6px;min-height:36px;padding:7px 9px;font-size:12px}
html:root body #content .avProgramDates summary{cursor:pointer;min-height:24px;align-content:center;font:400 11px/1.35 Inter,sans-serif}
html:root body #content .avProgramDates p{margin:6px 0;line-height:1.5}
html:root body #content .avCalendarPlanningHead{display:flex;justify-content:space-between;align-items:center;gap:12px}
html:root body #content .avCalendarPlanningHead h2{display:flex;align-items:center;gap:10px;font:650 20px/1.3 Inter,sans-serif!important}
html:root body #content .avProgramHeadingIcon{color:#c2ff45;display:inline-flex}
html:root body #content .avProgramHeadingIcon svg{width:24px;height:24px}
html:root body #content .avProgramName{font:600 16px/1.3 Inter,sans-serif!important;margin:14px 0 6px!important}
html:root body #content .avProgramDescription{font:400 13px/1.5 Inter,sans-serif;margin:6px 0 12px}
html:root body #content .avProgramCoachTitle{display:flex;align-items:center;justify-content:space-between;gap:12px}
html:root body #content .avProgramCoachTitle h3{margin:0!important;min-width:0}
html:root body #content .avProgramScheduleIcon{width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px!important;display:grid!important;place-items:center;padding:10px!important}
html:root body #content .avProgramScheduleIcon svg{width:22px;height:22px}
html:root body .avProgramPickerTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
html:root body .avProgramPickerTitle h2{font:600 18px/1.3 Inter,sans-serif!important;margin:0!important;min-width:0}
html:root body .avProgramConfirm{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;border:1px solid rgba(194,255,69,.4)!important;background:rgba(194,255,69,.12)!important;color:#c2ff45!important;border-radius:14px;padding:10px}
html:root body .avProgramConfirm svg{width:24px;height:24px}
html:root body .avProgramPickerHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}
html:root body .avProgramPickerHead h3{font:600 15px/1.3 Inter,sans-serif!important;text-transform:capitalize;margin:0!important}
html:root body .avProgramPickerGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
html:root body .avProgramPickerGrid>span{text-align:center;font:400 11px/1.5 Inter,sans-serif;padding:4px 0;color:var(--muted)}
html:root body .avProgramPickerGrid>button{min-width:0;width:100%;min-height:40px;padding:4px;border-radius:10px;background:transparent!important;border:1px solid transparent!important;color:inherit;font:500 14px/1 Inter,sans-serif}
html:root body .avProgramPickerGrid>button[aria-pressed=true],html:root body .avProgramMonthGrid>button[aria-pressed=true]{background:rgba(194,255,69,.18)!important;border:1px solid #c2ff45!important;color:#c2ff45!important}
html:root body .avProgramMonthGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html:root body .avProgramMonthGrid button{min-width:0;padding:10px 4px;font-size:13px;text-transform:capitalize}
html:root body .avProgramSaveError:empty{display:none}
html:root body .avProgramSaveError{color:#ffb2ac}
html:root body .avProgramVariants{margin-top:8px;font-size:12px}
html:root body .avProgramVariants summary{cursor:pointer;min-height:24px}
html:root body[data-theme=light] :is(.avProgramConfirm,.avProgramPickerGrid>button[aria-pressed=true],.avProgramMonthGrid>button[aria-pressed=true]){color:#4d7100!important;border-color:#4d7100!important}

/* Fixed luminous edge: daily-card parameters, no extra depth plate. */
html:root body.avAccountScreen #content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity,
html:root body #content .avProgramDay,
html:root body #content.avHistoryModern>:is(#avWorkoutEvolution,.avHistoryFold,.avHistorySessions){
 position:relative;border:1px solid rgba(194,255,69,.22)!important;
}
html:root body.avAccountScreen #content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity::before,
html:root body #content .avProgramDay::before,
html:root body #content.avHistoryModern>:is(#avWorkoutEvolution,.avHistoryFold,.avHistorySessions)::before{
 content:'';position:absolute;inset:0;width:auto;height:auto;box-sizing:border-box;padding:1.4px;border-radius:inherit;pointer-events:none;
 background:radial-gradient(ellipse 48% 65% at 50% 100%,rgba(224,255,173,.9) 0%,#c2ff45 16%,rgba(194,255,69,.12) 65%,transparent 100%),linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12));
 -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
 animation:none!important;
}

/* Profile account disclosures: approved dark glass, scoped away from app settings/navigation. */
html:root body.avAccountScreen:not([data-theme=light]) #content#content.avSettingsMinimal.avAccountListProfile :is(.avAccountIdentity,.avSettingsList>:is(#myForms,details.avSettingsRow),.avClientSubform){
 background:var(--av-subtle-card,linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(24,27,24,.60))!important;
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 border:1px solid var(--av-profile-border,rgba(255,255,255,.12))!important;border-radius:18px!important;
 box-shadow:var(--av-profile-shadow,inset 0 1px 0 rgba(255,255,255,.045))!important;
}
html:root body.avAccountScreen #content#content.avSettingsMinimal.avAccountListProfile .avSettingsList{display:grid;gap:12px}
html:root body.avAccountScreen #content#content.avSettingsMinimal.avAccountListProfile .avSettingsList>:is(#myForms,details.avSettingsRow)>summary{padding:16px!important;background:transparent!important;border-radius:inherit!important}
html:root body.avAccountScreen #content#content.avSettingsMinimal.avAccountListProfile .avSettingsList>:is(#myForms,details.avSettingsRow)>.avSettingsBody{padding:0 16px 16px!important}
html:root body.avAccountScreen #content#content.avSettingsMinimal.avAccountListProfile .avClientSubform{padding:14px;margin:10px 0}

html:root body.avAccountScreen #content#content.avSettingsMinimal.avAccountListProfile .avSettingsList{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* One continuous rim for profile/summary: preserve the existing border space. */
html:root body.avAccountScreen #content#content#content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity,
html:root body #content#content#content.avHistoryModern>#avWorkoutEvolution{
 --av-profile-border:transparent;--av-profile-shadow:none;border-color:transparent!important;box-shadow:none!important;
}
html:root body.avAccountScreen #content#content#content.avSettingsMinimal.avAccountListProfile>.avAccountIdentity::before,
html:root body #content#content#content.avHistoryModern>#avWorkoutEvolution::before{
 inset:-1px;padding:1px;
 background:radial-gradient(ellipse 60% 75% at 50% 100%,rgba(224,255,173,.9) 0%,#c2ff45 18%,rgba(194,255,69,.12) 70%,transparent 100%),linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12));
}

/* Independent Messages screen: no dock, no dock reservation, shared by all accounts. */
html:has(body.avStandaloneChat),html:root body.avStandaloneChat{overflow:hidden!important;overscroll-behavior:none!important}
html:root body.avStandaloneChat #nav#nav,html:root body.avStandaloneChat>header,html:root body.avStandaloneChat #avStaffHeader,html:root body.avStandaloneChat .intro,html:root body.avStandaloneChat footer{display:none!important}
html:root body.avStandaloneChat main:has(#content){position:fixed!important;top:var(--av-chat-top,0px)!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;height:var(--av-chat-height,100dvh)!important;min-height:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:var(--chat-canvas,#0b0f0e)!important;z-index:60;transform:none!important}
html:root body.avStandaloneChat #avStandaloneChatHead{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;flex:0 0 auto;position:relative;z-index:5;min-height:calc(64px + env(safe-area-inset-top,0px));padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;box-sizing:border-box;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(62,70,65,.55),rgba(11,15,14,.78));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
html:root body.avStandaloneChat #avStandaloneChatHead h1{font-family:Inter,system-ui,sans-serif!important;font-size:17px!important;font-weight:650!important;line-height:1.25!important;text-align:center;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:root body.avStandaloneChat #avStandaloneChatHead button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#C2FF45!important}
html:root body.avStandaloneChat #avStandaloneChatHead svg{width:24px;height:24px}
html:root body.avStandaloneChat #content#content{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;width:100%!important;max-width:900px!important;margin:0 auto!important;padding:0!important;overflow:hidden!important}
html:root body.avStandaloneChat .chatPerson,html:root body.avStandaloneChat [data-support-back],html:root body.avStandaloneChat.avConversation .supportTabs{display:none!important}
html:root body.avStandaloneChat :is(.chatWorkspace,.chatThread,.supportContent){display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;margin:0!important;gap:0!important;overflow:hidden!important}
html:root body.avStandaloneChat .chatWorkspace.hasThread .chatInbox,html:root body.avStandaloneChat .chatWorkspace:not(.hasThread) .chatThread{display:none!important}
html:root body.avStandaloneChat :is(.chatInbox,.supportContacts){flex:1;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
html:root body.avStandaloneChat .chatPanel{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;margin:0!important;overflow:hidden!important}
html:root body.avStandaloneChat .chatMessages{height:auto!important;max-height:none!important;min-height:0!important;flex:1 1 0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
html:root body.avStandaloneChat .chatComposer{flex:none!important;padding-bottom:max(10px,env(safe-area-inset-bottom,0px))!important}
html:root body.avStandaloneChat.chatKeyboard .chatComposer{padding-bottom:8px!important}

/* Conversation identity and private history actions. */
body.avStandaloneChat .avChatIdentity{display:flex;align-items:center;gap:10px;min-width:0}
body.avStandaloneChat .avChatIdentity>div{min-width:0}
html:root body.avStandaloneChat #avStandaloneChatHead .avChatIdentity h1{text-align:left;font-size:16px!important}
body.avStandaloneChat .avChatIdentity small{display:block;font:12px/1.5 Inter,system-ui,sans-serif;color:var(--muted,#aeb8b2)}
body.avStandaloneChat .avChatFace{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;box-sizing:border-box;border:1.5px solid #C2FF45;border-radius:50%;overflow:hidden;background:#202720;color:#C2FF45;font-size:14px;font-weight:600}
body.avStandaloneChat .avChatFace img{width:100%;height:100%;object-fit:cover}
body.avStandaloneChat #avChatMenu{position:absolute;right:12px;top:calc(100% - 4px);min-width:180px;padding:6px;background:#202622;border:1px solid #485149;border-radius:14px;box-shadow:0 12px 30px #0006}
body.avStandaloneChat #avChatMenu[hidden]{display:none!important}
html:root body.avStandaloneChat #avStandaloneChatHead #avChatMenu button{width:100%;height:44px;justify-content:flex-start;white-space:nowrap;color:#f2f5f3!important;font-size:14px}
#avChatConfirm{width:min(360px,calc(100vw - 40px));box-sizing:border-box;padding:22px;color:#f2f5f3;background:#1a211d;border:1px solid #4b554d;border-radius:20px;box-shadow:0 20px 50px #0008}
#avChatConfirm::backdrop{background:#0009;backdrop-filter:blur(5px)}
#avChatConfirm h2{font:700 20px/1.3 Inter,system-ui,sans-serif;margin:0 0 14px}
#avChatConfirm p{font:14px/1.5 Inter,system-ui,sans-serif;color:#c4cdc6}
#avChatConfirm>div{display:flex;gap:10px;margin-top:18px}
#avChatConfirm button{min-height:44px;flex:1;padding:10px;border-radius:12px;background:transparent;border:1px solid #4b554d;color:#f2f5f3;font:600 14px Inter,system-ui,sans-serif}
#avChatConfirm [data-chat-confirm]{background:#C2FF45;color:#0b0f0e;border-color:#C2FF45}
#avChatConfirm button:disabled{opacity:.5}

/* AV chat surfaces: approved brand canvas and neutral dark glass in all three apps. */
html:root:has(body.avStandaloneChat){background:#0B0F0E!important}
html:root body.avStandaloneChat{--chat-canvas:#0B0F0E;--chat-other:rgba(24,27,24,.75);--chat-own:#C2FF45;--chat-own-text:#0B0F0E;--text:#f2f5f3;--muted:#afb9b2;--line:rgba(255,255,255,.14);color:var(--text)!important;background:#0B0F0E!important;color-scheme:dark}
html:root body.avStandaloneChat main:has(#content){background:radial-gradient(ellipse at 95% 40%,rgba(44,99,105,.13),transparent 46%),#0B0F0E!important}
html:root body.avStandaloneChat #content#content,
html:root body.avStandaloneChat #content :is(.chatWorkspace,.chatThread,.supportContent,.chatPanel,.chatMessages,.chatInbox,.chatContacts,.supportContacts,.supportTabs,.chatFilters){background:transparent!important;box-shadow:none!important;border:0!important}
html:root body.avStandaloneChat #content :is(.chatInbox,.supportContacts){padding:12px 16px!important;border-radius:0!important}
html:root body.avStandaloneChat #content .chatContact,
html:root body.avStandaloneChat #content .chatMessages>.empty,
html:root body.avStandaloneChat #content :is(input[type=search],#chatText,#supportText),
html:root body.avStandaloneChat #avChatMenu,
html:root body.avStandaloneChat #avChatConfirm{
 background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(24,27,24,.60)!important;color:#f2f5f3!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px rgba(255,255,255,.035)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important
}
html:root body.avStandaloneChat #content .chatContact{padding:14px!important;margin:0 0 10px!important;border-radius:16px!important;min-height:70px;width:100%;text-align:left}
html:root body.avStandaloneChat #content .chatContact.selected{border-color:#C2FF45!important}
html:root body.avStandaloneChat #content :is(.chatContact small,.chatContact .meta,label,.empty){color:#afb9b2!important}
html:root body.avStandaloneChat #content .chatContact strong{color:#f2f5f3!important}
html:root body.avStandaloneChat #content :is(.supportTabs,.chatFilters) button{background:rgba(24,27,24,.75)!important;color:#c4cdc6!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;border-radius:12px!important}
html:root body.avStandaloneChat #content :is(.supportTabs,.chatFilters) button:is(.selected,[aria-pressed=true]){background:rgba(194,255,69,.12)!important;border-color:rgba(194,255,69,.45)!important;color:#C2FF45!important}
html:root body.avStandaloneChat #avStandaloneChatHead{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;isolation:isolate}
html:root body.avStandaloneChat #avStandaloneChatHead::before{content:none}
html:root body.avStandaloneChat #content .chatComposer{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;padding:8px 12px max(8px,env(safe-area-inset-bottom,0px))!important}
html:root body.avStandaloneChat #content .chatBubble:not(.mine)>p{background:linear-gradient(125deg,rgba(255,255,255,.045),transparent 65%),rgba(24,27,24,.75)!important;border:1px solid rgba(255,255,255,.12);color:#f2f5f3!important}
html:root body.avStandaloneChat #content .chatBubble.mine>p{background:#C2FF45!important;color:#0B0F0E!important}
html:root body.avStandaloneChat #content :is(#chatText,#supportText)::placeholder{color:#afb9b2!important;opacity:1}
html:root body.avStandaloneChat:is(.studentApp,.athvCoach) main:has(#content#content){padding:0!important}
html:root body.avStandaloneChat:is(.studentApp,.athvCoach) #content#content :is(.chatInbox,.supportContacts){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html:root body.avStandaloneChat #content#content :is(.avChatAttach,.avChatSend){color:#C2FF45!important}
html:root body.avStandaloneChat #content#content .avChatSend{background:#C2FF45!important;color:#0B0F0E!important}

/* Empty status must not reserve space below the floating composer. */
html:root body.avStandaloneChat #content :is(#chatStatus,#supportStatus):empty{display:none!important}
html:root body.avStandaloneChat.chatKeyboard #content .chatComposer{padding-bottom:8px!important}

/* Conversation only: move identity and controls 8px below the status area. */
html:root body.avStandaloneChat.avConversation #avStandaloneChatHead{min-height:calc(72px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px))}


/* Additional 6px only for Coach conversations; Mother and athlete retain their offsets. */
html:root body.avStandaloneChat.avConversation #avStandaloneChatHead.avCoachOnlyChatHead{min-height:calc(78px + env(safe-area-inset-top,0px));padding-top:calc(20px + env(safe-area-inset-top,0px))}
/* Chat peer profile: independent glass page, static reflection and full edge. */
html:root body.avStandaloneChat #avChatProfilePage{position:absolute;inset:0;z-index:20;overflow:auto;overscroll-behavior:contain;background:#0B0F0E;color:#f2f5f3;padding:0 20px max(24px,env(safe-area-inset-bottom,0px));box-sizing:border-box}
#avChatProfilePage .avPeerPageHead{display:grid!important;grid-template-columns:44px 1fr 44px;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 0 14px;background:transparent;border:0;position:static}
#avChatProfilePage .avPeerPageHead h2{text-align:center;font:600 18px Inter,sans-serif;margin:0}
#avChatProfilePage .avPeerPageHead button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:none;color:#C2FF45}
#avChatProfilePage svg{width:24px;height:24px;flex-shrink:0}
#avChatProfilePage .avPeerPageBody{max-width:420px;margin:12px auto 0}
#avChatProfilePage .avPeerGlass{position:relative;isolation:isolate;border:1px solid rgba(194,255,69,.45);border-radius:26px;padding:28px 24px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 48%),rgba(24,27,24,.6);box-shadow:inset 0 1px rgba(255,255,255,.16),0 12px 28px -18px #000;overflow:hidden;text-align:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#avChatProfilePage .avPeerGlass::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 65% 14% at 50% 100%,rgba(194,255,69,.18),transparent);border-radius:inherit}
#avChatProfilePage .avPeerGlass::after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent,#C2FF45,transparent);pointer-events:none}
#avChatProfilePage .avPeerPortrait .avChatFace{width:140px;height:140px;margin:0 auto 24px;border:2px solid #C2FF45;font-size:38px;background:#181b18;box-shadow:0 0 20px -12px #C2FF45}
#avChatProfilePage .avPeerName{font:700 27px/1.2 Inter,sans-serif;overflow-wrap:anywhere;margin:0 0 10px}
#avChatProfilePage .avPeerRole{font:500 12px/1.5 Inter,sans-serif;letter-spacing:3px;color:#afb9b2;margin:0 0 24px;text-transform:uppercase}
#avChatProfilePage .avPeerSince{display:flex;align-items:center;gap:18px;text-align:left;padding:24px 0;border-top:1px solid #ffffff20}
#avChatProfilePage .avPeerSince svg,#avChatProfilePage .avPeerTotal svg{color:#C2FF45}
#avChatProfilePage .avPeerSince span{display:block;color:#afb9b2;font:14px/1.5 Inter,sans-serif}
#avChatProfilePage .avPeerSince strong{display:block;font:600 16px/1.5 Inter,sans-serif}
#avChatProfilePage .avPeerTotal{display:grid;grid-template-columns:30px 1fr;align-items:center;text-align:left;gap:4px 18px;border-top:1px solid #ffffff20;padding-top:24px}
#avChatProfilePage .avPeerTotal strong{font:700 56px/1.1 Inter,sans-serif}
#avChatProfilePage .avPeerTotal span{grid-column:2;color:#afb9b2;font:14px/1.5 Inter,sans-serif}
#avChatProfilePage .avPeerReturn{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;margin-top:20px;border:1px solid #ffffff25;border-radius:18px;background:rgba(24,27,24,.75);color:#f2f5f3;font:500 14px Inter,sans-serif}
[data-chat-profile]{cursor:pointer}
[data-chat-profile]:focus-visible{outline:2px solid #C2FF45;outline-offset:4px;border-radius:10px}

html:root body .avProgramPickerGrid>button[aria-current=date]{position:relative}
html:root body .avProgramPickerGrid>button[aria-current=date]::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#fff;pointer-events:none}
html:root body .avProgramTodayLegend{display:flex;align-items:center;gap:6px;font-size:11px;margin:8px 0}
html:root body .avProgramTodayLegend::before{content:'';width:4px;height:4px;flex:0 0 4px;border-radius:50%;background:#fff}
