/* Layout tokens shared across the six palettes. */
:root{--sidebar-expanded:276px;--sidebar-collapsed:88px;--sidebar-width:var(--sidebar-expanded)}
.sidebar{width:var(--sidebar-width);overflow-y:auto;overflow-x:hidden;padding:var(--s6) var(--s4)}
.shell-content{margin-left:var(--sidebar-width);min-width:0}
.sidebar-brand{display:flex;gap:var(--s2);align-items:center;justify-content:space-between;margin-bottom:var(--s6)}
.sidebar-brand .brand{margin:0;min-width:0}.sidebar-toggle{flex-shrink:0}
.sidebar .nav-link{gap:var(--s3);padding:var(--s3);min-height:48px;white-space:normal;line-height:1.4;overflow:visible}
.sidebar .nav-link svg{flex-shrink:0}.sidebar .nav-text{min-width:0;overflow-wrap:anywhere;white-space:normal}
.sidebar .side-profile{gap:var(--s3);padding:var(--s3) var(--s2)}.sidebar .side-profile strong{overflow-wrap:anywhere}
.sidebar-bottom{margin-top:auto;padding-top:var(--s6)}
/* Shared account disclosure: a floating surface, with no reserved layout space. */
.topbar{gap:var(--s4)}.topbar-right{gap:var(--s4);flex-shrink:0}
.account-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text-primary);cursor:pointer}
.account-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.025em}
.account-trigger:hover,.account-trigger[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface)}
.account-trigger:focus-visible,.account-menu a:focus-visible,.account-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.account-menu{position:fixed;top:var(--account-top,84px);right:max(var(--account-right,16px),env(safe-area-inset-right));z-index:calc(var(--z-nav) + 5);width:min(320px,calc(100vw - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right))));max-height:max(0px,calc(var(--account-available,80dvh) - env(safe-area-inset-bottom)));overflow-y:auto;overscroll-behavior:contain;padding:var(--s2);border:1px solid var(--border-strong);border-radius:var(--r2);background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--shadow)}
.account-menu[hidden]{display:none}
.account-menu-identity{display:flex;gap:var(--s3);align-items:center;padding:var(--s3);margin-bottom:var(--s2);border-bottom:1px solid var(--border)}
.account-menu-identity>div{min-width:0}.account-menu-identity strong,.account-menu-identity>div>span{display:block;overflow-wrap:anywhere}
.account-menu-identity strong{font-size:var(--text-sm);font-weight:600}.account-menu-identity>div>span{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--s1);line-height:1.5}
.account-menu nav{display:grid;gap:var(--s1)}
.account-menu a,.account-menu button{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:46px;padding:var(--s3);border:0;border-radius:var(--r1);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);line-height:1.4;text-align:left;cursor:pointer}
.account-menu a>svg,.account-menu button>svg{flex-shrink:0}
.account-menu a:hover,.account-menu button:hover{background:var(--surface);color:var(--text-primary)}
.account-menu a[aria-current=page]{background:var(--surface);color:var(--accent)}
.account-menu-footer{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--border)}
.account-menu-footer button{color:var(--text-muted)}
#profile-training-settings{scroll-margin-top:var(--s6)}
@media(max-width:759px){.mobile-header>.inline{gap:var(--s2)}.mobile-header{height:calc(76px + env(safe-area-inset-top));padding-left:max(var(--s5),env(safe-area-inset-left));padding-right:max(var(--s5),env(safe-area-inset-right))}}
@media print{.account-menu{display:none!important}}
.training-hub{display:flex;justify-content:space-between;gap:var(--s8);align-items:center;border-top:3px solid var(--accent);padding:var(--s8)}
.training-hub h2{font-family:var(--display);font-size:var(--h1);margin:var(--s4) 0;overflow-wrap:anywhere}.training-hub p{margin:var(--s2) 0}
.training-hub-actions{display:flex;flex-direction:column;gap:var(--s3);min-width:230px}.training-hub-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);margin-top:var(--s8)}
.exercise-analysis .analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin:var(--s6) 0}
.exercise-analysis .metrics{margin:var(--s5) 0}.exercise-analysis .metric-value{font-size:clamp(1.4rem,2.5vw,2.5rem)}
.analysis-trend{display:flex;gap:var(--s4);align-items:flex-start;border-left:3px solid var(--accent);margin:var(--s5) 0}.analysis-trend p{margin-top:var(--s2)}
.analysis-session{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--border)}
.analysis-session:last-child{border-bottom:0}.analysis-session strong,.analysis-session small{display:block}
.analysis-table{width:100%;border-collapse:collapse}.analysis-table th,.analysis-table td{text-align:left;padding:var(--s3);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}
.library-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s4);align-items:end;margin-bottom:var(--s4)}
.library-search-row{display:flex;gap:var(--s3);margin-bottom:var(--s4)}.library-search-row .search-field{flex:1}.library-filter-mobile{display:none}
.exercise-relevance{display:block;font-size:var(--text-xs);color:var(--accent);margin-top:var(--s3)}
@media(min-width:760px){
 .sidebar{display:flex;align-items:stretch}
 .sidebar nav{width:100%}
 .sidebar .brand{padding:0;margin:0}
 .sidebar .nav-label,.sidebar .nav-link .nav-text,.sidebar .side-profile>.nav-text{display:block}
 .sidebar .adapt-mini{display:block}
 .sidebar .nav-link{width:100%;justify-content:flex-start}
 .sidebar .side-profile{justify-content:flex-start}
 :root[data-sidebar=collapsed]{--sidebar-width:var(--sidebar-collapsed)}
 [data-sidebar=collapsed] .sidebar{padding:var(--s5) var(--s3)}
 [data-sidebar=collapsed] .sidebar-brand{flex-direction:column;gap:var(--s4)}
 [data-sidebar=collapsed] .sidebar-brand .brand{font-size:0;gap:0}
 [data-sidebar=collapsed] .sidebar .nav-text,[data-sidebar=collapsed] .sidebar .nav-label,[data-sidebar=collapsed] .sidebar .adapt-mini{display:none}
 [data-sidebar=collapsed] .sidebar .nav-link,[data-sidebar=collapsed] .sidebar .side-profile{justify-content:center;padding:var(--s3)}
}
@media(max-width:1100px) and (min-width:760px){.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb{min-width:0}.breadcrumb strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{padding-left:var(--s6);padding-right:var(--s6)}.training-hub{flex-direction:column;align-items:stretch;padding:var(--s6)}.library-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-analysis .analysis-grid{grid-template-columns:1fr}}
@media(max-width:759px){.sidebar{display:none}.shell-content{margin-left:0}.training-hub{flex-direction:column;align-items:stretch;padding:var(--s6);gap:var(--s5)}.training-hub h2{font-size:2.4rem}.training-hub-footer{flex-direction:column;align-items:stretch}.exercise-analysis .analysis-grid{grid-template-columns:1fr}.library-controls{display:none}.library-filter-mobile{display:inline-flex}.analysis-session{align-items:flex-start;flex-wrap:wrap}.analysis-table{font-size:var(--text-sm)}.library-search-row input{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.sidebar,.shell-content{transition:none}}
/* Existing progress, coach and workout surfaces: factual context without extra navigation. */
.progress-insight{margin:var(--s5) 0 var(--s3);border-left:3px solid var(--accent);min-width:0}
.progress-insight>.eyebrow{margin-bottom:var(--s3)}
.progress-insight .card-header{align-items:flex-start;gap:var(--s3);margin-bottom:var(--s3)}
.progress-insight .card-header svg{flex-shrink:0}
.progress-insight h3{overflow-wrap:anywhere}.progress-insight p{line-height:1.6}
.progress-insight-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);margin:var(--s4) 0}
.progress-insight-evidence{min-width:0;padding:var(--s4);background:var(--surface);border-radius:var(--r1)}
.progress-insight-evidence>span,.progress-insight-evidence>strong{display:block;overflow-wrap:anywhere}
.progress-insight-evidence>strong{margin-top:var(--s2);font-variant-numeric:tabular-nums}
.progress-insight-evidence a{display:inline-block;padding:var(--s2) 0;text-decoration:underline;text-underline-offset:3px}
.progress-insight-link{margin-bottom:var(--s5)}.progress-insight-link a{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px}
.volume-completeness{line-height:1.6;margin:var(--s3) 0 var(--s5)}
.chart-gap-note{line-height:1.5;margin-top:var(--s3)}
.coach-period-status{color:var(--accent);font-size:var(--text-sm);margin:var(--s3) 0}
.coach-availability{line-height:1.6;margin-bottom:var(--s5)}
.coach-card h3{line-height:1.4}.coach-report>h3{margin:var(--s4) 0}
.exercise-heading-actions{display:flex;margin-top:var(--s3)}
.exercise-heading-actions .text-btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;text-align:left;padding:var(--s2) 0}
@media(max-width:759px){.progress-insight-pair{gap:var(--s3)}.progress-insight-evidence{padding:var(--s3)}.progress-insight{padding:var(--s5)}.coach-report h2{overflow-wrap:anywhere}}

.coach-report h2{font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.25;text-transform:none;overflow-wrap:normal}.coach-period-range{font-size:var(--text-base);line-height:1.6;margin-top:var(--s3)}
.coach-list,.coach-report{min-width:0}
.coach-report .report-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.coach-report .report-facts>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){.coach-layout{display:block}.coach-list{display:flex;gap:var(--s3);overflow-x:auto;margin-bottom:var(--s5)}.coach-list button{flex:0 0 240px;min-width:0}.coach-report{padding:var(--s6)}}

.exercise-leader .exercise-performance-note{color:var(--accent);margin-top:var(--s2);line-height:1.5}
