:root{--surface-sunk:var(--surface,var(--movum-surface-sunk));--surface-panel:var(--surface-raised,var(--movum-surface));--surface-subtle:var(--surface-soft,var(--movum-surface-soft));--ink-primary:var(--ink,var(--movum-ink));--ink-secondary:var(--ink-muted,var(--movum-ink-soft));--ink-tertiary:var(--muted,var(--movum-ink-faint));--rule:var(--border,var(--movum-rule));--accent:var(--focus-ring,var(--movum-accent));--critical:var(--danger,var(--movum-critical));--control-radius:var(--movum-radius-control);--surface-radius:var(--movum-radius-surface);--container-radius:var(--movum-radius-container);--surface-shadow:var(--movum-shadow-surface);--layer-shadow:var(--movum-shadow-layer);--space-1:var(--movum-space-1);--space-2:var(--movum-space-2);--space-3:var(--movum-space-3);--space-4:var(--movum-space-4);--space-6:var(--movum-space-6);--space-8:var(--movum-space-8);--space-12:var(--movum-space-12);--space-16:var(--movum-space-16)}.skip-link{position:fixed;inset-block-start:max(var(--space-2),env(safe-area-inset-top));inset-inline-start:max(var(--space-2),env(safe-area-inset-left));z-index:100000;min-block-size:var(--movum-control-min);padding:var(--space-2) var(--space-4);border:2px solid var(--accent);border-radius:var(--control-radius);background:var(--surface-panel);color:var(--ink-primary);font-weight:700;text-decoration:none;box-shadow:var(--layer-shadow);transform:translateY(calc(-100% - var(--space-6)));transition:transform var(--movum-motion-fast) ease}.skip-link:focus-visible{transform:translateY(0)}#main-content{min-block-size:100%;scroll-margin-block-start:24px}.brand-mark{min-inline-size:var(--movum-control-min)}.app-sidebar .sidebar-plan a,.brand-mark{min-block-size:var(--movum-control-min)}:where(button,[role=button],input,select,textarea,summary,a[href]):focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 3px var(--surface-panel)}:where(button,[role=button],input:not([type=checkbox]):not([type=radio]),select){min-block-size:var(--movum-control-min)}:where(button,[role=button],a[href],input,select,textarea)[aria-disabled=true],:where(button,input,select,textarea):disabled{cursor:not-allowed}.sr-only,.visually-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (max-width:640px){:where(button,[role=button],input:not([type=checkbox]):not([type=radio]),select){min-block-size:var(--movum-control-min-mobile)}}.movum-field,.movum-progress{display:grid;min-inline-size:0;gap:var(--space-2)}.movum-field__label,.movum-progress__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);color:var(--ink-primary);font-size:var(--movum-text-base);font-weight:650}.movum-field__hint,.movum-field__optional,.movum-progress__detail{color:var(--ink-secondary);font-size:var(--movum-text-sm);font-weight:400}.movum-field__error,.movum-field__hint{margin:0}.movum-field__error{color:var(--critical);font-size:var(--movum-text-sm);font-weight:600}.movum-field :is(input,select,textarea)[aria-invalid=true]{border-color:var(--critical);box-shadow:0 0 0 1px var(--critical)}.movum-progress__header{font-size:var(--movum-text-sm)}.movum-progress__track{overflow:hidden;block-size:10px;border-radius:var(--movum-radius-pill);background:var(--surface-sunk)}.movum-progress__value{display:block;block-size:100%;border-radius:inherit;background:var(--accent);transition:width var(--movum-motion-fast) ease}.private-route-state{display:grid;inline-size:min(calc(100% - 32px),var(--movum-content-standard));min-block-size:50dvh;margin:0 auto;padding-block:clamp(calc(var(--space-8) + var(--space-2)),8vw,calc(var(--space-16) + var(--space-8)));align-content:start;gap:var(--space-6)}.private-route-state__header{display:flex;align-items:center;gap:var(--space-4)}.private-route-state__header :is(p,h1){margin:0}.private-route-state__pulse{inline-size:48px;block-size:48px;border-radius:var(--movum-radius-control);background:var(--surface-subtle);animation:movum-loading-pulse 1.4s ease-in-out infinite}.private-route-state__skeleton{display:grid;gap:var(--space-3)}.private-route-state__skeleton span{display:block;block-size:84px;border-radius:var(--movum-radius-surface);background:linear-gradient(100deg,var(--surface-subtle),var(--surface-panel),var(--surface-subtle));background-size:220% 100%;animation:movum-loading-shimmer 1.6s linear infinite}@media (max-width:820px){.app-shell .private-route-state{padding-block-end:calc(var(--space-16) + var(--space-8) + env(safe-area-inset-bottom))}}@keyframes movum-loading-pulse{50%{opacity:.5}}@keyframes movum-loading-shimmer{to{background-position:-220% 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-movum-dialog-open=true]{overflow:hidden}.movum-button{display:inline-flex;min-block-size:50px;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--control-radius);font:inherit;font-weight:700;cursor:pointer;transition:background-color var(--movum-motion-fast) ease,border-color var(--movum-motion-fast) ease,opacity var(--movum-motion-fast) ease}.movum-button__labels{display:grid;min-inline-size:0}.movum-button__labels>span{grid-area:1/1}.movum-button__labels>.is-hidden{visibility:hidden}.movum-button--primary{background:var(--movum-pulse);color:var(--movum-night)}.movum-button--commit{background:var(--movum-motion-dark);color:var(--movum-white)}.movum-button--quiet,.movum-button--secondary{border-color:var(--rule);background:var(--surface-panel);color:var(--ink-primary)}.movum-button--quiet{border-color:transparent}.movum-button--danger{border-color:var(--critical);background:var(--surface-panel);color:var(--critical)}.movum-button:disabled{opacity:.58}.movum-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--surface-radius);background:var(--surface-subtle);color:var(--ink-primary);font-size:var(--movum-text-base);line-height:1.5}.movum-notice--success{border-color:var(--movum-motion);background:var(--movum-mist)}.movum-notice--warning{border-color:var(--movum-warning-border);background:var(--movum-warning-soft);color:var(--movum-warning-ink)}.movum-notice--error{border-color:var(--movum-danger-border);background:var(--movum-danger-soft);color:var(--movum-danger-ink)}.movum-notice__content>strong{display:block;margin-block-end:var(--space-1)}.movum-empty-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--rule);border-radius:var(--surface-radius);background:var(--surface-panel)}.movum-empty-state h2,.movum-empty-state p{margin:0}.movum-empty-state__description{margin-block-start:var(--space-2);color:var(--ink-secondary)}.movum-dialog{position:fixed;inset:0;inline-size:min(calc(100% - 32px),var(--movum-content-standard));max-block-size:min(88dvh,900px);margin:auto;padding:0;border:0;background:transparent;color:var(--ink-primary);overflow:visible}.movum-dialog--compact{max-inline-size:34rem}.movum-dialog--wide{inline-size:min(calc(100% - 32px),var(--movum-content-wide));max-inline-size:var(--movum-content-wide)}.movum-dialog--workspace{inline-size:min(calc(100% - 32px),76.5rem);max-inline-size:76.5rem}.movum-dialog--wide .movum-dialog__body,.movum-dialog--workspace .movum-dialog__body{overflow-x:hidden;overflow-y:auto}.movum-dialog::backdrop{background:rgb(0 39 33/62%);backdrop-filter:blur(4px)}.movum-dialog__surface{display:grid;max-block-size:inherit;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--rule);border-radius:var(--container-radius);background:var(--surface-panel);box-shadow:var(--layer-shadow)}.movum-dialog__actions,.movum-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:calc(var(--space-4) + var(--space-1)) var(--space-6)}.movum-dialog__header{border-block-end:1px solid var(--rule)}.movum-dialog__consequence,.movum-dialog__header h2,.movum-dialog__header p{margin:0}.movum-dialog__header h2{font-size:var(--movum-text-section-title)}.movum-dialog__header>div>div{margin-block-start:var(--space-2);color:var(--ink-secondary)}.movum-dialog__close{display:inline-grid;min-inline-size:var(--movum-control-min);place-items:center;border:1px solid var(--rule);border-radius:var(--control-radius);background:var(--surface-panel)}.movum-dialog__body{min-block-size:0;overflow:auto;padding:var(--space-6)}.movum-dialog__actions{justify-content:flex-end;border-block-start:1px solid var(--rule)}@media (max-width:640px){.movum-empty-state,.movum-notice{grid-template-columns:auto minmax(0,1fr)}.movum-empty-state__action,.movum-notice__action{grid-column:1/-1}.movum-dialog{inline-size:100%;max-block-size:calc(100dvh - env(safe-area-inset-top));margin-block-end:0}.movum-dialog--workspace{inset-block-start:env(safe-area-inset-top);inset-block-end:env(safe-area-inset-bottom);inset-inline-start:env(safe-area-inset-left);inset-inline-end:env(safe-area-inset-right);inline-size:calc(100% - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));max-block-size:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto}.movum-dialog__surface{border-end-start-radius:0;border-end-end-radius:0}.movum-dialog--workspace .movum-dialog__surface{border-radius:var(--container-radius)}.movum-dialog__actions{padding-block-end:max(calc(var(--space-4) + var(--space-1)),env(safe-area-inset-bottom))}}.app-topbar h1{font-size:var(--movum-text-app-title)}.client-experience .client-blocked-note p,.client-experience .client-plan-card p,.client-experience .client-profile-card p,.client-experience .coach-message-card blockquote,.client-experience .readiness-copy p,.client-experience .today-content>p,.dashboard-content .activity-item strong,.dashboard-content .agenda-item strong,.dashboard-content .client-row:not(.client-header),.dashboard-content .conversation-shortcuts strong,.dashboard-content .copilot-card p,.dashboard-content .priority-explanation,.dashboard-content .priority-profile strong,.dashboard-content .subscription-notice{font-size:var(--movum-text-base);line-height:1.5}.dashboard-content .calendar-link,.dashboard-content .copilot-card button,.dashboard-content .subscription-notice a,.dashboard-content .workspace-search input,.dashboard-content .workspace-status button{font-size:var(--movum-text-base);line-height:1.25}.app-shell .primary-action,.app-shell .secondary-action,.app-sidebar .sidebar-plan a,.app-sidebar .sidebar-settings,.app-sidebar .workspace-chip strong,.app-sidebar nav a,.app-topbar p,.client-experience .client-greeting p,.client-experience .client-inline-link,.client-experience .client-message-form>label,.client-experience .client-message-thread small,.client-experience .client-privacy-card small,.client-experience .client-privacy-card strong,.client-experience .client-privacy-card>a,.client-experience .client-report-form label,.client-experience .client-safety-bar small,.client-experience .client-safety-bar strong,.client-experience .client-section-nav button,.client-experience .client-signal-grid span,.client-experience .client-tour-replay,.client-experience .client-workout-availability button,.client-experience .client-workout-availability p,.client-experience .coach-message-card button,.client-experience .coach-message-card p,.client-experience .coach-message-card strong,.client-experience .macro-row strong,.client-experience .next-step-card p,.client-experience .next-step-card strong,.client-experience .readiness-score p,.client-experience .readiness-score small,.client-experience .readiness-score span,.client-experience .today-meta span,.client-experience .today-next-details li,.client-experience .today-time-state,.client-experience .weekly-card>a,.client-experience .weekly-card>p,.client-experience .workout-agenda-plan-controls label,.client-workspace .measurement-list small,.client-workspace .measurement-list span,.client-workspace .timeline-360-degraded,.client-workspace .timeline-360-empty p,.client-workspace .timeline-360-event p,.client-workspace .timeline-360-filters button,.client-workspace .workspace-form label,.client-workspace .workspace-form p,.client-workspace .workspace-metrics span,.client-workspace .workspace-plan-view-switcher strong,.client-workspace .workspace-tabs button,.client-workspace-header .back-link,.dashboard-content .activity-item p,.dashboard-content .agenda-item p,.dashboard-content .agenda-item time,.dashboard-content .client-header,.dashboard-content .conversation-shortcuts small,.dashboard-content .metric-grid article>p,.dashboard-content .metric-heading,.dashboard-content .priority-profile p,.dashboard-content .signal-row small,.dashboard-content .signal-row span,.dashboard-content .template-type-actions button,.dashboard-content .workspace-search label,.dashboard-content :is(.primary-action,.secondary-action),.mobile-app-more-panel a,.mobile-app-more-panel button,.professional-day-dialog-list a>span:last-child,.professional-day-dialog-list b,.professional-day-dialog-list small,.professional-week-agenda .surface-heading>div:first-child>p,.professional-week-grid a strong{font-size:var(--movum-text-sm);line-height:1.45}.app-sidebar .sidebar-plan small,.app-sidebar .workspace-chip small,.app-sidebar .workspace-chip>span,.client-experience .activity-tag,.client-experience .client-plan-card small,.client-experience .client-profile-card small,.client-experience .client-published-badge,.client-experience .client-published-label,.client-experience .client-tab-view>header>span,.client-experience .macro-row span,.client-experience .readiness-copy>span,.client-experience .section-title span,.client-experience .weekly-days span,.client-workspace .timeline-360-event small,.client-workspace .timeline-360-event time,.client-workspace .workspace-plan-view-switcher small,.dashboard-content .copilot-card>span,.dashboard-content .settings-heading small,.dashboard-content .status-pill,.icon-button.has-count .notification-count,.mobile-app-brand,.mobile-app-nav a,.mobile-app-nav>button,.professional-week-grid a small,.professional-week-grid>section>header small,.professional-week-grid>section>header span,.professional-week-legend>span,.surface-kicker{font-size:var(--movum-text-xs);line-height:1.35}.mobile-app-nav a,.mobile-app-nav>button{line-height:1.2}.app-topbar h1,.client-experience .client-greeting h1,.client-experience .client-tab-view>header h1,.client-experience .readiness-copy h2,.client-experience .section-title h2,.client-experience .today-content h3,.client-experience .weekly-card .section-title>strong,.client-workspace .workspace-panel-grid h2,.client-workspace .workspace-single h2,.client-workspace .workspace-two-column h2,.dashboard-content .settings-heading h2,.dashboard-content .surface-heading h2{font-weight:700}.app-shell .primary-action,.app-shell .secondary-action,.app-sidebar .sidebar-plan a,.app-sidebar nav a,.client-experience .client-greeting p,.client-experience .client-inline-link,.client-experience .client-message-form>label,.client-experience .client-privacy-card>a,.client-experience .client-report-form label,.client-experience .client-section-nav button,.client-experience .client-tour-replay,.client-experience .client-workout-availability button,.client-experience .coach-message-card button,.client-experience .readiness-score span,.client-experience .today-time-state,.client-experience .weekly-card>a,.client-experience .workout-agenda-plan-controls label,.client-workspace .timeline-360-filters button,.client-workspace .timeline-360-state button,.client-workspace .workspace-form label,.client-workspace .workspace-tabs button,.client-workspace-header .back-link,.client-workspace-header .client-workspace-meta span:last-child,.dashboard-content .calendar-link,.dashboard-content .copilot-card button,.dashboard-content .subscription-notice a,.dashboard-content .template-type-actions button,.dashboard-content .workspace-status button,.dashboard-content :is(.primary-action,.secondary-action),.mobile-app-more-panel a,.mobile-app-more-panel button,.mobile-app-nav a,.mobile-app-nav>button,.professional-day-dialog-list a>span:last-child,.professional-week-legend>span{font-weight:600}.app-sidebar .sidebar-plan small,.app-sidebar .workspace-chip>span,.client-experience .activity-tag,.client-experience .client-plan-card small,.client-experience .client-profile-card small,.client-experience .client-published-badge,.client-experience .client-published-label,.client-experience .client-section-nav button.active,.client-experience .client-tab-view>header>span,.client-experience .readiness-copy>span,.client-experience .section-title span,.dashboard-content .client-header,.dashboard-content .copilot-card>span,.dashboard-content .settings-heading small,.dashboard-content .status-pill,.icon-button.has-count .notification-count,.mobile-app-brand,.professional-week-grid>section>header small,.professional-week-grid>section>header span,.professional-week-grid>section>header time,.surface-kicker{font-weight:700}