.modal{z-index:300;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal__overlay{background-color:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.modal__content{z-index:1;background-color:#fff;border-radius:.875rem;flex-direction:column;width:90%;max-width:22rem;max-height:90vh;padding:1.5rem;display:flex;position:relative}.modal__body{flex:1;min-height:0;overflow-y:auto}.modal__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal__title{font-size:1.125rem;font-weight:700}.modal__close-btn{align-items:center;display:flex}.modal__close-btn svg{width:1.25rem;height:1.25rem}.modal__actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal__btn-cancel{color:#1a1a2e;background-color:#e5e7eb;border-radius:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.modal__btn-confirm{color:#fff;background-color:#4ecdc4;border-radius:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.modal__btn-confirm:disabled{opacity:.5}.modal__btn-danger{color:#fff;background-color:#ff6b6b;border-radius:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.add-workout-dialog__input{width:100%;margin-bottom:.5rem}.add-workout-dialog__section-label{color:#6b7280;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.add-workout-dialog__template-item{text-align:left;border:1px solid #e5e7eb;border-radius:.375rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s}.add-workout-dialog__template-item:active{background-color:#4ecdc41a;border-color:#4ecdc4}.add-workout-dialog__template-item--selected{color:#1a535c;background-color:#4ecdc41a;border-color:#4ecdc4;font-weight:600}.add-workout-dialog__template-item--suggested{border-color:#ffe66d66}.add-workout-dialog__template-item--suggested:active{border-color:#ffe66d}.add-workout-dialog__template-list{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.confirm-dialog__message{color:#6b7280;font-size:.8125rem;line-height:1.6}.set-row{border-bottom:1px solid #e5e7eb;flex-direction:column;gap:.125rem;padding:.25rem .75rem;display:flex}.set-row:last-child{border-bottom:none}.set-row--completed{background-color:#ffe66d14}.set-row--flash{animation:.8s ease-out set-flash}.set-row__action-btn{color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;gap:.125rem;padding:.0625rem .25rem;font-size:.625rem;display:flex}.set-row__action-btn:active{background-color:#4ecdc41a;border-color:#4ecdc4}.set-row__action-btn--danger{color:#ff6b6b}.set-row__action-btn--danger:active{background-color:#ff6b6b1a;border-color:#ff6b6b}.set-row__action-btn svg{width:.625rem;height:.625rem}.set-row__checkbox{accent-color:#4ecdc4;cursor:pointer;width:1.25rem;height:1.25rem}.set-row__complete{flex-direction:column;flex-shrink:0;align-items:center;gap:.0625rem;width:3.5rem;min-width:3.5rem;display:flex}.set-row__complete-label{color:#6b7280;letter-spacing:.03em;text-transform:uppercase;font-size:.5625rem;font-weight:600}.set-row__detail-line{align-items:center;gap:.5rem;display:flex}.set-row__details{flex-direction:column;flex:1;display:flex}.set-row__edit-fields{flex-direction:column;gap:.25rem;width:100%;display:flex}.set-row__edit-top{gap:.5rem;display:flex}.set-row__field{flex-direction:column;gap:.125rem;display:flex}.set-row__field--full{width:100%}.set-row__field-input{width:4rem;padding:.125rem .25rem;font-size:.8125rem}.set-row__field-input--wide{width:7rem}.set-row__field-label{color:#6b7280;font-size:.75rem;font-weight:600}.set-row__last-completed{color:#6b7280;text-align:center;white-space:nowrap;font-size:.75rem;font-style:italic}.set-row__notes-input{width:100%;padding:.125rem .25rem;font-size:.8125rem}.set-row__number{color:#6b7280;min-width:1.5rem;font-size:.8125rem;font-weight:700}.set-row__reps-value{color:#fff;background-color:#1a1a2e;border-radius:.375rem;padding:.0625rem .25rem;font-size:.8125rem;font-weight:700}.set-row__row-actions{align-items:center;gap:.25rem;display:flex}.set-row__stat{font-size:.8125rem}.set-row__stat-label{color:#6b7280;margin-right:.125rem;font-size:.75rem}.set-row__stat-value{font-weight:600}.set-row__top{align-items:flex-start;gap:.5rem;width:100%;display:flex}.set-row__total{color:#4ecdc4;font-weight:700}@keyframes set-flash{0%{background-color:#4ecdc440}to{background-color:#0000}}@keyframes exercise-flash{0%{box-shadow:0 0 #ff6b6b00}25%{box-shadow:0 0 .5rem .125rem #ff6b6b80}to{box-shadow:0 0 #ff6b6b00}}.exercise-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:.625rem;margin-bottom:.25rem;overflow:hidden}.exercise-item--completed{border-color:#ffe66d66 #ffe66d66 #ffe66d66 #ffe66d;border-left-style:solid;border-left-width:.25rem}.exercise-item--expanded:not(.exercise-item--completed){border-color:#1a535c66 #1a535c66 #1a535c66 #1a535c;border-left-style:solid;border-left-width:.25rem}.exercise-item--flash{animation:1.5s ease-in-out exercise-flash}.exercise-item__add-set-btn{color:#4ecdc4;border:1px solid #4ecdc4;border-radius:.375rem;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:flex}.exercise-item__add-set-btn:active{background-color:#4ecdc41a}.exercise-item__add-set-btn svg{width:.75rem;height:.75rem}.exercise-item__body{border-top:1px solid #e5e7eb}.exercise-item__checkbox{accent-color:#4ecdc4;cursor:pointer;width:1.125rem;height:1.125rem}.exercise-item__chevron{color:#6b7280;flex-shrink:0;transition:transform .2s}.exercise-item__chevron svg{width:1.25rem;height:1.25rem}.exercise-item__chevron--open{transform:rotate(180deg)}.exercise-item__clone-btn{color:#6b7280;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.exercise-item__clone-btn:active{color:#4ecdc4}.exercise-item__clone-btn svg{width:.875rem;height:.875rem}.exercise-item__delete-mode-btn{color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;padding:.1875rem;display:flex}.exercise-item__delete-mode-btn:active{color:#ff6b6b;border-color:#ff6b6b}.exercise-item__delete-mode-btn svg{width:.75rem;height:.75rem}.exercise-item__delete-btn{color:#ff6b6b;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.exercise-item__delete-btn:active{opacity:.7}.exercise-item__delete-btn svg{width:.875rem;height:.875rem}.exercise-item__edit-toggle{color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:flex}.exercise-item__edit-toggle:active{background-color:#4ecdc41a;border-color:#4ecdc4}.exercise-item__edit-toggle svg{width:.75rem;height:.75rem}.exercise-item__exercise-actions{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:1rem;padding:.5rem .75rem;display:flex}.exercise-item__footer-toggle{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:.25rem;width:100%;padding:.25rem .75rem;font-size:.75rem;display:flex}.exercise-item__footer-toggle:active{background-color:#4ecdc40d}.exercise-item__header{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .15s;display:flex}.exercise-item__header:active{background-color:#4ecdc40d}.exercise-item__info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.exercise-item__meta{align-items:center;gap:.75rem;display:flex}.exercise-item__move-btns{flex-direction:column;gap:.125rem;display:flex}.exercise-item__move-btns button{color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;padding:.1875rem;display:flex}.exercise-item__move-btns button:active{background-color:#4ecdc41a;border-color:#4ecdc4}.exercise-item__move-btns button:disabled{opacity:.3;border-color:#0000}.exercise-item__move-btns button svg{width:.75rem;height:.75rem}.exercise-item__muscles{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.exercise-item__muscles-input{border:1px solid #e5e7eb;border-radius:.375rem;width:100%;padding:.125rem .25rem;font-size:.75rem}.exercise-item__muscles-input:focus{border-color:#4ecdc4;outline:none}.exercise-item__name{word-break:break-word;font-size:.8125rem;font-weight:600}.exercise-item__progress{color:#6b7280;white-space:nowrap;font-size:.75rem;font-weight:600}.exercise-item__set-actions{align-items:center;gap:.5rem;display:flex}.exercise-item__sets-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.25rem .75rem;display:flex}.exercise-item__sets-title{color:#6b7280;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.header{color:#fff;z-index:100;background-color:#1a535c;justify-content:space-between;align-items:center;height:3.5rem;padding:0 .75rem;display:flex;position:fixed;top:0;left:0;right:0}.header__left{align-items:center;gap:.5rem;min-width:0;display:flex}.header__right{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.header__back-btn{align-items:center;padding:.25rem;display:flex}.header__title{text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;font-weight:700;overflow:hidden}.header__subtitle{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:400;overflow:hidden}.header__title-group{flex-direction:column;min-width:0;display:flex}.header__icon-btn{border-radius:.375rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background-color .15s;display:flex}.header__icon-btn:active{background-color:#ffffff26}.header__icon-btn svg{width:1.375rem;height:1.375rem}.toast{color:#fff;z-index:400;background-color:#1a535c;border-radius:.625rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;animation:.3s ease-out slideUp;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(1rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}.day-detail{flex-direction:column;gap:1rem;padding:1rem;display:flex}.day-detail__add-exercise{color:#6b7280;border:.125rem dashed #e5e7eb;border-radius:0 0 .625rem .625rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;transition:all .15s;display:flex}.day-detail__add-exercise:active{color:#4ecdc4;border-color:#4ecdc4}.day-detail__add-exercise svg{width:1.25rem;height:1.25rem}.day-detail__add-workout-btn{color:#6b7280;background-color:#fff;border:.125rem dashed #e5e7eb;border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:600;transition:all .15s;display:flex}.day-detail__add-workout-btn:active{color:#4ecdc4;border-color:#4ecdc4}.day-detail__add-workout-btn svg{width:1.25rem;height:1.25rem}.day-detail__bulk-btn{color:#ff6b6b;border-radius:.375rem;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;font-weight:600;display:flex}.day-detail__bulk-btn:active{background-color:#ff6b6b1a}.day-detail__bulk-btn:disabled{opacity:.4}.day-detail__bulk-btn--cancel{color:#6b7280}.day-detail__bulk-btn--cancel:active{background-color:#6b72801a}.day-detail__bulk-btn svg{width:1rem;height:1rem}.day-detail__collapse-all-btn{color:#6b7280;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;padding:.25rem;display:flex}.day-detail__collapse-all-btn:active{color:#4ecdc4;border-color:#4ecdc4}.day-detail__collapse-all-btn svg{width:1rem;height:1rem}.day-detail__delete-workout-btn{color:#6b7280;align-items:center;padding:.25rem;display:flex}.day-detail__delete-workout-btn:active{color:#ff6b6b}.day-detail__delete-workout-btn svg{width:1rem;height:1rem}.day-detail__empty{flex:1;justify-content:center;align-items:center;min-height:60vh;display:flex}.day-detail__empty-add{color:#6b7280;background-color:#fff;border:.125rem dashed #e5e7eb;border-radius:.875rem;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;font-size:1.125rem;font-weight:600;transition:all .15s;display:flex}.day-detail__empty-add:active{color:#4ecdc4;border-color:#4ecdc4}.day-detail__empty-add svg{width:3rem;height:3rem}.day-detail__exercises{flex-direction:column;display:flex}.day-detail__selected-count{color:#6b7280;font-size:.75rem;font-weight:600}.day-detail__toolbar{background-color:#ff6b6b0d;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.day-detail__toolbar-actions{align-items:center;gap:.5rem;display:flex}.day-detail__workout-actions{align-items:center;gap:.25rem;display:flex}.day-detail__workout-header{justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.day-detail__workout-info{flex-direction:column;gap:.25rem;display:flex}.day-detail__workout-name{font-size:1.125rem;font-weight:700}.day-detail__workout-section{background-color:#fff;border-radius:.625rem;overflow:hidden}.day-detail__workout-section--completed{background-color:#ffe66d14;border-left:.1875rem solid #ffe66d}.day-detail__workout-stats{color:#6b7280;font-size:.75rem}.add-exercise-form{border-radius:0 0 .625rem .625rem;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.add-exercise-form__row{gap:.5rem;display:flex}.add-exercise-form__input{flex:1;padding:.5rem;font-size:.8125rem}.add-exercise-form__actions{justify-content:flex-end;gap:.5rem;display:flex}.add-exercise-form__btn{border-radius:.375rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600}.add-exercise-form__btn--cancel{color:#6b7280}.add-exercise-form__btn--add{color:#fff;background-color:#4ecdc4}.menu{position:relative}.menu__overlay{z-index:200;width:100%;height:100%;position:fixed;top:0;left:0}.menu__dropdown{z-index:201;background-color:#fff;border-radius:.625rem;min-width:13rem;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 .25rem 1.25rem #00000026}.menu__item{color:#1a1a2e;white-space:nowrap;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.8125rem;transition:background-color .15s;display:flex}.menu__item:active{background-color:#4ecdc41a}.menu__item svg{width:1.125rem;height:1.125rem}.menu__divider{background-color:#e5e7eb;height:1px}.workout-row{cursor:pointer;background-color:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background-color .15s;display:flex}.workout-row:first-child{border-radius:.625rem .625rem 0 0}.workout-row:last-child{border-bottom:none;border-radius:0 0 .625rem .625rem}.workout-row:only-child{border-radius:.625rem}.workout-row:active{background-color:#4ecdc40d}.workout-row--today{border-left:.1875rem solid #4ecdc4}.workout-row--empty{opacity:.6}.workout-row__date{color:#1a1a2e;font-size:.9375rem;font-weight:500}.workout-row__multi{flex-direction:column;align-items:flex-end;gap:.125rem;display:flex}.workout-row__workout-name{color:#6b7280;text-align:right;font-size:.8125rem;font-weight:500}.home{flex-direction:column;padding:1rem;display:flex}.home__week-list{border-radius:.625rem;overflow:hidden;box-shadow:0 .0625rem .25rem #0000000f}.home__week-list--today{margin-bottom:.75rem}.home__week-nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.home__week-nav-btn{border:1px solid #e5e7eb;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.home__week-nav-btn:active{background-color:#4ecdc41a}.home__week-nav-btn svg{width:1rem;height:1rem}.home__week-range{color:#1a1a2e;font-size:.8125rem;font-weight:600}.home__today-btn{color:#4ecdc4;font-size:.75rem;font-weight:700}.logs{flex-direction:column;padding:1rem;display:flex}.logs__calendar{background-color:#fff;border-radius:.625rem;margin-bottom:1rem;padding:1rem}.logs__calendar-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.logs__month-label{font-size:.9375rem;font-weight:700}.logs__nav-btns{gap:.5rem;display:flex}.logs__nav-btn{border:1px solid #e5e7eb;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.logs__nav-btn:active{background-color:#4ecdc41a}.logs__nav-btn svg{width:1rem;height:1rem}.logs__weekdays{grid-template-columns:repeat(7,1fr);gap:.125rem;margin-bottom:.25rem;display:grid}.logs__weekday{color:#6b7280;text-align:center;font-size:.75rem;font-weight:600}.logs__days{grid-template-columns:repeat(7,1fr);gap:.125rem;display:grid}.logs__day{cursor:pointer;border-radius:.375rem;justify-content:center;align-items:center;height:2.25rem;font-size:.8125rem;transition:all .15s;display:flex}.logs__day:active{background-color:#4ecdc41a}.logs__day--today{font-weight:700}.logs__day--selected{color:#fff;background-color:#4ecdc4;font-weight:700}.logs__day--has-workout{position:relative}.logs__day--has-workout:after{content:"";background-color:#4ecdc4;border-radius:50%;width:.25rem;height:.25rem;position:absolute;bottom:.125rem;left:50%;transform:translate(-50%)}.logs__day--other-month{opacity:.3}.logs__details{flex-direction:column;gap:.5rem;display:flex}.logs__no-data{color:#6b7280;text-align:center;padding:1.5rem;font-size:.8125rem}.logs__workout-card{background-color:#fff;border-radius:.625rem;overflow:hidden}.logs__workout-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.logs__workout-name{font-size:.9375rem;font-weight:700}.logs__workout-duration{color:#6b7280;font-size:.75rem}.logs__exercise-log{border-bottom:1px solid #e5e7eb;padding:.5rem 1rem}.logs__exercise-log:last-child{border-bottom:none}.logs__exercise-duration{color:#6b7280;font-size:.75rem;font-weight:400}.logs__exercise-name{align-items:baseline;gap:.5rem;margin-bottom:.25rem;font-size:.8125rem;font-weight:600;display:flex}.logs__set-log{color:#6b7280;padding-left:.75rem;font-size:.75rem}.logs__set-completed{color:#4ecdc4}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px}body{-webkit-font-smoothing:antialiased;color:#1a1a2e;background-color:#f7fff7;min-height:100dvh;font-family:Manrope,sans-serif;font-size:.9375rem;line-height:1.5}button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none}input,textarea{font:inherit;border:1px solid #e5e7eb;border-radius:.375rem;outline:none;padding:.5rem .75rem}input:focus,textarea:focus{border-color:#4ecdc4}ul,ol{list-style:none}a{color:inherit;text-decoration:none}#root{flex-direction:column;max-width:37.5rem;min-height:100dvh;margin:0 auto;display:flex}.page{flex-direction:column;flex:1;padding-top:3.5rem;padding-bottom:1.5rem;display:flex}.fade-in{animation:.2s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}
