/* Shared workspace presentation. Public marketing and coach search stay separate. */
:is(body.app,body.portal-workspace){--workspace-border:#dce2d3;--workspace-soft:#f6f8f2;--workspace-green:#506900}
:is(body.app,body.portal-workspace) .app-main{min-width:0}
:is(body.app,body.portal-workspace) .page-heading{background:linear-gradient(120deg,#192016,#506900);border:1px solid #35451d;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 12px 35px #1920160d;gap:20px}
:is(body.app,body.portal-workspace) .page-heading>div:first-child h1{color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.2;margin:8px 0 12px}
:is(body.app,body.portal-workspace) .page-heading>div:first-child>p{color:#f0f3ea}
:is(body.app,body.portal-workspace) .page-heading>div:first-child>.eyebrow{color:#ceff3d;font-size:11px;letter-spacing:2px;font-weight:700}
:is(body.app,body.portal-workspace) .page-heading>.date-chip{background:#fff;color:#506900;border:1px solid #dce2d3;flex-shrink:0}
:is(body.app,body.portal-workspace) .panel{border-color:var(--workspace-border);border-radius:12px;box-shadow:0 4px 16px #19201605;background:#fff}
:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav){display:flex;flex-wrap:wrap;gap:0;background:#f0f3ea;border:1px solid var(--workspace-border);border-radius:12px;padding:0 8px;margin-bottom:22px}
:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav)>a{border:0;border-radius:0;background:transparent;color:#596351;font-size:13px;font-weight:700;padding:16px 12px;box-shadow:none}
:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav)>a:is([aria-current],.active,.selected){background:#fff;color:#506900;box-shadow:inset 0 3px #506900}
:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav)>a:focus-visible{outline:3px solid #506900;outline-offset:-3px}
:is(body.app,body.portal-workspace) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select){background:#fafbf8;border-color:#cdd5c3}
:is(body.app,body.portal-workspace) :is(input,textarea,select):focus-visible{outline-color:#506900}
:is(body.app,body.portal-workspace) .panel>h2{font-size:22px}
:is(body.app,body.portal-workspace) :is(.lesson-row,.coach-lesson-result){border-color:#dce2d3}
:is(body.app,body.portal-workspace) .button.secondary{border-color:#cdd5c3;color:#506900}
/* Keep the athlete's compact summary and highlighted goals distinct from the banner. */
body.app .athlete-goal-heading .dashboard-summary{background:#fff;border-radius:12px}
body.app .athlete-goal-heading .dashboard-summary :is(dt,dd){color:#192016}
body.portal-workspace .app-main{max-width:1200px;margin:32px auto;padding:0 24px}
@media(max-width:760px){:is(body.app,body.portal-workspace) .page-heading{padding:20px 18px;border-radius:12px;gap:14px}:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav){padding:0 4px}:is(body.app,body.portal-workspace) :is(.schedule-shortcuts,.coach-calendar-nav,.athlete-schedule-nav)>a{padding:13px 10px;font-size:12px}body.portal-workspace .app-main{padding:0 16px;margin:24px auto}}
/* Compact athlete header, with summary and goals in their own balanced row. */
body.app .page-heading.athlete-goal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;margin-bottom:20px}body.app .athlete-goal-heading>div:first-child{min-width:0}body.app .athlete-goal-heading .date-chip{display:block;white-space:nowrap}body.app .athlete-goal-heading>div:first-child>p:last-child{margin-bottom:0}.athlete-dashboard-overview{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}.athlete-dashboard-overview>.dashboard-summary{flex:1 1 360px;max-width:560px}.athlete-dashboard-overview .dashboard-summary dl>div{background:#fff;padding:16px 14px;border-color:#dce2d3}.athlete-dashboard-overview>.dashboard-goals{margin:0;flex:0 1 auto}.athlete-dashboard-overview .dashboard-summary dd{text-transform:capitalize}.athlete-dashboard-overview .dashboard-summary dt{line-height:1.4}@media(max-width:760px){body.app .page-heading.athlete-goal-heading{padding:20px 18px;align-items:flex-start}.athlete-dashboard-overview{gap:16px}.athlete-dashboard-overview>.dashboard-summary{flex-basis:100%;max-width:none}.athlete-dashboard-overview .dashboard-summary dl{gap:8px}.athlete-dashboard-overview .dashboard-summary dl>div{padding:12px 8px}.athlete-dashboard-overview>.dashboard-goals{width:100%;max-width:100%}}@media(max-width:420px){body.app .page-heading.athlete-goal-heading{flex-wrap:wrap}.athlete-goal-heading .date-chip{font-size:11px}}
/* Independent mobile navigation for both coach and athlete workspaces. */
body.app .sidebar.mobile-menu-ready>.workspace-toggle{display:none}@media(max-width:820px){body.app .sidebar.mobile-menu-ready{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}body.app .sidebar.mobile-menu-ready>.brand{margin:0;min-width:0}body.app .sidebar.mobile-menu-ready>.brand img{max-width:min(190px,52vw)}body.app .sidebar.mobile-menu-ready>.workspace-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 14px}body.app .sidebar.mobile-menu-ready:not(.menu-open)>:is(#workspace-navigation,.nav-caption,.workspace-name,.sidebar-bottom){display:none}body.app .sidebar.mobile-menu-ready.menu-open>:is(#workspace-navigation,.nav-caption,.workspace-name,.sidebar-bottom){flex-basis:100%;width:100%}body.app .sidebar.mobile-menu-ready.menu-open>#workspace-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
/* One banner layout for every workspace destination. */
body.app .page-heading,body.portal-workspace .page-heading,body.app .page-heading.athlete-goal-heading,body.app .tk-studio-banner{display:flex;align-items:center;justify-content:space-between;min-height:166px;box-sizing:border-box;padding:28px;margin:0 0 24px;border:1px solid #35451d;border-radius:16px;background:linear-gradient(120deg,#192016,#506900);box-shadow:0 12px 35px #1920160d;gap:20px}
body.app .page-heading>div:first-child,body.portal-workspace .page-heading>div:first-child{min-width:0}
body.app .page-heading h1,body.portal-workspace .page-heading h1,body.app .tk-studio-banner h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin:8px 0 12px;color:#fff}
body.app .page-heading>div>p:last-child,body.portal-workspace .page-heading>div>p:last-child{font-size:15px;line-height:1.55;margin:0;color:#f0f3ea}
body.app .page-heading .eyebrow,body.portal-workspace .page-heading .eyebrow{margin:0;color:#ceff3d;font-size:11px;letter-spacing:2px;font-weight:700}
body.app .tk-shell.tk-studio{padding:0;border:0;background:transparent;box-shadow:none}body.app .tk-studio-banner{display:block}body.app .tk-studio-banner span{font-size:15px;line-height:1.55;color:#f0f3ea}body.app .tk-studio>nav[aria-label="Toolkit navigation"]{margin:0 0 24px;border:1px solid #dce2d3;border-radius:12px}
body.app .help-page{max-width:none;margin:0;padding:0}body.app .help-page>.page-heading{margin:0 0 24px;text-align:left}
@media(max-width:760px){body.app .page-heading,body.portal-workspace .page-heading,body.app .page-heading.athlete-goal-heading,body.app .tk-studio-banner{padding:20px 18px;min-height:0;border-radius:12px;gap:14px;flex-wrap:wrap}}
body.app .page-heading.coach-dashboard-heading{flex-wrap:wrap}.dashboard-alerts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex-basis:100%;width:100%}.dashboard-alerts .dashboard-alert{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:16px 18px;border:1px solid #dce2d3;border-radius:10px;background:#f1f3eb;color:#34430e}.dashboard-alerts .dashboard-alert.needs-attention{background:#f3f5bd;border-color:#d3da85}.dashboard-alert>span{font-size:14px;font-weight:700}.dashboard-alert>strong{font-size:28px;line-height:1.1;grid-row:span 2}.dashboard-alert>small{font-size:12px}.dashboard-alert:hover{box-shadow:0 3px 12px #0002}.dashboard-alert:focus-visible{outline:3px solid #ceff3d;outline-offset:3px}@media(max-width:650px){.dashboard-alerts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}

.athlete-dashboard-overview>.dashboard-goals{margin-left:auto}
@media(max-width:820px){body.app.mobile-header-menu .app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}body.app.mobile-header-menu .app-header>.breadcrumb{display:none}body.app.mobile-header-menu .app-header>.workspace-toggle{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;min-height:44px;padding:8px 12px;margin:0;flex-shrink:0}body.app.mobile-header-menu .app-header .user-menu{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}body.app.mobile-header-menu .app-header .user-menu>span{display:none}body.app.mobile-header-menu .app-header .user-menu form{margin:0;flex-shrink:0}body.app.mobile-header-menu .sidebar.mobile-menu-ready{position:static;width:100%;height:auto;min-height:0;text-align:left;padding:12px 16px}body.app.mobile-header-menu .sidebar.mobile-menu-ready:not(.menu-open){display:none}body.app.mobile-header-menu .sidebar.mobile-menu-ready>.brand{display:none}body.app.mobile-header-menu .sidebar.mobile-menu-ready.menu-open>#workspace-navigation{display:flex;flex-direction:column;align-items:stretch}body.app.mobile-header-menu #workspace-navigation>a{justify-content:flex-start;text-align:left}}

.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:10px;flex-basis:100%}body.app .dashboard-quick-actions .button.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;margin:0;background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.38);border-radius:9px;font-size:14px;font-weight:600;line-height:1.3;box-shadow:none;transition:background .15s,border-color .15s}body.app .dashboard-quick-actions .button.secondary:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7);color:#fff}.dashboard-quick-actions a:focus-visible{outline:3px solid #ceff3d;outline-offset:3px}

.dashboard-alerts{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-quick-card{padding:16px 18px;border:1px solid rgba(255,255,255,.38);border-radius:10px;background:rgba(255,255,255,.07);min-width:0}.dashboard-quick-card>span{display:block;color:#fff;font-size:14px;font-weight:700;margin-bottom:10px}.dashboard-quick-card .dashboard-quick-actions{gap:8px}.dashboard-quick-card .dashboard-quick-actions .button.secondary{padding:8px 12px;flex:1 1 110px;font-size:13px}@media(max-width:1100px){.dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.dashboard-alerts{grid-template-columns:1fr}}
