:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}#root{text-align:left;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;gap:0;max-width:100%;min-height:100svh;margin:0 auto;display:flex}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-container{min-height:100svh}.navbar-center{text-align:center;flex:1}#configMessage{border-radius:10px;padding:6px 30px;font-size:13px;font-weight:500;transition:opacity .5s ease-in-out,visibility .5s ease-in-out;display:inline-block;box-shadow:0 2px 5px #0000001a}#configMessage.fade-out{animation:1s ease-out 5s forwards fadeOut}#configMessage.fade-in{animation:.5s ease-in forwards fadeIn}@keyframes fadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes fadeIn{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}#configMessage.success{color:#fff;background:#28a745e6;border:1px solid #fff3}#configMessage.info{color:#fff;background:#5d8867e6;border:1px solid #fff3}#configMessage.error{color:#fff;background:#dc3545e6;border:1px solid #fff3}*{box-sizing:border-box;margin:0;padding:0}body{background:#f5f5f5;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body.login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;display:flex}.login-container{background:#fff;border-radius:10px;width:500px;padding:40px;box-shadow:0 10px 25px #0003}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#333;margin-bottom:10px;font-size:32px}.login-header p{color:#666;font-size:14px}.strava-login{text-align:center;margin-top:20px}.strava-btn{color:#fff;cursor:pointer;background-color:#fc4c02;border:none;border-radius:5px;width:100%;padding:12px;font-size:16px;font-weight:600;text-decoration:none;transition:background-color .3s;display:inline-block}.strava-btn.disabled{pointer-events:none;opacity:.5;cursor:not-allowed;color:#666;background-color:#ccc;text-decoration:none}.strava-btn:hover{background-color:#e63e00}.disabled{pointer-events:none;opacity:.5;cursor:not-allowed;color:#666!important;background-color:#ccc!important}.message{border-radius:5px;margin-bottom:20px;padding:12px;display:none}.message.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.message.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.loading{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-loader{vertical-align:middle;border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}.navbar{color:#fff;z-index:100;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;height:50px;padding:15px 30px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0000001a}.navbar-left{align-items:center;gap:15px;display:flex}.navbar h1{margin:0;font-size:24px}.burger-menu{color:#fff;cursor:pointer;background:0 0;border:none;flex-direction:column;padding:5px;font-size:24px;line-height:1.1;display:flex}.navbar-actions{align-items:center;gap:15px;display:flex}.athlete-info{opacity:.9;font-size:14px}.logout-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:5px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .3s}.logout-btn:hover{background:#ffffff4d}.app-grid-container{grid-template-columns:1fr 440px;justify-content:end;max-width:none;margin-right:0;padding:10px;display:grid}.config-panel{background:#fff;border-radius:10px;padding:0 0 30px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.config-section{max-height:100%;margin-bottom:40px}.config-section>:not(.section-header){padding:0 5px}.weekly-activity-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:5px 0;display:grid}.weekly-activity-stat{border:1px solid;border-radius:12px;min-width:0;padding:12px}.weekly-activity-stat-training{background:#f3f7ff;border-color:#dfe9ff}.weekly-activity-stat-distance{background:#f3fff7;border-color:#d9f5e2}.weekly-activity-stat-duration{background:#fff8f0;border-color:#f8d9b4}.weekly-activity-stat-elevation{background:#fffdf0;border-color:#f2e8b2}.weekly-activity-label{color:#5a6b8d;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.weekly-activity-stat-distance .weekly-activity-label{color:#3d6d52}.weekly-activity-stat-duration .weekly-activity-label{color:#8a5a19}.weekly-activity-stat-elevation .weekly-activity-label{color:#78651b}.weekly-activity-value{text-align:center;white-space:nowrap;margin-top:4px;font-size:1.3rem;display:block}.weekly-activity-stat-training .weekly-activity-value{color:#1b2b4b}.weekly-activity-stat-distance .weekly-activity-value{color:#1a4d2d}.weekly-activity-stat-duration .weekly-activity-value{color:#734b12}.weekly-activity-stat-elevation .weekly-activity-value{color:#63520f}.form-group{margin-bottom:10px}label :not(.EZDrawer__overlay){color:#333;margin-top:6px;font-weight:500;display:block}input,textarea,select{color:#333;background-color:#fafafa;border:2px solid #e0e0e0;border-radius:5px;width:100%;padding:12px;font-family:inherit;font-size:14px;transition:border-color .3s,background-color .3s}input:focus,textarea:focus,select:focus{background-color:#fff;border-color:#667eea;outline:none}textarea{resize:vertical;min-height:100px}.days-container{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:8px;display:grid}.day-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #e0e0e0;border-radius:5px;align-items:center;gap:8px;padding:8px 12px;transition:all .3s;display:flex}.day-checkbox:hover{background-color:#f5f5f5;border-color:#667eea}.day-checkbox input[type=checkbox]{cursor:pointer;border:none;width:auto;margin:0;padding:0}.day-checkbox input[type=checkbox]:checked+label,.day-checkbox input[type=checkbox]:checked,.day-checkbox input[type=checkbox]:checked{accent-color:#667eea}.button-group{gap:10px;margin-top:30px;display:flex}.btn{box-sizing:border-box;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;font-weight:600;line-height:1.2;transition:all .3s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-primary:disabled{color:#888;cursor:not-allowed;opacity:.6;background:linear-gradient(135deg,#b0b8e8 0%,#b8a8c8 100%);transform:none}.btn-primary:disabled:hover{box-shadow:none;transform:none}.btn-secondary{color:#333;background:#e0e0e0}.btn-secondary:hover{background:#d0d0d0}.activities-list{margin-top:20px;overflow-y:auto}.content-main-panel{background:#fff;border-radius:10px;flex-direction:column;max-height:calc(100vh - 70px);margin-right:10px;display:flex;overflow:scroll;box-shadow:0 2px 10px #0000000d}.activity-item{background:#f9f9f9;border-left:4px solid #667eea;border-radius:5px;margin-bottom:10px;padding:12px}.highlight{background-color:#fff3e0;border-left-color:#f57c00}.section-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px 10px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;height:90px;margin-bottom:10px;padding:15px;display:flex}.section-header h2{color:#fff;border-bottom:none;margin:0;padding-bottom:0;font-weight:600}.section-header .week-carousel{margin:0 auto}.analysis-box{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;margin-top:15px;padding-left:3px}.analysis-title{color:#333;margin-bottom:10px;font-size:15px}.analysis-table{border-collapse:collapse;width:100%;font-size:13px}.analysis-row{border-bottom:1px solid #f0f0f0}.analysis-cell-zone{color:#333;padding:6px 8px;font-weight:700}.analysis-cell-plan{color:#555;padding:6px 8px}.analysis-cell-actual{color:#333;padding:6px 8px;font-weight:400}.analysis-cell-feedback{color:#666;padding:6px 8px;font-size:12px}.analysis-cell-bar{width:120px;padding:6px 8px}.bar-bg{background:#eee;border-radius:3px;width:100%;height:14px;overflow:hidden}.bar-fill-low{background:#e5b4b4;height:100%}.bar-fill-high{background:red;height:100%}.activity-item{cursor:pointer;border-bottom:1px solid #eee;padding:12px 0}.activity-item-title{color:#333;font-weight:600}.activity-item-meta{color:#666;margin-top:4px;font-size:13px}.activity-detail-container{min-height:400px;margin-top:12px;display:none}.activity-map{background:#e0e0e0;border-radius:6px;width:100%;height:350px}.activity-hr-container{margin-top:15px}#segmentMapOverall{display:none}#segmentMap{border:2px solid #e0e0e0;border-radius:5px;width:100%;height:400px;margin-top:15px}.map-info{color:#666;background:#f9f9f9;border-radius:5px;margin-top:10px;padding:12px;font-size:12px}.segment-info-container{grid-template-columns:1fr 1fr;gap:15px;margin-top:15px;display:grid}#elevationProfile{object-fit:contain;border:2px solid #e0e0e0;border-radius:5px;width:100%;max-width:50%;height:auto;max-height:100px}.elevation-profile-container{text-align:center}.elevation-profile-container img{object-fit:contain;border:2px solid #e0e0e0;border-radius:5px;width:100%;max-width:100%;height:auto;max-height:200px}.chatbot-sidebar{background:#fff;border-radius:10px;flex-direction:column;height:calc(100vh - 70px);display:flex;box-shadow:0 2px 10px #0000000d}.chatbot-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:10px 10px 0 0;align-items:center;height:90px;padding:15px;font-weight:600;display:flex}.chatbot-messages{scrollbar-width:thin;scrollbar-color:#00000080 transparent;flex-direction:column;flex:1;gap:10px;padding:10px;display:flex;overflow-y:scroll}#planList{scrollbar-width:thin;scrollbar-color:#00000080 transparent}.chat-message{word-wrap:break-word;white-space:pre-line;border-radius:8px;max-width:95%;padding:10px 12px;font-size:13px;line-height:1.1}.chat-message.user{color:#fff;text-align:right;background:#667eea;align-self:flex-end}.chat-message.bot{color:#333;text-align:left;background:#f0f0f0;align-self:flex-start}.chat-message-link{color:#667eea;cursor:pointer;margin-top:8px;font-weight:700;text-decoration:underline;display:inline-block}.chat-message.loading{color:#999;background:#f0f0f0}.chatbot-input{border-top:1px solid #e0e0e0;align-items:stretch;gap:8px;padding:8px 2px 8px 8px;display:flex}.chatbot-textarea{field-sizing:content;resize:none;flex:1;align-self:stretch;height:auto;min-height:calc(1lh + 16px);max-height:calc(3lh + 16px);margin:0;overflow-y:auto}.action-wrapper{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:center;display:flex}.chatbot-input button{padding:8px 16px;font-size:12px}.sidenav{z-index:999;white-space:nowrap;background-color:#111;width:0;height:100%;padding-top:20px;transition:all .5s;position:fixed;left:0;overflow-x:hidden;top:50px!important}.sidenav a{color:#818181;white-space:nowrap;padding:8px 8px 8px 32px;font-size:25px;text-decoration:none;transition:all .3s;display:block}.menu-item-close{cursor:pointer;border-radius:5px;width:28px;height:28px;padding:0!important;font-size:22px!important;position:absolute!important;top:5px!important;right:10px!important}.menu-item-close:hover{color:#f1f1f1!important}.sidenav a:hover{color:#667eea;font-weight:600}.menu-version{color:#999;padding:8px 8px 8px 32px;font-size:10px;position:absolute;bottom:60px;left:0}.sidenav .closebtn{margin-left:50px;font-size:36px;position:absolute;top:0;right:25px}#main{padding:20px;transition:margin-left .5s}@media screen and (height<=450px){.sidenav{padding-top:15px}.sidenav a{font-size:18px}}.loader{box-sizing:border-box;border:3px solid #fff;border-radius:50%;width:28px;height:28px;animation:1s linear infinite rotation;display:inline-block;position:relative}.loader:after{content:"";box-sizing:border-box;background:#764ba2;border-radius:50%;width:11px;height:11px;position:absolute;top:0;left:0;transform:translate(-50%,50%)}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.training-plan-table{border-collapse:collapse;background:#fff;width:100%;margin-top:0}.training-plan-table thead{color:#333;background:#f1f3f9}.training-plan-table th{text-align:left;color:#444;text-align:center;border-bottom:2px solid #d0d7de;padding:12px 15px;font-weight:600}.training-plan-table td{text-align:center;border-bottom:1px solid #e0e0e0;padding:5px}.training-plan-table tbody tr.today td{color:#fff;background-color:#150aea7a}.training-plan-table tbody tr.today td a{color:#fff}.training-plan-table tbody tr{transition:background-color .2s}.training-plan-table tbody tr.expanded-day{background-color:#f8f9ff;border-left:4px solid #667eea}.training-plan-table tbody tr[id^=detail-day-]{background-color:#f8f9ff;border-left:4px solid #667eea;box-shadow:inset 0 3px 3px -3px #667eea33}.focus-badge,.intensity-badge,.comleted-badge{border-radius:20px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-block}.comleted-badge{font-size:18px}.focus-badge{color:#12589f;text-align:center;background-color:#e3f2fd}.focus-badge.rest-day{color:#3c3c3c;background-color:#35ded0ad!important}.focus-badge.free-ride{color:#173210;background-color:#34af507a!important}.intensity-badge{color:#f57c00;text-align:center;background-color:#fff3e0;font-size:14px}.week-carousel{background:linear-gradient(135deg,#f5f7fa 0%,#f0f2f5 100%);border-radius:8px;justify-content:center;align-items:center;gap:20px;margin-bottom:20px;padding:10px;display:flex}.week-display{text-align:center;color:#333;min-width:150px;font-size:16px;font-weight:600}.plan-detail-cell{background:#f9f9f9;border-bottom:1px solid #ddd;padding:15px;padding-top:0!important}.feedback-intro{color:#333;margin-bottom:12px;font-weight:500}.analysis-header-cell{color:#333;background:#f1f3f9;border-bottom:2px solid #d0d7de;padding:8px;font-weight:600}.analysis-header-feedback{width:50%;padding:8px 12px;font-weight:700}.analysis-cell-left{text-align:left}.analysis-feedback-cell{vertical-align:top;text-align:left;color:#444;padding:8px;font-size:13px}.feedback-analysis{color:#444;margin-top:15px;font-size:13px;line-height:1.5}.call-to-action{color:#667eea;margin-top:10px;font-size:13px;font-weight:600}@media (width<=900px){.app-grid-container{grid-template-columns:1fr;height:auto;margin-top:5px;margin-left:1px;margin-right:1px;padding-left:1px;padding-right:1px;overflow:visible}.content-main-panel{height:auto;max-height:none;margin-right:0;overflow:visible}.section-header{height:auto}.chatbot-sidebar{order:-1;height:auto;max-height:400px}.chatbot-messages{min-height:120px}.config-section{padding:0}.training-plan-table,.training-plan-table tbody,.training-plan-table tr,.training-plan-table td,.training-plan-table th{width:100%;display:block}.training-plan-table thead{display:none}.training-plan-table tbody tr[id^=row-day-]{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:15px;padding:12px;display:flex;box-shadow:0 2px 5px #0000000d}.training-plan-table tbody tr[id^=row-day-] td{text-align:right;color:#555;background-color:#fff;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.training-plan-table tbody tr[id^=row-day-] td a{color:#818181}.training-plan-table tbody tr[id^=row-day-] td:empty{display:none!important}.training-plan-table tbody tr[id^=row-day-] td:before{content:attr(data-label);color:#555;text-align:left;font-weight:600}.training-plan-table tbody tr[id^=row-day-] td:nth-child(2){color:#555;border-bottom:2px solid #667eea;order:-1;padding-bottom:8px;font-size:15px;font-weight:700}.training-plan-table tbody tr[id^=row-day-].today td:nth-child(2){color:#0d0d0d;background-color:#150aea7a}.training-plan-table tbody tr[id^=row-day-] td:nth-child(2):before{content:"Date"}.training-plan-table tbody tr[id^=row-day-].today td:nth-child(2):before{color:#0d0d0d}.training-plan-table tbody tr[id^=row-day-].expanded-day{background-color:#f8f9ff;border-left:4px solid #667eea;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.training-plan-table tbody tr[id^=detail-day-]{background:#f9f9f9;border:1px solid #e0e0e0;border-top:none;border-left:4px solid #667eea;border-radius:0 0 8px 8px;margin-top:0;margin-bottom:15px;padding:10px;display:block}.training-plan-table tbody tr[id^=detail-day-] td{border:none;padding:0;display:block}.analysis-table,.analysis-table tbody,.analysis-table tr,.analysis-table td{width:100%;display:block}.analysis-table thead{display:none}.analysis-table tbody tr{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px;display:flex;box-shadow:0 1px 3px #00000008}.analysis-table tbody tr td{text-align:right;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.analysis-table tbody tr td:last-child{border-bottom:none}.analysis-table tbody tr td.analysis-cell-zone{color:#333;text-align:right;border-bottom:2px solid #667eea;order:-1;padding-bottom:8px;font-size:15px;font-weight:700}.analysis-table tbody tr td.analysis-cell-zone:before,.analysis-table tbody tr td.analysis-cell-range:before,.analysis-table tbody tr td.analysis-cell-time:before,.analysis-table tbody tr td.analysis-cell-pct:before,.analysis-table tbody tr td.analysis-cell-bar:before{content:attr(data-label);color:#555;text-align:left;font-weight:600}.analysis-table tbody tr td.analysis-cell-bar{width:100%}.plan-detail-cell .analysis-table,.plan-detail-cell .analysis-table tbody,.plan-detail-cell .analysis-table tr,.plan-detail-cell .analysis-table td{width:100%;display:block}.plan-detail-cell .analysis-table thead{display:none}.plan-detail-cell .analysis-table tbody tr{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px;display:flex;box-shadow:0 1px 3px #00000008}.plan-detail-cell .analysis-table tbody tr td{text-align:right;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.plan-detail-cell .analysis-table tbody tr td:last-child{border-bottom:none}.plan-detail-cell .analysis-table tbody tr td.analysis-cell-metric{color:#333;border-bottom:2px solid #667eea;order:-1;padding-bottom:6px;font-size:15px;font-weight:700}.plan-detail-cell .analysis-table tbody tr td:before{content:attr(data-label);color:#555;text-align:left;font-weight:600}}@media (width<=480px){.weekly-activity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.EZDrawer .EZDrawer__checkbox{display:none}.EZDrawer .EZDrawer__checkbox:checked~.EZDrawer__overlay{opacity:1;display:block}.EZDrawer .EZDrawer__checkbox:checked~.EZDrawer__container{visibility:visible;transform:translate(0,0)!important}.EZDrawer .EZDrawer__overlay{width:100%;height:100vh;display:none;position:fixed;top:0;left:0}.EZDrawer .EZDrawer__container{visibility:hidden;background:#fff;transition:all;position:fixed;box-shadow:0 0 10px 5px #0000001a}
