:root,html[data-theme=studio]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#edf3ee;--paper:#f3f6f2;--sidebar-bg:#1b4332;--sidebar-border:#2d6a4f;--sidebar-text:#b7e4c7;--sidebar-hover-bg:#f1f0e814;--sidebar-hover-text:#f1f0e8;--sidebar-active-bg:#f1f0e8;--sidebar-active-text:#1b4332;--sidebar-section:#95d5b2;--surface:#f8faf7;--surface-hover:#edf3ee;--surface-elevated:#fff;--border:#c7d3ca;--border-strong:#8ca597;--border-focus:#2d6a4f;--text-primary:#081c15;--text-secondary:#365447;--text-muted:#60756b;--accent:#2d6a4f;--accent-hover:#1b4332;--accent-bg:#d8f3dc;--accent-text:#1b4332;--accent-contrast:#f8faf7;--progress:#40916c;--progress-bg:#d8f3dc;--input-bg:#fff;--input-border:#aabdaf;--modal-bg:#f8faf7;--modal-overlay:#0e1a13a8;--danger:#9b3d2f;--danger-bg:#f2dfda;--danger-border:#c68c81;--warning:#81540f;--warning-bg:#f2e6c8;--warning-border:#c7a65b;--blue:#1e6091;--scrollbar:#aeb8af;--shadow:0 18px 44px #18201c38;--shadow-sm:0 7px 18px #18201c1f;--focus-ring:#52b788;--circuit-1:#2d6a4f;--circuit-2:#1e6091;--circuit-3:#40916c;--circuit-4:#168aad;--circuit-5:#1b4332;--radius-sm:4px;--radius-md:3px;--radius-lg:4px}html[data-theme=iron]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--app-bg:#081c15;--paper:#10291f;--sidebar-bg:#081c15;--sidebar-border:#2d6a4f;--sidebar-text:#95d5b2;--sidebar-hover-bg:#eef1e814;--sidebar-hover-text:#eef1e8;--sidebar-active-bg:#d8f3dc;--sidebar-active-text:#1b4332;--sidebar-section:#74c69d;--surface:#10291f;--surface-hover:#173b2d;--surface-elevated:#153326;--border:#2d5844;--border-strong:#52816b;--border-focus:#74c69d;--text-primary:#edf7ef;--text-secondary:#b7d3c1;--text-muted:#8eaa99;--accent:#74c69d;--accent-hover:#95d5b2;--accent-bg:#1b4332;--accent-text:#b7e4c7;--accent-contrast:#081c15;--progress:#52b788;--progress-bg:#1b4332;--input-bg:#0d241b;--input-border:#3f7059;--modal-bg:#10291f;--modal-overlay:#020805c7;--danger:#ef8c79;--danger-bg:#bf4a372b;--danger-border:#985344;--warning:#e4bd68;--warning-bg:#ca973429;--warning-border:#80662d;--blue:#52b69a;--circuit-1:#b7e4c7;--circuit-2:#52b69a;--circuit-3:#95d5b2;--circuit-4:#34a0a4;--circuit-5:#74c69d;--scrollbar:#536158;--shadow:0 20px 48px #00000080;--shadow-sm:0 8px 20px #00000057;--focus-ring:#70e49d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--app-bg);color:var(--text-primary);font-family:var(--font-barlow), Barlow, sans-serif;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}button,input,select,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}::selection{background:var(--accent);color:var(--accent-contrast)}::placeholder{color:var(--text-muted);opacity:1}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline-offset:2px;outline:2px solid var(--focus-ring)!important}:where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.48}@keyframes fh-pulse{0%,to{opacity:1}50%{opacity:.38}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes authShake{0%,to{transform:translate(0)}28%{transform:translate(-5px)}58%{transform:translate(4px)}}.app-shell,.app-shell-monitor{background:var(--app-bg);width:100%;min-width:0;height:100dvh;display:flex;overflow:hidden}.app-shell-monitor{flex-direction:column}.app-main,.app-main-monitor{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.fh-monitor-role-actions{align-items:center;gap:8px;display:flex}.fh-sidebar{z-index:20;border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);width:228px;height:100dvh;color:var(--sidebar-text);flex-direction:column;flex:none;display:flex;position:relative;overflow:hidden}.fh-sidebar[data-collapsed=true]{width:56px}.fh-sidebar-masthead{border-bottom:1px solid var(--sidebar-border);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:68px;padding:12px;display:flex}.fh-sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}.fh-sidebar-monogram{border:1px solid var(--sidebar-active-text);border-radius:var(--radius-sm);background:var(--sidebar-active-bg);width:31px;height:31px;color:var(--sidebar-active-text);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.04em;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.fh-sidebar-brand-copy,.fh-sidebar-profile-copy{flex-direction:column;min-width:0;display:flex}.fh-sidebar-brand-copy strong{color:var(--sidebar-hover-text);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.025em;font-size:19px;font-weight:800;line-height:1}.fh-sidebar-brand-copy small{color:var(--sidebar-text);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;margin-top:4px;font-size:9px;font-weight:700;line-height:1}.fh-sidebar-toggle{color:var(--sidebar-text);flex:none}.fh-sidebar-nav{flex:1;min-height:0;padding:8px 6px 10px;overflow:hidden auto}.fh-sidebar-section{color:var(--sidebar-section);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:13px 8px 5px;font-size:9px;font-weight:800;line-height:1}.fh-sidebar-nav-item{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:23px 20px minmax(0,1fr);align-items:center;gap:7px;margin:2px 0;padding:6px 8px;transition:background-color .12s,color .12s;display:grid;position:relative}.fh-sidebar-nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-hover-text)}.fh-sidebar-nav-item[data-active=true]{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.fh-sidebar-nav-index{color:currentColor;font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.04em;opacity:.76;font-size:9px;font-weight:700}.fh-sidebar-nav-icon{place-items:center;display:grid}.fh-sidebar-nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.fh-sidebar-primary-action{border-top:1px solid var(--sidebar-border);flex:none;padding:10px}.fh-sidebar-new-session{border:1px solid var(--sidebar-active-bg);border-radius:var(--radius-sm);background:var(--sidebar-active-bg);width:100%;min-height:37px;color:var(--sidebar-active-text);cursor:pointer;justify-content:flex-start;align-items:center;gap:9px;padding:7px 10px;font-size:12px;font-weight:800;transition:background-color .12s,border-color .12s;display:flex}.fh-sidebar-new-session:hover{border-color:var(--sidebar-hover-text);background:var(--sidebar-hover-text)}.fh-sidebar-footer{border-top:1px solid var(--sidebar-border);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.fh-sidebar-profile{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;min-width:0;padding:3px;display:flex}.fh-sidebar-profile:hover{background:var(--sidebar-hover-bg)}.fh-sidebar-avatar,.fh-initials{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.035em;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.fh-sidebar-avatar{border-color:var(--sidebar-border);width:30px;height:30px;color:var(--sidebar-hover-text);background:0 0}.fh-initials{width:34px;height:34px}.fh-initials-sm{width:28px;height:28px;font-size:10px}.fh-initials-lg{width:46px;height:46px;font-size:15px}.fh-sidebar-profile-copy strong{color:var(--sidebar-hover-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:700;line-height:1.1;overflow:hidden}.fh-sidebar-profile-copy small{color:var(--sidebar-text);margin-top:3px;font-size:9px}.fh-sidebar-controls{align-items:center;gap:4px;display:flex}.fh-sidebar-control,.fh-language-switcher{border-color:var(--sidebar-border);min-width:29px;min-height:29px;color:var(--sidebar-text)}.fh-sidebar-control:hover,.fh-language-switcher:hover{border-color:var(--sidebar-text);background:var(--sidebar-hover-bg);color:var(--sidebar-hover-text)}.fh-sidebar-logout:hover{border-color:var(--danger-border);color:#ffb3a4}.fh-language-switcher{border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.05em;background:0 0;place-items:center;padding:5px 6px;font-size:10px;font-weight:800;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:grid}.fh-sidebar[data-collapsed=true] .fh-sidebar-brand-copy,.fh-sidebar[data-collapsed=true] .fh-sidebar-section,.fh-sidebar[data-collapsed=true] .fh-sidebar-nav-index,.fh-sidebar[data-collapsed=true] .fh-sidebar-nav-label,.fh-sidebar[data-collapsed=true] .fh-sidebar-new-session span,.fh-sidebar[data-collapsed=true] .fh-sidebar-profile-copy{display:none}.fh-sidebar[data-collapsed=true] .fh-sidebar-masthead{flex-direction:column;gap:7px;padding-inline:7px}.fh-sidebar[data-collapsed=true] .fh-sidebar-nav-item{justify-content:center;padding-inline:0;display:flex}.fh-sidebar[data-collapsed=true] .fh-sidebar-new-session{justify-content:center;padding-inline:0}.fh-sidebar[data-collapsed=true] .fh-sidebar-footer{flex-direction:column;padding-inline:6px;display:flex}.fh-sidebar[data-collapsed=true] .fh-sidebar-controls{flex-direction:column}.fh-page{background:var(--app-bg);width:100%;min-width:0;height:100%;min-height:0;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.fh-page-header{border-bottom:1px solid var(--border-strong);background:var(--paper);flex:none;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px clamp(16px,2.2vw,28px);display:flex}.fh-page-heading{align-items:center;gap:12px;min-width:0;display:flex}.fh-page-index{border:1px solid var(--accent);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent);font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.04em;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.fh-page-title{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.018em;font-size:clamp(24px,2.1vw,31px);font-weight:800;line-height:.98}.fh-page-count{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.66em;font-weight:650}.fh-page-subtitle{max-width:70ch;color:var(--text-secondary);margin-top:5px;font-size:12.5px;line-height:1.35}.fh-session-page .fh-page-subtitle{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.fh-page-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fh-page-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.fh-page-scroll,.fh-scroll-region{min-width:0;min-height:0;overflow:auto}.fh-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;overflow:hidden}.fh-section-header{border-bottom:1px solid var(--border);background:var(--surface-hover);justify-content:space-between;align-items:center;gap:14px;min-height:47px;padding:11px 15px;display:flex}.fh-section-title,.fh-modal-section-title{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.012em;font-size:15px;font-weight:800;line-height:1.1}.fh-section-description,.fh-modal-section-description,.fh-modal-description{max-width:70ch;color:var(--text-secondary);margin-top:3px;font-size:12px}.fh-section-action{align-items:center;gap:6px;display:flex}.fh-section-body{min-width:0}.fh-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:8px clamp(14px,2vw,22px);display:flex}.fh-toolbar-label{color:var(--text-secondary);letter-spacing:.065em;text-transform:uppercase;font-size:11px;font-weight:800}.fh-toolbar-summary{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.fh-button,.fh-icon-button,.fh-text-action,.fh-action-icon,.fh-filter-button,.fh-segmented button{cursor:pointer;background:0 0;border:0;font-family:inherit}.fh-button{border-radius:var(--radius-sm);background:var(--accent);min-height:34px;color:var(--accent-contrast);white-space:nowrap;border:1px solid #0000;flex:none;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:750;line-height:1.1;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.fh-button:hover{background:var(--accent-hover)}.fh-button-secondary,.fh-button-quiet{border-color:var(--border);background:var(--surface);color:var(--text-secondary)}.fh-button-secondary:hover,.fh-button-quiet:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.fh-button-danger{border-color:var(--danger);background:var(--danger);color:#fff7f4}.fh-button-danger:hover{border-color:color-mix(in srgb, var(--danger) 84%, black);background:color-mix(in srgb, var(--danger) 84%, black)}.fh-button-danger-quiet{border-color:var(--danger-border);color:var(--danger);background:0 0}.fh-button-danger-quiet:hover{background:var(--danger-bg)}.fh-button-sm{min-height:29px;padding:6px 10px;font-size:11.5px}.fh-icon-button,.fh-action-icon{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);flex:none;place-items:center;padding:0;line-height:0;transition:background-color .12s,border-color .12s,color .12s;display:inline-grid}.fh-icon-button:hover,.fh-action-icon:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.fh-icon-button-sm{width:27px;height:27px}.fh-text-action{color:var(--accent);border-bottom:1px solid;border-radius:0;padding:3px 1px;font-size:11.5px;font-weight:750;line-height:1.1}.fh-text-action:hover{color:var(--accent-hover)}.fh-form-row{margin-bottom:14px}.fh-form-label,.auth-field label{color:var(--text-secondary);letter-spacing:.055em;text-transform:uppercase;margin-bottom:6px;font-size:10.5px;font-weight:800;line-height:1.1;display:block}.fh-input,.fh-select,.fh-tag-search,.auth-field input{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-height:36px;color:var(--text-primary);padding:8px 10px;font-size:13px;line-height:1.35}.fh-input:hover,.fh-select:hover,.fh-tag-search:hover,.auth-field input:hover{border-color:var(--border-strong)}.fh-input:focus,.fh-select:focus,.fh-tag-search:focus,.auth-field input:focus{border-color:var(--border-focus)}.fh-select{cursor:pointer}.fh-form-error{color:var(--danger);margin-top:7px;font-size:12px;line-height:1.35}.fh-form-status{flex:1;min-height:1.25em;font-size:11.5px}.fh-search{min-width:160px}.fh-search-field{width:100%;min-width:0;margin-bottom:8px;position:relative}.fh-search-field-icon{z-index:1;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.fh-search-field-input{padding-left:32px}.fh-select-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;gap:0;max-height:260px;padding:0;display:flex;overflow-y:auto}.fh-select-list-empty{color:var(--text-muted);text-align:center;padding:18px 10px;font-size:12px}.fh-form-grid{min-width:0}.fh-filter-group,.fh-filter-cluster{align-items:center;gap:7px;min-width:0;display:flex}.fh-filter-group{flex-wrap:wrap;flex:auto}.fh-filter-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.fh-filter-control{min-width:120px}.fh-filter-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:29px;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.fh-filter-button:hover{border-color:var(--border-strong);background:var(--surface-hover)}.fh-filter-button.is-active,.fh-filter-button[aria-pressed=true]{border-color:var(--fh-accent,var(--accent));background:var(--surface);color:var(--text-primary)}.fh-filter-dot{background:var(--fh-accent,var(--accent));border-radius:50%;width:6px;height:6px}.fh-segmented{border:1px solid var(--border);background:var(--surface-hover);border-radius:6px;padding:2px;display:inline-flex}.fh-segmented button{min-height:27px;color:var(--text-secondary);border-radius:3px;padding:4px 10px;font-size:11px;font-weight:750}.fh-segmented button[aria-pressed=true],.fh-segmented button[data-active=true]{background:var(--surface);color:var(--accent);box-shadow:0 2px 7px #18201c17}.fh-wizard-plan-builder{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:clamp(360px,100dvh - 300px,560px);min-height:0;display:grid}.fh-wizard-library-pane,.fh-wizard-plan-pane,.fh-wizard-exercise-panel,.fh-wizard-exercise-list,.fh-wizard-plan-list{flex-direction:column;min-width:0;min-height:0;display:flex}.fh-wizard-exercise-panel,.fh-wizard-exercise-list,.fh-wizard-plan-list{flex:auto}.fh-wizard-tag-filter{flex:none;min-width:0;margin-bottom:6px}.fh-wizard-tag-filter .fh-tag-list{overscroll-behavior-x:contain;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.fh-wizard-exercise-list,.fh-wizard-plan-list{overscroll-behavior-y:contain;scrollbar-gutter:stable;overflow-y:auto}.fh-wizard-exercise-list{gap:6px;padding:2px}.fh-wizard-plan-list{gap:10px}.fh-wizard-kind-tabs{flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-bottom:10px;display:grid}.fh-wizard-kind-tabs button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:38px;color:var(--text-secondary);cursor:pointer;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:700;transition:border-color .12s,background-color .12s,color .12s}.fh-wizard-kind-tabs button:hover{border-color:var(--border-strong);background:var(--surface-hover)}.fh-wizard-kind-tabs button[aria-selected=true]{border-color:var(--accent);background:var(--surface);color:var(--accent)}.fh-wizard-kind-tabs[data-kind=CARDIO] button[aria-selected=true]{border-color:var(--warning,var(--accent));background:var(--warning-bg,var(--accent-bg));color:var(--warning,var(--accent-text))}.fh-wizard-kind-tabs button:focus-visible{outline:2px solid var(--border-focus,var(--accent));outline-offset:2px}.fh-wizard-exercise-kind{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;flex:none;align-items:center;padding:1px 6px;font-size:9px;font-weight:800;display:inline-flex}.fh-schedule-exercise-editor{border-bottom:1px solid var(--border);padding-block:8px}.fh-schedule-exercise-editor:last-child{border-bottom:0}.fh-schedule-exercise-header{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;margin-bottom:7px;display:flex}.fh-schedule-exercise-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.fh-schedule-exercise-meta{color:var(--text-muted);letter-spacing:.025em;text-transform:uppercase;margin-top:2px;font-size:10.5px;font-weight:700}.fh-schedule-exercise-remove{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.fh-schedule-exercise-remove:hover{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.fh-schedule-exercise-remove:focus-visible{outline:2px solid var(--progress);outline-offset:2px}.fh-schedule-exercise-editor .fh-metric-set-row{padding:8px}.fh-schedule-exercise-editor .fh-metric-set-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-schedule-review{gap:14px;display:grid}.fh-schedule-review-summary{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px}.fh-schedule-review-summary dl{grid-template-columns:110px minmax(0,1fr);gap:8px 12px;margin:0;font-size:13px;display:grid}.fh-schedule-review-summary dt{color:var(--text-muted);font-weight:600}.fh-schedule-review-row{display:contents}.fh-schedule-review-summary dd{overflow-wrap:anywhere;min-width:0;color:var(--text-primary);margin:0;font-weight:750}.fh-schedule-review-plan{gap:10px;display:grid}.fh-schedule-review-circuit{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.fh-schedule-review-circuit>header{border-bottom:1px solid var(--border);color:var(--fh-circuit);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;display:flex}.fh-schedule-review-circuit>header>span:last-child{color:var(--text-muted);font-family:var(--font-barlow), sans-serif;letter-spacing:0;text-transform:none;margin-inline-start:auto;font-size:10px;font-weight:700}.fh-schedule-review-dot{background:var(--fh-circuit);border-radius:50%;flex:none;width:8px;height:8px}.fh-schedule-review-exercise{border-bottom:1px solid var(--border);padding:10px 12px}.fh-schedule-review-exercise:last-child{border-bottom:0}.fh-schedule-review-exercise-heading{color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.fh-schedule-review-exercise-heading>span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:800}.fh-schedule-review-sets{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.fh-schedule-review-sets>span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);min-height:24px;color:var(--text-secondary);align-items:center;gap:6px;padding:4px 7px;font-size:10px;display:inline-flex}.fh-schedule-review-sets b{color:var(--fh-circuit,var(--accent));font-family:var(--font-barlow-condensed), sans-serif}.fh-badge,.fh-live-label,.fh-type-label{border:1px solid var(--badge-border,var(--border));background:var(--badge-bg,var(--surface-hover));min-height:22px;color:var(--badge-color,var(--text-secondary));letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.fh-badge-signal,.fh-live-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;animation:1.7s ease-in-out infinite fh-pulse}.fh-progress{background:var(--progress-bg);border-radius:3px;width:100%;height:8px;position:relative;overflow:hidden}.fh-progress-fill{border-radius:inherit;background:var(--progress);width:100%;height:100%;transform:scaleX(var(--progress-scale,0));transform-origin:0;transition:transform .26s cubic-bezier(.22,1,.36,1);display:block}.fh-empty,.fh-state-message,.fh-progress-state{min-height:140px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;display:flex}.fh-empty strong{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;font-size:17px;font-weight:800}.fh-empty p{max-width:60ch;color:var(--text-secondary);font-size:12px}.fh-empty-icon{border:1px solid var(--border);width:38px;height:38px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.fh-empty-action{margin-top:5px}.fh-page-centered-empty{flex:1}.fh-state-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger)}.fh-state-empty{border:1px dashed var(--border-strong)}.fh-record-page{background:var(--app-bg)}.fh-audit-log>.fh-modal-description{margin:0 0 16px}.fh-audit-filters{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;margin:0 -20px;padding:12px 20px;display:grid}.fh-audit-filters .fh-form-row{margin:0}.fh-audit-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;font-size:10.5px;font-weight:700}.fh-audit-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:16px 0 0;list-style:none;overflow:hidden}.fh-audit-row{border-bottom:1px solid var(--border);grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:10px 12px;display:grid}.fh-audit-row:last-child{border-bottom:0}.fh-audit-row:hover{background:var(--surface-hover)}.fh-audit-time,.fh-audit-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.fh-audit-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.fh-audit-time strong{color:var(--text-secondary);font-size:12.5px}.fh-audit-row-main>strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.fh-audit-row-main>span:last-child{color:var(--text-muted);font-size:12.5px}.fh-audit-action{border:1px solid var(--border-strong);width:fit-content;color:var(--accent);letter-spacing:.045em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:10.5px;font-weight:800;line-height:1.1}.fh-audit-state{min-height:180px;color:var(--text-muted);text-align:center;place-items:center;font-size:14px;display:grid}.fh-audit-state.is-error{color:var(--danger)}.fh-audit-back{margin-bottom:16px}.fh-audit-detail-summary{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;gap:18px;margin:0 -20px 16px;padding:14px 20px;display:grid}.fh-audit-detail-summary>div{flex-direction:column;gap:4px;min-width:0;display:flex}.fh-audit-detail-summary>div:last-child{color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:flex-end;font-size:12.5px}.fh-audit-detail-summary strong{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;font-size:15px;font-weight:800}.fh-audit-detail-summary span{color:var(--text-secondary);font-size:12.5px}.fh-audit-change-table{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.fh-audit-change-head,.fh-audit-change-row{grid-template-columns:minmax(120px,.65fr) repeat(2,minmax(0,1fr));display:grid}.fh-audit-change-head{border-bottom:1px solid var(--border-strong);background:var(--paper);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:800}.fh-audit-change-head>span,.fh-audit-change-row>*{border-right:1px solid var(--border);min-width:0;padding:9px 11px}.fh-audit-change-head>span:last-child,.fh-audit-change-row>:last-child{border-right:0}.fh-audit-change-row{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12.5px;line-height:1.4}.fh-audit-change-row:last-child{border-bottom:0}.fh-audit-change-row>strong{color:var(--text-primary);font-size:12.5px}.fh-audit-value-empty{color:var(--text-muted)}.fh-audit-color-value{font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:inline-flex}.fh-audit-color-swatch{border:1px solid var(--border-strong);border-radius:50%;width:14px;height:14px}.fh-audit-availability-value{flex-direction:column;gap:4px;display:flex}.fh-audit-availability-value>span{grid-template-columns:28px minmax(0,1fr);gap:6px;display:grid}.fh-audit-availability-value strong{color:var(--text-primary);font-size:10.5px}.fh-record-toolbar{align-items:flex-start}.fh-toolbar.fh-exercise-toolbar{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;gap:8px;max-height:none;display:grid;overflow-y:visible}.fh-exercise-primary-filters{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex}.fh-exercise-primary-filters .fh-search,.fh-exercise-primary-filters .fh-search input{width:100%!important}.fh-exercise-kind-filters{flex-wrap:nowrap;flex:none;width:auto}.fh-exercise-toolbar .fh-exercise-tag-filter{flex:none;place-content:flex-start;width:auto;min-width:0;max-width:100%}.fh-record-region{padding:16px clamp(14px,2vw,22px)}.fh-record-table{border:1px solid var(--border);background:var(--surface);min-width:0;overflow-x:auto;border-radius:var(--radius-md)!important}.fh-record-head{color:var(--text-muted);letter-spacing:.065em;text-transform:uppercase;font-size:9.5px;font-weight:800}.fh-record-row{border-bottom:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text-primary);transition:background-color .1s,opacity .1s;position:relative}.fh-record-row:last-child{border-bottom:0!important}.fh-record-row:hover{background:var(--surface-hover)!important}.fh-record-row.is-selected{box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-hover)!important}.fh-clients-table{border-color:color-mix(in srgb, var(--border) 72%, transparent)!important}.fh-clients-table .fh-record-row:hover{background:color-mix(in srgb, var(--fh-row-accent,var(--accent)) 4%, var(--surface-hover))!important}.fh-clients-table .fh-record-row{border-bottom-color:color-mix(in srgb, var(--border) 58%, transparent)}.fh-clients-table .fh-record-row.is-selected{z-index:1;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fh-row-accent,var(--accent)) 72%, var(--border-strong));background:var(--surface)!important}.fh-client-identity{border-inline-start:0}.fh-client-metrics{min-width:0}.fh-client-metrics-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.fh-client-metrics-header .fh-modal-section-title{margin-bottom:0}.fh-client-metrics-switch{flex:none}.fh-client-metrics-switch button{min-width:92px}.fh-client-metrics-switch button:disabled{cursor:not-allowed;opacity:.46}.fh-client-metrics-hint{color:var(--text-muted);margin:0 0 8px;font-size:11.5px;line-height:1.4}.fh-client-metrics-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;overflow-x:auto}.fh-client-metrics-table{border-collapse:collapse;width:100%;min-width:620px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.fh-client-metrics-table th,.fh-client-metrics-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);text-align:left;white-space:nowrap;padding:8px 12px}.fh-client-metrics-table thead th{background:var(--surface-hover);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.fh-client-metrics-table thead th:first-child{width:38%}.fh-client-metrics-table tbody tr:last-child>*{border-bottom:0}.fh-client-metrics-table tbody tr[data-empty]{color:var(--text-muted);background:color-mix(in srgb, var(--surface-hover) 42%, var(--surface))}.fh-client-metric-history-link{max-width:100%;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:6px;font-weight:750;display:inline-flex}.fh-client-metric-history-link:hover:not(:disabled){color:var(--accent)}.fh-client-metric-history-link:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--focus-ring);outline-offset:3px}.fh-client-metric-history-link:disabled{color:var(--text-muted);cursor:default}.fh-client-metric-value{color:var(--text-primary);font-weight:800}.fh-client-metric-change{color:var(--text-secondary);font-weight:700}.fh-client-metric-history{min-width:0}.fh-client-metric-history-controls{grid-template-columns:1.15fr 1fr 1fr;gap:10px;display:grid}.fh-client-metric-history-controls>div{min-width:0}.fh-client-metric-history-controls label{color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:800;display:block}.fh-client-metric-history-controls input{border:1px solid var(--input-border,var(--border));border-radius:var(--radius-sm);background:var(--input-bg,var(--surface));width:100%;height:36px;color:var(--text-primary);font:inherit;outline:0;padding:7px 10px;font-size:12.5px}.fh-client-metric-history-controls input:focus{border-color:var(--accent);outline:2px solid var(--focus-ring);outline-offset:1px}.fh-client-metric-clear{margin-top:8px}.fh-client-metric-chart{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:14px 0;padding:10px 0;overflow-x:auto}.fh-client-metric-chart>div{width:fit-content;margin-inline:auto}.fh-client-metric-history-table{min-width:480px}.fh-client-metric-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;margin-top:14px;padding:18px;font-size:12.5px}.fh-client-metric-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.fh-client-metric-pagination button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px;font-weight:750}.fh-client-metric-pagination button:disabled{color:var(--text-muted);cursor:default;opacity:.56}.fh-client-metric-pagination span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.fh-record-row.is-archived,.fh-record-row.is-inactive{opacity:.58}.fh-record-list{list-style:none}.fh-record-list .fh-record-row{align-items:center;gap:10px;min-height:51px;padding:9px 12px;display:flex}.fh-record-accent{background:var(--fh-accent,var(--accent));border-radius:2px;flex:none;width:2px;height:28px}.fh-record-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.fh-record-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:750;overflow:hidden}.fh-record-meta,.fh-history-meta{color:var(--text-muted);font-size:10.5px;line-height:1.3}.fh-record-end,.fh-row-actions{flex:none;align-items:center;gap:5px;display:flex}.fh-plan-editor-grid{min-width:0;min-height:0}.fh-plan-editor .fh-modal-header{padding-inline:20px}.fh-card-grid,.fh-trainer-grid,.fh-plan-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;display:grid}.fh-record-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;overflow:hidden}.fh-checkbox{width:15px;height:15px;accent-color:var(--accent)}.fh-selection-bar{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary)}.fh-dashboard-stats{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fh-stat{border-right:1px solid var(--border);min-width:0;padding:13px 16px}.fh-stat:last-child{border-right:0}.fh-stat-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:800}.fh-stat-value{color:var(--fh-accent,var(--text-primary));font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:4px;font-size:29px;font-weight:800;line-height:1}.fh-stat-subtitle{color:var(--text-secondary);margin-top:4px;font-size:10.5px}.fh-dashboard-workspace{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:16px;min-height:0;padding:16px clamp(14px,2vw,22px);display:grid}.fh-dashboard-schedule,.fh-dashboard-ledger,.fh-dashboard-clients{min-height:0}.fh-dashboard-schedule,.fh-dashboard-clients{flex-direction:column;display:flex}.fh-dashboard-ledger{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0;min-height:0;display:grid}.fh-dashboard-ledger>.fh-section{flex-direction:column;min-height:0;display:flex}.fh-dashboard-ledger>.fh-section>.fh-section-body{min-height:0;overflow-y:auto}.fh-dashboard-schedule .fh-section-body,.fh-dashboard-clients .fh-section-body{flex:1;min-height:0}.fh-dashboard-schedule .fh-scroll-region,.fh-dashboard-clients .fh-scroll-region{height:100%}.fh-live-summary{border-bottom:1px solid var(--border);padding:12px}.fh-live-summary:last-child{border-bottom:0}.fh-live-summary-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fh-live-summary-owner{font-size:10.5px;font-weight:750}.fh-calendar-canvas{border-top:1px solid var(--border);background:var(--surface);flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.fh-calendar-period-controls,.fh-calendar-trainer-filters,.fh-calendar-legend{align-items:center;gap:7px;display:flex}.fh-calendar-trainer-filters{min-width:0;overflow-x:auto}.fh-calendar-grid,.fh-calendar-week,.fh-calendar-month,.fh-calendar-day{width:100%;min-width:0;min-height:0}.fh-calendar-grid-header,.fh-calendar-legend{color:var(--text-secondary);font-size:10px;font-weight:700}.fh-calendar-scroll{min-width:0;min-height:0;overflow:auto}.fh-calendar-time-axis{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.fh-calendar-event,.fh-calendar-month-event{border:1px solid color-mix(in srgb, var(--fh-accent,var(--border-strong)) 28%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--fh-accent,var(--accent)) 9%, var(--surface));color:var(--text-primary);transition:background-color .12s,border-color .12s}.fh-calendar-event{padding:6px 7px;container-type:inline-size}.fh-calendar-event[data-compact=true]{padding-inline:5px}.fh-calendar-event:hover,.fh-calendar-month-event:hover{border-color:color-mix(in srgb, var(--fh-accent,var(--accent)) 48%, var(--border-strong));background:color-mix(in srgb, var(--fh-accent,var(--accent)) 13%, var(--surface))}.fh-calendar-event-content,.fh-calendar-event-heading,.fh-calendar-event-flags{min-width:0}.fh-calendar-event-content{flex-direction:column;gap:2px;height:100%;display:flex}.fh-calendar-event-heading,.fh-calendar-event-flags{justify-content:space-between;align-items:center;gap:5px;display:flex}.fh-calendar-event-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:750;overflow:hidden}.fh-calendar-event-time,.fh-calendar-event-trial,.fh-calendar-event-plan,.fh-calendar-event-trainer{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:9.5px}.fh-calendar-event-plan,.fh-calendar-event-trainer{text-overflow:ellipsis;white-space:nowrap;line-height:1.15;overflow:hidden}.fh-calendar-event-plan{color:var(--text-primary);font-weight:700}.fh-calendar-event-trainer{color:color-mix(in srgb, var(--fh-accent,var(--accent)) 72%, var(--text-primary));font-weight:650}html[data-theme=iron] .fh-calendar-event,html[data-theme=iron] .fh-calendar-month-event{border-color:color-mix(in srgb, var(--fh-accent,var(--border-strong)) 32%, var(--border));background:color-mix(in srgb, var(--fh-accent,var(--accent)) 14%, var(--surface))}html[data-theme=iron] .fh-calendar-event:hover,html[data-theme=iron] .fh-calendar-month-event:hover{background:color-mix(in srgb, var(--fh-accent,var(--accent)) 19%, var(--surface))}@container (max-width:82px){.fh-calendar-event-content{gap:1px}.fh-calendar-event-name{font-size:10px}.fh-calendar-event-time{font-size:8.5px;line-height:1.2}.fh-calendar-event-trial,.fh-calendar-event-flags,.fh-calendar-event-plan,.fh-calendar-event-trainer{display:none}}.fh-completed-session-report{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.fh-completed-session-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.fh-completed-session-heading h3{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.012em;font-size:15px;font-weight:800}.fh-completed-session-report .fh-history-report{max-height:min(55dvh,520px);overflow-y:auto}.fh-completed-session-report .fh-state-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.fh-calendar-month-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);min-width:0}.fh-calendar-day-heading[data-today],.fh-calendar-day-column[data-today],.fh-calendar-month-day[data-today]{background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.fh-session-picker{justify-content:flex-start}.fh-session-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:32px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:5px 9px;font-size:11.5px;display:inline-flex}.fh-session-option[data-active]{border-color:var(--fh-accent,var(--accent));background:var(--surface);color:var(--text-primary)}.fh-session-progress{border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:14px;padding:10px clamp(14px,2vw,22px);display:grid}.fh-session-progress>div:first-child{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.fh-session-workspace{flex:1;min-width:0;min-height:0;padding:14px clamp(12px,1.8vw,20px);overflow-y:auto}.fh-circuit{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;margin-bottom:14px;overflow:hidden}.fh-circuit-header,.fh-exercise-header{border-bottom:1px solid var(--border);background:var(--surface-hover);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.fh-circuit-header{flex-wrap:wrap}.fh-circuit-heading,.fh-circuit-actions,.fh-exercise-actions{align-items:center;gap:7px;min-width:0;display:flex}.fh-circuit-actions,.fh-exercise-actions{flex-wrap:wrap;justify-content:flex-end}.fh-circuit-set-progress{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;width:100%;min-width:0;padding-top:8px;display:flex}.fh-circuit-set-progress>strong{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin-right:3px;font-size:10px}.fh-circuit-set-progress .fh-set-position{border-radius:var(--radius-sm);background:var(--surface);width:auto;height:auto;min-height:27px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}.fh-circuit-set-progress .fh-set-position[data-state=complete]{border-color:color-mix(in srgb, var(--progress) 55%, var(--border));color:var(--progress)}.fh-circuit-set-progress .fh-set-position[data-state=partial]{border-color:color-mix(in srgb, var(--warning) 55%, var(--border));color:var(--warning)}.fh-circuit-body{padding:10px}.fh-exercise{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:9px;overflow:hidden}.fh-exercise:last-child{margin-bottom:0}.fh-exercise-title{flex:1;min-width:0;font-size:12.5px;font-weight:750}.fh-drag-handle{color:var(--text-muted);cursor:grab;background:0 0;border:0}.fh-exercise-sets{padding:8px 10px}.fh-exercise-notes{border-top:1px solid var(--border);padding:8px 10px}.fh-set-row{border-bottom:1px solid var(--border);align-items:flex-end;gap:8px;min-width:0;padding:9px 0;display:flex}.fh-set-row:last-child{border-bottom:0}.fh-set-row[data-complete]{background:color-mix(in srgb, var(--progress) 7%, transparent)}.fh-set-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;flex:none;place-items:center;display:grid}.fh-set-row[data-complete] .fh-set-toggle{border-color:var(--progress);background:var(--progress);color:#082819}.fh-set-fields{flex:1;grid-template-columns:repeat(auto-fit,minmax(116px,max-content));align-items:end;gap:10px 12px;min-width:0;display:grid}.fh-set-weight{align-items:center;gap:5px;min-width:0;display:flex}.fh-set-field{min-width:0;color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:4px;display:flex}.fh-set-field-label{color:var(--text-muted);letter-spacing:.065em;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1}.fh-metric-number{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);min-width:82px;min-height:36px;color:var(--text-primary);align-items:stretch;transition:border-color .12s,box-shadow .12s;display:inline-flex;overflow:hidden}.fh-metric-number:focus-within,.fh-time-field:focus-within{border-color:var(--fh-accent,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--fh-accent,var(--accent)) 18%, transparent)}.fh-metric-number[data-disabled]{opacity:.5}.fh-metric-number-input{width:54px;min-width:0;color:inherit;font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:0;padding:7px 8px;font-size:17px;font-weight:800;line-height:1}.fh-metric-number-unit{border-inline-start:1px solid var(--input-border);background:var(--surface-hover);min-width:29px;color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;justify-content:center;align-items:center;padding-inline:7px;font-size:9px;font-weight:800;display:inline-flex}.fh-time-field{border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);min-height:36px;color:var(--text-primary);transition:border-color .12s,box-shadow .12s;display:inline-flex;overflow:hidden}.fh-time-field>label{align-items:stretch;display:inline-flex}.fh-time-field>label+label{border-inline-start:1px solid var(--input-border)}.fh-time-input{width:36px;min-width:0;color:inherit;font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:0;padding:7px 5px;font-size:17px;font-weight:800;line-height:1}.fh-time-field>label>span{background:var(--surface-hover);min-width:17px;color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;justify-content:center;align-items:center;padding-inline:4px;font-size:9px;font-weight:800;display:inline-flex}.fh-metric-set-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);gap:0;display:grid}.fh-metric-set-row{border-bottom:1px solid var(--border);padding:10px}.fh-metric-set-heading{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:9px;display:flex}.fh-metric-set-index{color:var(--fh-accent,var(--accent));font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.fh-metric-set-fields{grid-template-columns:repeat(auto-fit,minmax(116px,max-content));align-items:end;gap:10px 12px;display:grid}.fh-metric-set-add{background:var(--surface-hover);min-height:34px;color:var(--fh-accent,var(--accent));cursor:pointer;letter-spacing:.03em;text-align:left;border:0;border-radius:0;padding:8px 10px;font-size:11px;font-weight:800}.fh-metric-set-add:hover{background:var(--surface)}.fh-metric-set-add:focus-visible{outline:2px solid var(--progress);outline-offset:-3px}.fh-set-dots{gap:3px;display:flex}.fh-set-position{border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;place-items:center;font-size:9px;display:inline-grid}.fh-add-row{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:40px;color:var(--fh-accent,var(--accent));cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;font-weight:750;display:flex}.fh-add-row:hover{border-color:var(--fh-accent,var(--accent));background:var(--surface)}.fh-session-footer{border-top:1px solid var(--border-strong);background:var(--paper);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:10px clamp(14px,2vw,22px);display:flex}.fh-session-clock{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.fh-modal-overlay,.fh-overlay,.fh-plan-editor-overlay{z-index:9999;background:var(--modal-overlay);justify-content:center;align-items:center;padding:clamp(12px,2.5vw,24px);display:flex;position:fixed;inset:0}.fh-modal,.fh-modal-frame,.fh-plan-editor{width:var(--modal-width,min(680px, 94vw));border:1px solid var(--border-strong);background:var(--modal-bg);max-width:94vw;max-height:90dvh;box-shadow:var(--shadow);animation:.18s cubic-bezier(.22,1,.36,1) modalIn;overflow:hidden;border-radius:var(--radius-lg)!important}.fh-modal{flex-direction:column;display:flex}.fh-plan-editor-overlay{justify-content:center;align-items:center}.fh-plan-editor{flex:0 auto;width:clamp(920px,96vw,1880px);max-width:calc(100vw - 24px);height:min(1120px,100dvh - 32px);max-height:calc(100dvh - 24px)}.fh-modal-header{border-bottom:1px solid var(--border);background:var(--paper);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 12px 10px 20px;display:flex}.fh-modal-title,.fh-wizard-title{overflow-wrap:anywhere;min-width:0;color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.012em;font-size:20px;font-weight:800;line-height:1.05}.fh-modal-title:empty{display:none}.fh-modal-close{margin-left:auto}.fh-modal-body{min-height:0;padding:18px 20px 20px;overflow:hidden auto}.fh-new-session-schedule{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:4px;display:grid}.fh-new-session-schedule--admin{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-new-session-schedule .fh-form-row,.fh-schedule-field{min-width:0}.fh-schedule-field .fh-input[aria-invalid=true],.fh-new-session-schedule .fh-input[aria-invalid=true]{border-color:var(--danger-border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 36%, transparent)}.fh-schedule-field .fh-form-error{margin-top:5px}.fh-schedule-date-input,.fh-schedule-time-input{border:1px solid var(--input-border);background:var(--input-bg);min-height:44px;color:var(--text-primary);border-radius:7px;align-items:center;padding:0 42px 0 0;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.fh-schedule-date-input:focus-within,.fh-schedule-time-input:focus-within{--picker-border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.fh-schedule-date-input.is-invalid,.fh-schedule-time-input.is-invalid{--picker-border-color:var(--danger-border);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 36%, transparent)}.fh-schedule-date-text,.fh-schedule-time-text{width:100%;min-width:0;height:42px;color:inherit;font:inherit;letter-spacing:.01em;background:0 0;border:0;outline:0;padding:0 13px;font-size:14px;font-weight:500}.fh-schedule-date-text::placeholder,.fh-schedule-time-text::placeholder{color:var(--text-muted)}.fh-schedule-date-button,.fh-schedule-time-button{width:42px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:0 7px 7px 0;place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.fh-schedule-date-button:hover,.fh-schedule-time-button:hover{--picker-button-bg:var(--surface-hover);--picker-button-color:var(--text-primary)}.fh-schedule-date-button:focus-visible,.fh-schedule-time-button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.fh-schedule-date-native,.fh-schedule-time-native{inset-inline-end:12px;opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute;bottom:2px}@media (max-width:620px){.fh-schedule-date-text,.fh-schedule-time-text{font-size:16px}}.fh-new-session-type{grid-column:1/-1}.fh-exercise-picker-list{overscroll-behavior-y:contain;scrollbar-gutter:stable;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);max-height:160px;margin-top:6px;overflow:hidden auto}.fh-exercise-picker-list--tall{max-height:220px}.fh-exercise-picker-option{width:100%;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;border:0;border-bottom:1px solid;padding:8px 12px;font-size:13px;line-height:1.3;transition:background .1s;display:block;overflow:hidden}.fh-exercise-picker-option:last-child{border-bottom:0}.fh-exercise-picker-option:focus-visible{z-index:1;outline:2px solid var(--focus-ring);outline-offset:-2px;position:relative}.fh-modal-section+.fh-modal-section{margin-top:18px}.fh-modal-section-title{margin-bottom:12px}.fh-modal-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.fh-divider{background:var(--border);width:100%;height:1px;margin:19px 0}.fh-wizard-steps{border-bottom:1px solid var(--border);background:var(--surface-hover);grid-template-columns:repeat(3,minmax(0,1fr));margin:-18px -20px 19px;list-style:none;display:grid}.fh-wizard-step{border-right:1px solid var(--border);min-width:0;min-height:50px;color:var(--text-muted);align-items:center;gap:8px;padding:9px 12px;display:flex}.fh-wizard-step:last-child{border-right:0}.fh-wizard-step[data-state=current]{background:var(--surface);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.fh-wizard-step[data-state=complete]{color:var(--accent)}.fh-wizard-step-number{border-radius:var(--radius-sm);width:23px;height:23px;font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;border:1px solid;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.fh-wizard-step-label{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:750;overflow:hidden}.fh-wizard-title{margin-bottom:16px}.fh-wizard-body{min-width:0}.fh-wizard-actions{border-top:1px solid var(--border);background:var(--paper);margin:18px -20px -20px;padding:12px 20px}.fh-action-spacer{flex:1}.fh-wizard-note{border:1px solid var(--border);align-items:flex-start;gap:8px;display:flex}.fh-select-item{min-width:0}.fh-select-row{border:0;border-bottom:1px solid var(--select-border,var(--border));background:var(--select-bg,var(--surface));width:100%;min-height:48px;color:var(--select-text,var(--text-primary));border-radius:0;align-items:center;display:flex;overflow:hidden}.fh-select-item:last-child .fh-select-row{border-bottom:0}.fh-select-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.fh-select-row[data-selected=true]{background:var(--select-bg,var(--surface));box-shadow:inset 3px 0 0 var(--select-color,var(--accent))}.fh-select-row-action{min-width:0;min-height:46px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.fh-select-row-action:focus-visible,.fh-select-row-note:focus-visible{z-index:1;outline:2px solid var(--focus-ring);outline-offset:-2px;position:relative}.fh-select-row-note{border:0;border-left:1px solid var(--select-border,var(--border));width:36px;min-height:46px;color:var(--warning);cursor:pointer;background:0 0;flex:none;align-self:stretch;place-items:center;display:grid}.fh-select-row-note:hover,.fh-select-row-note[aria-expanded=true]{background:var(--warning-bg);color:var(--warning)}.fh-select-row-copy{flex-direction:column;flex:1;min-width:0;display:flex}.fh-select-row-copy strong{color:var(--select-text,var(--text-primary));font-family:var(--font-barlow-condensed), Barlow, sans-serif;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:800;line-height:1.1;overflow:hidden}.fh-select-row-copy>span{color:var(--select-muted,var(--text-muted));text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;line-height:1.2;overflow:hidden}.fh-select-row-check{color:var(--select-color,var(--accent));flex:none}.fh-client-note{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warning-bg) 58%, var(--surface));min-width:0;color:var(--text-primary);align-items:flex-start;gap:11px;padding:12px 13px;display:flex}.fh-client-note--detail{margin-bottom:20px}.fh-client-note-icon-frame{border:1px solid color-mix(in srgb, var(--warning) 48%, var(--border));border-radius:var(--radius-sm);background:var(--surface);width:26px;height:26px;color:var(--warning);flex:none;place-items:center;display:grid}.fh-client-note-icon{width:14px;height:14px}.fh-client-note-copy{min-width:0}.fh-client-note-label{color:var(--warning);letter-spacing:.055em;text-transform:uppercase;margin-bottom:3px;font-size:10.5px;font-weight:800;line-height:1.1}.fh-client-note p{overflow-wrap:anywhere;color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:12.5px;line-height:1.45}.fh-client-note--popover{z-index:10000;border-color:var(--border-strong);background:var(--surface-elevated);max-height:min(220px,100dvh - 24px);box-shadow:var(--shadow-sm);animation:.14s cubic-bezier(.22,1,.36,1) modalIn;position:fixed;overflow-y:auto}.fh-progress-content>.fh-client-note{width:min(760px,100%)}@media (max-width:620px){.fh-client-metrics-header{flex-direction:column;align-items:stretch;gap:10px}.fh-client-metrics-switch{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fh-client-metrics-switch button{min-height:38px}.fh-client-metric-history-controls{grid-template-columns:1fr}.fh-client-note--popover{right:12px;width:auto!important;left:12px!important}}.fh-profile-header{align-items:center;gap:11px;margin-bottom:18px;display:flex}.fh-profile-name,.fh-profile-role{display:block}.fh-profile-name{color:var(--text-primary);font-size:13px}.fh-profile-role{color:var(--text-muted);margin-top:2px;font-size:10.5px}.fh-color-swatches{flex-wrap:wrap;gap:8px;display:flex}.fh-color-swatch{background:var(--swatch-color);cursor:pointer;border:2px solid #0000;border-radius:50%;width:27px;height:27px;transition:border-color .12s,outline-color .12s,transform .12s}.fh-color-swatch:hover{transform:scale(1.1)}.fh-color-swatch:focus-visible{outline:2px solid var(--swatch-ring,var(--text-primary));outline-offset:2px}.fh-color-swatch[data-selected=true]{border-color:var(--modal-bg);outline:2px solid var(--swatch-ring,var(--text-primary));outline-offset:1px}.fh-stale-list{flex-direction:column;gap:8px;max-height:min(52dvh,420px);display:flex;overflow-y:auto}.fh-stale-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.fh-stale-copy{min-width:0}.fh-stale-copy strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.fh-stale-copy span{color:var(--text-muted);margin-top:2px;font-size:10.5px;display:block}.fh-stale-actions{flex:none;gap:6px;display:flex}.fh-history-report-header,.fh-history-exercise-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.fh-history-report-header{border-bottom:1px solid var(--border);background:var(--surface-hover);padding:12px}.fh-history-plan{color:var(--accent);font-size:11px;font-weight:750}.fh-history-circuit{border-bottom:1px solid var(--border);padding:11px 12px}.fh-history-circuit:last-child{border-bottom:0}.fh-history-circuit-title{border-bottom:1px solid var(--border);background:var(--input-bg);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:-11px -12px 9px;padding:6px 12px;font-size:10px;font-weight:800}.fh-history-exercise{border-bottom:1px solid var(--border);padding:8px 0}.fh-history-exercise:last-child{border-bottom:0}.fh-history-note{color:var(--text-secondary);margin-top:6px;font-size:11px;font-style:italic}.fh-history-empty{color:var(--text-muted);text-align:center;padding:12px;font-size:11px}.fh-set-chip{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:24px;color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;padding:3px 7px;font-size:10px;display:inline-flex}.fh-set-chip[data-complete=true]{border-color:var(--progress);background:var(--surface);color:var(--text-primary)}.fh-history-list .fh-history-report{flex-shrink:0}.fh-modal-body:has(.fh-history-list){overscroll-behavior:contain;scrollbar-gutter:stable}.fh-history-tabs{z-index:30;border-bottom:1px solid var(--border);background:var(--paper);grid-template-columns:1fr 1fr;gap:10px;margin:-18px -20px 14px;padding:12px 20px;display:grid;position:sticky;top:-18px}.fh-history-tab{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:44px;color:var(--text-primary);cursor:pointer;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.fh-history-tab:hover{border-color:var(--border-strong);background:var(--surface-hover)}.fh-history-tab[data-active=true]{border-color:var(--accent);background:var(--surface);color:var(--accent)}.fh-history-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fh-history-tab-title{font-size:12.5px;font-weight:750;line-height:1.2}.fh-history-tab-date{color:var(--text-muted);font-size:10.5px;line-height:1.25}.fh-history-tab-plan{max-width:100%;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:700;line-height:1.25;overflow:hidden}.fh-history-list .fh-set-row{border-bottom:0;flex-wrap:wrap;gap:6px;padding:4px 0}.fh-history-list .fh-set-chip{flex:none}.fh-history-list .fh-history-report-header{flex-wrap:wrap;gap:4px 14px}.fh-history-list .fh-history-exercise-header{flex-wrap:wrap;gap:4px 10px}.fh-history-list .fh-history-exercise-header strong{overflow-wrap:anywhere;flex:auto;min-width:0}.fh-history-list .fh-type-label{flex:none}.fh-history-list .fh-history-plan,.fh-history-list .fh-history-note,.fh-history-list .fh-history-meta{overflow-wrap:anywhere}.fh-monitor{background:var(--app-bg);width:100%;min-width:0;height:100%;min-height:0;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.fh-monitor-header{border-bottom:1px solid var(--border-strong);background:var(--paper);flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:10px clamp(16px,2.2vw,28px);display:flex}.fh-monitor[data-monitor-role] .fh-monitor-header{min-height:56px;padding-block:8px}.fh-monitor-brand,.fh-monitor-status,.fh-monitor-live-count,.fh-monitor-group-live{align-items:center;display:flex}.fh-monitor-role-actions{border-right:1px solid var(--border-strong);padding-right:clamp(4px,.8vw,10px)}.fh-monitor-role-actions .fh-button{min-height:32px}.fh-monitor-role-actions .fh-language-switcher{border-color:var(--border-strong);background:var(--surface);min-height:32px;color:var(--text-primary)}.fh-monitor-role-actions .fh-language-switcher:hover{border-color:var(--accent);color:var(--accent)}.fh-monitor-brand{gap:11px;min-width:0}.fh-monitor-brand strong{color:var(--accent);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.012em;font-size:clamp(20px,1.8vw,24px);font-weight:800;line-height:1}.fh-monitor-brand>i{background:var(--border-strong);width:1px;height:26px}.fh-monitor-brand>span{color:var(--text-secondary);font-family:var(--font-barlow-condensed), sans-serif;font-size:clamp(13px,1.1vw,16px);font-weight:750}.fh-monitor-status{justify-content:flex-end;gap:clamp(10px,1.5vw,20px)}.fh-monitor-live-count,.fh-monitor-group-live{color:var(--accent-text);white-space:nowrap;gap:7px}.fh-monitor-live-count strong{font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1}.fh-monitor-live-count>span:last-child,.fh-monitor-group-live>span:last-child{color:var(--text-secondary);font-size:12px;font-weight:700}.fh-monitor-divider{background:var(--border-strong);width:1px;height:34px}.fh-monitor-clock{flex-direction:column;align-items:flex-end;min-width:150px;display:flex}.fh-monitor-clock time{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.015em;font-size:clamp(22px,2.2vw,31px);font-weight:800;line-height:.95}.fh-monitor-clock span{color:var(--text-muted);margin-top:4px;font-size:10px;font-weight:650}.fh-monitor-workspace{flex:1;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:10px;display:grid}.fh-monitor-workspace[data-has-groups]{grid-template-columns:minmax(620px,1.55fr) minmax(360px,.8fr)}.fh-monitor-individual,.fh-monitor-groups{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.fh-monitor-section-header{border-bottom:1px solid var(--border);background:var(--surface-hover);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:7px 12px;display:flex}.fh-monitor-section-header h1{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.005em;font-size:clamp(15px,1vw,17px);font-weight:800;line-height:1}.fh-monitor-section-header>span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:750}.fh-monitor-carousel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.fh-monitor-carousel-page{grid-template-columns:repeat(var(--fh-visible-cards,1), minmax(0, 1fr));opacity:0;flex:1;align-items:stretch;gap:10px;min-width:0;min-height:0;padding:10px;transition:opacity .21s,transform .21s cubic-bezier(.22,1,.36,1);display:grid;overflow:auto;transform:translateY(5px)}.fh-monitor-carousel-page[data-visible]{opacity:1;transform:translateY(0)}.fh-monitor-session-card,.fh-monitor-group-card{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.fh-monitor-session-card{container:fh-monitor-session/inline-size}.fh-monitor-session-header{border-bottom:1px solid var(--border);background:var(--paper);flex:none;align-items:center;gap:clamp(10px,1.2vw,18px);padding:clamp(12px,1.5vw,18px);display:flex}.fh-monitor-session-identity,.fh-monitor-session-meta,.fh-monitor-session-state{align-items:center;display:flex}.fh-monitor-session-identity{min-width:max-content}.fh-monitor-session-meta{gap:8px;margin-top:5px}.fh-monitor-session-state{flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.fh-monitor-session-state>span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.fh-monitor-uid{color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.015em;font-size:clamp(25px,2.7vw,38px);font-weight:800;line-height:.94}.fh-monitor-tier,.fh-monitor-trainer{color:var(--text-secondary);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.fh-monitor-trainer i{border-radius:50%;width:6px;height:6px}.fh-monitor-live-label{--badge-bg:var(--accent-bg);--badge-border:color-mix(in srgb, var(--progress) 55%, var(--border));--badge-color:var(--accent-text)}.fh-monitor-progress{flex:1;align-items:center;gap:10px;min-width:90px;display:flex}.fh-monitor-progress strong{color:var(--progress);font-family:var(--font-barlow-condensed), sans-serif;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}html[data-theme=studio] .fh-monitor-tier,html[data-theme=studio] .fh-monitor-progress strong{color:var(--accent-text)}.fh-monitor-progress .fh-progress{flex:1;min-width:0;height:10px}.fh-monitor-active-circuit,.fh-monitor-group-circuits{flex:1;min-height:0;overflow-y:auto}.fh-monitor-session-card[data-exercise-grid] .fh-monitor-active-circuit{grid-template-columns:repeat(var(--fh-exercise-columns,1), minmax(0, 1fr));align-content:start;display:grid}.fh-monitor-session-card[data-exercise-grid] .fh-monitor-active-circuit>header{grid-column:1/-1}.fh-monitor-session-card[data-exercise-grid] .fh-monitor-exercise{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}@container fh-monitor-session (max-width:1199px){.fh-monitor-session-card[data-exercise-grid] .fh-monitor-active-circuit{grid-template-columns:repeat(2,minmax(0,1fr))}}@container fh-monitor-session (max-width:560px){.fh-monitor-session-card[data-exercise-grid] .fh-monitor-active-circuit{grid-template-columns:minmax(0,1fr)}}.fh-monitor-active-circuit>header,.fh-monitor-circuit>header{padding:var(--fh-circuit-pad,8px 16px);border-bottom:1px solid color-mix(in srgb, var(--fh-circuit,var(--accent)) 48%, var(--border));background:var(--surface-hover);color:var(--fh-circuit,var(--accent-text));font-size:max(var(--fh-circuit-font,12px), 12px);justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-monitor-active-circuit>header strong,.fh-monitor-circuit>header strong{font-weight:800}.fh-monitor-active-circuit>header span,.fh-monitor-circuit>header span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.86em;font-weight:700}.fh-monitor-circuit{border-bottom:1px solid var(--border-strong)}.fh-monitor-circuit[data-last]{border-bottom:0}.fh-monitor-exercise{padding:var(--fh-name-pad,10px 16px);border-bottom:1px solid var(--border)}.fh-monitor-exercise[data-last]{border-bottom:0}.fh-monitor-exercise>header{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.fh-monitor-exercise>header strong{min-width:0;color:var(--text-primary);font-family:var(--font-barlow-condensed), sans-serif;font-size:var(--fh-exercise-font,18px);letter-spacing:.005em;text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.fh-monitor-exercise>header>span:last-child{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.74em;font-weight:750}.fh-monitor-sets{gap:var(--fh-chip-gap,10px);flex-wrap:wrap;margin-top:9px;display:flex}.fh-monitor-set{min-height:31px;padding:var(--fh-chip-pad,5px 9px);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:max(var(--fh-chip-font,15px), 14px);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.fh-monitor-set[data-complete]{border-color:var(--progress);background:var(--surface);color:var(--text-primary)}.fh-monitor-set-dot{width:var(--fh-dot-size,8px);height:var(--fh-dot-size,8px);border:1px solid var(--border-strong);background:0 0;border-radius:50%;flex:none}.fh-monitor-set[data-complete] .fh-monitor-set-dot{border-color:var(--progress);background:var(--progress)}.fh-monitor-set strong{color:var(--text-primary);font-weight:800}.fh-monitor-set>span{text-transform:uppercase;font-size:.62em;font-weight:700}.fh-monitor-set>i{background:var(--border);width:1px;height:14px;margin:0 2px}.fh-monitor-group-header{border-bottom:1px solid var(--border);background:var(--paper);flex:none;padding:15px}.fh-monitor-group-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fh-monitor-group-title h2{min-width:0;font-family:var(--font-barlow-condensed), sans-serif;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,1.6vw,24px);font-weight:800;overflow:hidden}.fh-monitor-group-header>p{color:var(--text-muted);margin-top:6px;font-size:10px}.fh-monitor-members{flex-wrap:wrap;gap:5px;margin-top:10px;list-style:none;display:flex}.fh-monitor-members li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:3px 6px;font-size:9.5px;font-weight:750}.fh-monitor-carousel-status{border-top:1px solid var(--border);background:var(--paper);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:36px;padding:8px 12px;display:grid}.fh-monitor-carousel-status .fh-progress{height:4px}.fh-monitor-carousel-pages{align-items:center;gap:4px;display:flex}.fh-monitor-carousel-pages>span{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.fh-monitor-carousel-pages>span[data-active]{background:var(--progress)}.fh-monitor-carousel-pages strong{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:5px;font-size:11px}.fh-monitor-empty{flex:1;min-height:0}@media (max-height:850px) and (min-width:901px){.fh-monitor-header{gap:16px;min-height:54px;padding:7px 18px}.fh-monitor[data-monitor-role] .fh-monitor-header{min-height:50px;padding-block:6px}.fh-monitor-brand strong{font-size:clamp(20px,1.7vw,23px)}.fh-monitor-brand>span{font-size:clamp(13px,1.1vw,15px)}.fh-monitor-clock time{font-size:clamp(22px,2vw,27px)}.fh-monitor-workspace{gap:7px;padding:7px}.fh-monitor-section-header{min-height:30px;padding:5px 10px}.fh-monitor-carousel-page{gap:7px;padding:7px}.fh-monitor-session-header{padding:10px 12px}.fh-monitor-uid{font-size:clamp(27px,2.35vw,34px)}.fh-monitor-session-meta{margin-top:3px}.fh-monitor-session-state{gap:3px}.fh-monitor-progress .fh-progress{height:8px}.fh-monitor-exercise{--fh-name-pad:7px 12px!important}.fh-monitor-sets{margin-top:6px}.fh-monitor-set{min-height:28px}.fh-monitor-group-header{padding:7px 10px}.fh-monitor-group-header>p{margin-top:3px}.fh-monitor-members{margin-top:4px}.fh-monitor-carousel-status{min-height:30px;padding:5px 9px}}@media (max-height:700px) and (min-width:901px){.fh-monitor-header,.fh-monitor[data-monitor-role] .fh-monitor-header{min-height:46px;padding-block:5px}.fh-monitor-brand{gap:8px}.fh-monitor-brand>i{height:22px}.fh-monitor-clock{min-width:92px}.fh-monitor-clock span,.fh-monitor-live-count>span:last-child,.fh-monitor-group-live{display:none}.fh-monitor-divider{height:26px}.fh-monitor-section-header{min-height:28px;padding-block:4px}.fh-monitor-session-header{padding:7px 10px}.fh-monitor-session-meta{margin-top:2px}.fh-monitor-exercise{--fh-name-pad:5px 10px!important;--fh-exercise-font:16px!important}.fh-monitor-sets{gap:min(var(--fh-chip-gap,8px), 8px);margin-top:4px}.fh-monitor-set{min-height:26px;--fh-chip-font:14px!important;--fh-chip-pad:3px 7px!important}.fh-monitor-group-header{padding:7px 10px}.fh-monitor-group-title h2{font-size:clamp(18px,1.4vw,22px)}.fh-monitor-group-header>p{margin-top:3px}.fh-monitor-members{margin-top:4px}.fh-monitor-carousel-status{min-height:26px;padding-block:3px}}@media (max-height:700px) and (min-width:1500px){.fh-monitor-group-card .fh-monitor-exercise{grid-template-columns:minmax(155px,.75fr) minmax(0,1.65fr);align-items:center;gap:8px;display:grid}.fh-monitor-group-card .fh-monitor-sets{gap:4px;margin-top:0}}.fh-toast-region{pointer-events:none;z-index:100000;flex-direction:column;gap:8px;width:min(400px,100vw - 24px);display:flex;position:fixed;top:16px;right:16px}.fh-toast{pointer-events:auto;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);min-width:0;color:var(--text-primary);box-shadow:var(--shadow-sm);align-items:flex-start;gap:10px;padding:12px;font-size:12.5px;font-weight:650;animation:.18s cubic-bezier(.22,1,.36,1) slideIn;display:flex}.fh-toast[data-type=error]{border-color:var(--danger-border)}.fh-toast-signal{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);width:25px;height:25px;color:var(--accent);flex:none;place-items:center;display:grid}.fh-toast[data-type=error] .fh-toast-signal{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.fh-toast-close{width:26px;height:26px}.fh-tag-filter{flex:none;position:relative}.fh-tag-list,.fh-tag-menu-list{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.fh-tag{border:1px solid var(--border);min-height:25px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:750;line-height:1}.fh-tag:hover{border-color:var(--tag-color,var(--border-strong));background:var(--surface-hover)}.fh-tag[aria-pressed=true]{border-color:var(--tag-color,var(--accent));background:var(--surface);color:var(--tag-color,var(--text-primary))}.fh-tag-more[data-open=true]{border-color:var(--accent);background:var(--surface);color:var(--accent)}.fh-tag-clear{width:25px;height:25px}.fh-tag-menu{z-index:50;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-elevated);min-width:260px;max-height:240px;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden}.fh-tag-search{border-width:0 0 1px;border-radius:0;flex:none}.fh-tag-menu-list{min-height:0;padding:8px;overflow-y:auto}.fh-tag-empty{color:var(--text-muted);padding:8px;font-size:11px}.auth-shell{background:var(--auth-bg,var(--app-bg));width:100%;min-height:100dvh;color:var(--auth-text,var(--text-primary));flex-direction:column;display:flex;overflow-y:auto}.auth-masthead{border-bottom:1px solid var(--auth-border,var(--border));background:var(--auth-surface,var(--surface));flex:none;justify-content:space-between;align-items:center;min-height:64px;padding:12px clamp(18px,3vw,40px);display:flex}.auth-wordmark{color:var(--auth-text,var(--text-primary));font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:.025em;font-size:22px;font-weight:800}.auth-theme-toggle{border:1px solid var(--auth-border,var(--border));border-radius:var(--radius-sm);width:34px;height:34px;color:var(--auth-secondary,var(--text-secondary));cursor:pointer;background:0 0;place-items:center;display:grid}.auth-theme-toggle:hover{border-color:var(--auth-accent,var(--accent));color:var(--auth-accent,var(--accent))}.auth-workspace{grid-template-columns:minmax(280px,1fr) minmax(340px,440px);align-self:center;align-items:center;gap:clamp(50px,9vw,128px);width:min(1050px,100% - 40px);min-height:calc(100dvh - 64px);padding:46px 0;display:grid}.auth-identity h1{color:var(--auth-text,var(--text-primary));font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.035em;margin-top:20px;font-size:clamp(48px,7vw,80px);font-weight:800;line-height:.88}.auth-identity p{max-width:55ch;color:var(--auth-secondary,var(--text-secondary));margin-top:14px;font-size:13px}.auth-ledger-mark,.fh-ledger-mark{align-items:stretch;gap:5px;width:78px;height:30px;display:flex}.auth-ledger-mark span,.fh-ledger-mark span{border:1px solid var(--auth-accent,var(--accent));background:0 0;flex:1}.auth-ledger-mark span:nth-child(2),.fh-ledger-mark span:nth-child(2){background:var(--auth-accent,var(--accent))}.auth-form-sheet{border:1px solid var(--auth-border,var(--border));border-radius:var(--radius-lg);background:var(--auth-surface,var(--surface));padding:clamp(24px,4vw,38px)}.auth-form-sheet h2{color:var(--auth-text,var(--text-primary));font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.018em;font-size:27px;font-weight:800;line-height:1}.auth-form-description{max-width:65ch;color:var(--auth-secondary,var(--text-secondary));margin-top:9px;font-size:12.5px}.auth-form{flex-direction:column;gap:15px;margin-top:25px;display:flex}.auth-field label{color:var(--auth-secondary,var(--text-secondary))}.auth-field input{border-color:var(--auth-input-border,var(--input-border));background:var(--auth-input,var(--input-bg));min-height:42px;color:var(--auth-text,var(--text-primary))}.auth-field input:focus{border-color:var(--auth-accent,var(--accent))}.auth-error{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--auth-danger-bg,var(--danger-bg));color:var(--auth-danger,var(--danger));padding:9px 10px;font-size:12px}.auth-submit{border:1px solid var(--auth-accent,var(--accent));border-radius:var(--radius-sm);background:var(--auth-accent,var(--accent));min-height:42px;color:var(--accent-contrast);cursor:pointer;font-size:13px;font-weight:800}.auth-submit:hover{border-color:var(--auth-accent-hover,var(--accent-hover));background:var(--auth-accent-hover,var(--accent-hover))}.auth-form-footer{border-top:1px solid var(--auth-border,var(--border));justify-content:center;margin-top:17px;padding-top:15px;display:flex}.auth-text-action{color:var(--auth-secondary,var(--text-secondary));cursor:pointer;background:0 0;border:0;border-bottom:1px solid;border-radius:0;padding:3px;font-size:12px;font-weight:700}.auth-text-action:hover{color:var(--auth-accent,var(--accent))}.auth-shake{animation:.31s ease-out authShake}.fh-fatal{background:var(--app-bg);width:100%;min-height:100dvh;color:var(--text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:30px;display:flex}.fh-fatal h1{font-family:var(--font-barlow-condensed), sans-serif;letter-spacing:-.025em;font-size:clamp(28px,4vw,44px);font-weight:800}.fh-fatal button{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);min-height:36px;color:var(--accent-contrast);cursor:pointer;padding:7px 14px;font-weight:750}input[type=range]{accent-color:var(--fh-accent,var(--accent))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--surface);cursor:pointer;background:currentColor;border-radius:50%;width:15px;height:15px;margin-top:-5px;box-shadow:0 2px 7px #0003}input[type=range]::-moz-range-thumb{border:2px solid var(--surface);cursor:pointer;background:currentColor;border-radius:50%;width:15px;height:15px}input[type=range]::-webkit-slider-runnable-track{border-radius:3px;height:4px}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.7)}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:opacity(.7)}@media (hover:hover) and (pointer:fine){.fh-record-row .fh-row-actions{opacity:0;transition:opacity .12s}.fh-record-row:hover .fh-row-actions,.fh-record-row:focus-within .fh-row-actions{opacity:1}}@media (hover:none){.fh-row-actions{opacity:1}}@media (max-width:1180px){.fh-dashboard-workspace{grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:12px}.fh-toolbar{flex-wrap:wrap;align-items:flex-start}.fh-record-toolbar{max-height:150px;overflow-y:auto}.fh-monitor-workspace[data-has-groups]{grid-template-columns:minmax(520px,1.4fr) minmax(320px,.78fr)}}@media (max-width:1040px){.fh-sidebar{width:56px}.fh-sidebar .fh-sidebar-brand-copy,.fh-sidebar .fh-sidebar-section,.fh-sidebar .fh-sidebar-nav-index,.fh-sidebar .fh-sidebar-nav-label,.fh-sidebar .fh-sidebar-new-session span,.fh-sidebar .fh-sidebar-profile-copy{display:none}.fh-sidebar .fh-sidebar-masthead{flex-direction:column;gap:7px;padding-inline:7px}.fh-sidebar .fh-sidebar-nav-item,.fh-sidebar .fh-sidebar-new-session{justify-content:center;padding-inline:0;display:flex}.fh-sidebar .fh-sidebar-footer,.fh-sidebar .fh-sidebar-controls{flex-direction:column;display:flex}.fh-sidebar .fh-sidebar-footer{padding-inline:6px}.fh-sidebar .fh-sidebar-toggle{display:none}.fh-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-stat:nth-child(2){border-right:0}.fh-stat:nth-child(-n+2){border-bottom:1px solid var(--border)}.fh-dashboard-workspace{grid-template-columns:minmax(0,1fr) minmax(245px,.68fr)}.auth-workspace{grid-template-columns:minmax(220px,.7fr) minmax(340px,1fr);gap:42px;width:min(820px,100% - 40px)}.fh-plan-editor-grid{grid-template-columns:170px 180px minmax(0,1fr)!important}}@media (max-width:900px){.fh-monitor-header{min-height:62px;padding-block:9px}.fh-monitor-workspace[data-has-groups]{grid-template-rows:minmax(0,1.18fr) minmax(0,.82fr);grid-template-columns:1fr}.fh-monitor-status{gap:9px}.fh-monitor-group-live,.fh-monitor-live-count>span:last-child,.fh-monitor-clock span{display:none}}@media (max-width:820px){.fh-page-header{flex-wrap:wrap;align-items:flex-start}.fh-page-actions{justify-content:flex-start;width:100%}.fh-dashboard-workspace{grid-template-columns:1fr;overflow-y:auto}.fh-dashboard-ledger{grid-template-rows:auto}.fh-dashboard-schedule,.fh-dashboard-clients{min-height:280px}.fh-circuit-header,.fh-exercise-header{flex-direction:column;align-items:flex-start}.fh-circuit-actions,.fh-exercise-actions{justify-content:flex-start;width:100%}.fh-record-region{overflow-x:auto!important}.fh-toolbar.fh-exercise-toolbar{grid-template-columns:1fr}.fh-exercise-primary-filters{max-width:420px}.fh-form-grid{grid-template-columns:1fr!important}.fh-plan-editor-grid{grid-template-columns:145px 160px minmax(300px,1fr)!important;overflow-x:auto!important}.auth-workspace{grid-template-columns:1fr;gap:28px;width:min(520px,100% - 32px)}.auth-identity h1{font-size:48px}.auth-identity p{margin-top:9px}}@media (max-width:620px){.fh-page-header{min-height:64px;padding:11px 12px}.fh-page-title{font-size:23px}.fh-page-index{width:32px;height:32px}.fh-toolbar,.fh-record-region,.fh-session-workspace{padding-left:10px;padding-right:10px}.fh-filter-group{width:100%}.fh-exercise-kind-filters{flex-wrap:wrap}.fh-filter-control,.fh-search,.fh-search-field{width:100%!important}.fh-modal-overlay,.fh-overlay,.fh-plan-editor-overlay{align-items:flex-end;padding:8px}.fh-modal,.fh-modal-frame,.fh-plan-editor{width:100%;max-width:100%;max-height:94dvh}.fh-modal-body{padding:15px}.fh-new-session-schedule,.fh-new-session-schedule--admin{grid-template-columns:1fr}.fh-schedule-review-summary dl{grid-template-columns:1fr;gap:4px}.fh-schedule-review-summary dd:not(:last-child){margin-bottom:6px}.fh-wizard-steps{margin:-15px -15px 16px}.fh-wizard-step{padding-inline:8px}.fh-wizard-step-label{display:none}.fh-wizard-actions{margin:16px -15px -15px;padding:11px 15px}.fh-wizard-kind-tabs button{min-height:44px}.fh-wizard-plan-builder{grid-template-columns:1fr;height:auto}.fh-wizard-library-pane,.fh-wizard-plan-pane{height:320px}.fh-modal-actions{flex-wrap:wrap}.fh-modal-actions .fh-button{flex:auto}.fh-stale-row{flex-direction:column;align-items:stretch}.fh-stale-actions>*{flex:1}.fh-session-progress{grid-template-columns:1fr}.fh-set-row{align-items:flex-start}.fh-set-fields,.fh-metric-set-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-set-field{min-width:0}.fh-history-tabs{gap:8px;margin:-15px -15px 12px;padding:10px 15px;top:-15px}.fh-history-list .fh-history-report-header{flex-direction:column;align-items:flex-start;gap:4px}.fh-plan-editor-overlay{padding:6px!important}.fh-plan-editor-grid{flex-direction:column;display:flex!important;overflow-y:auto!important}.fh-monitor-header{flex-direction:column;align-items:flex-start;gap:7px}.fh-monitor-status{justify-content:space-between;width:100%}.fh-monitor-role-actions{border-top:1px solid var(--border);border-right:0;order:3;width:100%;padding-top:7px;padding-right:0}.fh-monitor-workspace{padding:7px}.fh-monitor-workspace[data-has-groups]{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.fh-monitor-carousel-page{padding:7px}.auth-masthead{min-height:56px;padding:10px 16px}.auth-workspace{min-height:calc(100dvh - 56px);padding:24px 0}.auth-identity{display:none}.auth-form-sheet{padding:23px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fh-badge-signal,.fh-live-dot{animation:none}}.fh-client-progress-page .fh-page-body{flex-direction:column;gap:14px;display:flex}.fh-progress-content{flex-direction:column;flex-shrink:0;gap:14px;min-width:0;padding:16px clamp(14px,2vw,22px);display:flex}.fh-progress-header-title{letter-spacing:.01em;flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.fh-progress-hint{color:var(--text-muted);font-size:12px;line-height:1.5}.fh-progress-hint-inline{align-items:flex-start;gap:6px;display:flex}.fh-progress-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.fh-progress-toolbar-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fh-progress-toolbar-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:12px;font-weight:700}.fh-progress-toolbar-count{color:var(--accent);border:1px solid var(--border);background:0 0;border-radius:99px;padding:1px 8px;font-size:12px;font-weight:600}.fh-progress-toolbar-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.fh-progress-toolbar-label{color:var(--text-secondary);margin-bottom:3px;font-size:11px;font-weight:600}.fh-progress-toolbar-error{color:var(--danger);padding:4px 0 0;font-size:12px}.fh-progress-field{flex-direction:column;display:flex}.fh-progress-filters-toggle{display:none}.fh-progress-filters-panel{flex-direction:column;gap:8px;display:flex}.fh-progress-filters-summary{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.fh-progress-date{width:150px}.fh-progress-tag-select{width:180px}.fh-progress-band{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-shrink:0;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow:hidden}.fh-progress-band-item{border-right:1px solid var(--border);min-width:0;padding:10px 12px}.fh-progress-band-item:last-child{border-right:none}.fh-progress-band-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.fh-progress-band-value{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-top:2px;font-size:20px;font-weight:700}.fh-progress-badge{border-radius:99px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.fh-progress-badge-tier{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.fh-progress-badge-uid{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);font-variant-numeric:tabular-nums}.fh-progress-badge-archived{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.fh-progress-badge-historical{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.fh-progress-badge-group{background:var(--surface);color:var(--blue);border:1px solid var(--blue)}.fh-progress-badge-kind{border:1px solid var(--accent);background:var(--surface);color:var(--accent)}.fh-progress-badge-kind-cardio{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.fh-progress-overview{flex-direction:column;gap:14px;display:flex}.fh-progress-overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.fh-progress-overview-col{flex-direction:column;gap:14px;min-width:0;display:flex}.fh-progress-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;overflow:hidden}.fh-progress-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.fh-progress-panel-header-wrap{flex-wrap:wrap}.fh-progress-panel-title{font-family:var(--font-condensed), sans-serif;letter-spacing:.012em;color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.1}.fh-progress-panel-body{padding:12px 14px}.fh-progress-chart{flex-direction:column;gap:10px;display:flex;position:relative}.fh-progress-chart-svg{width:100%;height:auto;display:block;overflow:visible}.fh-progress-chart-donut-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.fh-progress-chart-donut-svg{flex-shrink:0;width:150px;max-width:100%;height:150px}.fh-progress-chart-legend{flex-direction:column;gap:6px;display:flex}.fh-progress-chart-legend-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.fh-progress-chart-legend-swatch{border-radius:var(--radius-sm);flex-shrink:0;width:10px;height:10px}.fh-progress-chart-legend-name{font-weight:600}.fh-progress-chart-legend-meta{font-variant-numeric:tabular-nums;color:var(--text-muted);margin-left:auto}.fh-progress-chart-empty{min-height:120px;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:13px;display:flex}.fh-progress-chart-table{border-top:1px solid var(--border);width:100%}.fh-progress-chart-table>summary{cursor:pointer;color:var(--accent);padding:6px 0;font-size:12.5px;font-weight:750}.fh-progress-chart-data-table{border-collapse:collapse;width:100%}.fh-progress-chart-data-table th,.fh-progress-chart-data-table td{border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;padding:4px 8px}.fh-progress-chart-data-table th:first-child,.fh-progress-chart-data-table td:first-child{text-align:left}.fh-progress-chart-tooltip{pointer-events:none;background:var(--modal-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);z-index:5;flex-direction:column;gap:2px;padding:6px 9px;font-size:12px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.fh-progress-chart-tooltip-date{font-weight:600}.fh-progress-chart-tooltip-value{font-variant-numeric:tabular-nums}.fh-progress-chart-tooltip-group{color:var(--text-muted);font-size:11px}.fh-progress-chart-point-swatch{vertical-align:-1px;border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.fh-progress-chart-point-swatch-outline{background:0 0;border:1.5px solid;border-radius:2px}.fh-progress-chart-show-all{align-self:flex-start;font-size:12px}.fh-progress-chart-tags{flex-direction:column;gap:7px;display:flex}.fh-progress-chart-tag-row{align-items:center;gap:8px;display:flex}.fh-progress-chart-tag-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:90px;font-size:12px;overflow:hidden}.fh-progress-chart-tag-track{background:var(--surface-hover);border-radius:99px;flex:1;height:8px;overflow:hidden}.fh-progress-chart-tag-fill{border-radius:99px;height:100%;display:block}.fh-progress-chart-tag-meta{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;min-width:64px;font-size:11px}.fh-progress-activity-panel{container-type:inline-size}.fh-progress-activity-layout{grid-template-columns:minmax(280px,1.05fr) minmax(220px,.85fr);min-width:0;display:grid}.fh-progress-calendar{min-width:0;padding-right:14px}.fh-progress-calendar-toolbar{grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.fh-progress-calendar-toolbar>strong{color:var(--text-primary);font-family:var(--font-condensed), sans-serif;text-align:center;text-transform:capitalize;font-size:16px;font-weight:800}.fh-progress-calendar-nav{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.fh-progress-calendar-nav:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover);color:var(--accent)}.fh-progress-calendar-nav:disabled{opacity:.35;cursor:default}.fh-progress-calendar-nav:focus-visible,.fh-progress-calendar-day:focus-visible,.fh-progress-activity-detail-empty button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.fh-progress-calendar-weekdays,.fh-progress-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.fh-progress-calendar-weekdays{margin-bottom:5px}.fh-progress-calendar-weekdays span{color:var(--text-muted);text-align:center;text-transform:uppercase;font-size:10px;font-weight:700}.fh-progress-calendar-day,.fh-progress-calendar-blank{aspect-ratio:1.08;min-width:0}.fh-progress-calendar-day{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;justify-content:flex-start;align-items:flex-start;padding:6px;font-size:11px;display:flex;position:relative}.fh-progress-calendar-day:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-primary)}.fh-progress-calendar-day[data-has-sessions]{border-color:color-mix(in srgb, var(--progress) 52%, var(--border));background:color-mix(in srgb, var(--progress) 13%, var(--surface));color:var(--accent-text);font-weight:750}.fh-progress-calendar-day[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 3px 9px color-mix(in srgb, var(--accent) 24%, transparent)}.fh-progress-activity-detail{border-left:1px solid var(--border);min-width:0;padding-left:14px;overflow:hidden}.fh-progress-activity-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0 10px;display:flex}.fh-progress-activity-detail-header strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:13px;overflow:hidden}.fh-progress-activity-detail-header span{color:var(--text-muted);white-space:nowrap;font-size:11px}.fh-progress-activity-detail-empty{min-height:120px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;font-size:12px;display:flex}.fh-progress-activity-detail-empty button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.fh-progress-activity-sessions{flex-direction:column;max-height:272px;display:flex;overflow-y:auto}.fh-progress-activity-session{border-bottom:1px solid var(--border);width:100%;min-width:0;color:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main action""meta action";align-items:center;gap:5px 12px;padding:12px 8px;display:grid}.fh-progress-activity-session:last-child{border-bottom:0}.fh-progress-activity-session-main{flex-direction:column;grid-area:main;gap:2px;min-width:0;display:flex}.fh-progress-activity-session-main strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.fh-progress-activity-session-main span{color:var(--text-muted);font-size:10.5px}.fh-progress-activity-session-meta{min-width:0;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-area:meta;align-items:center;gap:3px 10px;font-size:10.5px;display:flex}.fh-progress-activity-session-meta time{color:var(--text-secondary);font-weight:700}.fh-progress-activity-session-action{border:1px solid var(--accent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 8%, var(--surface));min-height:36px;color:var(--accent);font:inherit;white-space:nowrap;cursor:pointer;grid-area:action;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:11px;font-weight:800;line-height:1;transition:background-color .14s,color .14s,border-color .14s;display:inline-flex}.fh-progress-activity-session-action:hover{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.fh-progress-activity-session-action:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.fh-progress-activity-modal-retry{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;font-weight:750}.fh-progress-activity-modal-retry:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.fh-progress-chart-monthly{flex-direction:column;gap:6px;display:flex}.fh-progress-chart-monthly-row{grid-template-columns:64px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.fh-progress-chart-monthly-label{color:var(--text-secondary);white-space:nowrap}.fh-progress-chart-monthly-track{background:var(--surface-hover);border-radius:99px;height:10px;overflow:hidden}.fh-progress-chart-monthly-fill{border-radius:99px;height:100%;display:block}.fh-progress-chart-monthly-meta{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.fh-progress-ledger{flex-direction:column;gap:0;display:flex}.fh-progress-ledger-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.fh-progress-ledger-search{flex:1;min-width:200px}.fh-progress-ledger-sort{align-items:center;gap:6px;display:flex}.fh-progress-ledger-sort-select{min-width:170px}.fh-progress-ledger-count-label{color:var(--text-muted);font-size:12px}.fh-progress-ledger-list{border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.fh-progress-ledger-row{border:0;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;align-items:center;gap:12px;padding:10px 14px;display:flex}.fh-progress-ledger-row:last-child{border-bottom:none}.fh-progress-ledger-row:hover{background:var(--surface-hover)}.fh-progress-ledger-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.fh-progress-ledger-name{align-items:center;gap:8px;min-width:0;display:flex}.fh-progress-ledger-name-text{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.fh-progress-ledger-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.fh-progress-ledger-tags{flex-wrap:wrap;gap:5px;display:flex}.fh-progress-ledger-meta{color:var(--text-secondary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;font-size:12px;display:flex}.fh-progress-ledger-meta-item{white-space:nowrap;font-variant-numeric:tabular-nums}.fh-progress-ledger-meta-group{color:var(--blue);font-weight:600}.fh-progress-ledger-best{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700}.fh-progress-ledger-chevron{color:var(--text-muted);flex-shrink:0}.fh-progress-tag-pill{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);border-radius:99px;padding:1px 8px;font-size:11px;font-weight:600}.fh-progress-detail{flex-direction:column;gap:14px;display:flex}.fh-progress-detail-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fh-progress-detail-back{flex-shrink:0}.fh-progress-detail-identity{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.fh-progress-detail-name{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:6px;font-size:17px;font-weight:700;display:flex}.fh-progress-detail-desc{color:var(--text-muted);font-size:13px}.fh-progress-detail-tags{flex-wrap:wrap;gap:5px;display:flex}.fh-progress-detail-range{color:var(--text-muted);font-size:12px}.fh-progress-detail-stats{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid;overflow:hidden}.fh-progress-detail-stat{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 12px}.fh-progress-detail-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600}.fh-progress-detail-stat-value{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-top:2px;font-size:16px;font-weight:700}.fh-progress-detail-stat-change{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px}.fh-progress-detail-error{border:1px dashed var(--danger-border);border-radius:var(--radius-md);color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.fh-progress-detail-error-actions{flex-wrap:wrap;gap:8px;display:flex}.fh-progress-check{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.fh-progress-check input{width:15px;height:15px;accent-color:var(--accent)}.fh-progress-detail-loading{padding:20px 0}.fh-progress-metric-selector{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fh-progress-metric-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:99px;min-height:36px;padding:6px 12px;font-size:12px;font-weight:600}.fh-progress-metric-button:hover{background:var(--surface-hover)}.fh-progress-metric-button[aria-pressed=true],.fh-progress-metric-button.is-active{background:var(--surface);border-color:var(--accent);color:var(--accent)}.fh-progress-chip{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.fh-progress-chip-muted{opacity:.6}.fh-progress-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto}.fh-progress-table{border-collapse:collapse;width:100%;font-size:12.5px}.fh-progress-table th{background:var(--surface-hover);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:10.5px;font-weight:700;position:sticky;top:0}.fh-progress-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;padding:7px 10px}.fh-progress-table tr:last-child td{border-bottom:none}.fh-progress-table tr.is-skipped{opacity:.55}.fh-progress-table-pin{background:var(--surface);position:sticky;left:0}.fh-progress-table-pin-set{left:96px}.fh-progress-table-empty{text-align:center;color:var(--text-muted);padding:18px;font-size:13px}@media (max-width:620px){.fh-audit-filters{grid-template-columns:1fr;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.fh-audit-count{justify-self:start}.fh-audit-row{grid-template-columns:82px minmax(0,1fr);gap:10px}.fh-audit-row .fh-button{grid-column:1/-1;width:100%}.fh-audit-detail-summary{grid-template-columns:1fr;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.fh-audit-detail-summary>div:last-child{align-items:flex-start}.fh-audit-change-table{overflow:hidden}.fh-audit-change-head{display:none}.fh-audit-change-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fh-audit-change-row>strong{border-right:0;border-bottom:1px solid var(--border);background:var(--paper);grid-column:1/-1}.fh-audit-change-row>div{flex-direction:column;gap:5px;display:flex}.fh-audit-change-row>div:before{color:var(--text-muted);content:attr(data-label);letter-spacing:.055em;text-transform:uppercase;font-size:10.5px;font-weight:800}}.fh-progress-occurrences{flex-direction:column;gap:12px;display:flex}.fh-progress-load-more{align-self:center}.fh-progress-export{flex-direction:column;gap:14px;display:flex}.fh-progress-export-section{flex-direction:column;gap:8px;display:flex}.fh-progress-export-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:12px;font-weight:700}.fh-progress-export-format-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.fh-progress-export-format{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);cursor:pointer;text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:10px 12px;transition:background-color .12s,border-color .12s,color .12s,box-shadow .12s;display:flex;position:relative}.fh-progress-export-format:hover{border-color:var(--border-strong);background:var(--surface-hover)}.fh-progress-export-format[aria-pressed=true]{border-color:var(--accent);background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fh-progress-export-format-label{min-width:0;color:inherit;font-size:12.5px;font-weight:750;line-height:1.2}.fh-progress-export-format-check{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:#0000;opacity:0;flex:0 0 20px;place-items:center;width:20px;height:20px;transition:opacity .12s,transform .12s;display:grid;transform:scale(.86)}.fh-progress-export-format[aria-pressed=true] .fh-progress-export-format-check{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);opacity:1;transform:scale(1)}.fh-progress-export-exercises{border:1px solid var(--border);border-radius:var(--radius-md);max-height:180px;overflow-y:auto}.fh-progress-export-exercise-list{flex-direction:column;display:flex}.fh-progress-export-exercise-row{color:var(--text-secondary);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;font-size:12.5px;display:flex}.fh-progress-export-exercise-row:last-child{border-bottom:none}.fh-progress-export-check{color:var(--text-secondary);align-items:center;gap:8px;font-size:12.5px;display:flex}.fh-progress-export-counts{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1px;display:grid;overflow:hidden}.fh-progress-export-count{background:var(--surface);padding:7px 10px}.fh-progress-export-count strong{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:15px;display:block}.fh-progress-export-count span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:10.5px}.fh-progress-export-notice{color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);padding:10px 12px;font-size:12.5px;line-height:1.55}.fh-progress-export-error{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);padding:9px 12px;font-size:12.5px}.fh-progress-export-ack{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.fh-progress-export-actions{justify-content:flex-end;gap:8px;display:flex}.fh-progress-export-chips{flex-wrap:wrap;gap:6px;display:flex}.fh-progress-export-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fh-progress-skeleton{flex-direction:column;flex-shrink:0;gap:12px;display:flex}.fh-progress-skeleton-block{background:var(--surface-hover);border-radius:var(--radius-md);animation:1.6s ease-in-out infinite fh-progress-pulse}@keyframes fh-progress-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.fh-progress-skeleton-block{animation:none}}@media (max-width:1040px) and (min-width:621px){.fh-progress-band{grid-template-columns:repeat(3,minmax(0,1fr))}.fh-progress-band-item{border-right:1px solid var(--border);border-top:0}.fh-progress-band-item:nth-child(3n){border-right:none}.fh-progress-band-item:nth-child(n+4){border-top:1px solid var(--border)}}@media (max-width:820px){.fh-progress-overview-grid,.fh-progress-export-grid{grid-template-columns:1fr}.fh-progress-ledger-row{flex-wrap:wrap}.fh-progress-ledger-meta{width:100%}}@media (max-width:700px){.fh-progress-activity-layout{grid-template-columns:1fr}.fh-progress-calendar{padding-bottom:14px;padding-right:0}.fh-progress-activity-detail{border-top:1px solid var(--border);border-left:0;padding-top:14px;padding-left:0}}@container (max-width:940px){.fh-progress-activity-layout{grid-template-columns:minmax(0,1fr)}.fh-progress-calendar{width:min(100%,720px);margin-inline:auto;padding-bottom:16px;padding-right:0}.fh-progress-activity-detail{border-top:1px solid var(--border);border-left:0;padding-top:16px;padding-left:0}}@container (max-width:520px){.fh-progress-activity-session{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""meta""action";gap:6px}.fh-progress-activity-session-action{width:100%;min-height:44px;margin-top:4px}.fh-progress-activity-detail-header{align-items:flex-start}}@media (max-width:620px){.fh-progress-band{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-progress-band-item{border-right:1px solid var(--border);border-top:0}.fh-progress-band-item:nth-child(2n){border-right:none}.fh-progress-band-item:nth-child(n+3){border-top:1px solid var(--border)}.fh-progress-toolbar-row{flex-direction:column;align-items:stretch}.fh-progress-filters-toggle{display:inline-flex}.fh-progress-toolbar-title,.fh-progress-filters-panel{display:none}.fh-progress-filters-panel.is-open{display:flex}.fh-progress-field,.fh-progress-date,.fh-progress-tag-select{width:100%}.fh-progress-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fh-progress-metric-button{min-height:44px;padding:8px 14px}.fh-progress-detail-back,.fh-progress-export-format{min-height:44px}.fh-progress-table th,.fh-progress-table td{padding:7px 8px}.fh-progress-calendar-day{min-height:38px;padding:5px}}.fh-lifecycle-warning,.fh-auto-complete-warning,.fh-report-edit-intro{border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--text-secondary);flex-direction:column;gap:4px;margin-bottom:14px;padding:11px 13px;font-size:12.5px;line-height:1.5;display:flex}.fh-lifecycle-warning strong,.fh-auto-complete-warning strong,.fh-report-edit-intro strong{color:var(--warning);letter-spacing:.02em;font-size:12.5px}.fh-inline-error{color:var(--danger);margin-top:8px;font-size:12.5px;line-height:1.45}.fh-role-warning{border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-bg);color:var(--warning);margin-bottom:14px;padding:8px 10px;font-size:12.5px;line-height:1.5}.fh-lifecycle-section{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.fh-lifecycle-actions,.fh-completed-session-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fh-auto-complete-warning--card{margin:12px 12px 0}.fh-report-edit-intro{border-color:var(--border-strong);background:var(--surface-hover)}.fh-report-edit-intro strong{color:var(--text-primary)}.fh-report-edit-timing{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fh-report-edit-feedback{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fh-report-edit-feedback textarea,.fh-report-edit-notes{resize:vertical;border:1px solid var(--input-border,var(--border));border-radius:var(--radius-md);background:var(--surface);width:100%;min-height:68px;color:var(--text-primary);font:inherit;padding:9px 10px;font-size:12.5px}.fh-report-edit-feedback textarea:focus,.fh-report-edit-notes:focus,.fh-report-edit-number input:focus{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent)}.fh-report-edit-ledger{flex-direction:column;gap:12px;min-height:0;margin:4px 0 14px;display:flex}.fh-report-edit-circuit{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex:none;overflow:hidden}.fh-report-edit-circuit>header{border-bottom:1px solid var(--border);background:var(--surface-hover);color:var(--text-primary);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;display:flex}.fh-report-edit-circuit>header span{color:var(--text-muted);font-variant-numeric:tabular-nums}.fh-report-edit-exercise{border-bottom:1px solid var(--border);padding:12px}.fh-report-edit-exercise:last-child{border-bottom:0}.fh-report-edit-exercise-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.fh-report-edit-exercise-head>div{align-items:baseline;gap:8px;min-width:0;display:flex}.fh-report-edit-exercise-head strong{color:var(--text-primary);font-size:14px}.fh-report-edit-exercise-head span{color:var(--text-muted);letter-spacing:.055em;text-transform:uppercase;font-size:10.5px;font-weight:800}.fh-report-edit-notes{min-height:48px;margin-bottom:8px}.fh-report-edit-sets{flex-direction:column;gap:7px;display:flex}.fh-report-edit-set-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-hover);grid-template-columns:28px repeat(auto-fit,minmax(82px,1fr)) auto auto;align-items:end;gap:7px;padding:8px;display:grid}.fh-report-edit-set-row>strong{color:var(--text-muted);align-self:center;font-size:10.5px}.fh-report-edit-number{color:var(--text-muted);letter-spacing:.055em;text-transform:uppercase;flex-direction:column;gap:3px;font-size:10.5px;font-weight:800;display:flex}.fh-report-edit-number input{border:1px solid var(--input-border,var(--border));border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;height:34px;color:var(--text-primary);font:inherit;font-variant-numeric:tabular-nums;padding:0 8px;font-size:12.5px}.fh-report-edit-check{color:var(--text-secondary);white-space:nowrap;align-self:center;align-items:center;gap:6px;font-size:12.5px;font-weight:750;display:inline-flex}.fh-report-edit-check input{width:15px;height:15px;accent-color:var(--accent)}.fh-report-edit-remove{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--danger);cursor:pointer;align-self:center;place-items:center;display:grid}.fh-report-edit-remove:hover{background:var(--danger-bg)}@media (max-width:700px){.fh-report-edit-timing,.fh-report-edit-feedback{grid-template-columns:1fr}.fh-report-edit-set-row{grid-template-columns:24px repeat(2,minmax(0,1fr))}.fh-report-edit-check,.fh-report-edit-remove{align-self:end;min-height:34px}.fh-lifecycle-actions,.fh-completed-session-actions{flex-direction:column;align-items:stretch}.fh-lifecycle-actions .fh-button,.fh-completed-session-actions .fh-button{width:100%}}
