:root{--bg:#f7f5f2;--surf:#fff;--surf-2:#f0ede8;--brd:#0000001a;--brd-2:#0000002b;--tx:#1a1a18;--tx-2:#2e2d2a;--tx-3:#5a5956;--b50:#e6f1fb;--b200:#85b7eb;--b400:#378add;--b600:#185fa5;--b800:#0c447c;--natation-bg:#e6f1fb;--natation-tx:#185fa5;--natation-dark:#0c447c;--run-bg:#faeeda;--run-tx:#854f0b;--run-dark:#633806;--velo-bg:#eaf3de;--velo-tx:#3b6d11;--velo-dark:#27500a;--brick-bg:#fbeaf0;--brick-tx:#993556;--brick-dark:#72243e;--crossfit-bg:#faece7;--crossfit-tx:#993c1d;--crossfit-dark:#712b13;--hyrox-bg:#eeedfe;--hyrox-tx:#534ab7;--hyrox-dark:#3c3489;--muscu-bg:#faeeda;--muscu-tx:#854f0b;--muscu-dark:#412402;--yoga-bg:#e1f5ee;--yoga-tx:#0f6e56;--yoga-dark:#085041;--trail-bg:#eaf3de;--trail-tx:#3b6d11;--trail-dark:#27500a;--phase-base-bg:#b5d4f4;--phase-base-tx:#0c447c;--phase-build-bg:#378add;--phase-build-tx:#fff;--phase-peak-bg:#185fa5;--phase-peak-tx:#fff;--phase-taper-bg:#9fe1cb;--phase-taper-tx:#085041;--rpe-low-bg:#eaf3de;--rpe-low-tx:#3b6d11;--rpe-mid-bg:#faeeda;--rpe-mid-tx:#854f0b;--rpe-high-bg:#fcebeb;--rpe-high-tx:#a32d2d;--tips-bg:#faeeda;--tips-tx:#854f0b;--btn-bg:#185fa5;--btn-tx:#fff;--btn-radius:12px;--radius-card:16px;--radius-sm:10px;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--heading:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.18px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{background:var(--bg);color:var(--tx);font-family:var(--sans);margin:0;overflow-x:hidden}#root{text-align:center;border-inline:1px solid var(--brd);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}h1,h2{font-family:var(--heading);color:var(--tx);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);color:var(--tx);background:var(--surf-2);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-card{background:var(--surf);border:.5px solid var(--brd);border-radius:var(--radius-card);width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 2px 12px #00000012}.login-brand{text-align:center;margin-bottom:2rem}.login-brand h1{color:var(--tx);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.login-brand h1 span{color:var(--b600)}.login-brand p{color:var(--tx-3);margin:0;font-size:.875rem}.login-tabs{background:var(--surf-2);border:1px solid var(--brd);border-radius:var(--radius-sm);gap:2px;margin-bottom:1.75rem;padding:3px;display:flex}.login-tab{color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.5rem 0;font-size:.8125rem;font-weight:500;transition:background .15s,color .15s}.login-tab:hover{color:var(--tx)}.login-tab.active{background:var(--surf);color:var(--tx)}.btn-google{color:#111827;border:1px solid var(--brd);border-radius:var(--radius-sm);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:.625rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;transition:background .15s,transform .1s;display:flex}.btn-google:hover:not(:disabled){background:var(--surf-2)}.btn-google:active:not(:disabled){transform:scale(.98)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn-google svg{flex-shrink:0}.login-divider{color:var(--tx-3);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8125rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--brd);flex:1;height:1px}.login-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--tx-2);font-size:.8125rem;font-weight:500}.form-group input{background:var(--surf-2);border:1px solid var(--brd);border-radius:var(--radius-sm);color:var(--tx);box-sizing:border-box;outline:none;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder{color:var(--tx-3)}.form-group input:focus{border-color:var(--b400);box-shadow:0 0 0 3px #378add26}.form-group input.input-error{border-color:#ef4444}.forgot-link{text-align:right;margin-top:-.5rem}.forgot-link button{color:var(--b600);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem}.forgot-link button:hover{color:var(--b400)}.login-error{border-radius:var(--radius-sm);color:#a32d2d;background:#ef444414;border:1px solid #ef444433;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4;display:flex}.login-success{background:var(--velo-bg);border-radius:var(--radius-sm);color:var(--velo-tx);text-align:center;border:1px solid #3b6d1133;padding:.75rem 1rem;font-size:.875rem}.btn-primary{background:var(--btn-bg);width:100%;color:var(--btn-tx);border-radius:var(--btn-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.8125rem 1rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.btn-primary:hover:not(:disabled){background:var(--b800)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.65s linear infinite spin}.auth-spinner-container{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;display:flex}.auth-spinner{border:3px solid var(--brd);border-top-color:var(--b400);border-radius:50%;width:36px;height:36px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer-note{text-align:center;color:var(--tx-3);margin-top:1.5rem;font-size:.8125rem}.login-footer-note button{color:var(--b600);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0 .2em}.login-footer-note button:hover{color:var(--b400)}.ob-page{--accent:var(--b600);--accent-hover:var(--b800);--accent-dim:#185fa51f;--surface:var(--surf);--surface-deep:var(--surf-2);--border:var(--brd);--border-focus:var(--b400);--text:var(--tx);--text-muted:var(--tx-2);--text-dim:var(--tx-3);--error:#ef4444;--error-bg:#ef444414;--error-border:#ef444433;--success-bg:#3b6d111a;--success-border:#3b6d1133;--success-text:var(--velo-tx);background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100dvh;padding:1.5rem 1rem 3rem;display:flex;overflow-x:hidden}.ob-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:600px;padding:2rem 2rem 2.5rem;box-shadow:0 2px 12px #00000012}.ob-progress{width:100%;max-width:600px;margin-bottom:1.25rem}.ob-progress-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.ob-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .35s}.ob-progress-labels{justify-content:space-between;margin-top:.5rem;display:flex}.ob-progress-label{color:var(--text-dim);text-align:center;flex:1;font-size:.6875rem;transition:color .2s}.ob-progress-label.active{color:var(--accent);font-weight:600}.ob-progress-label.done{color:var(--text-muted)}.ob-step-header{margin-bottom:1.75rem}.ob-step-header h2{color:var(--text);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.375rem;font-weight:700}.ob-step-header p{color:var(--text-muted);margin:0;font-size:.875rem}.ob-field{flex-direction:column;gap:.375rem;margin-bottom:1.25rem;display:flex}.ob-field:last-child{margin-bottom:0}.ob-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.ob-field-hint{color:var(--text-dim);margin-top:.375rem;font-size:.75rem;line-height:1.4;display:block}.ob-label-hint{color:var(--text-dim);margin-left:.375rem;font-size:.75rem;font-weight:400}.ob-input{background:var(--surface-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);box-sizing:border-box;outline:none;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.ob-input::placeholder{color:var(--text-dim)}textarea.ob-input::placeholder{font-size:.8125rem}.ob-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-dim)}.ob-input.is-error{border-color:var(--error)}.ob-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235F5E5A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.ob-field-error{color:var(--error);font-size:.8125rem}.ob-option-grid{gap:.75rem;display:grid}.ob-option-grid.cols-3{grid-template-columns:repeat(3,1fr)}.ob-option-grid.cols-2{grid-template-columns:repeat(2,1fr)}.ob-option-card{background:var(--surface-deep);border:1.5px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.375rem;padding:1rem .75rem;transition:border-color .15s,background .15s;display:flex}.ob-option-card:hover{border-color:var(--brd-2);background:var(--surf)}.ob-option-card.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-option-card-icon{font-size:1.5rem;line-height:1}.ob-option-card-label{color:var(--text);font-size:.875rem;font-weight:600}.ob-option-card-sub{color:var(--text-dim);font-size:.75rem}.ob-radio-group{flex-wrap:wrap;gap:.625rem;display:flex}.ob-radio-btn{background:var(--surface-deep);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:.5rem 1.125rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.ob-radio-btn:hover{border-color:var(--brd-2);color:var(--text)}.ob-radio-btn.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.ob-day-chips{flex-wrap:wrap;gap:.375rem;display:flex}.ob-day-chip{background:var(--surface-deep);border:1.5px solid var(--border);width:2.5rem;height:2.5rem;color:var(--text-muted);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:flex}.ob-day-chip:hover{border-color:var(--brd-2);color:var(--text)}.ob-day-chip.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.ob-slider-row{align-items:center;gap:1rem;display:flex}.ob-slider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}.ob-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:18px;height:18px;transition:transform .1s}.ob-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.ob-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--bg);border-radius:50%;width:18px;height:18px}.ob-slider-value{text-align:right;min-width:4.5rem;color:var(--text);font-size:.9375rem;font-weight:600}.ob-annexe-list{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.ob-annexe-item{background:var(--surface-deep);border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem}.ob-annexe-header{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.ob-annexe-name{color:var(--text);font-size:.9rem;font-weight:600}.ob-annexe-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1;transition:color .15s}.ob-annexe-remove:hover{color:var(--error)}.ob-annexe-day-label{color:var(--text-dim);margin-bottom:.375rem;font-size:.75rem}.ob-add-annexe{gap:.5rem;display:flex}.ob-add-annexe select{flex:1}.ob-btn-add{background:var(--surface-deep);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;padding:.6875rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s}.ob-btn-add:hover{border-color:var(--accent);color:var(--text)}.ob-physio-row{background:var(--surface-deep);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:.875rem;margin-bottom:.75rem;padding:1rem;display:flex}.ob-physio-row:last-child{margin-bottom:0}.ob-physio-info{flex:1;min-width:0}.ob-physio-label{color:var(--text);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.ob-physio-desc{color:var(--text-dim);font-size:.75rem;line-height:1.4}.ob-physio-input-wrap{flex-shrink:0;align-items:center;gap:.375rem;display:flex}.ob-physio-input{background:var(--surface);border:1px solid var(--border);width:80px;color:var(--text);text-align:right;border-radius:8px;outline:none;padding:.5rem .625rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.ob-physio-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-dim)}.ob-physio-input.is-error{border-color:var(--error)}.ob-physio-unit{color:var(--text-dim);white-space:nowrap;font-size:.75rem}.ob-equip-section{margin-bottom:1.25rem}.ob-equip-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:.625rem;font-size:.75rem;font-weight:600}.ob-toggle-row{background:var(--surface-deep);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.875rem 1rem;display:flex}.ob-toggle-row:last-child{margin-bottom:0}.ob-toggle-label{color:var(--text);text-align:left;font-size:.9rem}.ob-toggle-sub{color:var(--text-dim);text-align:left;margin-top:.125rem;font-size:.75rem}.ob-toggle{flex-shrink:0;width:44px;height:26px;position:relative}.ob-toggle input{opacity:0;width:0;height:0;position:absolute}.ob-toggle-track{background:var(--border);cursor:pointer;border-radius:13px;transition:background .2s;position:absolute;inset:0}.ob-toggle-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.ob-toggle input:checked+.ob-toggle-track{background:var(--accent)}.ob-toggle input:checked+.ob-toggle-track:after{transform:translate(18px)}.ob-bassin-group{gap:.5rem;display:flex}.ob-error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:#a32d2d;border-radius:10px;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.ob-actions{gap:.75rem;margin-top:2rem;display:flex}.ob-btn-back{border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:.8125rem 1.25rem;font-size:.9375rem;font-weight:500;transition:border-color .15s,color .15s}.ob-btn-back:hover{border-color:var(--brd-2);color:var(--text)}.ob-btn-next{background:var(--accent);border-radius:var(--btn-radius);color:#fff;cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.8125rem 1rem;font-size:.9375rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.ob-btn-next:hover:not(:disabled){background:var(--accent-hover)}.ob-btn-next:active:not(:disabled){transform:scale(.98)}.ob-btn-next:disabled{opacity:.6;cursor:not-allowed}.ob-btn-generate{background:linear-gradient(135deg, var(--b600) 0%, var(--b400) 100%)}.ob-btn-generate:hover:not(:disabled){background:linear-gradient(135deg, var(--b800) 0%, var(--b600) 100%)}.ob-btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite ob-spin}@keyframes ob-spin{to{transform:rotate(360deg)}}.ob-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.ob-optional-badge{background:var(--b50);color:var(--b600);vertical-align:middle;border-radius:4px;margin-left:.375rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;display:inline-block}.blue-recap{background:var(--b50,#eff6ff);border:1px solid var(--b200,#bfdbfe);border-radius:10px;margin-bottom:16px;padding:12px 14px}.recap-row{justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;display:flex}.rk{color:var(--b600,#2563eb);font-weight:500}.rv{color:var(--b800,#1e40af);font-weight:600}.recap-cta{color:var(--b600,#2563eb);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:11px;font-weight:600}.ob-back-btn{text-align:left;width:100%;max-width:600px;color:var(--tx-3,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:8px;margin-bottom:.5rem;padding:4px 8px;font-size:13px}.ob-back-btn:hover{background:var(--surf-2)}@media (width<=480px){.ob-card{padding:1.5rem 1.25rem 2rem}.ob-option-grid.cols-3,.ob-option-grid.cols-2{grid-template-columns:1fr}.ob-physio-row{flex-direction:column}.ob-physio-input-wrap{align-self:flex-end}.ob-input,.ob-physio-input{font-size:16px}}.fs-overlay{z-index:200;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.fs-panel{background:var(--surf);-webkit-overflow-scrolling:touch;width:100%;max-height:88vh;padding-bottom:env(safe-area-inset-bottom,16px);border-radius:20px 20px 0 0;overflow-y:auto}.fs-handle{background:var(--brd-2);border-radius:2px;width:32px;height:4px;margin:10px auto 0}.fs-header{border-bottom:1px solid var(--brd);justify-content:space-between;align-items:flex-start;padding:14px 16px 10px;display:flex}.fs-title{color:var(--tx);font-size:15px;font-weight:500;line-height:1.3}.fs-subtitle{color:var(--tx-3);text-transform:capitalize;margin-top:2px;font-size:10px}.fs-close{color:var(--tx-2);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 0 0 8px;font-size:22px;line-height:1}.fs-body{flex-direction:column;gap:20px;padding:16px;display:flex}.fs-section{flex-direction:column;gap:10px;display:flex}.fs-label{color:var(--tx-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.fs-label-row{justify-content:space-between;align-items:center;display:flex}.fs-status-row{gap:8px;display:flex}.fs-status-btn{border:1.5px solid var(--brd);background:var(--surf-2);color:var(--tx-2);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.fs-status-icon{font-size:16px;font-weight:500}.fs-feeling-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid;overflow-x:auto}.fs-feeling-btn{border:1.5px solid var(--brd);background:var(--surf-2);color:var(--tx-2);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 4px;font-size:11px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.fs-feeling-btn span:first-child{font-size:20px}.fs-rpe-value{color:var(--tx);font-size:15px;font-weight:500}.fs-rpe-track{align-items:center;gap:4px;display:flex}.fs-rpe-seg{cursor:pointer;border:none;border-radius:3px;flex:1;min-width:0;height:6px;padding:0;transition:background .1s}.fs-rpe-labels{color:var(--tx-3);pointer-events:none;justify-content:space-between;margin-top:6px;font-size:9px;display:flex}.fs-inputs-row{gap:10px;display:flex}.fs-input-wrap{flex-direction:column;flex:1;gap:4px;display:flex}.fs-input-label{color:var(--tx-3);font-size:11px}.fs-input{background:var(--surf-2);border:1px solid var(--brd);color:var(--tx);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:9px 11px;font-size:13px}.fs-input::placeholder{color:var(--tx-3)}.fs-pain-toggle{justify-content:space-between;align-items:center;display:flex}.fs-toggle{cursor:pointer;width:42px;height:24px;display:inline-block;position:relative}.fs-toggle input{opacity:0;width:0;height:0;position:absolute}.fs-toggle-track{background:var(--brd);border-radius:12px;transition:background .2s;position:absolute;inset:0}.fs-toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.fs-toggle input:checked~.fs-toggle-track{background:var(--btn-bg)}.fs-toggle input:checked~.fs-toggle-track:after{transform:translate(18px)}.fs-pain-fields{flex-direction:column;gap:8px;display:flex}.fs-severity-row{gap:8px;display:flex}.fs-severity-btn{border:1.5px solid var(--brd);background:var(--surf-2);color:var(--tx-2);cursor:pointer;border-radius:10px;flex:1;padding:8px;font-size:12px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.fs-severity-btn.active{color:#a32d2d;background:#fcebeb;border-color:#a32d2d}.fs-textarea{background:var(--surf-2);border:1px solid var(--brd);width:100%;color:var(--tx);resize:none;box-sizing:border-box;border-radius:12px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.fs-textarea::placeholder{color:var(--tx-3)}.fs-error{color:#a32d2d;background:#fcebeb;border-radius:10px;padding:10px 12px;font-size:12px}.fs-submit{background:var(--btn-bg);width:100%;color:var(--btn-tx);border-radius:var(--btn-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:14px;font-weight:500;transition:opacity .15s;display:flex}.fs-submit:disabled{opacity:.6;cursor:not-allowed}.fs-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite fs-spin;display:inline-block}@keyframes fs-spin{to{transform:rotate(360deg)}}.fs-patch-card{background:#eaf3de;border-radius:14px;padding:14px}.fs-patch-card.escalade{background:#fcebeb}.fs-patch-title{color:#3b6d11;font-size:14px;font-weight:500}.fs-patch-card.escalade .fs-patch-title{color:#a32d2d}.fs-patch-notif{color:#3b6d11;margin:8px 0 0;font-size:12px;line-height:1.5}.fs-patch-card.escalade .fs-patch-notif{color:#a32d2d}.fs-patch-list{color:#3b6d11;flex-direction:column;gap:3px;margin:8px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.fs-close-result{border:1px solid var(--brd);background:var(--surf-2);width:100%;color:var(--tx-2);cursor:pointer;border-radius:12px;padding:12px;font-size:13px}.fs-strava-section{flex-direction:column;gap:6px;display:flex}.fs-strava-bandeau{color:#a32d2d;background:#f7c1c1;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:11px;font-weight:500;line-height:1.4;display:flex}.fs-strava-slogo{color:#a32d2d;flex-shrink:0;font-size:15px;font-weight:500;line-height:1}.fs-strava-row{justify-content:flex-end;display:flex}.fs-strava-refresh{color:#fc520099;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 6px;font-size:11px;transition:color .15s;display:flex}.fs-strava-refresh:disabled{opacity:.5;cursor:not-allowed}.fs-strava-refresh:not(:disabled):hover{color:#fc5200}.fs-spinner--sm{border-width:1.5px;width:11px;height:11px}.fs-strava-toast{color:#fc5200;background:#fc520014;border:1px solid #fc520033;border-radius:10px;padding:9px 12px;font-size:12px}.fs-test-card{border:1px solid var(--b400);border-radius:12px;flex-direction:column;gap:10px;margin-top:12px;padding:14px;display:flex}.fs-test-title{text-transform:uppercase;color:var(--b400);letter-spacing:.08em;margin-bottom:4px;font-size:9px;font-weight:500}.fs-test-note{color:var(--tx-3);margin-top:4px;font-size:10px;display:block}.fs-test-calc{color:var(--b400);margin-top:4px;font-size:12px;font-weight:500;display:block}.bottom-nav{min-height:56px;padding-bottom:max(0px, calc(env(safe-area-inset-bottom) - 8px));background:var(--surf);border-top:1px solid var(--brd);z-index:100;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-tab{cursor:pointer;color:var(--tx-3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;transition:color .15s;display:flex}.bottom-nav-tab:disabled{opacity:.4;cursor:not-allowed}.bottom-nav-tab--active{color:var(--tx)}.bottom-nav-tab-icon{font-size:18px;line-height:1}.bottom-nav-tab-label{font-size:10px;font-weight:500}.db-page{--surface:#fff;--border:#0000001a;--text:#1a1a18;--text-sec:#5f5e5a;--text-tert:#888780;--bg-sec:#f2f0ec;--primary:#185fa5;--primary-lt:#b5d4f4;background:var(--bg);color:var(--text);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-weight:400;display:flex;position:fixed;inset:0;overflow:hidden}.db-scroll-area{flex:1;padding:18px 14px 68px;overflow-y:auto}.db-week-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.db-week-header-left{flex-direction:column;gap:2px;display:flex}.db-week-title{color:var(--text);font-size:15px;font-weight:500;line-height:1.2}.db-week-dates{color:var(--text-tert);font-size:10px}.db-week-header-right{align-items:center;gap:6px;display:flex}.db-phase-badge{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:500}.db-recup-badge{color:var(--text-sec);white-space:nowrap;background:#00000014;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:500}.db-weekly-notes{color:var(--text-sec);margin-bottom:10px;font-size:11px;font-style:italic;line-height:1.4}.db-day-bar{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:10px;display:grid}.db-day-cell{cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;height:32px;padding:0;font-size:10px;font-weight:500;transition:opacity .15s;display:flex}.db-day-letter{line-height:1}.db-day-dot{border-radius:50%;flex-shrink:0;width:4px;height:4px}.db-menstrual-badge{text-transform:capitalize;border-radius:20px;margin-bottom:8px;padding:2px 8px;font-size:9px;font-weight:500;display:inline-flex}.db-week-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;display:flex}.db-nav-arrow{background:var(--surface);border:1px solid var(--border);color:var(--text-sec);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;line-height:1;transition:color .15s,border-color .15s;display:flex}.db-nav-arrow:disabled{opacity:.35;cursor:default}.db-nav-arrow:not(:disabled):hover{color:var(--text);border-color:#0003}.db-nav-label{color:var(--text-tert);text-align:center;min-width:72px;font-size:12px}.db-phase-bar-wrap{margin-bottom:14px}.db-phase-bar{border-radius:4px;gap:2px;height:6px;margin-bottom:8px;display:flex;position:relative}.db-phase-segment{min-width:4px;height:100%}.db-phase-cursor{border:2px solid var(--primary);pointer-events:none;z-index:1;background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #185fa540}.db-phase-legend{flex-wrap:wrap;gap:10px;display:flex}.db-phase-legend-item{color:var(--text-sec);align-items:center;gap:4px;font-size:9px;display:flex}.db-phase-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.db-phase-legend-name{text-transform:capitalize}.db-phase-legend-range{color:var(--text-tert)}.db-notes-banner{background:#faeeda;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.db-notes-content{color:#854f0b;flex:1;font-size:12px;line-height:1.5}.db-notes-line+.db-notes-line{margin-top:2px}.db-notes-close{color:#854f0b;cursor:pointer;opacity:.65;background:0 0;border:none;flex-shrink:0;padding:0;font-size:20px;line-height:1;transition:opacity .15s}.db-notes-close:hover{opacity:1}.db-notes-expand{color:#854f0b;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.db-sessions{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.db-session-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;min-height:0;padding:9px 10px;display:flex;position:relative;box-shadow:0 1px 4px #0000000d}.db-session-card--today{border:1.5px solid #185fa5}.db-session-card--repos{background:var(--bg-sec);box-shadow:none;border-color:#0000}.db-session-card--clickable{cursor:pointer;transition:border-color .15s}.db-session-card--clickable:hover{border-color:#0003}.db-session-icon{background:var(--bg-sec);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.db-session-icon--wide{white-space:nowrap;gap:2px;width:auto;min-width:32px;padding:0 7px}.db-session-body{flex:1;min-width:0}.db-session-day{color:var(--text-tert);align-items:center;gap:5px;margin-bottom:1px;font-size:10px;display:flex}.db-session-day-status{color:var(--text-sec)}.db-session-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.db-session-meta{color:var(--text-tert);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.db-rpe-badge{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;font-weight:500;display:flex}.db-session-card--done{opacity:.65}.db-session-badge-done{color:#3b6d11;background:#eaf3de;border-radius:20px;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;font-size:9px;font-weight:500;display:inline-flex}.db-conflict-icon{color:#ef4444;font-size:11px;position:absolute;bottom:5px;right:8px}.db-recap-bar{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;margin-bottom:6px;padding:10px 14px;display:flex;box-shadow:0 1px 4px #0000000d}.db-recap-item{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.db-recap-value{color:var(--text);text-align:center;font-size:14px;font-weight:500}.db-recap-value--sm{font-size:11px}.db-recap-label{color:var(--text-tert);font-size:10px}.db-recap-row{align-items:center;gap:5px;display:flex}.db-volume-delta{font-size:9px;font-weight:600}.db-recap-divider{background:var(--border);flex-shrink:0;width:1px;height:28px}.db-quota-banner{color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;flex-direction:column;gap:6px;margin:12px 16px;padding:12px 14px;font-size:13px;display:flex}.db-quota-reset{color:#b45309;font-size:11px}.db-quota-cta{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:8px;align-self:flex-start;padding:6px 12px;font-size:12px;font-weight:600}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.sp-page{--surface:var(--surf);--border:var(--brd);--text:var(--tx);--text-sec:var(--tx-2);--text-tert:var(--tx-3);--bg-sec:var(--surf-2);background:var(--bg);color:var(--tx);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-weight:400;display:flex;position:fixed;inset:0;overflow:hidden}.sp-back-btn{z-index:10;color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;padding:4px;font-size:22px;line-height:1;transition:opacity .15s;position:absolute;top:16px;left:16px}.sp-back-btn:hover{opacity:1}.sp-hero{border-radius:0 0 16px 16px;flex-direction:column;flex-shrink:0;justify-content:flex-end;gap:4px;height:120px;padding:40px 16px 14px;display:flex}.sp-hero-meta{text-transform:uppercase;letter-spacing:.08em;color:#fff9;font-size:9px;font-weight:400}.sp-hero-title{color:#fff;font-size:16px;font-weight:500;line-height:1.25}.sp-hero-stats{align-items:center;gap:10px;margin-top:6px;display:flex}.sp-hero-stat{flex-direction:column;gap:1px;display:flex}.sp-hero-stat-value{color:#fff;font-size:15px;font-weight:500;line-height:1.2}.sp-hero-stat-label{color:#ffffff80;font-size:9px}.sp-hero-stat-dot{color:#ffffff4d;align-self:flex-start;margin-top:2px;font-size:14px}.sp-scroll{flex:1;padding:0 16px;overflow-y:auto}.sp-conflict{background:#fcebeb;border-radius:10px;flex-direction:column;gap:4px;margin:12px 0 4px;padding:10px 16px;display:flex}.sp-conflict-detected{color:#a32d2d;font-size:11px;font-weight:500;line-height:1.4}.sp-conflict-alt{color:#a32d2d;font-size:9px;line-height:1.4}.sp-steps{margin-top:16px}.sp-step-row{align-items:flex-start;gap:12px;display:flex}.sp-step-left{flex-direction:column;flex-shrink:0;align-items:center;width:18px;display:flex}.sp-step-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:500;line-height:1;display:flex}.sp-step-line{background:var(--brd-2);flex:1;width:1px;min-height:10px;margin:2px 0}.sp-step-body{flex:1;min-width:0;padding-bottom:16px}.sp-step-label{color:var(--text);margin-top:2px;font-size:11px;font-weight:500}.sp-step-duration{color:var(--text-sec);margin-top:2px;font-size:10px}.sp-step-desc{color:var(--text-tert);margin-top:3px;font-size:9px;line-height:1.4}.sp-step-chip{border-radius:20px;margin-top:6px;padding:3px 10px;font-size:9px;font-weight:500;line-height:1.4;display:inline-block}.sp-section{margin-top:20px}.sp-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-tert);margin:0 0 8px;font-size:9px;font-weight:500}.sp-educatif-list{flex-direction:column;gap:6px;display:flex}.sp-educatif-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.sp-educatif-name{color:var(--text);font-size:11px;font-weight:500}.sp-educatif-desc{color:var(--text-sec);margin-top:4px;font-size:10px;line-height:1.4}.sp-tip{color:#854f0b;background:#faeeda;border-radius:10px;margin-bottom:6px;padding:8px 10px;font-size:9px;line-height:1.5}.sp-cta-bar{background:var(--surf);border-top:.5px solid var(--brd);align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;bottom:0}.sp-cta-move{border:1px solid var(--brd);height:44px;color:var(--tx);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;flex-shrink:0;padding:0 14px;font-size:13px;font-weight:500;transition:opacity .15s}.sp-cta-move:active{opacity:.7}.sp-cta-export{color:#fff;cursor:pointer;border:none;border-radius:12px;flex:1;height:44px;font-size:13px;font-weight:500;transition:opacity .15s}.sp-cta-export:active{opacity:.8}.sp-cta-done{color:#fff;cursor:pointer;white-space:nowrap;background:#0a7a5a;border:none;border-radius:12px;flex-shrink:0;height:44px;padding:0 14px;font-size:13px;font-weight:500;transition:opacity .15s}.sp-cta-done:active{opacity:.8}.sp-done-badge{color:#085041;white-space:nowrap;background:#e1f5ee;border-radius:12px;flex-shrink:0;align-items:center;height:44px;padding:0 12px;font-size:12px;font-weight:500;display:flex}.sp-toast{background:var(--tx);color:#fff;white-space:nowrap;z-index:50;border-radius:8px;padding:8px 16px;font-size:12px;animation:.2s sp-toast-in;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@keyframes sp-toast-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sp-fit-overlay{z-index:60;background:#0009;align-items:flex-end;animation:.2s sp-overlay-in;display:flex;position:fixed;inset:0}@keyframes sp-overlay-in{0%{opacity:0}to{opacity:1}}.sp-fit-sheet{background:var(--surf);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;width:100%;padding:24px 20px 32px;animation:.25s sp-sheet-in;display:flex}@keyframes sp-sheet-in{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sp-fit-sheet-title{color:var(--tx);font-size:16px;font-weight:500}.sp-fit-sheet-intro{color:var(--tx-2);margin:0;font-size:13px;line-height:1.5}.sp-fit-device{background:var(--surf-2);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.sp-fit-device-label{color:var(--tx);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.sp-fit-device-path{color:var(--tx-2);font-size:12px;line-height:1.5}.sp-fit-device-path code{background:var(--brd);color:var(--tx);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:11px}.sp-fit-sheet-note{color:var(--tx-3);margin:0;font-size:12px;line-height:1.5}.sp-fit-sheet-close{border:1px solid var(--brd);background:var(--surf-2);height:44px;color:var(--tx);cursor:pointer;border-radius:12px;margin-top:4px;font-size:14px;font-weight:500;transition:opacity .15s}.sp-fit-sheet-close:active{opacity:.8}.sp-move-sheet{max-height:90vh;overflow-y:auto}.sp-move-confirm{color:#fff;background:#185fa5;border-color:#185fa5;width:100%;margin-top:8px}.sp-move-confirm:disabled{opacity:.4;cursor:not-allowed}.sp-move-confirm:not(:disabled):active{opacity:.85}.sp-move-sheet .rdp-root{--rdp-accent-color:#185fa5;--rdp-accent-background-color:#e6f1fb;margin:0 auto}.sp-day-occupied{position:relative}.sp-day-occupied:after{content:"";background:#854f0b;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.sp-conflict-overlay{z-index:70}.sp-conflict-actions{gap:10px;margin-top:4px;display:flex}.sp-conflict-cancel,.sp-conflict-confirm{cursor:pointer;border-radius:12px;flex:1;height:44px;font-size:13px;font-weight:500;transition:opacity .15s}.sp-conflict-cancel{border:1px solid var(--brd);background:var(--surf-2);color:var(--tx)}.sp-conflict-confirm{color:#fff;background:#185fa5;border:none}.sp-conflict-confirm:disabled{opacity:.4;cursor:not-allowed}.sp-conflict-cancel:active,.sp-conflict-confirm:active{opacity:.8}.pp-page{background:var(--bg);color:var(--tx);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-weight:400;display:flex;position:fixed;inset:0;overflow:hidden}.pp-scroll-area{flex:1;padding:18px 14px 68px;overflow-y:auto}.pp-header{margin-bottom:16px}.pp-header-title{color:var(--tx);margin-bottom:2px;font-size:15px;font-weight:500}.pp-header-sub{color:var(--tx-2);font-size:11px}.pp-plan-notes-banner{background:#faeeda;border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.pp-plan-notes-icon{color:#854f0b;flex-shrink:0;margin-top:1px;font-size:12px}.pp-plan-notes-content{color:#854f0b;text-align:left;flex:1;font-size:12px;line-height:1.5}.pp-plan-notes-content>div+div{margin-top:2px}.pp-plan-notes-close{color:#854f0b;cursor:pointer;opacity:.65;background:0 0;border:none;flex-shrink:0;padding:0;font-size:20px;line-height:1;transition:opacity .15s}.pp-plan-notes-close:hover{opacity:1}.pp-plan-notes-expand{color:#854f0b;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.pp-menstrual-badge{text-transform:capitalize;border-radius:20px;margin:4px 14px 0;padding:2px 8px;font-size:9px;font-weight:500;display:inline-flex}.pp-weeks{flex-direction:column;gap:6px;display:flex}.pp-week-header{background:var(--surf);border:1px solid var(--brd);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;transition:border-color .15s;display:flex}.pp-week-header:hover{border-color:var(--brd-2)}.pp-week-header-left{flex-direction:column;gap:2px;display:flex}.pp-week-title{color:var(--tx);font-size:13px;font-weight:500}.pp-week-dates{color:var(--tx-3);font-size:9px}.pp-week-header-right{align-items:center;gap:6px;display:flex}.pp-phase-badge{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:500}.pp-recup-badge{background:var(--surf-2);color:var(--tx-2);white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:500}.pp-week-chevron{color:var(--tx-3);font-size:10px;transition:transform .2s;display:inline-block}.pp-week-body{max-height:0;transition:max-height .3s;overflow:hidden}.pp-week-body--open{max-height:2000px}.pp-week-notes{color:var(--tx-2);margin:8px 2px 6px;font-size:11px;font-style:italic;line-height:1.4}.pp-week-body--open .pp-sessions{padding-top:6px}.pp-sessions{flex-direction:column;gap:6px;display:flex}.pp-session-card{background:var(--surf);border:1px solid var(--brd);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:7px 8px;transition:border-color .15s;display:flex}.pp-session-card:hover{border-color:var(--brd-2)}.pp-session-card--done{opacity:.65}.pp-session-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.pp-session-icon--wide{white-space:nowrap;gap:1px;width:auto;min-width:24px;padding:0 5px}.pp-session-body{flex:1;min-width:0}.pp-session-day{color:var(--tx-3);white-space:nowrap;text-overflow:ellipsis;margin-bottom:1px;font-size:9px;overflow:hidden}.pp-session-title{color:var(--tx);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.pp-session-volume{color:var(--tx-2);margin-top:1px;font-size:9px}.pp-session-right{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.pp-rpe-badge{border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:500;display:flex}.pp-done-badge{color:#3b6d11;background:#eaf3de;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:500;display:flex}.pp-session-card{position:relative}.pp-conflict-icon{color:#ef4444;font-size:10px;position:absolute;bottom:4px;right:6px}.pp-generating-badge{color:var(--b400);font-style:italic}.pp-week-header--error .pp-week-title,.pp-week-header--error .pp-week-dates{color:#a32d2d}.pp-week--pending{background:var(--surf-2);border:1px dashed var(--brd-2);cursor:default;border-radius:12px;flex-direction:column;min-height:120px;padding:12px 14px;animation:2.4s ease-in-out infinite pp-week-pulse;display:flex}@keyframes pp-week-pulse{0%,to{border-color:var(--brd)}50%{border-color:var(--b400)}}.pp-week-pending-header{margin-bottom:4px}.pp-week-pending-body{flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.pp-week-spinner-large{border:3px solid #378add2e;border-top-color:var(--b400);border-radius:50%;flex-shrink:0;width:40px;height:40px;animation:.9s linear infinite pp-spin;display:inline-block}@keyframes pp-spin{to{transform:rotate(360deg)}}.pp-week-pending-texts{flex-direction:column;gap:5px;display:flex}.pp-week-pending-label{color:var(--tx);font-size:13px;font-weight:500}.pp-week-pending-sub{color:var(--tx-3);font-size:11px;line-height:1.4}.mp-page{background:var(--bg);color:var(--tx);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.mp-header{border-bottom:1px solid var(--brd);background:var(--surf);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.mp-title{color:var(--tx);flex:1;font-size:15px;font-weight:500}.mp-quota-badge{background:var(--surf-2);color:var(--tx-3);white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:9px;font-weight:500}.mp-quota-badge.low{color:#854f0b;background:#faeeda}.mp-body{padding:16px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 72px);flex-direction:column;flex:1;gap:14px;display:flex;overflow-y:auto}.mp-card{border-radius:10px;padding:10px 12px}.mp-card--info{color:#185fa5;background:#e6f1fb}.mp-card--warning{color:#854f0b;background:#faeeda}.mp-card--danger{color:#a32d2d;background:#fcebeb}.mp-card-text{margin:0;font-size:12px;line-height:1.55}.mp-chat{flex-direction:column;gap:20px;display:flex}.mp-exchange{flex-direction:column;gap:8px;display:flex}.mp-bubble-row{display:flex}.mp-bubble-row--user{justify-content:flex-end}.mp-bubble-row--coach{align-items:flex-start;gap:8px}.mp-coach-avatar{color:var(--tx-3);white-space:nowrap;flex-shrink:0;padding-top:11px;font-size:10px;font-weight:600}.mp-bubble{padding:10px 14px;font-size:13px;line-height:1.55}.mp-bubble--user{background:var(--b600);color:#fff;border-radius:18px 18px 4px;max-width:75%}.mp-bubble--coach{background:var(--surf-2);color:var(--tx);border-radius:18px 18px 18px 4px;max-width:85%}.mp-bubble--old{opacity:.7}.mp-bubble-text{margin:0 0 4px;font-size:13px;line-height:1.55}.mp-bubble-list{margin:4px 0 0;padding:0;font-size:12px;line-height:1.7;list-style:none}.mp-bubble-proposed{opacity:.85;margin:4px 0 0;font-size:11px;font-style:italic}.mp-bubble-response{white-space:pre-wrap}.mp-approval-actions{flex-direction:column;gap:8px;margin-top:4px;padding-left:4px;display:flex}.mp-btn-confirm{color:#fff;cursor:pointer;background:#a32d2d;border:none;border-radius:10px;padding:9px 14px;font-size:12px;font-weight:500}.mp-btn-alt{color:#854f0b;cursor:pointer;background:#854f0b1a;border:1px solid #854f0b4d;border-radius:10px;padding:9px 14px;font-size:12px;font-weight:500}.mp-btn-cancel{color:var(--tx-3);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-size:12px}.mp-btn-upgrade{color:#fff;cursor:pointer;text-align:center;background:#a32d2d;border:none;border-radius:10px;width:100%;margin-top:10px;padding:10px 14px;font-size:12px;font-weight:500;display:block}.mp-input-area{flex-direction:column;gap:10px;display:flex}.mp-textarea{background:var(--surf);border:1.5px solid var(--brd);width:100%;color:var(--tx);resize:none;box-sizing:border-box;border-radius:12px;padding:12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.mp-textarea:focus{border-color:var(--brd-2);outline:none}.mp-textarea::placeholder{color:var(--tx-3)}.mp-textarea:disabled{opacity:.5}.mp-submit{background:var(--btn-bg);color:#fff;border-radius:var(--btn-radius);cursor:pointer;border:none;width:100%;padding:12px;font-size:13px;font-weight:500;transition:opacity .15s}.mp-submit:disabled{opacity:.4;cursor:default}.mp-loading{align-items:center;gap:10px;display:flex}.mp-spinner{border:2px solid var(--brd);border-top-color:var(--btn-bg);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.75s linear infinite mp-spin;display:inline-block}@keyframes mp-spin{to{transform:rotate(360deg)}}.mp-loading-text{color:var(--tx-3);font-size:10px}.mp-error{color:#a32d2d;background:#a32d2d14;border-radius:8px;padding:8px 12px;font-size:12px}.pricing-page{background:var(--bg,#f7f5f2);min-height:100dvh;color:var(--tx);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;display:flex}.pricing-header{background:var(--bg,#f7f5f2);z-index:10;border-bottom:.5px solid var(--brd);align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.pricing-back{color:var(--tx);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-top:2px;padding:0;font-size:22px;line-height:1}.pricing-header-text{flex:1}.pricing-title{color:var(--tx);margin:0 0 3px;font-size:17px;font-weight:700;line-height:1.3}.pricing-subtitle{color:var(--tx-3);margin:0;font-size:13px}.pricing-scroll{flex:1;padding-bottom:16px;overflow-y:auto}.pricing-toggle-wrap{justify-content:center;padding:20px 16px 12px;display:flex}.pricing-toggle{background:var(--surf-2,#ebe9e5);border-radius:12px;gap:3px;padding:3px;display:flex}.pricing-toggle-btn{color:var(--tx-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.pricing-toggle-btn.active{color:#fff;background:#185fa5}.pricing-toggle-badge{font-size:11px;font-weight:500}.pricing-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px 16px 4px;overflow-x:auto}.pricing-cards-scroll::-webkit-scrollbar{display:none}.pricing-cards{gap:12px;width:max-content;padding-bottom:4px;display:flex}.pricing-card{border-radius:16px;flex-direction:column;flex-shrink:0;width:195px;padding:18px 16px;display:flex;position:relative}.pricing-card--free,.pricing-card--standard{border:1px solid var(--brd,#e0ddd8);background:#fff;box-shadow:0 2px 12px #0000000f}.pricing-card--premium{background:#fff;border:2px solid #185fa5;width:210px;box-shadow:0 4px 24px #185fa526}.pricing-recommended-badge{color:#fff;background:#185fa5;border-radius:20px;align-self:flex-start;margin-bottom:10px;padding:3px 10px;font-size:10px;font-weight:600;display:inline-block}.pricing-card-name{color:var(--tx);margin-bottom:6px;font-size:16px;font-weight:700}.pricing-card-price{color:var(--tx);margin-bottom:2px;font-size:22px;font-weight:800}.pricing-card-billing{color:var(--tx-3);min-height:16px;margin-bottom:14px;font-size:11px}.pricing-card-features{flex:1;margin:0 0 16px;padding:0;list-style:none}.pricing-card-features li{color:var(--tx);border-bottom:.5px solid var(--brd,#e0ddd8);padding:4px 0;font-size:12px}.pricing-card-features li:last-child{border-bottom:none}.pricing-card-features li:before{content:"✓ ";color:#3b6d11;font-weight:600}.pricing-card-cta{cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:8px;padding:12px;font-size:13px;font-weight:700}.pricing-card-cta--free{background:var(--brd,#e0ddd8);color:var(--tx-2)}.pricing-card-cta--premium{color:#fff;background:#185fa5}.pricing-card-cta--standard{color:#fff;background:#378add}.pricing-beta-note{color:var(--tx-3);text-align:center;font-size:10px;line-height:1.4}.pricing-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--tx-3);padding:20px 16px 8px;font-size:9px;font-weight:600}.pricing-table{border:1px solid var(--brd,#e0ddd8);background:#fff;border-radius:16px;margin:0 16px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.pricing-table-header{background:var(--surf-2,#ebe9e5);border-bottom:1px solid var(--brd,#e0ddd8);grid-template-columns:1fr 52px 64px 64px;display:grid}.pricing-table-feat-head{padding:8px 10px}.pricing-table-col-head{color:var(--tx-3);text-align:center;padding:8px 4px;font-size:10px;font-weight:600}.pricing-table-col-head--std{color:#378add}.pricing-table-col-head--prem{color:#185fa5}.pricing-table-row{border-bottom:.5px solid var(--brd,#e0ddd8);grid-template-columns:1fr 52px 64px 64px;align-items:center;display:grid}.pricing-table-row:last-child{border-bottom:none}.pricing-table-row--even{background:#f9f8f6}.pricing-table-feat{color:var(--tx);padding:9px 10px;font-size:11px;line-height:1.3}.pricing-table-cell{text-align:center;justify-content:center;align-items:center;padding:9px 4px;display:flex}.pricing-check{font-size:14px}.pricing-cross{opacity:.5;font-size:14px}.pricing-cell-text{color:var(--tx);font-size:11px;font-weight:500}.pricing-reassurance{background:var(--surf-2,#ebe9e5);border:1px solid var(--brd,#e0ddd8);border-radius:12px;flex-direction:column;gap:10px;margin:8px 16px 0;padding:16px;display:flex}.pricing-reassurance-item{color:var(--tx);align-items:center;gap:8px;font-size:13px;display:flex}.pricing-faq{border:1px solid var(--brd,#e0ddd8);border-radius:12px;margin:0 16px;overflow:hidden}.pricing-faq-item{border-bottom:.5px solid var(--brd,#e0ddd8)}.pricing-faq-item:last-child{border-bottom:none}.pricing-faq-q{width:100%;color:var(--tx);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:14px;font-size:13px;font-weight:500;display:flex}.pricing-faq-chevron{color:var(--tx-3);flex-shrink:0;font-size:10px;transition:transform .2s}.pricing-faq-a{color:var(--tx-2);padding:0 14px 14px;font-size:13px;line-height:1.6}
