/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}
.clearfix::after{display:table;clear:both;content:"";}.nowrap{white-space:nowrap;}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}
#sliding-popup{background:url(/modules/contrib/eu_cookie_compliance/images/gradient.png) center center scroll repeat-y transparent;}.sliding-popup-bottom,.sliding-popup-top{margin:0;padding:0;width:100%;z-index:99999;left:0;text-align:center;}.sliding-popup-bottom{position:fixed;}.sliding-popup-top{position:relative;}.eu-cookie-compliance-content{margin:0 auto;max-width:80%;display:inline-block;text-align:left;width:100%;position:relative;}.eu-cookie-compliance-buttons{float:right;margin:0 0 1em 0;max-width:40%;}.eu-cookie-compliance-categories-buttons{margin:0 0 1em 0;max-width:60%;float:left;}[dir="rtl"] .eu-cookie-compliance-buttons{float:left;}[dir="rtl"] .eu-cookie-compliance-categories-buttons{float:right;}.eu-cookie-compliance-more-button{cursor:pointer;display:inline;height:auto;margin:0;padding:0;border:none;text-decoration:underline;background:none;}.eu-cookie-compliance-secondary-button{cursor:pointer;border:none;background:none;margin-top:1em;padding:0 8px;vertical-align:middle;}.disagree-button.eu-cookie-compliance-more-button,.eu-cookie-compliance-agree-button,.eu-cookie-compliance-default-button,.eu-cookie-compliance-hide-button,.eu-cookie-compliance-more-button-thank-you,.eu-cookie-withdraw-button,.eu-cookie-compliance-save-preferences-button{cursor:pointer;margin-right:5px;margin-top:1em;vertical-align:middle;overflow:visible;width:auto;-moz-box-shadow:inset 0 1px 0 0 #ffffff;-webkit-box-shadow:inset 0 1px 0 0 #ffffff;box-shadow:inset 0 1px 0 0 #ffffff;background-color:#ededed;background-image:-moz-linear-gradient(top,#ededed 5%,#dfdfdf 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(5%,#ededed),color-stop(100%,#dfdfdf));background-image:-webkit-linear-gradient(top,#ededed 5%,#dfdfdf 100%);background-image:-o-linear-gradient(top,#ededed 5%,#dfdfdf 100%);background-image:-ms-linear-gradient(top,#ededed 5%,#dfdfdf 100%);background-image:linear-gradient(to bottom,#ededed 5%,#dfdfdf 100%);-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border:1px solid #dcdcdc;color:#000;font-family:Arial,sans-serif;font-weight:bold;padding:4px 8px;text-decoration:none;text-shadow:1px 1px 0 #ffffff;}[dir="rtl"] .eu-cookie-compliance-buttons button{-moz-box-shadow:inset 0 0 0 1px #ffffff;-webkit-box-shadow:inset 0 0 0 1px #ffffff;box-shadow:inset 0 0 0 1px #ffffff;}.disagree-button.eu-cookie-compliance-more-button:hover,.eu-cookie-compliance-agree-button:hover,.eu-cookie-compliance-default-button:hover,.eu-cookie-compliance-hide-button:hover,.eu-cookie-compliance-more-button-thank-you:hover,.eu-cookie-withdraw-button:hover{background-color:#dfdfdf;background-image:-moz-linear-gradient(top,#dfdfdf 5%,#ededed 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(5%,#dfdfdf),color-stop(100%,#ededed));background-image:-webkit-linear-gradient(top,#dfdfdf 5%,#ededed 100%);background-image:-o-linear-gradient(top,#dfdfdf 5%,#ededed 100%);background-image:-ms-linear-gradient(top,#dfdfdf 5%,#ededed 100%);background-image:linear-gradient(to bottom,#dfdfdf 5%,#ededed 100%);}.disagree-button.eu-cookie-compliance-more-button:active,.eu-cookie-compliance-agree-button:active,.eu-cookie-compliance-default-button:active,.eu-cookie-compliance-hide-button:active,.eu-cookie-compliance-more-button-thank-you:active,.eu-cookie-withdraw-button:active{position:relative;top:1px;}.eu-cookie-compliance-message{float:left;margin:5px 0 0;max-width:60%;}.eu-cookie-compliance-banner--categories .eu-cookie-compliance-message{max-width:100%;}.eu-cookie-compliance-categories{clear:both;padding-top:1em;}.eu-cookie-compliance-categories label{display:inline;}[dir="rtl"] .eu-cookie-compliance-message{float:right;text-align:right;}.eu-cookie-compliance-message h1,.eu-cookie-compliance-message h2,.eu-cookie-compliance-message h3,.eu-cookie-compliance-message p{font-weight:bold;line-height:1.4;margin:0 0 5px 0;}.eu-cookie-compliance-message h1,.eu-cookie-compliance-message h2,.eu-cookie-compliance-message h3,.eu-cookie-compliance-message p,.eu-cookie-compliance-message button,.eu-cookie-compliance-category label{color:#fff;}.eu-cookie-compliance-message h1{font-size:24px;}.eu-cookie-compliance-message h2{font-size:16px;}.eu-cookie-compliance-message h3{font-size:12px;}.eu-cookie-compliance-message p{font-size:12px;display:inline;}.eu-cookie-withdraw-tab{padding:4px 7px;cursor:pointer;}.sliding-popup-bottom .eu-cookie-withdraw-tab{border-width:2px 2px 0;border-radius:5px 5px 0 0;}.sliding-popup-top .eu-cookie-withdraw-tab{border-width:0 2px 2px;border-radius:0 0 5px 5px;}.eu-cookie-withdraw-wrapper.sliding-popup-top,.eu-cookie-withdraw-wrapper.sliding-popup-top .eu-cookie-withdraw-banner{transform:scaleY(-1);}.eu-cookie-withdraw-tab{position:absolute;top:0;transform:translate(-50%,-100%);left:50%;}.eu-cookie-withdraw-wrapper.sliding-popup-top .eu-cookie-withdraw-tab{transform:translate(-50%,-100%) scaleY(-1);}.eu-cookie-compliance-close-button{background:url(/modules/contrib/eu_cookie_compliance/images/close.png);width:24px;height:24px;border-width:0;font-size:0;position:absolute;right:2px;top:-12px;cursor:pointer;}body:not(.eu-cookie-compliance-popup-open) .eu-cookie-compliance-close-button{display:none;}@media screen and (max-width:600px){.eu-cookie-compliance-content{max-width:95%;}.eu-cookie-compliance-categories,.eu-cookie-compliance-message{max-width:100%;}.eu-cookie-compliance-buttons{clear:both;float:none;max-width:100%;margin:5px 0 1em;}.eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories{float:right;}.eu-cookie-compliance-banner--categories .eu-cookie-compliance-buttons{position:initial;bottom:unset;right:unset;}}
.authentication-links-block{display:flex;align-items:center;gap:1rem;padding:0.5rem 1rem;background-color:transparent;border-radius:0;}.auth-links-container{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;justify-content:flex-end;}.auth-welcome-text{font-size:0.875rem;color:#333;white-space:nowrap;margin-right:0.5rem;}.auth-link{font-size:0.875rem;text-decoration:none;transition:all 0.2s ease-in-out;display:inline-block;padding:0.375rem 0.75rem;border-radius:0.25rem;}.auth-login-link{color:#0d6efd;}.auth-login-link:hover{color:#0b5ed7;text-decoration:underline;}.auth-register-link{color:#198754;font-weight:500;}.auth-register-link:hover{color:#157347;text-decoration:underline;}.auth-profile-link{color:#0d6efd;}.auth-profile-link:hover{color:#0b5ed7;text-decoration:underline;}.auth-settings-link{color:#0d6efd;}.auth-settings-link:hover{color:#0b5ed7;text-decoration:underline;}.auth-logout-link{color:#fff;background-color:#dc3545;padding:0.375rem 0.75rem;border-radius:0.25rem;}.auth-logout-link:hover{background-color:#bb2d3b;color:#fff;text-decoration:none;}.auth-link.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.375rem 0.75rem;font-size:0.875rem;font-weight:500;border-radius:0.25rem;border:1px solid transparent;cursor:pointer;text-decoration:none;vertical-align:middle;transition:all 0.2s ease-in-out;}.auth-link.btn-outline-primary{color:#0d6efd;border-color:#0d6efd;background-color:transparent;}.auth-link.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd;text-decoration:none;}.auth-link.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd;}.auth-link.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;text-decoration:none;}.auth-link.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;}.auth-link.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02622;text-decoration:none;}@media (max-width:768px){.authentication-links-block{padding:0.5rem;gap:0.5rem;}.auth-links-container{gap:0.5rem;}.auth-welcome-text{display:none;}.auth-link{padding:0.25rem 0.5rem;font-size:0.75rem;}}@media (prefers-color-scheme:dark){.authentication-links-block{background-color:transparent;}.auth-welcome-text{color:#f0f0f0;}.auth-login-link,.auth-profile-link,.auth-settings-link{color:#66b3ff;}.auth-login-link:hover,.auth-profile-link:hover,.auth-settings-link:hover{color:#99ccff;}.auth-register-link{color:#66ff99;}.auth-register-link:hover{color:#99ff99;}}
:root{--rt-color-base:#4CAF50;--rt-color-build:#FF9800;--rt-color-peak:#F44336;--rt-color-taper:#9C27B0;--rt-color-race:#FFD700;--rt-color-recovery:#2196F3;--rt-color-maintenance:#607D8B;--rt-color-injury:#795548;--rt-color-custom:#9E9E9E;--rt-text-primary:#212121;--rt-text-secondary:#757575;--rt-border-color:#BDBDBD;--rt-bg-light:#FAFAFA;--rt-spacing:1rem;}article[data-drupal-entity-type="training_season"]{padding:var(--rt-spacing);border:1px solid var(--rt-border-color);border-radius:4px;background-color:var(--rt-bg-light);}.season-info{margin-bottom:2rem;}.season-year{color:var(--rt-text-secondary);font-size:0.9rem;margin:0.5rem 0 0 0;}.season-goals{margin:2rem 0;padding:1rem;border-left:4px solid var(--rt-color-base);background-color:rgba(76,175,80,0.05);}.season-goals h2{margin-top:0;color:var(--rt-text-primary);}.season-timeline{margin:2rem 0;}.date-range{display:flex;gap:2rem;flex-wrap:wrap;}.start-date,.end-date{display:flex;flex-direction:column;}.start-date::before{content:"Start";font-weight:bold;font-size:0.85rem;color:var(--rt-text-secondary);}.end-date::before{content:"End";font-weight:bold;font-size:0.85rem;color:var(--rt-text-secondary);}.season-races{margin:2rem 0;}.a-races,.b-races,.c-races{margin:1.5rem 0;padding:1rem;border-radius:4px;background-color:var(--rt-bg-light);}.a-races{border-left:4px solid var(--rt-color-peak);}.a-races h3{color:var(--rt-color-peak);}.b-races{border-left:4px solid var(--rt-color-build);}.b-races h3{color:var(--rt-color-build);}.c-races{border-left:4px solid var(--rt-color-recovery);}.c-races h3{color:var(--rt-color-recovery);}.season-status{margin-top:1.5rem;padding:1rem;background-color:#E8F5E9;border-radius:4px;}article[data-drupal-entity-type="training_phase"]{padding:var(--rt-spacing);border:1px solid var(--rt-border-color);border-radius:4px;background-color:var(--rt-bg-light);}.phase-color-indicator{display:inline-block;width:20px;height:20px;border-radius:50%;margin-right:1rem;vertical-align:middle;border:2px solid var(--rt-border-color);}.phase-type{color:var(--rt-text-secondary);font-size:0.95rem;font-weight:500;margin:0.5rem 0 0 0;text-transform:capitalize;}.phase-season{margin:1.5rem 0;padding:1rem;background-color:#FFF;border-left:4px solid var(--rt-color-base);border-radius:4px;}.phase-timeline{margin:2rem 0;padding:1rem;background-color:#F0F4C3;border-radius:4px;}.timeline-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;}.timeline-details > div{display:flex;flex-direction:column;gap:0.25rem;}.timeline-details strong{color:var(--rt-text-primary);font-weight:600;}.phase-training{margin:2rem 0;padding:1rem;background-color:#E3F2FD;border-radius:4px;}.focus,.weekly-volume,.intensity-distribution{margin-bottom:1.5rem;}.focus h3,.weekly-volume h3,.intensity-distribution h3{margin-top:0;color:var(--rt-text-primary);font-size:1rem;}.phase-description{margin:2rem 0;padding:1rem;background-color:#F5F5F5;border-radius:4px;line-height:1.6;}.phase-pattern{margin:1.5rem 0;padding:1rem;background-color:#E0E0E0;border-radius:4px;font-family:monospace;font-weight:600;}article[data-drupal-entity-type="training_race"]{padding:var(--rt-spacing);border:1px solid var(--rt-border-color);border-radius:4px;background-color:var(--rt-bg-light);}.race-type{color:var(--rt-text-secondary);font-size:0.95rem;margin:0.5rem 0 0 0;text-transform:capitalize;}.race-priority{display:inline-block;padding:0.25rem 0.75rem;border-radius:20px;font-size:0.85rem;font-weight:600;margin-left:1rem;}.race-priority.priority-a{background-color:var(--rt-color-peak);color:white;}.race-priority.priority-b{background-color:var(--rt-color-build);color:white;}.race-priority.priority-c{background-color:var(--rt-color-recovery);color:white;}.race-date{margin:1.5rem 0;padding:1rem;background-color:#FFE0B2;border-left:4px solid var(--rt-color-race);border-radius:4px;}.race-details{margin:1.5rem 0;padding:1rem;background-color:#E1F5FE;border-radius:4px;}.distance,.location{margin-bottom:0.75rem;}.distance::before{content:"📍 ";margin-right:0.5rem;}.location::before{content:"🗺️ ";margin-right:0.5rem;}.race-times{margin:1.5rem 0;padding:1rem;background-color:#F3E5F5;border-radius:4px;}.goal-time,.actual-time{margin-bottom:0.75rem;display:flex;justify-content:space-between;padding:0.5rem 0;}.goal-time strong::after{content:"🎯";margin-left:0.5rem;}.actual-time strong::after{content:"✓";margin-left:0.5rem;}.race-status{margin:1.5rem 0;padding:1rem;background-color:#E8F5E9;border-radius:4px;}.race-registration{margin:1.5rem 0;padding:1rem;background-color:#F1F8E9;border-radius:4px;}.race-notes{margin:1.5rem 0;padding:1rem;background-color:#FFF9C4;border-left:4px solid #FBC02D;border-radius:4px;line-height:1.6;}fieldset.form-composite{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--rt-border-color);border-radius:4px;background-color:var(--rt-bg-light);}fieldset.form-composite > legend{background-color:var(--rt-bg-light);padding:0 0.5rem;font-weight:600;font-size:1.05rem;color:var(--rt-text-primary);}.season-timeline-chart{margin:2rem 0;position:relative;min-height:300px;}.timeline-bars{position:relative;padding:2rem 0;}.phase-bar{display:flex;align-items:center;margin-bottom:1.5rem;gap:1rem;}.phase-color-box{width:20px;height:20px;border-radius:4px;border:1px solid var(--rt-border-color);flex-shrink:0;}.phase-label{font-weight:500;color:var(--rt-text-primary);min-width:150px;}.phase-progress-bar{flex-grow:1;height:24px;background-color:white;border:1px solid var(--rt-border-color);border-radius:4px;overflow:hidden;position:relative;}.phase-progress-fill{height:100%;display:flex;align-items:center;justify-content:center;color:white;font-size:0.75rem;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,0.2);}.phase-duration{min-width:80px;text-align:right;color:var(--rt-text-secondary);font-size:0.9rem;}@media (max-width:768px){.date-range{flex-direction:column;}.timeline-details{grid-template-columns:1fr;}.phase-bar{flex-wrap:wrap;}.phase-progress-bar{flex-basis:100%;}.phase-duration{min-width:auto;text-align:left;}.race-priority{margin-left:0;margin-top:0.5rem;}}.is-active{opacity:1;}.is-past{opacity:0.6;}.is-upcoming{opacity:1;}.has-error{color:#D32F2F;border-color:#D32F2F;}.is-loading{opacity:0.6;pointer-events:none;}@media print{.race-priority,.phase-color-indicator{border:2px solid #000;}article{page-break-inside:avoid;}fieldset{page-break-inside:avoid;}}
.timeline-scale[data-v-287d0226]{position:relative;width:100%;background:var(--bs-white);border-bottom:1px solid var(--bs-border-color)}.scale-svg[data-v-287d0226]{display:block;overflow:visible}.scale-line.primary[data-v-287d0226]{stroke:var(--bs-primary);stroke-width:2;opacity:.5}.scale-line.secondary[data-v-287d0226]{stroke:var(--bs-secondary);stroke-width:1;opacity:.2}.scale-label[data-v-287d0226]{font-size:12px;fill:var(--bs-primary);font-weight:600;-webkit-user-select:none;user-select:none}.year-label[data-v-287d0226]{font-size:14px;font-weight:600;fill:var(--bs-dark);-webkit-user-select:none;user-select:none}.season-phase-month-label[data-v-287d0226]{font-size:12px;fill:var(--bs-primary);font-weight:500;-webkit-user-select:none;user-select:none}.month-label[data-v-287d0226]{font-size:14px;font-weight:600;fill:var(--bs-dark);-webkit-user-select:none;user-select:none}.day-date-label[data-v-287d0226]{font-size:16px;font-weight:700;fill:var(--bs-dark);-webkit-user-select:none;user-select:none}.week-separator[data-v-287d0226]{stroke:var(--bs-primary);stroke-width:2;opacity:.5}.week-label[data-v-287d0226]{fill:var(--bs-primary);font-weight:600;font-size:14px;-webkit-user-select:none;user-select:none}.day-separator[data-v-287d0226]{stroke:var(--bs-secondary);stroke-width:1;opacity:.2}.day-label[data-v-287d0226]{fill:var(--bs-dark);font-weight:500;font-size:13px;-webkit-user-select:none;user-select:none}.weekday-label[data-v-287d0226]{fill:var(--bs-secondary);font-size:11px;-webkit-user-select:none;user-select:none}.hour-separator[data-v-287d0226]{stroke:var(--bs-gray-300);stroke-width:1;opacity:.03}.hour-label[data-v-287d0226]{fill:var(--bs-secondary);font-size:10px;-webkit-user-select:none;user-select:none}.timeline-header[data-v-f8eac150]{display:flex;flex-direction:column;background:var(--bs-light);border-bottom:1px solid var(--bs-border-color)}.header-controls[data-v-f8eac150]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:1rem}.divider[data-v-f8eac150]{width:1px;height:24px;background:var(--bs-border-color);margin:0 .25rem}.zoom-level-badge[data-v-f8eac150]{padding:.25rem .75rem;background:var(--bs-primary);color:#fff;border-radius:.25rem;font-size:.875rem;font-weight:500}.zoom-shortcuts[data-v-f8eac150]{display:flex;gap:.25rem}.zoom-shortcuts .btn[data-v-f8eac150]{min-width:60px}.phase-view[data-v-558f9462]{position:relative;width:100%;height:100%}.empty-state[data-v-558f9462]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;padding:2rem}.empty-state .empty-icon[data-v-558f9462]{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h4[data-v-558f9462]{margin-bottom:.5rem;color:var(--bs-secondary)}.empty-state p[data-v-558f9462]{margin-bottom:1.5rem}.phases-timeline[data-v-558f9462]{position:relative;width:100%;padding:1rem}.phase-controls[data-v-558f9462]{display:flex;justify-content:flex-end;margin-bottom:1rem}.timeline-svg[data-v-558f9462]{display:block;overflow:visible}.season-bg[data-v-558f9462]{fill:var(--bs-light);opacity:.3}.phase-bar[data-v-558f9462]{cursor:pointer;transition:opacity .2s,stroke-width .2s;stroke:#fff;stroke-width:2;opacity:.9}.phase-bar[data-v-558f9462]:hover{opacity:1;stroke-width:4}.phase-bar.phase-base[data-v-558f9462]{fill:var(--bs-primary)}.phase-bar.phase-build[data-v-558f9462]{fill:var(--bs-info)}.phase-bar.phase-peak[data-v-558f9462]{fill:var(--bs-success)}.phase-bar.phase-taper[data-v-558f9462]{fill:var(--bs-warning)}.phase-bar.phase-race[data-v-558f9462]{fill:var(--bs-danger)}.phase-label[data-v-558f9462]{fill:#fff;font-weight:600;font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none}.phase-duration[data-v-558f9462]{fill:var(--bs-secondary);font-size:12px;pointer-events:none;-webkit-user-select:none;user-select:none}.month-view[data-v-865e6ac9]{position:relative;width:100%;height:100%}.timeline-svg[data-v-865e6ac9]{display:block;overflow:visible}.month-bg[data-v-865e6ac9]{fill:#fff}.phase-bg-bar[data-v-865e6ac9]{opacity:.15;cursor:pointer}.phase-bg-bar.phase-base[data-v-865e6ac9]{fill:var(--bs-primary)}.phase-bg-bar.phase-build[data-v-865e6ac9]{fill:var(--bs-info)}.phase-bg-bar.phase-peak[data-v-865e6ac9]{fill:var(--bs-success)}.phase-bg-bar.phase-taper[data-v-865e6ac9]{fill:var(--bs-warning)}.phase-bg-bar.phase-race[data-v-865e6ac9]{fill:var(--bs-danger)}.phase-name-label[data-v-865e6ac9]{font-weight:600;font-size:14px;-webkit-user-select:none;user-select:none;cursor:pointer;opacity:.8}.phase-name-label.phase-base[data-v-865e6ac9]{fill:var(--bs-primary)}.phase-name-label.phase-build[data-v-865e6ac9]{fill:var(--bs-info)}.phase-name-label.phase-peak[data-v-865e6ac9]{fill:var(--bs-success)}.phase-name-label.phase-taper[data-v-865e6ac9]{fill:var(--bs-warning)}.phase-name-label.phase-race[data-v-865e6ac9]{fill:var(--bs-danger)}.workout-card[data-v-d3c6416d]{display:flex;align-items:flex-start;gap:.75rem;background:white;border:1px solid var(--bs-gray-300);border-radius:.375rem;padding:.75rem;cursor:pointer;transition:all .2s ease;position:relative}.workout-card[data-v-d3c6416d]:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px);border-color:var(--bs-primary)}.workout-card--completed[data-v-d3c6416d]{background:var(--bs-light);opacity:.85}.workout-card--dragging[data-v-d3c6416d]{opacity:.5;cursor:grabbing}.workout-card--easy_run[data-v-d3c6416d]{border-left:3px solid var(--bs-success)}.workout-card--long_run[data-v-d3c6416d]{border-left:3px solid var(--bs-info)}.workout-card--tempo[data-v-d3c6416d],.workout-card--threshold[data-v-d3c6416d]{border-left:3px solid var(--bs-warning)}.workout-card--VO2_max[data-v-d3c6416d],.workout-card--interval[data-v-d3c6416d]{border-left:3px solid var(--bs-danger)}.workout-card--recovery[data-v-d3c6416d]{border-left:3px solid var(--bs-secondary)}.workout-card--strength[data-v-d3c6416d],.workout-card--cross_training[data-v-d3c6416d]{border-left:3px solid var(--bs-dark)}.workout-card__icon[data-v-d3c6416d]{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--bs-light);border-radius:.25rem;font-size:1.125rem;color:var(--bs-primary)}.workout-card__content[data-v-d3c6416d]{flex:1;min-width:0}.workout-card__name[data-v-d3c6416d]{font-weight:600;font-size:.875rem;line-height:1.2;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-card__detail[data-v-d3c6416d]{font-size:.75rem;color:var(--bs-gray-600);display:flex;align-items:center;gap:.25rem;margin-top:.125rem}.workout-card__detail i[data-v-d3c6416d]{font-size:.625rem;opacity:.7}.workout-card__load[data-v-d3c6416d]{display:flex;gap:3px;margin-top:.5rem}.workout-card__load .load-dot[data-v-d3c6416d]{width:8px;height:8px;border-radius:50%;background:var(--bs-gray-300);transition:background-color .2s}.workout-card__load .load-dot.active[data-v-d3c6416d]{background:var(--bs-primary)}.workout-card__completed-badge[data-v-d3c6416d]{position:absolute;top:.5rem;right:.5rem;color:var(--bs-success);font-size:1.25rem;line-height:1}.workout-card--compact[data-v-d3c6416d]{padding:.5rem;gap:.5rem}.workout-card--compact .workout-card__icon[data-v-d3c6416d]{width:1.5rem;height:1.5rem;font-size:.875rem}.workout-card--compact .workout-card__name[data-v-d3c6416d]{font-size:.75rem}.workout-card--compact .workout-card__detail[data-v-d3c6416d]{font-size:.625rem}.workout-card--compact .workout-card__load[data-v-d3c6416d]{margin-top:.25rem}.workout-card--compact .workout-card__load .load-dot[data-v-d3c6416d]{width:6px;height:6px}.week-view[data-v-d7918a8d]{position:relative;width:100%;height:100%;overflow:hidden}.week-view__svg[data-v-d7918a8d]{display:block;position:absolute;top:0;left:0}.week-bg[data-v-d7918a8d]{fill:var(--bs-white)}.phase-bg-bar[data-v-d7918a8d]{opacity:.2}.phase-bg-bar.phase-base[data-v-d7918a8d]{fill:var(--bs-primary)}.phase-bg-bar.phase-build[data-v-d7918a8d]{fill:var(--bs-info)}.phase-bg-bar.phase-peak[data-v-d7918a8d]{fill:var(--bs-success)}.phase-bg-bar.phase-taper[data-v-d7918a8d]{fill:var(--bs-warning)}.phase-bg-bar.phase-race[data-v-d7918a8d]{fill:var(--bs-danger)}.phase-label[data-v-d7918a8d]{font-size:.75rem;font-weight:600;fill:var(--bs-gray-700);-webkit-user-select:none;user-select:none}.day-grid-line[data-v-d7918a8d]{stroke:var(--bs-gray-300);stroke-width:1}.day-grid-line--major[data-v-d7918a8d]{stroke:var(--bs-gray-400);stroke-width:1.5}.today-line[data-v-d7918a8d]{stroke:var(--bs-danger);stroke-width:2;stroke-dasharray:4 4;opacity:.7}.week-view__days[data-v-d7918a8d]{position:absolute;left:0;right:0;bottom:0}.day-column[data-v-d7918a8d]{position:absolute;top:0;bottom:0;border-right:1px solid var(--bs-gray-200);padding:0 .5rem;overflow-y:auto;overflow-x:hidden}.day-column[data-v-d7918a8d]:last-child{border-right:none}.day-column--today[data-v-d7918a8d]{background:rgba(var(--bs-primary-rgb),.03)}.day-column--weekend[data-v-d7918a8d]{background:rgba(0,0,0,.02)}.day-column--today.day-column--weekend[data-v-d7918a8d]{background:rgba(var(--bs-primary-rgb),.05)}.day-column__workouts[data-v-d7918a8d]{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0 1rem}.rest-label[data-v-d7918a8d]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 0;color:var(--bs-gray-400);font-style:italic;font-size:.875rem}.rest-label i[data-v-d7918a8d]{font-size:1.5rem}@media (max-width:768px){.day-column[data-v-d7918a8d]{padding:0 .25rem}.day-column__workouts[data-v-d7918a8d]{gap:.5rem}}.day-view[data-v-1e207a56]{width:100%;height:100%;overflow-y:auto;background:var(--bs-gray-100)}.day-view__content[data-v-1e207a56]{padding:2rem}.empty-state[data-v-1e207a56]{text-align:center;padding:4rem 2rem;color:var(--bs-gray-500)}.empty-state i[data-v-1e207a56]{font-size:4rem;margin-bottom:1rem;display:block}.empty-state h4[data-v-1e207a56]{font-size:1.25rem;margin-bottom:.5rem}.empty-state p[data-v-1e207a56]{margin:0;font-size:.875rem}.workouts-list[data-v-1e207a56]{display:flex;flex-direction:column;gap:1.5rem}.workout-detail-card[data-v-1e207a56]{background:white;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.workout-header[data-v-1e207a56]{padding:1.5rem;border-bottom:1px solid var(--bs-gray-200)}.workout-header__title[data-v-1e207a56]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.workout-header__title i[data-v-1e207a56]{font-size:1.5rem;color:var(--bs-primary)}.workout-header__title h4[data-v-1e207a56]{margin:0;font-size:1.5rem;font-weight:700}.workout-header__meta[data-v-1e207a56]{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem;color:var(--bs-gray-600)}.workout-header__meta span[data-v-1e207a56]{display:flex;align-items:center;gap:.375rem}.workout-header__meta span i[data-v-1e207a56]{font-size:.75rem;opacity:.7}.workout-description[data-v-1e207a56]{padding:1rem 1.5rem;background:var(--bs-light);color:var(--bs-gray-700);font-size:.875rem;line-height:1.6;border-bottom:1px solid var(--bs-gray-200)}.workout-structure[data-v-1e207a56]{padding:1.5rem;border-bottom:1px solid var(--bs-gray-200)}.section-title[data-v-1e207a56]{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--bs-gray-600);margin-bottom:1rem}.structure-placeholder[data-v-1e207a56]{display:flex;flex-direction:column;gap:1rem}.workout-step[data-v-1e207a56]{display:flex;gap:1rem;padding:1rem;background:var(--bs-light);border-radius:.375rem;border-left:3px solid var(--bs-primary)}.step-icon[data-v-1e207a56]{font-size:1.5rem;line-height:1}.step-content[data-v-1e207a56]{flex:1}.step-title[data-v-1e207a56]{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.step-detail[data-v-1e207a56]{font-size:.75rem;color:var(--bs-gray-600)}.workout-targets[data-v-1e207a56]{padding:1.5rem;border-bottom:1px solid var(--bs-gray-200)}.targets-grid[data-v-1e207a56]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.target-item[data-v-1e207a56]{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bs-light);border-radius:.375rem;text-align:center}.target-item i[data-v-1e207a56]{font-size:1.5rem;color:var(--bs-primary);margin-bottom:.5rem}.target-label[data-v-1e207a56]{font-size:.75rem;color:var(--bs-gray-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.target-value[data-v-1e207a56]{font-weight:700;font-size:1rem;color:var(--bs-gray-900)}.load-dots[data-v-1e207a56]{display:flex;gap:3px;justify-content:center}.load-dots .dot[data-v-1e207a56]{width:10px;height:10px;border-radius:50%;background:var(--bs-gray-300)}.load-dots .dot.active[data-v-1e207a56]{background:var(--bs-primary)}.workout-status[data-v-1e207a56]{padding:1rem 1.5rem;border-bottom:1px solid var(--bs-gray-200)}.status-badge[data-v-1e207a56]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600}.status-badge--completed[data-v-1e207a56]{background:rgba(var(--bs-success-rgb),.1);color:var(--bs-success)}.status-badge--planned[data-v-1e207a56]{background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}.workout-actions[data-v-1e207a56]{padding:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.workout-actions .btn[data-v-1e207a56]{display:flex;align-items:center;gap:.5rem}.workout-actions .btn i[data-v-1e207a56]{font-size:.875rem}@media (max-width:768px){.day-view[data-v-1e207a56]{padding:1rem}.workout-header__title h4[data-v-1e207a56]{font-size:1.25rem}.targets-grid[data-v-1e207a56]{grid-template-columns:1fr 1fr}.workout-actions[data-v-1e207a56]{flex-direction:column}.workout-actions .btn[data-v-1e207a56]{width:100%;justify-content:center}}.today-line[data-v-d92694a1]{position:absolute;top:0;bottom:0;width:2px;background:var(--bs-danger);pointer-events:none;z-index:100}.today-line[data-v-d92694a1]:before{content:"";position:absolute;top:0;left:-4px;width:10px;height:10px;background:var(--bs-danger);border-radius:50%}.today-block[data-v-d92694a1]{position:absolute;top:0;bottom:0;background-color:var(--bs-danger);opacity:.2;pointer-events:none;z-index:50;border-left:3px solid var(--bs-danger);border-right:3px solid var(--bs-danger)}.today-label[data-v-d92694a1]{position:absolute;top:15px;left:5px;padding:2px 6px;background:var(--bs-danger);color:#fff;font-size:11px;font-weight:600;border-radius:3px;white-space:nowrap;opacity:1}.timeline-container[data-v-4bec813a]{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bs-body-bg);-webkit-user-select:none;user-select:none}.timeline-container[data-v-4bec813a]:active{cursor:grabbing}.timeline-content[data-v-4bec813a]{position:relative;width:100%;height:calc(100% - 60px);overflow:hidden}.season-background[data-v-4bec813a]{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.season-bg-rect[data-v-4bec813a]{fill:rgba(var(--bs-success-rgb),.12);stroke:var(--bs-success);stroke-width:3;stroke-dasharray:8,4}.workout-library[data-v-947680f2]{display:flex;flex-direction:column;gap:16px;padding:16px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.library-header[data-v-947680f2]{display:flex;justify-content:space-between;align-items:center;gap:12px}.library-header h3[data-v-947680f2]{margin:0;font-size:14px;font-weight:600;color:#333}.library-header .btn-add-workout[data-v-947680f2]{padding:6px 12px;background:#4CAF50;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.library-header .btn-add-workout[data-v-947680f2]:hover{background:#45a049;transform:translateY(-1px)}.library-header .btn-add-workout[data-v-947680f2]:active{transform:translateY(0)}.library-search[data-v-947680f2]{display:flex}.library-search .search-input[data-v-947680f2]{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px}.library-search .search-input[data-v-947680f2]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.workouts-grid[data-v-947680f2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:400px;overflow-y:auto}.workout-card[data-v-947680f2]{padding:10px;background:white;border:1px solid #ddd;border-radius:6px;cursor:move;transition:all .2s;display:flex;flex-direction:column;gap:8px}.workout-card[data-v-947680f2]:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf5026;transform:translateY(-2px)}.workout-card.is-dragging[data-v-947680f2]{opacity:.5;transform:scale(.95)}.workout-card .card-header[data-v-947680f2]{display:flex;flex-direction:column;gap:4px}.workout-card .workout-name[data-v-947680f2]{font-weight:600;font-size:12px;color:#333}.workout-card .workout-type-badge[data-v-947680f2]{font-size:10px;background:#e0e0e0;color:#333;padding:2px 6px;border-radius:3px;width:fit-content;text-transform:uppercase;letter-spacing:.5px}.workout-card .card-details[data-v-947680f2]{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#666}.workout-card .card-details .detail[data-v-947680f2]{display:flex;align-items:center;gap:4px}.workout-card .card-details .intensity[data-v-947680f2]{color:#ff9800;font-weight:500}.workout-card .card-footer[data-v-947680f2]{display:flex;justify-content:center;padding-top:4px;border-top:1px solid #f0f0f0}.workout-card .hint[data-v-947680f2]{font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.5px}.empty-state[data-v-947680f2]{grid-column:1/-1;text-align:center;padding:20px;color:#999}.empty-state p[data-v-947680f2]{margin:4px 0;font-size:12px}.empty-state .hint[data-v-947680f2]{font-size:11px}.app-sidebar[data-v-bc0ba9e2]{width:320px;background:white;border-left:1px solid #e0e0e0;display:flex;flex-direction:column;overflow-y:auto}.app-sidebar .sidebar-header[data-v-bc0ba9e2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#f9f9f9}.app-sidebar .sidebar-header h3[data-v-bc0ba9e2]{margin:0;font-size:14px;font-weight:600}.app-sidebar .sidebar-header .close-btn[data-v-bc0ba9e2]{background:none;border:none;font-size:16px;cursor:pointer;color:#999;padding:0;width:24px;height:24px}.app-sidebar .sidebar-header .close-btn[data-v-bc0ba9e2]:hover{color:#333}.app-sidebar .sidebar-content[data-v-bc0ba9e2]{flex:1;padding:12px;overflow-y:auto}.app-sidebar .section[data-v-bc0ba9e2]{margin-bottom:20px}.app-sidebar .section h4[data-v-bc0ba9e2]{margin:0 0 12px;font-size:13px;font-weight:600;color:#333}.app-sidebar .section .info-row[data-v-bc0ba9e2]{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid #f0f0f0}.app-sidebar .section .info-row .label[data-v-bc0ba9e2]{color:#999;font-weight:500}.app-sidebar .section .info-row .value[data-v-bc0ba9e2]{color:#333;font-weight:500}.app-sidebar .section .info-row .priority-badge[data-v-bc0ba9e2]{padding:2px 8px;border-radius:3px;font-size:11px;color:#fff}.app-sidebar .section .info-row .priority-badge.goal[data-v-bc0ba9e2]{background:#FFD700;color:#333}.app-sidebar .section .info-row .priority-badge.A[data-v-bc0ba9e2]{background:#FF9800}.app-sidebar .section .info-row .priority-badge.B[data-v-bc0ba9e2]{background:#2196F3}.app-sidebar .section .info-row .priority-badge.C[data-v-bc0ba9e2]{background:#999}.app-sidebar .section .action-buttons[data-v-bc0ba9e2]{display:flex;flex-direction:column;gap:6px;margin-top:12px}.app-sidebar .section .action-buttons .btn[data-v-bc0ba9e2]{padding:8px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;font-weight:500}.app-sidebar .section .action-buttons .btn.btn-primary[data-v-bc0ba9e2]{background:#4CAF50;color:#fff}.app-sidebar .section .action-buttons .btn.btn-primary[data-v-bc0ba9e2]:hover{background:#45a049}.app-sidebar .section .action-buttons .btn.btn-success[data-v-bc0ba9e2]{background:#4CAF50;color:#fff}.app-sidebar .section .action-buttons .btn.btn-success[data-v-bc0ba9e2]:hover{background:#45a049}.app-sidebar .section .action-buttons .btn.btn-danger[data-v-bc0ba9e2]{background:#f44336;color:#fff}.app-sidebar .section .action-buttons .btn.btn-danger[data-v-bc0ba9e2]:hover{background:#da190b}@media (max-width:1024px){.app-sidebar[data-v-bc0ba9e2]{position:fixed;right:0;top:0;height:100vh;z-index:900;box-shadow:-2px 0 8px #0000001a}}.modal-overlay[data-v-81baff52]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-81baff52 .2s ease-out;pointer-events:auto}.modal-dialog[data-v-81baff52]{background:white;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp-81baff52 .3s ease-out;pointer-events:auto}.modal-header[data-v-81baff52]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2[data-v-81baff52]{margin:0;font-size:18px;color:#333}.modal-header .close-btn[data-v-81baff52]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;transition:color .2s}.modal-header .close-btn[data-v-81baff52]:hover{color:#333}.modal-body[data-v-81baff52]{padding:20px}form[data-v-81baff52]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-81baff52]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-81baff52]{font-weight:600;font-size:12px;color:#333;text-transform:uppercase;letter-spacing:.5px}.form-group input[data-v-81baff52],.form-group select[data-v-81baff52]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;transition:all .2s}.form-group input[data-v-81baff52]:focus,.form-group select[data-v-81baff52]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.form-group .color-picker[data-v-81baff52]{display:flex;align-items:center;gap:12px}.form-group .color-input[data-v-81baff52]{width:60px;height:40px;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;padding:2px}.form-group .color-value[data-v-81baff52]{font-size:12px;color:#666;font-family:monospace}.error-message[data-v-81baff52]{padding:12px;background:#ffebee;color:#c62828;border-radius:4px;font-size:12px;border-left:4px solid #c62828}.form-actions[data-v-81baff52]{display:flex;gap:12px;justify-content:flex-end;padding-top:12px;border-top:1px solid #e0e0e0}.btn[data-v-81baff52]{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-81baff52]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[data-v-81baff52]{background:#4CAF50;color:#fff}.btn.btn-primary[data-v-81baff52]:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn.btn-secondary[data-v-81baff52]{background:#f0f0f0;color:#333}.btn.btn-secondary[data-v-81baff52]:hover{background:#e0e0e0}@keyframes fadeIn-81baff52{0%{opacity:0}to{opacity:1}}@keyframes slideUp-81baff52{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay[data-v-d7e262b7]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-d7e262b7 .2s ease-out;pointer-events:auto}.modal-dialog[data-v-d7e262b7]{background:white;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp-d7e262b7 .3s ease-out;pointer-events:auto}.modal-header[data-v-d7e262b7]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2[data-v-d7e262b7]{margin:0;font-size:18px;color:#333}.modal-header .close-btn[data-v-d7e262b7]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;transition:color .2s}.modal-header .close-btn[data-v-d7e262b7]:hover{color:#333}.modal-body[data-v-d7e262b7]{padding:20px}form[data-v-d7e262b7]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-d7e262b7]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-d7e262b7]{font-weight:600;font-size:12px;color:#333;text-transform:uppercase;letter-spacing:.5px}.form-group input[data-v-d7e262b7],.form-group select[data-v-d7e262b7]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;transition:all .2s}.form-group input[data-v-d7e262b7]:focus,.form-group select[data-v-d7e262b7]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.error-message[data-v-d7e262b7]{padding:12px;background:#ffebee;color:#c62828;border-radius:4px;font-size:12px;border-left:4px solid #c62828}.form-actions[data-v-d7e262b7]{display:flex;gap:12px;justify-content:flex-end;padding-top:12px;border-top:1px solid #e0e0e0}.btn[data-v-d7e262b7]{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn[data-v-d7e262b7]:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary[data-v-d7e262b7]{background:#4CAF50;color:#fff}.btn.btn-primary[data-v-d7e262b7]:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn.btn-secondary[data-v-d7e262b7]{background:#f0f0f0;color:#333}.btn.btn-secondary[data-v-d7e262b7]:hover{background:#e0e0e0}@keyframes fadeIn-d7e262b7{0%{opacity:0}to{opacity:1}}@keyframes slideUp-d7e262b7{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-coach-panel[data-v-4831c4b9]{position:fixed;bottom:100px;right:30px;width:350px;height:500px;background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;z-index:998}.ai-coach-panel .panel-header[data-v-4831c4b9]{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#f9f9f9;border-radius:8px 8px 0 0}.ai-coach-panel .panel-header h3[data-v-4831c4b9]{margin:0;font-size:14px}.ai-coach-panel .panel-header .close-btn[data-v-4831c4b9]{background:none;border:none;font-size:16px;cursor:pointer;color:#999}.ai-coach-panel .panel-header .close-btn[data-v-4831c4b9]:hover{color:#333}.ai-coach-panel .panel-content[data-v-4831c4b9]{flex:1;display:flex;flex-direction:column}.ai-coach-panel .chat-messages[data-v-4831c4b9]{flex:1;overflow-y:auto;padding:12px}.ai-coach-panel .message.ai-message p[data-v-4831c4b9]{background:#f0f0f0;padding:8px 12px;border-radius:4px;margin:0;font-size:13px}.ai-coach-panel .suggestions[data-v-4831c4b9]{padding:8px 12px;border-top:1px solid #e0e0e0}.ai-coach-panel .suggestion-item[data-v-4831c4b9]{padding:8px;margin-bottom:6px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;cursor:pointer}.ai-coach-panel .suggestion-item[data-v-4831c4b9]:hover{background:#efefef}.ai-coach-panel .chat-input[data-v-4831c4b9]{display:flex;padding:12px;border-top:1px solid #e0e0e0;gap:8px}.ai-coach-panel .chat-input .input-field[data-v-4831c4b9]{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:12px}.ai-coach-panel .chat-input .input-field[data-v-4831c4b9]:focus{outline:none;border-color:#4caf50}.ai-coach-panel .chat-input .send-btn[data-v-4831c4b9]{background:#4CAF50;border:none;color:#fff;padding:8px 12px;border-radius:4px;cursor:pointer}.ai-coach-panel .chat-input .send-btn[data-v-4831c4b9]:hover{background:#45a049}.modal-overlay[data-v-65473b07]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.modal-overlay .modal-dialog[data-v-65473b07]{pointer-events:auto}.modal-dialog[data-v-65473b07]{background:white;border-radius:8px;box-shadow:0 8px 32px #0003;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header[data-v-65473b07]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0}.modal-header h2[data-v-65473b07]{margin:0;font-size:20px;color:#333}.modal-header .close-btn[data-v-65473b07]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-header .close-btn[data-v-65473b07]:hover{color:#333}.modal-body[data-v-65473b07]{padding:24px}.modal-body form[data-v-65473b07]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-65473b07]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-65473b07]{font-size:14px;font-weight:600;color:#333}.form-group input[data-v-65473b07],.form-group select[data-v-65473b07],.form-group textarea[data-v-65473b07]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.form-group input[data-v-65473b07]:focus,.form-group select[data-v-65473b07]:focus,.form-group textarea[data-v-65473b07]:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group textarea[data-v-65473b07]{resize:vertical;min-height:80px}.form-group .template-options[data-v-65473b07]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-group .template-options .template-option[data-v-65473b07]{background:white;border:2px solid #e0e0e0;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s;text-align:center}.form-group .template-options .template-option[data-v-65473b07]:hover{border-color:#4caf50}.form-group .template-options .template-option.active[data-v-65473b07]{background:#e8f5e9;border-color:#4caf50}.form-group .template-options .template-option .template-name[data-v-65473b07]{font-size:13px;font-weight:600;color:#333;margin-bottom:4px}.form-group .template-options .template-option .template-duration[data-v-65473b07]{font-size:12px;color:#999}.error-message[data-v-65473b07]{background:#ffebee;color:#c62828;padding:12px;border-radius:4px;font-size:13px}.form-actions[data-v-65473b07]{display:flex;gap:12px;margin-top:20px}.form-actions .btn[data-v-65473b07]{flex:1;padding:12px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.form-actions .btn.btn-primary[data-v-65473b07]{background:#4CAF50;color:#fff}.form-actions .btn.btn-primary[data-v-65473b07]:hover:not(:disabled){background:rgb(68.2788844622,157.2211155378,71.8725099602)}.form-actions .btn.btn-primary[data-v-65473b07]:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn.btn-outline[data-v-65473b07]{background:white;color:#333;border:1px solid #e0e0e0}.form-actions .btn.btn-outline[data-v-65473b07]:hover{background:#f5f5f5}@media (max-width:600px){.modal-dialog[data-v-65473b07]{max-width:100%}.form-group .template-options[data-v-65473b07]{grid-template-columns:1fr}}.training-dashboard[data-v-c3c10031]{min-height:100vh;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header[data-v-c3c10031]{background:white;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.dashboard-header .header-content[data-v-c3c10031]{max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;align-items:center}.dashboard-header .dashboard-title[data-v-c3c10031]{margin:0;font-size:28px;font-weight:600;color:#333}.dashboard-header .header-actions[data-v-c3c10031]{display:flex;gap:10px}.dashboard-header .header-actions .btn-icon[data-v-c3c10031]{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:4px}.dashboard-header .header-actions .btn-icon[data-v-c3c10031]:hover{background-color:#f5f5f5}.dashboard-main[data-v-c3c10031]{max-width:1200px;margin:0 auto;padding:40px 20px}.section-header[data-v-c3c10031]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2[data-v-c3c10031]{margin:0;font-size:20px;font-weight:600;color:#333}.section-header .link[data-v-c3c10031]{color:#4caf50;text-decoration:none;font-size:14px;font-weight:500}.section-header .link[data-v-c3c10031]:hover{text-decoration:underline}.active-season-section[data-v-c3c10031]{margin-bottom:60px}.active-season-section .season-card[data-v-c3c10031]{background:white;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.active-season-section .season-card .season-card-header[data-v-c3c10031]{background:linear-gradient(135deg,#4CAF50,rgb(60.5577689243,139.4422310757,63.7450199203));color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.active-season-section .season-card .season-card-header h3[data-v-c3c10031]{margin:0;font-size:22px;font-weight:600}.active-season-section .season-card .season-card-header .season-status[data-v-c3c10031]{padding:6px 12px;background:rgba(255,255,255,.3);border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.active-season-section .season-card .season-card-body[data-v-c3c10031]{padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.active-season-section .season-card .season-card-body .season-info[data-v-c3c10031]{display:flex;flex-direction:column;gap:16px}.active-season-section .season-card .season-card-body .season-info .info-item[data-v-c3c10031]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0}.active-season-section .season-card .season-card-body .season-info .info-item .label[data-v-c3c10031]{color:#666;font-weight:500;font-size:14px}.active-season-section .season-card .season-card-body .season-info .info-item .value[data-v-c3c10031]{color:#333;font-weight:600;font-size:14px}.active-season-section .season-card .season-card-body .season-metrics[data-v-c3c10031]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.active-season-section .season-card .season-card-body .season-metrics .metric[data-v-c3c10031]{text-align:center;padding:16px;background:#f5f5f5;border-radius:6px}.active-season-section .season-card .season-card-body .season-metrics .metric .metric-label[data-v-c3c10031]{font-size:12px;color:#666;text-transform:uppercase;margin-bottom:8px;font-weight:500}.active-season-section .season-card .season-card-body .season-metrics .metric .metric-value[data-v-c3c10031]{font-size:28px;font-weight:700;color:#4caf50}.active-season-section .season-card .season-actions[data-v-c3c10031]{display:flex;gap:12px;padding:20px 30px;border-top:1px solid #e0e0e0;background:#f5f5f5}.active-season-section .season-card .season-actions .btn[data-v-c3c10031]{flex:1;padding:12px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.active-season-section .season-card .season-actions .btn.btn-primary[data-v-c3c10031]{background:#4CAF50;color:#fff}.active-season-section .season-card .season-actions .btn.btn-primary[data-v-c3c10031]:hover{background:rgb(68.2788844622,157.2211155378,71.8725099602)}.active-season-section .season-card .season-actions .btn.btn-secondary[data-v-c3c10031]{background:#FF9800;color:#fff}.active-season-section .season-card .season-actions .btn.btn-secondary[data-v-c3c10031]:hover{background:rgb(229.5,136.8,0)}.active-season-section .season-card .season-actions .btn.btn-outline[data-v-c3c10031]{background:white;color:#333;border:1px solid #e0e0e0}.active-season-section .season-card .season-actions .btn.btn-outline[data-v-c3c10031]:hover{background:#f5f5f5}.no-season-section[data-v-c3c10031]{margin-bottom:60px}.no-season-section .empty-state[data-v-c3c10031]{background:white;border:2px dashed #e0e0e0;border-radius:8px;padding:60px 40px;text-align:center}.no-season-section .empty-state .empty-icon[data-v-c3c10031]{font-size:64px;margin-bottom:20px}.no-season-section .empty-state h2[data-v-c3c10031]{margin:0 0 10px;font-size:24px;color:#333}.no-season-section .empty-state p[data-v-c3c10031]{margin:0 0 40px;color:#666;font-size:16px}.no-season-section .empty-state .empty-actions[data-v-c3c10031]{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.no-season-section .empty-state .empty-actions .btn-large[data-v-c3c10031]{padding:14px 32px;font-size:16px}.quick-actions-section[data-v-c3c10031]{margin-bottom:60px}.quick-actions-section h2[data-v-c3c10031]{margin:0 0 20px;font-size:20px;font-weight:600;color:#333}.quick-actions-section .action-grid[data-v-c3c10031]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.quick-actions-section .action-grid .action-card[data-v-c3c10031]{background:white;border:1px solid #e0e0e0;border-radius:6px;padding:24px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.quick-actions-section .action-grid .action-card[data-v-c3c10031]:hover{border-color:#4caf50;box-shadow:0 4px 12px #4caf501a;transform:translateY(-2px)}.quick-actions-section .action-grid .action-card .action-icon[data-v-c3c10031]{font-size:32px}.quick-actions-section .action-grid .action-card .action-title[data-v-c3c10031]{font-size:16px;font-weight:600;color:#333;margin:0}.quick-actions-section .action-grid .action-card .action-desc[data-v-c3c10031]{font-size:12px;color:#666;margin:0}.recent-workouts-section[data-v-c3c10031]{margin-bottom:60px}.recent-workouts-section .workouts-list[data-v-c3c10031]{display:flex;flex-direction:column;gap:12px}.recent-workouts-section .workouts-list .workout-item[data-v-c3c10031]{background:white;border:1px solid #e0e0e0;border-radius:6px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s}.recent-workouts-section .workouts-list .workout-item[data-v-c3c10031]:hover{box-shadow:0 2px 8px #0000000d}.recent-workouts-section .workouts-list .workout-item .workout-icon[data-v-c3c10031]{font-size:24px}.recent-workouts-section .workouts-list .workout-item .workout-info[data-v-c3c10031]{flex:1}.recent-workouts-section .workouts-list .workout-item .workout-info .workout-name[data-v-c3c10031]{font-size:14px;font-weight:600;color:#333;margin-bottom:4px}.recent-workouts-section .workouts-list .workout-item .workout-info .workout-meta[data-v-c3c10031]{font-size:12px;color:#666}.recent-workouts-section .workouts-list .workout-item .workout-status .badge[data-v-c3c10031]{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600}.recent-workouts-section .workouts-list .workout-item .workout-status .badge.badge-completed[data-v-c3c10031]{background:#e8f5e9;color:#4caf50}.recent-workouts-section .workouts-list .workout-item .workout-status .badge.badge-pending[data-v-c3c10031]{background:#fff3e0;color:#ff9800}.error-banner[data-v-c3c10031]{position:fixed;bottom:0;left:0;right:0;background:#f44336;color:#fff;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;z-index:1000}.error-banner .error-close[data-v-c3c10031]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0}.error-banner .error-close[data-v-c3c10031]:hover{opacity:.8}.btn.btn-primary[data-v-c3c10031]{background:#4CAF50;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn.btn-primary[data-v-c3c10031]:hover{background:rgb(68.2788844622,157.2211155378,71.8725099602)}.btn.btn-secondary[data-v-c3c10031]{background:#FF9800;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn.btn-secondary[data-v-c3c10031]:hover{background:rgb(229.5,136.8,0)}@media (max-width:768px){.dashboard-header .header-content[data-v-c3c10031]{padding:16px}.dashboard-header .header-content .dashboard-title[data-v-c3c10031]{font-size:22px}.dashboard-main[data-v-c3c10031]{padding:20px}.active-season-section .season-card .season-card-body[data-v-c3c10031]{grid-template-columns:1fr;gap:20px}.active-season-section .season-card .season-card-body .season-metrics[data-v-c3c10031]{grid-template-columns:repeat(2,1fr)}.active-season-section .season-card .season-actions[data-v-c3c10031]{flex-direction:column}.quick-actions-section .action-grid[data-v-c3c10031]{grid-template-columns:repeat(2,1fr)}}.season-planner-app[data-v-8196ea93]{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.planner-header[data-v-8196ea93]{display:flex;align-items:center;justify-content:space-between;height:60px;background:white;border-bottom:1px solid #e0e0e0;padding:0 20px;box-shadow:0 2px 4px #0000000d;z-index:100}.planner-header .header-left[data-v-8196ea93]{flex:1;min-width:0;display:flex;align-items:center;gap:12px}.planner-header .back-btn[data-v-8196ea93]{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s;color:#666}.planner-header .back-btn[data-v-8196ea93]:hover{background-color:#f0f0f0;color:#333}.planner-header .planner-title[data-v-8196ea93]{margin:0;font-size:20px;font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planner-header .header-center[data-v-8196ea93]{display:flex;align-items:center;gap:10px;margin:0 20px}.planner-header .nav-button[data-v-8196ea93]{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.planner-header .nav-button[data-v-8196ea93]:hover{background-color:#f0f0f0}.planner-header .current-date[data-v-8196ea93]{min-width:150px;text-align:center;font-weight:500;color:#666}.planner-header .header-right[data-v-8196ea93]{display:flex;align-items:center;gap:15px;flex:0 0 auto}.planner-header .mode-toggle[data-v-8196ea93]{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#f0f0f0;border-radius:4px}.planner-header .mode-toggle .mode-label[data-v-8196ea93]{font-size:12px;font-weight:500;color:#666}.planner-header .mode-toggle .mode-button[data-v-8196ea93]{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 4px}.planner-header .mode-toggle .mode-button[data-v-8196ea93]:hover{transform:scale(1.1)}.planner-header .toggle-sidebar-btn[data-v-8196ea93]{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.planner-header .toggle-sidebar-btn[data-v-8196ea93]:hover{background-color:#f0f0f0}.planner-main[data-v-8196ea93]{display:flex;flex:1;overflow:hidden}.planner-main .timeline-wrapper[data-v-8196ea93]{flex:1;overflow:hidden;background:white;position:relative}.planner-main .placeholder[data-v-8196ea93]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:20px;color:#999}.planner-main .placeholder h2[data-v-8196ea93]{margin:0;font-size:24px;color:#666}.planner-main .placeholder p[data-v-8196ea93]{margin:0;color:#999}.planner-main .loading-state[data-v-8196ea93]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:20px}.planner-main .loading-state .spinner[data-v-8196ea93]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4CAF50;border-radius:50%;animation:spin-8196ea93 1s linear infinite}.planner-main .loading-state p[data-v-8196ea93]{color:#666;font-size:14px}.planner-sidebar[data-v-8196ea93]{width:320px;border-left:1px solid #e0e0e0;background:white;overflow-y:auto;box-shadow:-2px 0 4px #0000000d}.season-planner-app.sidebar-collapsed .planner-sidebar[data-v-8196ea93]{display:none}.ai-fab[data-v-8196ea93]{position:fixed;bottom:30px;right:30px;width:60px;height:60px;border-radius:50%;background:#4CAF50;border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 12px #00000026;z-index:999;transition:transform .2s,box-shadow .2s}.ai-fab[data-v-8196ea93]:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.ai-fab[data-v-8196ea93]:active{transform:scale(.95)}.error-banner[data-v-8196ea93]{position:fixed;bottom:0;left:0;right:0;background:#f44336;color:#fff;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;z-index:1000;animation:slideUp-8196ea93 .3s ease}.error-banner .error-close[data-v-8196ea93]{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0}.error-banner .error-close[data-v-8196ea93]:hover{opacity:.8}@keyframes spin-8196ea93{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp-8196ea93{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:1024px){.planner-sidebar[data-v-8196ea93]{width:280px}.header-center[data-v-8196ea93]{display:none}}@media (max-width:768px){.planner-header[data-v-8196ea93]{padding:0 10px;flex-wrap:wrap;height:auto;min-height:50px}.planner-title[data-v-8196ea93]{font-size:16px}.mode-toggle[data-v-8196ea93]{display:none}.planner-sidebar[data-v-8196ea93]{position:absolute;right:0;top:50px;width:100%;max-width:300px;height:calc(100vh - 50px);z-index:50;border-left:none;border-right:1px solid #e0e0e0}}
