body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.fc-col-header{background-color:#fdfcf9;border-radius:19px}.fc-scrollgrid-section>td{border-radius:16px 16px!important}.fc-scrollgrid-sync-table{background-color:#fdfcf9}.fc-next-button,.fc-prev-button,.fc-today-button{background-color:#04041a!important}.fc-event:hover{background-color:#c8ea8e;cursor:pointer;margin:6px}.fc-event{background-color:#fff;border:1px solid #c8ea8e;cursor:pointer;margin:6px}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}@font-face{font-display:swap;font-family:Chakra Petch;font-style:normal;font-weight:400;src:url(/static/media/chakra-petch-thai-400-normal.f77b0aa829c51b06dd7e.woff2) format("woff2"),url(/static/media/chakra-petch-thai-400-normal.cb5553738409bd3f327a.woff) format("woff");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-display:swap;font-family:Chakra Petch;font-style:normal;font-weight:400;src:url(/static/media/chakra-petch-vietnamese-400-normal.adad3861b040d1e7cfde.woff2) format("woff2"),url(/static/media/chakra-petch-vietnamese-400-normal.ca5fae80db9c701b567d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Chakra Petch;font-style:normal;font-weight:400;src:url(/static/media/chakra-petch-latin-ext-400-normal.2c30adcb09e68bd19caa.woff2) format("woff2"),url(/static/media/chakra-petch-latin-ext-400-normal.46a47229b85bb8667b8b.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Chakra Petch;font-style:normal;font-weight:400;src:url(/static/media/chakra-petch-latin-400-normal.6df9e9fae879aa374306.woff2) format("woff2"),url(/static/media/chakra-petch-latin-400-normal.8f25537ab22499fdb3c5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400;src:url(/static/media/space-grotesk-vietnamese-400-normal.43e406db4c9673e64b16.woff2) format("woff2"),url(/static/media/space-grotesk-vietnamese-400-normal.805a3674b452420960bd.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400;src:url(/static/media/space-grotesk-latin-ext-400-normal.4889d1dd083666be481f.woff2) format("woff2"),url(/static/media/space-grotesk-latin-ext-400-normal.f9e869e161d5f69c3488.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400;src:url(/static/media/space-grotesk-latin-400-normal.f18f0615094969652b7e.woff2) format("woff2"),url(/static/media/space-grotesk-latin-400-normal.66111bd6c741353872d0.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@media print{.page-break{break-before:page;page-break-before:always}.avoid-break-inside{break-inside:avoid;page-break-inside:avoid}.avoid-break-after{break-after:avoid;page-break-after:avoid}}.chart-container{padding-left:0;padding-right:0;position:relative;-webkit-user-select:none;user-select:none}.chart-container.enlarged{background-color:#fff;border:none;bottom:0;box-sizing:border-box;height:100%;left:0;margin:0;max-height:100%;max-width:100%;overflow:hidden;position:fixed;right:0;top:0;width:100%;z-index:2001}.chart-container.enlarged.mobile{height:100vh;transform-origin:top left;width:100vw}.chart-container.enlarged.desktop{border-radius:17px;box-shadow:0 0 10px 60px #00000059;height:95%;left:50%;padding-left:0;padding-right:0;top:40%;transform:translate(-50%,-40%);width:95%;z-index:2000}@media only screen and (orientation:portrait){.chart-container.portrait-mode{height:100vw;left:0;position:absolute;top:0;transform:rotate(90deg) translateX(0);transform-origin:top left;width:100vh}}.activityCard{align-items:flex-start;border-top:1px solid #e3e0d8;box-sizing:border-box;color:#04041a;cursor:pointer;flex-direction:column;font-family:Chakra Petch;font-size:11px;position:relative;text-align:left;width:100%}.activityCard,.activityTop{border-bottom:1px solid #e3e0d8;display:flex;justify-content:flex-start}.activityTop{align-items:center;align-self:stretch;color:#2f4acd;flex-direction:row;flex-shrink:0;font-family:Space Grotesk;font-size:16px;gap:16px;padding:12px 16px}.iconsskier1{height:24px;object-fit:cover;position:relative;width:24px}.content{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start}.headline{mix-blend-mode:normal}.location{align-items:flex-start;color:#04041a;display:flex;flex-direction:row;font-family:Chakra Petch;font-size:11px;justify-content:flex-start}.location1{font-weight:500;line-height:16px;mix-blend-mode:normal;position:relative}.duration{flex-direction:column}.duration,.headline2{align-items:flex-start;align-self:stretch;display:flex;justify-content:flex-start}.headline2{flex-direction:row;padding:8px 16px 0}.headline2,.time{background-color:#fdfcf9}.div{letter-spacing:-.04em;line-height:110%;position:relative}.headline4{align-items:flex-start;align-self:stretch;background-color:#fdfcf9;display:flex;flex-direction:row;justify-content:flex-start;padding:0 16px}.unit{font-family:Space Grotesk;font-size:14px;font-weight:500;line-height:20px;mix-blend-mode:normal;position:relative}.measureBox{align-items:center;display:flex;flex-direction:column;justify-content:flex-start}.mapIcon{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;object-fit:cover;overflow:hidden;position:absolute;right:0;top:0;width:100%}.NavLinkCard:hover{text-decoration:none}.NavLinkCard.active{background-color:#f0f0f0}.paper-scroll::-webkit-scrollbar{display:none}:root{--cycling-color:#ff6b35;--running-color:#4caf50;--strength-color:#2196f3;--skiing-color:#9c27b0;--swimming-color:#00bcd4;--other-color:#757575;--cycling-light:#ff6b351a;--running-light:#4caf501a;--strength-light:#2196f31a;--skiing-light:#9c27b01a;--swimming-light:#00bcd41a;--other-light:#7575751a;--planned-color:#2196f3;--planned-light:#2196f31a;--border-light:#e3e0d8;--border-medium:#898782;--background-primary:#fdfcf9;--background-secondary:#f9f6ed;--background-tertiary:#fbf9f3;--text-primary:#04041a;--text-secondary:#696764;--text-tertiary:#898782;--today-highlight:#f9ffe8;--today-border:#2f4acd;--hover-state:#ecffb5;--selected-state:#f9ffe8;--selected-border:#2f4acd;--panel-background:#f9f6ed;--panel-border:#e3e0d8;--metric-positive:#10b981;--metric-negative:#ef4444;--metric-neutral:#696764;--font-family-primary:"Chakra Petch",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-secondary:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--month-header-size:32px;--month-header-weight:400;--day-label-size:14px;--day-label-weight:500;--date-size:16px;--date-weight:400;--workout-title-size:14px;--workout-metrics-size:12px;--workout-time-size:11px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--calendar-cell-min-height:120px;--summary-panel-width:300px;--header-height:60px;--transition-fast:150ms ease;--transition-normal:300ms ease;--transition-slow:500ms ease}body.calendar-active{height:100vh!important;overflow:hidden!important;position:fixed!important;width:100%!important}html.calendar-active{height:100%!important;overflow:hidden!important}.calendar_calendarContainer__JX2KO{background-color:var(--background-primary);display:flex;font-family:var(--font-family-secondary)}.calendar_calendarMain__RmPDy{display:flex;flex:1 1;flex-direction:column;min-width:0}.calendar_calendarHeader__8NqrA{align-items:center;background-color:var(--background-primary);border-bottom:1px solid var(--border-light);display:flex;height:var(--header-height);justify-content:space-between;min-height:var(--header-height);padding:var(--spacing-md) var(--spacing-lg)}.calendar_headerLeft__C5mgp{align-items:center;display:flex;gap:var(--spacing-md)}.calendar_headerCenter__rbuQW{flex:1 1;justify-content:center}.calendar_headerCenter__rbuQW,.calendar_headerRight__iTSt9{align-items:center;display:flex;gap:var(--spacing-sm)}.calendar_monthTitle__GnzMT{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--month-header-size);font-weight:var(--month-header-weight);margin:0}.calendar_navButton__GdCCg{align-items:center;background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);cursor:pointer;display:flex;font-family:var(--font-family-secondary);font-weight:500;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.calendar_navButton__GdCCg:hover{background-color:var(--hover-state);border-color:var(--border-medium)}.calendar_navButton__GdCCg:disabled{cursor:not-allowed;opacity:.5}.calendar_todayButton__wAqSv{background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);color:var(--text-primary);cursor:pointer;font-family:var(--font-family-secondary);font-size:14px;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.calendar_todayButton__wAqSv:hover{background-color:var(--hover-state);border-color:var(--border-medium)}.calendar_traineeDropdown__5hlCz{background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);color:var(--text-primary);cursor:pointer;font-family:var(--font-family-secondary);font-size:14px;font-weight:500;margin-right:var(--spacing-sm);min-width:150px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.calendar_traineeDropdown__5hlCz:hover{background-color:var(--hover-state);border-color:var(--border-medium)}.calendar_traineeDropdown__5hlCz:focus{border-color:var(--selected-border);box-shadow:0 0 0 2px #3b82f61a;outline:none}.calendar_viewSwitcher__LPQgR{background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);display:flex;overflow:hidden}.calendar_viewButton__UGNgX{background-color:initial;border:none;border-right:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;font-family:var(--font-family-secondary);font-size:14px;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.calendar_viewButton__UGNgX:last-child{border-right:none}.calendar_viewButton__UGNgX:hover{background-color:var(--hover-state);color:var(--text-primary)}.calendar_viewButton__UGNgX.calendar_active__KRxHF{background-color:var(--selected-state);color:var(--selected-border);font-weight:600}.calendar_calendarContent__S2Vdy{flex:1 1}.calendar_calendarGrid__OpxVo{grid-gap:1px;background-color:var(--border-light);border:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:auto;height:100%}.calendar_dayHeader__o-Rm8{background-color:var(--background-secondary);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--day-label-size);font-weight:var(--day-label-weight);padding:var(--spacing-sm);text-align:center}.calendar_dayCell__kQpEY{background-color:var(--background-primary);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:var(--calendar-cell-min-height);padding:var(--spacing-xs);position:relative;transition:background-color var(--transition-fast);width:100%}.calendar_dayCell__kQpEY:focus{background-color:var(--background-primary);outline:2px solid var(--selected-border);outline-offset:-2px}.calendar_dayCell__kQpEY.calendar_today__RQ1DY{background-color:var(--today-highlight);border:2px solid var(--today-border)}.calendar_dayCell__kQpEY.calendar_otherMonth__fAyDF{background-color:var(--background-tertiary);color:var(--text-tertiary)}.calendar_dayCell__kQpEY.calendar_selected__i2YcN{background-color:var(--selected-state);border:2px solid var(--selected-border)}.calendar_dateNumber__fO7n7{color:var(--text-primary);font-family:var(--font-family-primary);font-size:var(--date-size);font-weight:var(--date-weight);margin-bottom:var(--spacing-xs);text-align:left}.calendar_dayCell__kQpEY.calendar_otherMonth__fAyDF .calendar_dateNumber__fO7n7{color:var(--text-tertiary)}.calendar_eventsContainer__\+CJ9u{display:flex;flex:1 1;flex-direction:row;gap:2px;max-height:calc(100% - 30px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.calendar_eventsContainer__\+CJ9u::-webkit-scrollbar{width:4px}.calendar_eventsContainer__\+CJ9u::-webkit-scrollbar-thumb{background-color:#0003;border-radius:2px}.calendar_eventsContainer__\+CJ9u::-webkit-scrollbar-track{background:#0000}.calendar_leftHalf__z4B\+u{border-right:1px solid var(--border-light);display:flex;flex:1 1;flex-direction:column;gap:1px;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.calendar_leftHalf__z4B\+u::-webkit-scrollbar{width:3px}.calendar_leftHalf__z4B\+u::-webkit-scrollbar-track{background:#0000}.calendar_leftHalf__z4B\+u::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}.calendar_rightHalf__xgSdF{display:flex;flex:1 1;flex-direction:column;gap:1px;overflow-x:hidden;overflow-y:auto;padding-left:2px;scrollbar-color:var(--border-medium) #0000;scrollbar-width:thin}.calendar_rightHalf__xgSdF::-webkit-scrollbar{width:3px}.calendar_rightHalf__xgSdF::-webkit-scrollbar-track{background:#0000}.calendar_rightHalf__xgSdF::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}.calendar_workoutCard__VqaJB{align-items:center;border-left:3px solid;border-radius:var(--border-radius-sm);box-sizing:border-box;cursor:pointer;display:flex;font-size:var(--workout-title-size);gap:var(--spacing-xs);line-height:1.2;min-height:20px;overflow:hidden;padding:2px var(--spacing-xs);position:relative;transition:all var(--transition-fast);width:100%}.calendar_workoutCard__VqaJB[draggable=true]{cursor:grab}.calendar_workoutCard__VqaJB[draggable=true]:active{cursor:grabbing;opacity:.8}.calendar_workoutCard__VqaJB.calendar_dragging__4gIt\+{background:#3b82f61a!important;border:2px dashed #3b82f6;opacity:.3;transform:scale(.9) rotate(2deg);transition:none;z-index:1000}.calendar_dayCell__kQpEY[data-drag-over=true]{background-color:#3b82f626;border:2px dashed #3b82f6;transform:scale(1.02);transition:all .2s ease}.calendar_dayCell__kQpEY[data-drag-over=true]:before{animation:calendar_pulse__pLNGP 1s infinite;background:#3b82f6e6;border-radius:4px;color:#fff;content:"📋 Drop here";font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}@keyframes calendar_pulse__pLNGP{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.calendar_workoutCard__VqaJB:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.calendar_workoutCard__VqaJB.calendar_cycling__lbZZm{background-color:var(--cycling-light);border-left-color:var(--cycling-color)}.calendar_workoutCard__VqaJB.calendar_running__uWX49{background-color:var(--running-light);border-left-color:var(--running-color)}.calendar_workoutCard__VqaJB.calendar_strength__SvFh0{background-color:var(--strength-light);border-left-color:var(--strength-color)}.calendar_workoutCard__VqaJB.calendar_skiing__r7owZ{background-color:var(--skiing-light);border-left-color:var(--skiing-color)}.calendar_workoutCard__VqaJB.calendar_swimming__pDkQY{background-color:var(--swimming-light);border-left-color:var(--swimming-color)}.calendar_workoutCard__VqaJB.calendar_other__ahKg3{background-color:var(--other-light);border-left-color:var(--other-color)}.calendar_workoutCard__VqaJB.calendar_planned__jyQRk{background-color:var(--planned-light);border-left-color:var(--planned-color)}.calendar_workoutCard__VqaJB.calendar_plannedTraining__qADxo{background-color:#f5f5f5;border:none;cursor:pointer;display:block;height:auto;margin-bottom:2px;min-height:50px;opacity:.85;overflow:hidden;padding:3px;position:relative}.calendar_workoutCard__VqaJB.calendar_doneTraining__qE263{background-color:#e3f2fd;border:1px solid #87ceeb;border-radius:4px;cursor:pointer;display:block;height:auto;margin-bottom:2px;min-height:55px;opacity:1;overflow:hidden;padding:3px;position:relative}.calendar_plannedIndicator__wTSNh{font-size:12px;margin-left:4px;opacity:.7}.calendar_trainingCardLayout__w2l2y{align-items:center;display:flex;flex-direction:column;gap:1px;justify-content:flex-start;min-height:100%;padding:2px 0;position:relative;width:100%}.calendar_trainingIconRow__h5iS9{align-items:center;display:flex;gap:2px;justify-content:center;margin-bottom:0;min-height:16px}.calendar_trainingTime__2xED8{font-size:var(--workout-time-size)}.calendar_trainingDuration__vV7\+G,.calendar_trainingTime__2xED8{color:var(--text-primary);font-family:var(--font-family-secondary);font-weight:500;line-height:1.2;text-align:center}.calendar_trainingDuration__vV7\+G{font-size:var(--workout-title-size)}.calendar_trainingDistance__YpqwC{color:var(--text-secondary);font-size:var(--workout-time-size);font-weight:400}.calendar_trainingDistance__YpqwC,.calendar_trainingTitle__WfxkS{font-family:var(--font-family-secondary);line-height:1.2;text-align:center}.calendar_trainingTitle__WfxkS{color:var(--text-primary);display:block;font-size:var(--workout-title-size);font-weight:500;max-width:100%;min-height:1.2em;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.calendar_trainingMetricsRow__dXpIl{align-items:center;display:flex;justify-content:space-between;margin-top:auto;min-height:14px;padding:0 4px;width:100%}.calendar_fitnessScore__eQrLo{flex-shrink:0;font-size:11px;line-height:1}.calendar_intensityScore__iWu6y{align-items:center;background-color:var(--background-tertiary);border-radius:10px;color:var(--text-secondary);display:inline-flex;flex-shrink:0;font-size:10px;font-weight:600;gap:1px;padding:1px 4px}.calendar_intensityScore__iWu6y:before{content:"⚡";font-size:10px}.calendar_workoutIcon__IeEfC{flex-shrink:0;font-size:14px}.calendar_workoutDetails__dCbN4{flex:1 1;min-width:0}.calendar_workoutIconImg__r-4o5{border-radius:2px;flex-shrink:0;margin-right:8px}.calendar_workoutDuration__zDm\+3{color:var(--text-primary);font-family:var(--font-family-secondary);font-size:var(--workout-title-size);font-weight:500}.calendar_workoutNotes__xrKKT{word-wrap:break-word;margin-top:2px;max-width:100%;overflow-wrap:break-word;white-space:normal}.calendar_workoutMetrics__uEum-,.calendar_workoutNotes__xrKKT{color:var(--text-secondary);font-family:var(--font-family-secondary);font-size:var(--workout-metrics-size);font-weight:400}.calendar_workoutMetrics__uEum-{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar_moreEvents__NJTct{background-color:var(--background-primary);border-radius:2px;bottom:30px;color:var(--text-secondary);cursor:pointer;font-size:var(--workout-metrics-size);left:50%;padding:2px;position:absolute;text-align:center;transform:translateX(-50%);white-space:nowrap}.calendar_moreEvents__NJTct:hover{color:var(--text-primary);text-decoration:underline}.calendar_hoverActions__eEr1M{display:flex;justify-content:space-between;left:0;opacity:0;padding:0 2px;pointer-events:none;position:absolute;right:0;transition:opacity .3s ease,top .3s ease;z-index:2}.calendar_dayCell__kQpEY[data-drag-in-progress=true] .calendar_hoverActions__eEr1M{opacity:0!important;pointer-events:none!important}.calendar_dayCell__kQpEY:hover .calendar_hoverActions__eEr1M{opacity:1;pointer-events:auto}.calendar_yearView__9-bX4 .calendar_hoverActions__eEr1M{display:none}.calendar_addPlannedTrainingButton__krl7W{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#9ca3afb3;border:2px solid #9ca3af80;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:50px;justify-content:center;line-height:1;margin-left:calc(25% - 30px);pointer-events:all;transition:all .3s ease;width:60px}.calendar_addPlannedTrainingButton__krl7W:hover{background-color:#6b7280;box-shadow:0 2px 4px #0003}.calendar_blueActionButton__NOegg{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#3b82f6b3;border:2px solid #3b82f680;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:50px;justify-content:center;line-height:1;margin-right:calc(25% - 30px);pointer-events:all;transition:all .3s ease;width:60px}.calendar_blueActionButton__NOegg:hover{background-color:#2563eb;box-shadow:0 2px 4px #0003}.calendar_addPlannedTrainingButton__krl7W:hover{background-color:#9ca3afe6;border-color:#9ca3afcc;box-shadow:0 4px 12px #0003;transform:scale(1.1)}.calendar_addPlannedTrainingButton__krl7W:active{transform:scale(.95)}.calendar_blueActionButton__NOegg:hover{background-color:#3b82f6e6;border-color:#3b82f6cc;box-shadow:0 4px 12px #0003;transform:scale(1.1)}.calendar_blueActionButton__NOegg:active{transform:scale(.95)}.calendar_summaryPanel__IzgD6{background-color:var(--panel-background);border-left:1px solid var(--panel-border);display:flex;flex-direction:column;overflow:hidden;width:var(--summary-panel-width)}.calendar_summaryHeader__htI37{background-color:var(--background-primary);border-bottom:1px solid var(--panel-border);padding:var(--spacing-lg)}.calendar_summaryTitle__jYWd2{color:var(--text-primary);font-family:var(--font-family-primary);font-size:22px;font-weight:400;margin:0 0 var(--spacing-sm) 0}.calendar_summaryContent__iNXi0{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.calendar_summarySection__sOYqr{margin-bottom:var(--spacing-lg)}.calendar_sectionTitle__flgNa{color:var(--text-primary);font-family:var(--font-family-primary);font-size:16px;font-weight:400;margin-bottom:var(--spacing-sm)}.calendar_metricRow__mYsMm{grid-gap:var(--spacing-sm);align-items:center;border-bottom:1px solid var(--border-light);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 80px 80px;padding:var(--spacing-xs) 0}.calendar_metricLabel__OIdxd{color:var(--text-secondary);font-family:var(--font-family-secondary);font-size:14px;font-weight:400}.calendar_metricValue__ZsmcF{color:var(--text-primary);font-family:var(--font-family-secondary);font-size:14px;font-weight:500;text-align:center}.calendar_metricValue__ZsmcF.calendar_positive__7vCgS{color:var(--metric-positive)}.calendar_metricValue__ZsmcF.calendar_negative__UcLQL{color:var(--metric-negative)}.calendar_errorContainer__ZQL\+E,.calendar_loadingContainer__HZFzM{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);height:100vh;justify-content:center}.calendar_errorContainer__ZQL\+E{color:var(--metric-negative)}.calendar_retryButton__Tcqf8{background-color:var(--selected-border);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-family:var(--font-family-secondary);font-size:14px;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.calendar_retryButton__Tcqf8:hover{background-color:var(--hover-state);color:var(--text-primary)}@media (max-width:1024px) and (min-width:769px){.calendar_summaryPanel__IzgD6{box-shadow:var(--shadow-lg);height:100%;position:absolute;right:-100%;top:0;transition:right var(--transition-normal);width:350px;z-index:100}.calendar_summaryPanel__IzgD6.calendar_open__81A6b{right:0}.calendar_calendarMain__RmPDy{transition:margin-right var(--transition-normal)}}@media (max-width:768px){.calendar_summaryPanel__IzgD6{border-left:1px solid var(--border-medium);box-shadow:var(--shadow-xl);height:100vh;max-width:350px;position:fixed;right:-100%;top:0;transition:right var(--transition-normal);width:90%;z-index:1000}.calendar_summaryPanel__IzgD6.calendar_open__81A6b{right:0}.calendar_summaryPanel__IzgD6.calendar_open__81A6b:before{background-color:#00000080;content:"";height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:-1}.calendar_calendarContainer__JX2KO{flex-direction:column}.calendar_calendarMain__RmPDy{flex:1 1;width:100%}.calendar_calendarHeader__8NqrA{flex-wrap:wrap;gap:var(--spacing-sm);min-height:60px;padding:var(--spacing-sm) var(--spacing-md)}.calendar_headerLeft__C5mgp{flex:1 1;order:1}.calendar_headerCenter__rbuQW{justify-content:center;margin-top:var(--spacing-xs);order:2;width:100%}.calendar_headerRight__iTSt9{flex:1 1;justify-content:flex-end;order:3}.calendar_dayCell__kQpEY{font-size:12px;min-height:80px;padding:2px}.calendar_dateNumber__fO7n7{font-family:var(--font-family-primary);font-size:16px;font-weight:400}.calendar_workoutCard__VqaJB{font-size:10px;margin-bottom:1px;min-height:18px;padding:2px 4px}.calendar_workoutIcon__IeEfC{font-size:12px}.calendar_navButton__GdCCg{font-size:16px;height:40px;width:40px}.calendar_todayButton__wAqSv,.calendar_viewButton__UGNgX{font-size:14px;min-height:40px;padding:var(--spacing-sm) var(--spacing-md)}.calendar_traineeDropdown__5hlCz{font-size:13px;min-width:120px;padding:var(--spacing-sm)}}@media (max-width:480px){.calendar_summaryPanel__IzgD6{right:-100%;width:95%}.calendar_calendarHeader__8NqrA{min-height:50px;padding:var(--spacing-xs) var(--spacing-sm)}.calendar_monthTitle__GnzMT{font-family:var(--font-family-primary);font-size:24px;font-weight:400}.calendar_navButton__GdCCg{font-size:14px;height:36px;width:36px}.calendar_todayButton__wAqSv,.calendar_viewButton__UGNgX{font-size:12px;min-height:36px;padding:var(--spacing-xs) var(--spacing-sm)}.calendar_traineeDropdown__5hlCz{font-size:12px;min-width:100px}.calendar_dayCell__kQpEY{min-height:70px;padding:1px}.calendar_dateNumber__fO7n7{font-family:var(--font-family-primary);font-size:14px;font-weight:400}.calendar_workoutCard__VqaJB{font-size:9px;min-height:16px;padding:1px 2px}.calendar_workoutIcon__IeEfC{font-size:10px}}@media (max-width:768px) and (orientation:landscape){.calendar_calendarHeader__8NqrA{min-height:45px;padding:var(--spacing-xs) var(--spacing-sm)}.calendar_dayCell__kQpEY{min-height:60px}.calendar_summaryPanel__IzgD6{max-width:400px;width:50%}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.calendar_workoutIcon__IeEfC{transform:scale(.9)}}@media (hover:none) and (pointer:coarse){.calendar_navButton__GdCCg,.calendar_todayButton__wAqSv,.calendar_viewButton__UGNgX{min-height:44px}.calendar_dayCell__kQpEY{cursor:default}.calendar_dayCell__kQpEY:hover,.calendar_navButton__GdCCg:hover,.calendar_todayButton__wAqSv:hover,.calendar_viewButton__UGNgX:hover{background-color:initial;transform:none}.calendar_navButton__GdCCg:active,.calendar_todayButton__wAqSv:active,.calendar_viewButton__UGNgX:active{background-color:var(--selected-state);transform:scale(.95)}}.calendar_weekView__eF-Zu{display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar_weekCalendarGrid__CBZlX{grid-gap:1px;background-color:var(--border-light);border:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:auto;height:80%}.calendar_weekCalendarGrid__CBZlX .calendar_dayCell__kQpEY{min-height:calc(var(--calendar-cell-min-height)*4)}.calendar_enhancedWeekView__BFkCr{display:flex;flex-direction:column;height:100%;overflow:hidden}.calendar_enhancedWeekScrollContainer__2Joe3{flex:1 1;overflow-y:auto;scroll-behavior:smooth;scrollbar-color:var(--border-medium) var(--background-secondary);scrollbar-width:thin}.calendar_enhancedWeekRow__1-bh4{grid-gap:1px;background-color:var(--border-light);border:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:auto 1fr;margin-bottom:var(--spacing-sm);transition:all var(--transition-normal)}.calendar_focusedWeek__et8Xd{border-color:var(--selected-border);box-shadow:var(--shadow-lg);min-height:70vh;transform:scale(1.02)}.calendar_unfocusedWeek__Yfo59{min-height:30vh;opacity:.8}.calendar_enhancedDayHeader__70jf8{background-color:var(--background-secondary);display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);text-align:center;transition:all var(--transition-fast)}.calendar_enhancedDayHeader__70jf8.calendar_todayHeader__2hR4h{background-color:#3b82f6;color:#fff}.calendar_enhancedDayHeader__70jf8.calendar_todayHeader__2hR4h .calendar_dayName__1921q,.calendar_enhancedDayHeader__70jf8.calendar_todayHeader__2hR4h .calendar_dayNumber__5rna5{color:#fff;font-weight:600}.calendar_dayName__1921q{color:var(--text-secondary);font-family:var(--font-family-primary);font-size:var(--day-label-size);font-weight:var(--day-label-weight)}.calendar_dayNumber__5rna5{color:var(--text-primary);font-family:var(--font-family-primary);font-size:16px;font-weight:400}.calendar_infiniteWeekView__ndAuA{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.calendar_infiniteWeekScrollContainer__N1lXP{flex:1 1;height:100%;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-sm) 0;scrollbar-color:var(--border-medium) var(--background-secondary);scrollbar-width:thin}.calendar_infiniteWeekScrollContainer__N1lXP::-webkit-scrollbar{width:8px}.calendar_infiniteWeekScrollContainer__N1lXP::-webkit-scrollbar-track{background:var(--background-secondary)}.calendar_infiniteWeekScrollContainer__N1lXP::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.calendar_infiniteWeekScrollContainer__N1lXP::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar_infiniteWeekRow__q8rMe{grid-gap:1px;background-color:var(--border-light);border:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto auto 1fr;height:calc(90vh - 120px);margin-bottom:var(--spacing-md);min-height:400px;transition:all var(--transition-fast);width:100%}.calendar_currentWeekRow__-8\+sl{background-color:var(--border-light);border-color:var(--today-border);border-width:2px;box-shadow:var(--shadow-md)}.calendar_weekRangeIndicator__vx7GT{background-color:var(--background-secondary);border-bottom:2px solid var(--border-medium);color:var(--text-primary);font-family:var(--font-family-primary);font-size:14px;font-weight:400;grid-column:1/-1;padding:var(--spacing-sm);text-align:center}.calendar_currentWeekRow__-8\+sl .calendar_weekRangeIndicator__vx7GT{background-color:var(--today-border);color:#fff}.calendar_weekRange__FoEeV{letter-spacing:.5px}.calendar_infiniteDayHeader__FdMQ4{background-color:var(--background-secondary);border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);text-align:center;transition:all var(--transition-fast)}.calendar_infiniteDayHeader__FdMQ4.calendar_todayHeader__2hR4h{background-color:#3b82f6;color:#fff}.calendar_infiniteDayHeader__FdMQ4.calendar_todayHeader__2hR4h .calendar_dayName__1921q,.calendar_infiniteDayHeader__FdMQ4.calendar_todayHeader__2hR4h .calendar_dayNumber__5rna5{color:#fff;font-weight:600}.calendar_weekLoadingIndicator__t4nKM{align-items:center;background-color:var(--background-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);color:var(--text-secondary);display:flex;font-family:var(--font-family-secondary);font-size:14px;font-weight:400;gap:var(--spacing-sm);left:50%;padding:var(--spacing-md) var(--spacing-lg);position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.calendar_loadingSpinner__4n7Sx{animation:calendar_spin__nFtwb 1s linear infinite;border-top:2px solid var(--border-light);border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--selected-border);height:20px;width:20px}@keyframes calendar_spin__nFtwb{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar_infiniteWeekRow__q8rMe{animation:calendar_fadeInWeek__Mfs-Z .3s ease-in-out;opacity:1}@keyframes calendar_fadeInWeek__Mfs-Z{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar_infiniteWeekScrollContainer__N1lXP{transform:translateZ(0);will-change:scroll-position}.calendar_infiniteWeekRow__q8rMe{contain:layout style paint}.calendar_weekScrollContainer__U-4cm{flex:1 1;overflow-y:auto;scroll-behavior:smooth;scrollbar-color:var(--border-medium) var(--background-secondary);scrollbar-width:thin}.calendar_weekScrollContainer__U-4cm::-webkit-scrollbar{width:8px}.calendar_weekScrollContainer__U-4cm::-webkit-scrollbar-track{background:var(--background-secondary)}.calendar_weekScrollContainer__U-4cm::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.calendar_weekScrollContainer__U-4cm::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar_weekRow__i9eDp{border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-sm)}.calendar_weekRow__i9eDp.calendar_currentWeek__2ZuFt{background-color:var(--today-highlight);border:2px solid var(--today-border);border-radius:var(--border-radius-sm);margin:var(--spacing-xs);padding:var(--spacing-xs)}.calendar_weekRowHeader__Xca-N{grid-gap:1px;background-color:var(--border-light);border-bottom:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-xs)}.calendar_weekDayHeader__m1OjJ{background-color:var(--background-secondary);display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);text-align:center}.calendar_weekDayName__OIQN-{color:var(--text-secondary);font-size:var(--day-label-size);font-weight:var(--day-label-weight)}.calendar_weekDayNumber__d2xwm{border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:18px;font-weight:600;padding:4px;transition:all var(--transition-fast)}.calendar_weekDayNumber__d2xwm:hover{background-color:var(--hover-state)}.calendar_weekDayNumber__d2xwm.calendar_selected__i2YcN{background-color:var(--selected-state);color:var(--selected-border)}.calendar_weekRowContent__FM6jg{grid-gap:1px;background-color:var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-md);min-height:150px}.calendar_weekDayColumn__bDFvW{background-color:var(--background-primary);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs);transition:background-color var(--transition-fast)}.calendar_weekHeader__zsDhU{grid-gap:1px;background-color:var(--border-light);border-bottom:1px solid var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.calendar_weekContent__WFIPa{flex:1 1;overflow-y:auto;scrollbar-width:thin}.calendar_weekGrid__WapgU{grid-gap:1px;background-color:var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);min-height:100%}.calendar_loading__uTH6\+{align-items:center;color:var(--text-secondary);display:flex;height:200px;justify-content:center}.calendar_skeleton__oWPPb{animation:calendar_loading__uTH6\+ 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes calendar_loading__uTH6\+{0%{background-position:200% 0}to{background-position:-200% 0}}.calendar_infiniteMonthView__TbCFd{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.calendar_infiniteMonthScrollContainer__Peuv3{flex:1 1;margin-bottom:5vh;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-sm) 0;scroll-behavior:auto;scrollbar-color:var(--border-medium) var(--background-secondary);scrollbar-width:thin}.calendar_infiniteMonthScrollContainer__Peuv3::-webkit-scrollbar{width:8px}.calendar_infiniteMonthScrollContainer__Peuv3::-webkit-scrollbar-track{background:var(--background-secondary)}.calendar_infiniteMonthScrollContainer__Peuv3::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.calendar_infiniteMonthScrollContainer__Peuv3::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar_monthGrid__Y4aPN{background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);overflow:hidden;transition:all var(--transition-fast)}.calendar_currentMonth__HLVle{border-color:var(--today-border);border-width:2px;box-shadow:var(--shadow-md)}.calendar_monthHeader__3pNPr{background-color:var(--background-secondary);border-bottom:1px solid var(--border-light);padding:var(--spacing-md);text-align:center}.calendar_monthHeader__3pNPr .calendar_monthTitle__GnzMT{color:var(--text-primary);font-family:var(--font-family-primary);font-size:22px;font-weight:400;margin:0}.calendar_monthDayHeaders__iCSCj{grid-gap:1px}.calendar_monthDayGrid__Gol96,.calendar_monthDayHeaders__iCSCj{background-color:var(--border-light);display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.calendar_monthDayGrid__Gol96{grid-gap:1px;grid-auto-rows:100px}.calendar_monthLoadingIndicator__\+rLrI{align-items:center;background-color:var(--background-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);color:var(--text-secondary);display:flex;font-family:var(--font-family-secondary);font-size:14px;font-weight:400;gap:var(--spacing-sm);left:50%;padding:var(--spacing-md) var(--spacing-lg);position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.calendar_infiniteMonthScrollContainer__Peuv3{transform:translateZ(0);will-change:scroll-position}.calendar_monthGrid__Y4aPN{animation:calendar_fadeInMonth__kPU-9 .3s ease-in-out;contain:layout style paint;opacity:1}@keyframes calendar_fadeInMonth__kPU-9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar_calendarContainer__JX2KO{height:100vh;max-height:100vh;overflow:hidden;position:relative;width:100%}.calendar_calendarContent__S2Vdy{height:calc(100vh - var(--header-height));max-height:calc(100vh - var(--header-height));overflow:hidden;position:relative;width:100%}.calendar_infiniteMonthView__TbCFd,.calendar_infiniteWeekView__ndAuA{height:100%;overflow:hidden}.calendar_infiniteWeekScrollContainer__N1lXP{scroll-snap-type:y mandatory}.calendar_infiniteWeekRow__q8rMe{scroll-snap-align:start;scroll-snap-stop:always}.calendar_infiniteWeekRow__q8rMe:first-child{margin-top:0}.calendar_infiniteWeekRow__q8rMe:last-child{margin-bottom:var(--spacing-lg)}.calendar_infiniteWeekScrollContainer__N1lXP{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.calendar_nextMonthPreview__oT8xP{background-color:var(--background-secondary);border-top:2px solid var(--border-medium);bottom:0;display:flex;flex-direction:column;height:5vh;left:0;opacity:.8;overflow:hidden;position:absolute;right:0;z-index:10}.calendar_previewHeader__Kf2x1{background-color:var(--background-tertiary);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.calendar_previewContent__MiwFF{flex:1 1;opacity:.7;overflow:hidden;transform:scale(.8);transform-origin:top center}.calendar_previewContent__MiwFF .calendar_infiniteWeekRow__q8rMe{height:100%;margin-bottom:0;min-height:0;min-height:auto}.calendar_previewContent__MiwFF .calendar_dayCell__kQpEY{font-size:10px}.calendar_previewContent__MiwFF .calendar_workoutCard__VqaJB{font-size:9px;padding:1px 2px}.calendar_monthPreviewHeader__6eTxr{background-color:var(--background-tertiary);border-bottom:1px solid var(--border-light);color:var(--text-secondary);font-size:10px;font-weight:600;padding:2px var(--spacing-sm);text-align:center}.calendar_monthPreviewContent__MwlDw{flex:1 1;opacity:.6;overflow:hidden}.calendar_monthPreviewGrid__j0A\+K{padding:2px var(--spacing-xs)}.calendar_monthPreviewDays__AvoNd{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar_monthPreviewDayHeader__9Asb-{color:var(--text-secondary);font-size:9px;font-weight:500;padding:2px;text-align:center}.calendar_monthDayGrid__Gol96 .calendar_dayCell__kQpEY{display:flex;flex-direction:column;height:100px;max-height:100px;min-height:100px;overflow:hidden}.calendar_monthDayGrid__Gol96 .calendar_dayCell__kQpEY .calendar_eventsContainer__\+CJ9u{-ms-overflow-style:auto;flex:1 1;overflow-y:auto;scrollbar-width:thin}.calendar_monthDayGrid__Gol96 .calendar_dayCell__kQpEY .calendar_eventsContainer__\+CJ9u::-webkit-scrollbar{width:4px}.calendar_monthDayGrid__Gol96 .calendar_dayCell__kQpEY .calendar_eventsContainer__\+CJ9u::-webkit-scrollbar-thumb{background-color:#0003;border-radius:2px}.calendar_monthDayGrid__Gol96 .calendar_dayCell__kQpEY .calendar_eventsContainer__\+CJ9u::-webkit-scrollbar-track{background:#0000}.plannedTrainingModal_modalOverlay__0iig6{align-items:center;animation:plannedTrainingModal_fadeIn__tbU1O .2s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1400}@keyframes plannedTrainingModal_fadeIn__tbU1O{0%{opacity:0}to{opacity:1}}.plannedTrainingModal_modalContainer__gMKxL{animation:plannedTrainingModal_slideIn__YWe-a .3s ease-out;background-color:#fdfcf9;border-radius:8px;box-shadow:0 10px 25px #00000040;max-height:95vh;max-width:800px;min-width:650px;overflow:hidden;width:95%}@keyframes plannedTrainingModal_slideIn__YWe-a{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(0)}}.plannedTrainingModal_modalHeader__kl8fO{align-items:center;background-color:#f9f6ed;border-bottom:1px solid #e3e0d8;display:flex;justify-content:space-between;padding:20px 24px}.plannedTrainingModal_modalTitle__zQPAg{color:#04041a;font-family:Chakra Petch,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:24px;font-weight:400;margin:0}.plannedTrainingModal_closeButton__\+vSAw{background:none;border:none;border-radius:4px;color:#696764;cursor:pointer;font-size:24px;padding:4px;transition:all .15s ease}.plannedTrainingModal_closeButton__\+vSAw:hover{background-color:#ecffb5;color:#04041a}.plannedTrainingModal_modalContent__QlN80{display:flex;gap:32px;min-height:400px;padding:24px}.plannedTrainingModal_descriptionSection__ZApyI,.plannedTrainingModal_inputSection__MHyLt{flex:1 1}.plannedTrainingModal_sectionTitle__y-fOV{color:#04041a;font-family:Chakra Petch,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:400;margin:0 0 16px;text-decoration:underline}.plannedTrainingModal_formGroup__hWemi{margin-bottom:16px}.plannedTrainingModal_formLabel__2Wr9M{color:#696764;display:block;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;margin-bottom:6px}.plannedTrainingModal_formInput__xzRQO,.plannedTrainingModal_formSelect__AZhZb,.plannedTrainingModal_formTextarea__s7OuD{background-color:#fff;border:1px solid #e3e0d8;border-radius:6px;color:#04041a;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.plannedTrainingModal_formInput__xzRQO:focus,.plannedTrainingModal_formSelect__AZhZb:focus,.plannedTrainingModal_formTextarea__s7OuD:focus{border-color:#2f4acd;box-shadow:0 0 0 3px #2f4acd1a;outline:none}.plannedTrainingModal_formTextarea__s7OuD{font-family:inherit;min-height:80px;resize:vertical}.plannedTrainingModal_formSelect__AZhZb{cursor:pointer}.plannedTrainingModal_formInput__xzRQO::placeholder,.plannedTrainingModal_formTextarea__s7OuD::placeholder{color:#9ca3af}.plannedTrainingModal_inputWithUnit__5puQY{align-items:center;display:flex;position:relative}.plannedTrainingModal_inputWithUnit__5puQY .plannedTrainingModal_formInput__xzRQO{padding-right:40px}.plannedTrainingModal_unitLabel__Vjwor{background-color:#fff;color:#696764;font-size:14px;font-weight:500;padding:0 4px;pointer-events:none;position:absolute;right:12px}.plannedTrainingModal_modalActions__svjvh{background-color:#f9f6ed;border-top:1px solid #e3e0d8;display:flex;justify-content:space-between;padding:20px 24px}.plannedTrainingModal_deleteButton__YU6M5,.plannedTrainingModal_saveButton__7RmFz{border:none;border-radius:50px;cursor:pointer;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;min-width:80px;outline:none;padding:12px 24px;transition:all .15s ease}.plannedTrainingModal_deleteButton__YU6M5{background-color:initial;border:none;color:#04041a}.plannedTrainingModal_deleteButton__YU6M5:hover{background-color:#d3d3d3;color:#04041a}.plannedTrainingModal_deleteButton__YU6M5.plannedTrainingModal_deleteConfirm__ArdYm{background-color:#dc3545;border:1px solid #dc3545;color:#fff}.plannedTrainingModal_deleteButton__YU6M5.plannedTrainingModal_deleteConfirm__ArdYm:hover{background-color:#c82333;border-color:#bd2130}.plannedTrainingModal_cancelButton__UcVpB{background-color:#f8f9fa;border:1px solid #6c757d;border-radius:50px;color:#6c757d;cursor:pointer;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.plannedTrainingModal_cancelButton__UcVpB:hover{background-color:#e9ecef;color:#495057}.plannedTrainingModal_saveButton__7RmFz{background-color:#04041a;color:#fff;margin-right:17px}.plannedTrainingModal_saveButton__7RmFz:hover{background-color:#d3d3d3;color:#04041a}.plannedTrainingModal_saveButton__7RmFz:active{background-color:#04041a;color:#fff}@media (max-width:768px){.plannedTrainingModal_modalContainer__gMKxL{margin:10px;max-height:95vh;min-width:0;min-width:auto;overflow-y:auto;width:95%}.plannedTrainingModal_modalContent__QlN80{flex-direction:column;gap:20px;min-height:0;min-height:auto;padding:20px}.plannedTrainingModal_modalActions__svjvh{flex-direction:column;gap:12px}.plannedTrainingModal_deleteButton__YU6M5,.plannedTrainingModal_saveButton__7RmFz{width:100%}.plannedTrainingModal_formGroup__hWemi{margin-bottom:20px}}@media (max-width:480px){.plannedTrainingModal_modalOverlay__0iig6{padding:8px}.plannedTrainingModal_modalContainer__gMKxL{border-radius:0;box-shadow:none;margin:0;max-height:100vh;max-width:100%;min-width:0;min-width:auto;width:100%}.plannedTrainingModal_modalHeader__kl8fO{border-bottom:2px solid #e5e7eb;padding:16px 20px;position:sticky;top:0;z-index:10}.plannedTrainingModal_modalTitle__zQPAg{font-family:Chakra Petch,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;font-weight:400}.plannedTrainingModal_closeButton__\+vSAw{font-size:28px;padding:8px}.plannedTrainingModal_modalContent__QlN80{flex-direction:column;gap:16px;min-height:0;min-height:auto;padding:16px 20px}.plannedTrainingModal_descriptionSection__ZApyI,.plannedTrainingModal_inputSection__MHyLt{flex:none}.plannedTrainingModal_formGroup__hWemi{margin-bottom:16px}.plannedTrainingModal_formLabel__2Wr9M{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;margin-bottom:8px}.plannedTrainingModal_formInput__xzRQO,.plannedTrainingModal_formSelect__AZhZb,.plannedTrainingModal_formTextarea__s7OuD{background-color:#fff;border-radius:8px;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;min-height:48px;padding:12px 16px}.plannedTrainingModal_formTextarea__s7OuD{min-height:100px}.plannedTrainingModal_modalActions__svjvh{background-color:#f9fafb;border-top:2px solid #e5e7eb;bottom:0;gap:16px;padding:20px;position:sticky}.plannedTrainingModal_deleteButton__YU6M5,.plannedTrainingModal_saveButton__7RmFz{border-radius:50px;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;min-height:48px;outline:none;padding:16px 24px}.plannedTrainingModal_typeSelector__Qefop{align-items:flex-start;flex-direction:column;gap:12px}.plannedTrainingModal_formSelect__AZhZb{width:100%}.plannedTrainingModal_typeIcon__A26R7{font-size:28px}.plannedTrainingModal_inputWithUnit__5puQY .plannedTrainingModal_formInput__xzRQO{padding-right:50px}.plannedTrainingModal_unitLabel__Vjwor{font-size:16px;right:16px}}@media (max-width:375px){.plannedTrainingModal_modalContainer__gMKxL{min-height:100vh}.plannedTrainingModal_modalContent__QlN80{padding:12px 16px}.plannedTrainingModal_modalActions__svjvh{padding:16px}.plannedTrainingModal_formInput__xzRQO,.plannedTrainingModal_formSelect__AZhZb,.plannedTrainingModal_formTextarea__s7OuD{background-color:#fff;padding:10px 14px}}.plannedTrainingModal_modalContainer__gMKxL:hover{box-shadow:0 15px 35px #0000004d}.plannedTrainingModal_typeSelector__Qefop{align-items:center;display:flex;gap:10px;position:relative}.plannedTrainingModal_typeIcon__A26R7{align-items:center;display:flex;font-size:24px;justify-content:center;line-height:1}.plannedTrainingModal_authWarning__21MzY{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;font-size:14px;font-weight:500;margin-bottom:16px;padding:8px 12px}.plannedTrainingModal_editingInfo__Eycx8{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;color:#0c5460;font-size:14px;font-weight:500;margin-bottom:16px;padding:8px 12px}.plannedTrainingModal_fitnessScoreContainer__mcPei{display:flex;flex-direction:column;gap:10px}.plannedTrainingModal_fitnessLabel__MGVjr{color:#666;font-size:14px;font-weight:500}.plannedTrainingModal_smileyContainer__7Gj\+j{display:flex;flex-wrap:nowrap;gap:4px;justify-content:space-between;width:100%}.plannedTrainingModal_smileyButton__STrfE{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:70px;min-width:50px;padding:6px 4px;transition:all .2s ease}.plannedTrainingModal_smileyButton__STrfE:hover{background:#e9ecef;border-color:#adb5bd}.plannedTrainingModal_smileyButton__STrfE.plannedTrainingModal_smileySelected__swcX6{background:#d4edda;border-color:#28a745;color:#155724}.plannedTrainingModal_smileyEmoji__6jC4P{font-size:24px;line-height:1}.plannedTrainingModal_smileyLabel__tLRbv{font-size:12px;font-weight:500;text-align:center}.plannedTrainingModal_intensityContainer__4oFe-{display:flex;flex-direction:column;gap:10px}.plannedTrainingModal_intensityLabel__mtq\+2{color:#666;font-size:14px;font-weight:500}.plannedTrainingModal_sliderContainer__xGBJS{align-items:center;display:flex;gap:12px}.plannedTrainingModal_sliderLabel__Qqn8K{color:#888;font-size:12px;font-weight:500;min-width:20px}.plannedTrainingModal_intensitySlider__n\+bv7{appearance:none;background:#e9ecef;border-radius:3px;flex:1 1;height:6px;outline:none}.plannedTrainingModal_intensitySlider__n\+bv7::-webkit-slider-thumb{appearance:none;background:#ff6b35;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.plannedTrainingModal_intensitySlider__n\+bv7::-moz-range-thumb{background:#ff6b35;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;width:20px}.plannedTrainingModal_intensityValue__znxZU{background:#f8f9fa;border-radius:4px;color:#333;font-size:18px;font-weight:700;min-width:40px;padding:8px;text-align:center}.plannedTrainingModal_analysisButton__edNIl{background-color:#04041a;border:none;border-radius:50px;color:#fff;cursor:pointer;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;outline:none;padding:12px 24px;text-align:center;transition:all .15s ease}.plannedTrainingModal_analysisButton__edNIl:hover{background-color:#d3d3d3;color:#04041a}.plannedTrainingModal_analysisButton__edNIl:active{background-color:#04041a;color:#fff}.plannedTrainingModal_errorMessage__4BZUq{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:12px;font-weight:500;margin-top:8px;padding:8px 12px}.plannedTrainingModal_successMessage__2uJHo{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:12px;font-weight:500;margin-top:8px;padding:8px 12px}.plannedTrainingModal_loadingMessage__N\+JZZ{background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;color:#0c5460;font-size:12px;font-weight:500;margin-top:8px;padding:8px 12px}button:disabled{cursor:not-allowed;opacity:.6}button:disabled:hover{background-color:inherit;color:inherit}.timePicker_timePickerContainer__rrRiC{position:relative;width:100%;z-index:1}.timePicker_timePickerInput__9URj4{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;min-height:40px;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.timePicker_timePickerInput__9URj4:hover{border-color:#9ca3af}.timePicker_timePickerInput__9URj4.timePicker_open__jcWqd,.timePicker_timePickerInput__9URj4:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.timePicker_timeDisplay__5ml\+Q{color:#1f2937;font-family:Space Grotesk,monospace;font-weight:500}.timePicker_dropdownIcon__kdZix{color:#6b7280;margin-left:8px;transition:transform .2s ease}.timePicker_dropdownIcon__kdZix.timePicker_rotated__nO7NR{transform:rotate(180deg)}.timePicker_timePickerDropdown__X8dr6{animation:timePicker_dropdownSlide__JHE9I .2s ease-out;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #00000026;left:0;position:absolute;right:0;z-index:1000}.timePicker_dropdownOverlay__PLAC2{animation:timePicker_expandOverlay__9wajq .2s ease-out;left:0;position:absolute;right:0;top:0;transform-origin:center center;z-index:1001}@keyframes timePicker_expandOverlay__9wajq{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.timePicker_pickerHeader__FOPHv{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.timePicker_timeSelectorContainer__43zuq{align-items:flex-start;display:flex;gap:8px;padding:16px}.timePicker_timeSelector__JPo\+Y{align-items:center;display:flex;flex:1 1;flex-direction:column}.timePicker_selectorLabel__r2dHy{color:#6b7280;font-size:12px;font-weight:500;margin-bottom:8px;text-align:center}.timePicker_scrollContainer__ly45y{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;max-height:150px;overflow-y:auto;width:100%}.timePicker_scrollContainer__ly45y::-webkit-scrollbar{width:6px}.timePicker_scrollContainer__ly45y::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.timePicker_scrollContainer__ly45y::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.timePicker_scrollContainer__ly45y::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.timePicker_option__37Nbi{border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-family:Space Grotesk,monospace;font-weight:500;padding:8px 12px;text-align:center;transition:all .15s ease}.timePicker_option__37Nbi:last-child{border-bottom:none}.timePicker_option__37Nbi:hover{background-color:#e5e7eb;color:#1f2937}.timePicker_option__37Nbi.timePicker_selected__qpKjr{background-color:#3b82f6;color:#fff;font-weight:600}.timePicker_option__37Nbi.timePicker_selected__qpKjr:hover{background-color:#2563eb}.timePicker_separator__quBxM{align-items:center;color:#6b7280;display:flex;font-size:18px;font-weight:700;margin:24px 4px 0}.timePicker_pickerActions__C1\+gG{background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.timePicker_clearButton__7H5Kw,.timePicker_doneButton__17I0M{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease}.timePicker_clearButton__7H5Kw{background-color:#f3f4f6;border:1px solid #d1d5db;color:#6b7280}.timePicker_clearButton__7H5Kw:hover{background-color:#e5e7eb;color:#374151}.timePicker_doneButton__17I0M{background-color:#3b82f6;color:#fff}.timePicker_doneButton__17I0M:hover{background-color:#2563eb}.timePicker_doneButton__17I0M:active{background-color:#1d4ed8}@media (max-width:768px){.timePicker_timePickerDropdown__X8dr6{border-radius:12px;box-shadow:0 20px 40px #0000004d;left:50%;max-width:90vw;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%);width:350px;z-index:1100}.timePicker_timeSelectorContainer__43zuq{padding:20px 16px}.timePicker_scrollContainer__ly45y{max-height:160px}.timePicker_option__37Nbi{font-size:16px;padding:12px}}@media (max-width:480px){.timePicker_timePickerDropdown__X8dr6{border-radius:16px;box-shadow:0 25px 50px #0006;left:50%;max-height:70vh;max-width:350px;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:1200}.timePicker_pickerHeader__FOPHv{background-color:#2f4acd;border-radius:16px 16px 0 0;color:#fff;font-size:16px;padding:16px 20px}.timePicker_timeSelectorContainer__43zuq{padding:20px 16px}.timePicker_selectorLabel__r2dHy{font-size:14px;margin-bottom:12px}.timePicker_scrollContainer__ly45y{border-radius:8px;max-height:140px}.timePicker_option__37Nbi{align-items:center;display:flex;font-size:18px;justify-content:center;min-height:48px;padding:14px 12px}.timePicker_separator__quBxM{font-size:24px;margin:32px 8px 0}.timePicker_pickerActions__C1\+gG{gap:12px;padding:16px 20px}.timePicker_clearButton__7H5Kw,.timePicker_doneButton__17I0M{border-radius:8px;font-size:16px;min-height:48px;padding:12px 20px}.timePicker_doneButton__17I0M{background-color:#2f4acd}}@media (max-width:375px){.timePicker_timePickerDropdown__X8dr6{max-height:60vh;width:95vw}.timePicker_timeSelectorContainer__43zuq{padding:16px 12px}.timePicker_scrollContainer__ly45y{max-height:120px}.timePicker_option__37Nbi{font-size:16px;padding:12px 8px}.timePicker_pickerActions__C1\+gG{padding:12px 16px}}.timePicker_timePickerInput__9URj4.timePicker_open__jcWqd{border-color:#2f4acd;box-shadow:0 0 0 3px #2f4acd1a}.timePicker_option__37Nbi.timePicker_selected__qpKjr{background-color:#2f4acd}.timePicker_option__37Nbi.timePicker_selected__qpKjr:hover{background-color:#1d4ed8}.timePicker_doneButton__17I0M{background-color:#2f4acd}.timePicker_doneButton__17I0M:hover{background-color:#1d4ed8}.timePicker_option__37Nbi:focus{outline:2px solid #2f4acd;outline-offset:-2px}.timePicker_clearButton__7H5Kw:focus,.timePicker_doneButton__17I0M:focus{outline:2px solid #2f4acd;outline-offset:2px}.next-steps .fa-link{margin-right:5px}.next-steps .row{margin-bottom:0}.next-steps .col-md-5{margin-bottom:3rem}@media (max-width:768px){.next-steps .col-md-5{margin-bottom:0}}.spinner{background-color:#fff;bottom:0;display:flex;height:100vh;justify-content:center;left:0;position:absolute;right:0;top:0;width:100vw}.result-block-container .result-block{opacity:1}.button-gap{margin-right:200px}@media (min-width:600px){.customContainer{padding-left:0;padding-right:0}}