:root{--sage:#72816e;--deep-sage:#55644f;--dark-sage:#3d4a3a;--cream:#f4e2c8;--paper:#f5f1e7;--card:#fdfbf5;--border:#e2ddcc;--border-soft:#ebe6d7;--ink:var(--dark-sage);--ink-body:#2c2a24;--ink-muted:var(--sage);--sage-tint:#72816e1a;--sage-tint-strong:#72816e2e;--neutral-bg:#3d4a3a0f;--cal-chip-neutral:#f1f0ea;--cal-chip-sage:#e4e5dd;--cal-chip-warning:#f4ead7;--accent-bg:#f1e3ca;--accent-border:#e3cd9e;--accent-ink:#8a5f2f;--danger:#b3432b;--danger-bg:#b3432b17;--danger-border:#b3432b4d;--warning:#a8752c;--warning-bg:#c48f3a29;--warning-border:#c48f3a66;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-card:0 1px 2px #3d4a3a0d, 0 10px 28px #3d4a3a0f;--shadow-pop:0 16px 40px #3d4a3a29;--sans:-apple-system, BlinkMacSystemFont, "Inter", system-ui, "Segoe UI", Roboto, sans-serif;font:400 16px/1.55 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink-body);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--sans);color:var(--dark-sage);margin:0}h1{letter-spacing:-.01em;font-size:25px;font-weight:600;line-height:1.25}h2{font-size:17px;font-weight:600;line-height:1.35}h3{font-size:15px;font-weight:600;line-height:1.4}p{margin:0}.text-display{letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:1.2}.text-small{font-size:13px;line-height:1.5}.text-caption{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.4}.text-muted{color:var(--ink-muted)}.tabular-nums{font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--deep-sage);outline-offset:2px}.page{padding:var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.card{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-card)}.card h1{letter-spacing:-.01em;margin:0 0 var(--space-1);font-size:28px}.brand-mark-dot{color:var(--deep-sage)}.card .subtitle{color:var(--ink-muted);margin:0 0 var(--space-5);font-size:14px}.field{gap:var(--space-1);margin-bottom:var(--space-3);text-align:left;flex-direction:column;display:flex}.field label{color:var(--ink-muted);letter-spacing:.01em;font-size:13px;font-weight:500}.unsaved-marker{color:var(--danger);font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:inherit;font:inherit;width:100%;min-height:44px;padding:12px 14px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--deep-sage)}.field textarea{resize:vertical;min-height:88px}.field input[type=range]{min-height:0;accent-color:var(--deep-sage);padding:0}.field-hint{color:var(--ink-muted);font-size:13px}.field-error{color:var(--danger);margin-top:2px;font-size:13px;display:block}.btn-primary{background:var(--deep-sage);width:100%;min-height:48px;color:var(--cream);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:12px 20px;font-size:15px;font-weight:600;transition:background-color .15s}.btn-primary:hover{background:var(--dark-sage)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary,.btn-action{background:var(--sage-tint);min-height:44px;color:var(--deep-sage);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .15s}.btn-secondary:hover,.btn-action:hover{background:var(--sage-tint-strong)}.btn-secondary:disabled,.btn-action:disabled{opacity:.5;cursor:default}.btn-ghost{border-radius:var(--radius-sm);min-height:44px;color:var(--deep-sage);cursor:pointer;background:0 0;border:none;align-items:center;margin:-10px -12px;padding:10px 12px;font-size:14px;font-weight:600;transition:background-color .15s;display:inline-flex}.btn-ghost:hover{background:var(--sage-tint)}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-link{color:var(--deep-sage);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.form-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border);border-radius:var(--radius-sm);margin-bottom:var(--space-3);padding:12px 14px;font-size:14px}.finding-error{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:0;display:flex}.form-footer{margin-top:var(--space-4);text-align:center;color:var(--ink-muted);font-size:13px}.form-footer a{color:var(--deep-sage);font-weight:600}.app-header{padding:var(--space-3);background:var(--card);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.app-header .brand{letter-spacing:-.01em;color:var(--dark-sage);font-size:17px;font-weight:600}.app-main{padding:var(--space-4) var(--space-3) 96px;flex:1}.tagline{color:var(--ink-muted);font-size:14px}@media (width>=720px){.app-header{padding:var(--space-4) var(--space-5)}.app-main{padding:var(--space-6) var(--space-5)}}.coach-shell-main{padding-bottom:var(--space-4)}.coach-header{row-gap:var(--space-2);flex-wrap:wrap}.coach-header-left{align-items:center;gap:var(--space-3);display:flex}.coach-back{color:var(--ink-muted);white-space:nowrap;font-size:13px;font-weight:500;text-decoration:none}.coach-back:hover{color:var(--deep-sage)}.coach-nav{flex-wrap:wrap;order:3;gap:2px;width:100%;display:flex}.coach-nav-link{border-radius:var(--radius-sm);color:var(--ink-muted);white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none}.coach-nav-link:hover{color:var(--deep-sage);background:var(--sage-tint)}.coach-nav-link-active{color:var(--deep-sage);background:var(--sage-tint);font-weight:600}@media (width>=860px){.coach-nav{flex:1;order:0;justify-content:center;width:auto}}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge-type-pt,.badge-status-active,.badge-onboarding-profile_complete,.badge-onboarding-programmed{background:var(--sage-tint);color:var(--deep-sage)}.badge-type-long_distance,.badge-onboarding-invited,.badge-onboarding-signed_up{background:var(--accent-bg);color:var(--accent-ink)}.badge-status-paused{background:var(--warning-bg);color:var(--warning)}.badge-status-archived,.badge-onboarding-no_app_account{background:var(--neutral-bg);color:var(--ink-muted)}.badge-good{background:var(--sage-tint);color:var(--deep-sage)}.badge-accent{background:var(--accent-bg);color:var(--accent-ink)}.badge-warn{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:var(--neutral-bg);color:var(--ink-muted)}.chip{background:var(--paper);border:1px solid var(--border);color:var(--ink);border-radius:999px;padding:4px 11px;font-size:12px;display:inline-flex}.chip-empty{color:var(--ink-muted);font-style:italic}.chip-select{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip-toggle{border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;transition:background-color .15s,border-color .15s,color .15s}.chip-toggle:hover{border-color:var(--sage)}.chip-toggle-active{background:var(--deep-sage);border-color:var(--deep-sage);color:var(--cream)}.filters{gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);flex-direction:column;display:flex}.filters input[type=search]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font:inherit;color:inherit;min-height:44px;padding:12px 14px}.filters-row{gap:var(--space-2);display:flex}.filters-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);font:inherit;color:inherit;flex:1;min-height:44px;padding:10px 12px}.client-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.client-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-3);color:inherit;text-decoration:none;display:block}.client-card-top{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.client-card-name{font-size:16px;font-weight:600}.client-card-tags{gap:var(--space-1);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.client-card-facts{gap:var(--space-2);margin:0 0 var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=480px){.client-card-facts{grid-template-columns:repeat(3,1fr)}}.client-card-facts dt{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:2px;font-size:11px}.client-card-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:13px}.client-card-bottom{gap:var(--space-2);flex-wrap:wrap;display:flex}.fab{right:var(--space-3);bottom:var(--space-3);background:var(--deep-sage);width:56px;height:56px;color:var(--cream);box-shadow:var(--shadow-pop);border-radius:50%;justify-content:center;align-items:center;font-size:28px;line-height:1;text-decoration:none;display:flex;position:fixed}.client-profile-heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.client-profile-heading h1{margin:0}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border-soft);margin-bottom:var(--space-4);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tab{min-height:44px;padding:0 var(--space-3);color:var(--ink-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;align-items:center;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.tab-active{color:var(--ink);border-bottom-color:var(--deep-sage);font-weight:600}.placeholder-panel{padding:var(--space-6) var(--space-3);text-align:center;color:var(--ink-muted);border:1px dashed var(--border);border-radius:var(--radius-md);font-size:14px}.overview-tab{gap:var(--space-4);flex-direction:column;max-width:560px;display:flex}.overview-form{max-width:560px}.form-section{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4);margin-bottom:var(--space-4)}.form-section h2{margin:0 0 var(--space-3);font-size:15px}.field-row{gap:var(--space-3);display:flex}.field-row .field{flex:1}.segmented{background:var(--sage-tint);border-radius:var(--radius-sm);gap:3px;padding:3px;display:flex}.segmented button{min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 10px;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s}.segmented-active{box-shadow:var(--shadow-card);background:var(--card)!important;color:var(--deep-sage)!important;font-weight:600!important}.save-row{align-items:center;gap:var(--space-3);background:var(--paper);padding:var(--space-3) 0;display:flex;position:sticky;bottom:0}.save-row .btn-primary{flex:none;width:auto;padding:12px 28px}.invite-panel{gap:var(--space-3);flex-direction:column;display:flex}.invite-panel h3{margin:0}.invite-url-row{gap:var(--space-2);display:flex}.invite-url-row input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);color:inherit;flex:1;min-height:44px;padding:10px 12px;font-size:13px}.card-form{max-width:420px}.weight-panel{gap:var(--space-3);flex-direction:column;display:flex}.weight-panel h3{margin:0}.weight-latest{font-variant-numeric:tabular-nums;margin:0;font-size:16px}.weight-history{gap:var(--space-1);flex-direction:column;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.weight-history li{color:var(--ink-muted);padding:var(--space-1) 0;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:13px;display:flex}.weight-add-form{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-soft);flex-direction:column;display:flex}.weight-add-form .save-row{padding:var(--space-2) 0 0;background:0 0;position:static}.weight-add-form .save-row .btn-primary{padding:10px 20px}.finding-card .save-row,.injury-card .save-row,.movement-faults-panel .save-row,.injuries-panel .save-row{padding:var(--space-1) 0 0;background:0 0;position:static}.finding-card .save-row .btn-primary,.injury-card .save-row .btn-primary{flex:none;width:auto;padding:10px 20px}.home-gym-line{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);margin:0;padding:12px 14px;font-size:14px}.assessment-tab{flex-direction:column;gap:28px;max-width:640px;display:flex}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header h2{margin:0;font-size:17px}.refer-out-banner{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius-md);padding:14px 16px;font-size:14px;font-weight:600}.refer-out-banner ul{margin:8px 0 0;padding-left:18px;font-weight:400}.finding-list{flex-direction:column;gap:14px;display:flex}.finding-card,.injury-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:16px;display:flex}.finding-resolved{opacity:.55}.finding-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.finding-observation{margin:0;font-size:14px}.finding-quick-checks{border-top:1px solid var(--border-soft);flex-direction:column;gap:10px;padding-top:12px;display:flex}.finding-quick-checks h4{color:var(--deep-sage);margin:0;font-size:13px}.quick-checks{flex-direction:column;gap:10px;display:flex}.quick-check-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.quick-check-label{flex-direction:column;gap:2px;font-size:13px;display:flex}.quick-check-inputs{align-items:flex-end;gap:8px;display:flex}.quick-check-inputs label{color:var(--ink-muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.quick-check-inputs input{border:1px solid var(--border);background:var(--paper);width:70px;color:inherit;font:inherit;border-radius:6px;padding:6px 8px}.stage-control{flex-wrap:wrap}.checkbox-label{align-items:center;gap:8px;flex-direction:row!important;font-size:14px!important;font-weight:400!important;display:flex!important}.checkbox-label input{width:auto}.injury-not-cleared{border:1px solid var(--danger-border)}.not-cleared-strip{background:var(--danger);color:var(--cream);border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600}.refer-out-control{border-top:1px solid var(--border-soft);padding-top:10px}.refer-out-note{color:var(--danger);margin:0 0 8px;font-size:13px;font-weight:600}.program-tab{flex-direction:column;gap:20px;max-width:640px;display:flex}.phase-chips,.routine-picker{flex-wrap:wrap;gap:8px;display:flex}.phase-chip{border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.phase-chip-active{background:var(--deep-sage);border-color:var(--deep-sage);color:var(--cream)}.generation-progress{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;padding:16px}.generation-progress p{margin:0 0 4px}.program-view{flex-direction:column;gap:16px;display:flex}.program-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.program-header h2{margin:0 0 2px;font-size:18px}.program-countdown{background:var(--sage-tint-strong);color:var(--deep-sage);white-space:nowrap}.program-countdown-soon{background:var(--warning-bg);color:var(--warning)}.pending-approval-banner{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);border-radius:10px;flex-direction:column;gap:2px;padding:10px 14px;font-size:13px;display:flex}.program-summary{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin:0;padding:14px 16px;font-size:14px;line-height:1.6}.overview-detail-row+.overview-detail-row{border-top:1px solid var(--border-soft);margin-top:14px;padding-top:14px}.overview-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 4px;font-size:12px;font-weight:600}.overview-detail-row p:not(.overview-detail-label){margin:0;font-size:14px;line-height:1.5}.routine-list{flex-direction:column;gap:14px;display:flex}.routine-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px}.routine-card h3{margin:0 0 2px;font-size:16px}.routine-placeholder{border:1px dashed var(--border);color:var(--ink-muted);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding:14px;font-size:13px;display:flex}.routine-placeholder-error{border-color:var(--danger-border);color:var(--danger)}.volume-warning-banner{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);border-radius:10px;margin-top:10px;padding:8px 12px;font-size:13px}.exercise-remove-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.exercise-remove-btn:hover{color:var(--dark-sage)}.routine-block{background:var(--paper);border-radius:var(--radius-sm);margin-top:10px;padding:10px 12px 12px}.routine-block:first-of-type{margin-top:12px}.routine-block h4{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 8px;font-size:12px;font-weight:600}.exercise-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.exercise-row{border-bottom:1px solid var(--border-soft);padding-bottom:8px}.exercise-row:last-child{border-bottom:none;padding-bottom:0}.exercise-row-main{justify-content:space-between;gap:8px;font-size:14px;display:flex}.exercise-name{color:var(--ink);font-weight:600}.exercise-sets-reps{color:var(--deep-sage);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.exercise-row-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.video-link{color:var(--deep-sage);font-size:12px;text-decoration:none}.routine-builder{flex-direction:column;gap:20px;display:flex}.block-builder{background:var(--paper);border-radius:var(--radius-sm);margin-top:12px;padding:12px 12px 14px}.block-builder:first-of-type{margin-top:14px}.block-builder-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.block-builder-header h4{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0;font-size:12px}.two-panel{gap:var(--space-3);grid-template-columns:148px 1fr;align-items:start;margin-top:10px;display:grid}.pattern-filter-panel{flex-direction:column;gap:4px;height:240px;display:flex;overflow-y:auto}.pattern-filter-panel .chip-toggle{text-align:left;border-radius:8px;width:100%;padding:6px 10px;font-size:12px}.two-panel-exercises{min-width:0}.two-panel-search{width:100%;margin-bottom:8px}.two-panel-list{height:240px;overflow-y:auto}.strength-filter-panel .filter-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:10px 0 2px;font-size:11px;font-weight:700}.strength-filter-panel .filter-subsection-label{color:var(--ink-muted);margin:6px 0 2px;font-size:11px;font-weight:600}.time-badge{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.time-badge-under{background:var(--sage-tint-strong);color:var(--deep-sage)}.time-badge-over{background:var(--danger-bg);color:var(--danger)}.composed-row-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.reorder-btn{border:1px solid var(--border);background:var(--card);color:var(--deep-sage);cursor:pointer;border-radius:6px;width:22px;height:22px;font-size:12px;line-height:1}.reorder-btn:disabled{opacity:.3;cursor:default}.custom-badge{background:var(--accent-bg);color:var(--accent-ink)}.candidate-list{margin-top:8px}.candidate-row{border-bottom:1px dashed var(--border);padding-bottom:8px}.candidate-row:last-child{border-bottom:none;padding-bottom:0}.custom-exercise-toggle{margin-top:10px;font-size:12px}.custom-exercise-form{border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.custom-exercise-form input{border:1px solid var(--border);background:var(--paper);border-radius:8px;width:100%;padding:7px 10px;font-size:13px}.custom-exercise-form-row{gap:8px;display:flex}.custom-exercise-form-row input{flex:1}.undo-banner{background:var(--neutral-bg);border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;font-size:13px;display:flex}.sets-stepper{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.sets-stepper-value{color:var(--deep-sage);text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-size:13px;font-weight:600}.custom-exercise-sets-label{color:var(--ink-muted);flex-direction:column;gap:2px;width:70px;font-size:11px;display:flex}.custom-exercise-sets-label input{padding:7px 8px}.rule-ref-wrap{display:inline-block;position:relative}.rule-ref-chip{border:1px solid var(--deep-sage);color:var(--deep-sage);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.rule-ref-popover{z-index:10;background:var(--card);border-radius:var(--radius-sm);width:240px;max-width:70vw;box-shadow:var(--shadow-pop);flex-direction:column;gap:4px;margin-top:4px;padding:10px 12px;font-size:12px;display:flex;position:absolute;top:100%;left:0}.cautions-strip{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:10px;padding:10px 14px;font-size:13px}.cautions-strip ul{margin:6px 0 0;padding-left:18px}.split-suggestion-strip{background:var(--sage-tint);border:1px solid var(--sage-tint-strong);border-radius:10px;padding:10px 14px;font-size:13px}.split-suggestion-strip p{margin:4px 0 0}.log-tab{gap:var(--space-4);flex-direction:column;display:flex}.log-tab .save-row{background:0 0;padding:0;position:static}.log-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.log-list-row{text-align:left;gap:var(--space-2);background:var(--card);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-card);padding:var(--space-3);cursor:pointer;font:inherit;color:inherit;border:none;flex-direction:column;min-height:44px;display:flex}.log-list-row-main{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.log-list-date{color:var(--dark-sage);font-size:14px;font-weight:600}.log-list-routine{color:var(--ink-muted);font-size:13px}.log-list-row-meta{align-items:center;gap:var(--space-2);display:flex}.log-list-empty{font-style:italic}.log-session-screen{gap:var(--space-3);flex-direction:column;display:flex}.suggested-mark{opacity:.85;font-size:10px;font-style:italic}.exercise-log-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-3);margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.last-time-line{color:var(--ink-muted);margin:0;font-size:13px;font-style:italic}.set-row{gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border-soft);flex-direction:column;display:flex}.set-row-top{justify-content:space-between;align-items:center;display:flex}.set-remove-btn{min-height:auto;margin:0;padding:0;font-size:12px}.set-row-inputs{gap:var(--space-2);display:flex}.set-row-field{color:var(--ink-muted);flex-direction:column;flex:1;gap:2px;font-size:11px;display:flex}.set-row-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--paper);min-height:44px;color:var(--ink-body);font:inherit;font-variant-numeric:tabular-nums;width:100%;padding:8px 10px;font-size:15px}.set-done-toggle{border-radius:var(--radius-sm);background:var(--sage-tint);width:100%;min-height:48px;color:var(--deep-sage);cursor:pointer;border:none;font-size:15px;font-weight:600}.set-done-toggle-active{background:var(--deep-sage);color:var(--cream)}.set-done-toggle:disabled{opacity:.45;cursor:default}.add-set-btn{margin-top:var(--space-1);align-self:flex-start}.checkin-screen{gap:var(--space-4);flex-direction:column;display:flex}.checkin-question{gap:var(--space-2);flex-direction:column;display:flex}.checkin-question label{color:var(--dark-sage);font-size:13px;font-weight:600}.log-detail{gap:var(--space-3);flex-direction:column;display:flex}.log-detail-back{align-self:flex-start}.log-detail-sets{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.client-shell{flex-direction:column;flex:1;min-height:100svh;display:flex}.client-shell-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.client-tabbar{background:var(--card);border-top:1px solid var(--border-soft);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.client-tab{min-height:52px;color:var(--ink-muted);border-radius:var(--radius-sm);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.client-tab-active{color:var(--deep-sage);background:var(--sage-tint);font-weight:600}.onboarding-card{max-width:420px}.client-home,.client-workout-view,.client-plan,.client-progress,.client-habits,.client-more{gap:var(--space-4);flex-direction:column;display:flex}.today-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.today-card h2{margin:0}.today-card-count{color:var(--ink-muted);margin:0;font-size:13px}.today-card .btn-primary{margin-top:var(--space-2)}.progress-chart{width:100%;max-width:400px;height:auto}.progress-chart-line{fill:none;stroke:var(--deep-sage);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.progress-chart-dot{fill:var(--deep-sage)}.progress-chart-label{fill:var(--ink-muted);font-size:10px;font-family:var(--sans)}.progress-single-point{color:var(--dark-sage);font-variant-numeric:tabular-nums;margin:0;font-size:28px;font-weight:600}.habit-list{gap:var(--space-2);flex-direction:column;display:flex}.habit-row{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.habit-row-main{align-items:center;gap:var(--space-3);display:flex}.habit-check{border:2px solid var(--border);background:var(--paper);width:44px;height:44px;color:var(--cream);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.habit-check-done{background:var(--deep-sage);border-color:var(--deep-sage)}.habit-row-text{flex-direction:column;flex:1;gap:2px;display:flex}.habit-title{color:var(--dark-sage);font-size:15px;font-weight:600}.habit-streak{flex:none}.habit-not-done-toggle{align-self:flex-start;font-size:12px}.habit-reason-picker{padding-top:var(--space-1);border-top:1px solid var(--border-soft)}.habit-other-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.more-menu{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.more-menu-row{min-height:48px;padding:0 var(--space-3);background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--dark-sage);align-items:center;font-weight:500;text-decoration:none;display:flex}.schedule-tab{gap:var(--space-4);flex-direction:column;display:flex}.schedule-slot-list{margin:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.schedule-slot-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-soft);display:flex}.schedule-slot-row:last-child{border-bottom:none}.schedule-slot-day{color:var(--dark-sage);font-size:14px;font-weight:600}.schedule-slot-meta{align-items:center;gap:var(--space-2);display:flex}.session-preview-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-preview-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-soft);font-size:14px;display:flex}.session-preview-row:last-child{border-bottom:none}.home-nav-row{gap:var(--space-2);margin-top:var(--space-4);display:flex}.day-view-list{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.day-view-row{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.day-view-row-top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.day-view-client-name{color:var(--dark-sage);font-size:15px;font-weight:600;text-decoration:none}.session-status-control{gap:var(--space-2);flex-direction:column;display:flex}.session-status-current{align-items:center;gap:var(--space-2);display:flex}.session-status-buttons{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.session-status-away-row{padding-top:var(--space-1);border-top:1px dashed var(--border-soft)}.calendar-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.calendar-nav{align-items:center;gap:var(--space-2);display:flex}.cal-add-form{margin:var(--space-3) 0}.cal-popover-backdrop{z-index:40;position:fixed;inset:0}.cal-popover{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-3);gap:var(--space-3);flex-direction:column;max-height:calc(100vh - 16px);display:flex;position:fixed;overflow-y:auto}.calendar-grid-wrap{margin-top:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow-x:auto}.calendar-grid{background:var(--border-soft);grid-template-columns:52px repeat(7,minmax(144px,1fr));gap:0 1px;min-width:1020px;display:grid}.cal-corner{background:var(--card)}.cal-day-header{background:var(--card);text-align:center;color:var(--ink-muted);padding:6px 4px;font-size:12px;font-weight:600}.cal-day-header-today{color:var(--deep-sage);background:var(--sage-tint)}.cal-time-label{background:var(--card);color:var(--ink-muted);text-align:right;white-space:nowrap;justify-content:flex-end;align-items:flex-start;padding:0 6px;font-size:11px;display:flex}.cal-untimed-row{background:var(--accent-bg);flex-wrap:wrap;align-content:flex-start;gap:3px;min-height:28px;padding:3px;display:flex}.cal-day-track{background-color:var(--card);background-image:repeating-linear-gradient(to bottom, var(--border-soft) 0, var(--border-soft) 1px, transparent 1px, transparent var(--hour-height));position:relative}.cal-chip{text-align:left;cursor:pointer;background:var(--cal-chip-neutral);width:100%;color:var(--ink);border:none;border-radius:5px;padding:2px 5px;font-size:11px;font-weight:600;line-height:1.3}.cal-chip-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cal-chip-timed{z-index:1;border-radius:6px;flex-direction:column;justify-content:flex-start;padding:8px 10px;font-size:13px;display:flex;position:absolute}.cal-chip-status-attended{background:var(--cal-chip-sage);color:var(--deep-sage)}.cal-chip-status-no_show,.cal-chip-status-late_cancel{background:var(--cal-chip-warning);color:var(--warning)}.cal-chip-status-early_cancel{background:var(--cal-chip-neutral);color:var(--ink-muted)}.cal-chip-status-vacation,.cal-chip-status-sick,.cal-chip-status-injury{background:var(--accent-bg);color:var(--accent-ink)}.cal-chip-logged{background:var(--cal-chip-sage);color:var(--deep-sage)}.cal-chip-dragging{opacity:.4}.cal-chip-paired-mark{opacity:.7;font-weight:400}.cal-legend{margin-top:var(--space-2)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.coach-today-button{white-space:nowrap}.today-overlay-backdrop{z-index:100;background:#3d4a3a73;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.today-overlay{background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:560px;max-height:90vh;padding:var(--space-4) var(--space-4) var(--space-5);box-shadow:var(--shadow-card);overflow-y:auto}.today-overlay-header{margin-bottom:var(--space-3);background:var(--paper);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.today-overlay-header h2{margin:0;font-size:19px}.today-session-list{gap:var(--space-3);flex-direction:column;display:flex}.today-session-row{background:var(--card);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.today-session-top{justify-content:space-between;align-items:center;display:flex}.today-session-time{color:var(--deep-sage);font-size:15px;font-weight:600}.today-client-block{padding-top:var(--space-2);border-top:1px solid var(--border-soft)}.today-client-block:first-of-type{border-top:none;padding-top:0}.today-client-name{color:var(--ink);font-weight:600;text-decoration:none}.today-client-name:hover{color:var(--deep-sage)}.today-flags{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.today-flags .badge{white-space:normal;text-align:left}.today-brief{color:var(--ink-muted);margin:4px 0 0;font-size:13px;font-style:italic}@media (width>=720px){.today-overlay-backdrop{align-items:center}.today-overlay{border-radius:var(--radius-lg);max-height:80vh}}.strength-search-input{width:100%;margin-top:4px;margin-bottom:4px}.strength-search-section-label{text-transform:uppercase;letter-spacing:.02em;margin-top:10px;margin-bottom:0;font-size:11px;font-weight:600}.candidate-warnings{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.candidate-warnings .badge{white-space:normal;text-align:left}
