.navbar[data-v-29a18337]{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;background:#fffffff2;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.navbar-container[data-v-29a18337]{max-width:1200px;margin:0 auto;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand[data-v-29a18337]{flex-shrink:0}.brand-title[data-v-29a18337]{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.navbar-controls[data-v-29a18337]{flex-shrink:0}.footer-container[data-v-ea4fac5d]{position:fixed;bottom:0;left:0;right:0;z-index:99;border-top:1px solid #e9ecef;padding:16px 0;background-color:#f8f9fa}.footer-content[data-v-ea4fac5d]{display:flex;justify-content:center;align-items:center}.ig-button[data-v-ea4fac5d]{color:#6b7280;transition:color .2s ease}.ig-button[data-v-ea4fac5d]:hover{color:#e1306c}.app-layout[data-v-387c014a]{min-height:100vh}.main-content[data-v-387c014a]{padding-top:70px;padding-bottom:80px}.filter-controls[data-v-b3852dc9]{background:#f9fafb;border-radius:6px;padding:12px;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px}.filter-row[data-v-b3852dc9]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filter-item[data-v-b3852dc9]{display:flex;align-items:center;gap:8px}.training-cell[data-v-b3852dc9]{padding:4px 0}.casual-training-row[data-v-b3852dc9]{background-color:#f5f5f5!important}[data-v-b3852dc9] .n-data-table tbody tr:not(.casual-training-row):hover,[data-v-b3852dc9] .n-data-table tbody tr:not(.casual-training-row):hover td{background-color:#f0f9ff!important;transition:background-color .2s ease}[data-v-b3852dc9] .n-data-table tbody .casual-training-row,[data-v-b3852dc9] .n-data-table tbody .casual-training-row td{background-color:#f5f5f5!important}.modal-content[data-v-48479505]{position:relative}.modal-content.with-navigation[data-v-48479505]{min-height:auto}.nav-area[data-v-48479505]{position:absolute;top:50%;transform:translateY(-50%);height:80px;width:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s ease;z-index:10;background:#00000008;border-radius:8px}.nav-area[data-v-48479505]:hover{opacity:1;background:#00000014}.nav-area-left[data-v-48479505]{left:-20px}.nav-area-right[data-v-48479505]{right:-20px}.nav-arrow[data-v-48479505]{font-size:24px;font-weight:700;color:#666;-webkit-user-select:none;-moz-user-select:none;user-select:none}.training-list[data-v-48479505]{display:flex;flex-direction:column;gap:12px}.training-detail-card[data-v-48479505]{background-color:#f9fafb;padding:12px;border-radius:8px;border:1px solid #e5e7eb}.training-info[data-v-48479505]{flex:1}.training-description-modal[data-v-48479505]{margin-top:8px;padding:8px;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;line-height:1.4;color:#374151;white-space:pre-wrap;word-break:break-word}.training-indicators[data-v-281a0e9c]{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.calendar-filter[data-v-281a0e9c]{display:flex;align-items:center;gap:8px}.filter-label[data-v-281a0e9c]{font-size:14px;color:#4b5563;white-space:nowrap}.day-cell.filtered-match[data-v-281a0e9c],.day-cell.filtered-match.today[data-v-281a0e9c]{background:#fc9090!important}.day-cell.filtered-match .training-summary[data-v-281a0e9c]{color:#fff}.no-data-message[data-v-b00f82d2]{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem}.week-card[data-v-b00f82d2]{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;border:1px solid #e5e7eb;transition:box-shadow .2s}.week-card[data-v-b00f82d2]:hover{box-shadow:0 4px 12px #00000026}.week-header[data-v-b00f82d2]{margin-bottom:1rem;text-align:center;border-bottom:2px solid #f3f4f6;padding-bottom:.75rem}.week-title[data-v-b00f82d2]{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.week-date-range[data-v-b00f82d2]{font-size:.875rem;color:#6b7280}.week-stats[data-v-b00f82d2]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-item[data-v-b00f82d2]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f9fafb;border-radius:.5rem}.stat-icon[data-v-b00f82d2]{font-size:1.25rem}.stat-value[data-v-b00f82d2]{font-weight:600;color:#1f2937;font-size:.95rem}.stat-unit[data-v-b00f82d2]{font-size:.875rem;color:#6b7280}.daily-training-grid[data-v-b00f82d2]{border-top:1px solid #e5e7eb;padding-top:1rem}.day-headers[data-v-b00f82d2]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.day-header[data-v-b00f82d2]{font-size:.875rem;font-weight:600;color:#374151;text-align:center;padding:.5rem;background:#f3f4f6;border-radius:.375rem}.week-days-grid[data-v-b00f82d2]{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.day-cell[data-v-b00f82d2]{min-height:80px;padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;background:#fafafa;display:flex;flex-direction:column}.day-cell.has-training[data-v-b00f82d2]{background:#f0f9ff;border-color:#3b82f6;cursor:pointer;transition:all .2s}.day-cell.has-training[data-v-b00f82d2]:hover{background:#e0f2fe;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.day-date[data-v-b00f82d2]{font-size:.75rem;font-weight:600;color:#6b7280;text-align:center;margin-bottom:.25rem}.training-items[data-v-b00f82d2]{flex:1;display:flex;flex-direction:column;gap:.25rem}.training-item[data-v-b00f82d2]{font-size:.75rem;padding:.25rem .5rem;color:#fff;border-radius:.25rem;text-align:center;font-weight:600;pointer-events:none}.training-item.default-training[data-v-b00f82d2]{background:#3b82f6}.training-item.default-training[data-v-b00f82d2]:hover{background:#2563eb}.training-item.intensity-training[data-v-b00f82d2]{background:#dc2626}.training-item.intensity-training[data-v-b00f82d2]:hover{background:#b91c1c}.training-item.easy-training[data-v-b00f82d2]{background:#16a34a}.training-item.easy-training[data-v-b00f82d2]:hover{background:#15803d}.training-item.longrun-training[data-v-b00f82d2]{background:#3b82f6}.training-item.longrun-training[data-v-b00f82d2]:hover{background:#2563eb}.training-item.weight-training[data-v-b00f82d2]{background:#f59e0b}.training-item.weight-training[data-v-b00f82d2]:hover{background:#d48906}.training-item.yoga-training[data-v-b00f82d2]{background:#ec4899}.training-item.yoga-training[data-v-b00f82d2]:hover{background:#db2777}.training-item.race-training[data-v-b00f82d2]{background:#8b5cf6}.training-item.race-training[data-v-b00f82d2]:hover{background:#7c3aed}.no-training[data-v-b00f82d2]{font-size:.75rem;color:#9ca3af;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){.week-stats[data-v-b00f82d2]{grid-template-columns:repeat(3,1fr);gap:.5rem}.week-card[data-v-b00f82d2]{padding:1rem;margin:0}.day-cell[data-v-b00f82d2]{min-height:60px}.training-item[data-v-b00f82d2]{font-size:.7rem;padding:.2rem .3rem}}.race-countdown[data-v-09b3a0c4]{width:100%;margin-bottom:1.5rem;max-width:100%;overflow:hidden}.countdown-wrapper[data-v-09b3a0c4]{position:relative;border-radius:16px;padding:1.5rem;overflow:hidden;transition:background 1s ease-in-out}.countdown-content[data-v-09b3a0c4]{position:relative;z-index:1;color:#fff}.status-container[data-v-09b3a0c4]{display:flex;justify-content:center;margin-bottom:1rem}.status-badge[data-v-09b3a0c4]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:50px;font-weight:600;font-size:.85rem;letter-spacing:.5px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);min-width:160px;text-align:center}.status-training[data-v-09b3a0c4]{background:#3b82f64d;box-shadow:0 8px 25px #3b82f64d}.status-final[data-v-09b3a0c4]{background:#f973164d;box-shadow:0 8px 25px #f973164d}.status-taper[data-v-09b3a0c4]{background:#22c55e4d;box-shadow:0 8px 25px #22c55e4d}.status-prerace[data-v-09b3a0c4],.status-raceday[data-v-09b3a0c4]{background:#ef44444d;box-shadow:0 8px 25px #ef44444d;animation:pulse-glow-09b3a0c4 2s infinite}.status-finished[data-v-09b3a0c4]{background:#6b72804d;box-shadow:0 8px 25px #6b72804d}@keyframes pulse-glow-09b3a0c4{0%,to{transform:scale(1);box-shadow:0 8px 25px #ef44444d}50%{transform:scale(1.05);box-shadow:0 12px 35px #ef444480}}.status-icon[data-v-09b3a0c4]{font-size:1.2rem}.race-date-container[data-v-09b3a0c4]{display:flex;justify-content:center;margin-top:.5rem}.race-date-text[data-v-09b3a0c4]{font-size:.85rem;color:#ffffffb3;font-weight:400;letter-spacing:.5px;opacity:.9}.unified-display-area[data-v-09b3a0c4]{display:flex;flex-direction:column;height:140px;justify-content:space-between}.time-row[data-v-09b3a0c4]{display:flex;align-items:center;justify-content:center;height:120px;gap:1.25rem}.progress-row[data-v-09b3a0c4]{height:20px;display:flex;align-items:center;justify-content:center}.time-unit-container[data-v-09b3a0c4]{flex:0 0 auto}.finished-time-container[data-v-09b3a0c4]{display:flex;justify-content:center;align-items:center;width:100%}.finished-time-display[data-v-09b3a0c4]{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:80px;transition:transform .3s ease}.finished-time-display.clickable[data-v-09b3a0c4]{cursor:pointer}.finished-time-display.clickable[data-v-09b3a0c4]:hover{transform:translateY(-2px) scale(1.05)}.finished-time-display.clickable[data-v-09b3a0c4]:active{transform:translateY(0) scale(.98)}.race-time-label[data-v-09b3a0c4]{font-size:.8rem;font-weight:500;color:#ffffffb3;margin-bottom:.5rem;letter-spacing:.5px}.race-time[data-v-09b3a0c4]{font-size:2.5rem;font-weight:700;line-height:1;color:#fff}@keyframes finished-glow-09b3a0c4{0%,to{text-shadow:0 0 20px rgba(255,215,0,.3)}50%{text-shadow:0 0 30px rgba(255,215,0,.6)}}.time-unit.finished-flag[data-v-09b3a0c4]{background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none}.race-day-container[data-v-09b3a0c4]{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.time-unit.race-day-unit[data-v-09b3a0c4]{background:#ffffff40;border-color:#fff6;animation:race-day-pulse-09b3a0c4 2s infinite}@keyframes race-day-pulse-09b3a0c4{0%,to{transform:scale(1);box-shadow:0 0 #ffffff4d}50%{transform:scale(1.05);box-shadow:0 0 20px #fff6}}@keyframes race-day-glow-09b3a0c4{0%,to{text-shadow:0 0 10px rgba(255,215,0,.3),0 0 20px rgba(255,215,0,.2),0 0 30px rgba(255,215,0,.1)}50%{text-shadow:0 0 20px rgba(255,215,0,.6),0 0 30px rgba(255,215,0,.4),0 0 40px rgba(255,215,0,.2)}}.separator-container[data-v-09b3a0c4]{flex:0 0 auto;width:1rem;display:flex;justify-content:center}.time-unit[data-v-09b3a0c4]{text-align:center;background:#ffffff26;border-radius:10px;padding:.8rem .3rem;min-width:55px;width:55px;height:75px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:transform .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center}.time-unit.clickable[data-v-09b3a0c4]{cursor:pointer;transition:all .3s ease}.time-unit.clickable[data-v-09b3a0c4]:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 25px #fff3}.time-unit.finished-flag.clickable[data-v-09b3a0c4]:hover{background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateY(-2px) scale(1.1)}.time-unit.clickable[data-v-09b3a0c4]:active{transform:translateY(0) scale(.98)}.time-unit.finished-flag.clickable[data-v-09b3a0c4]:active{transform:translateY(0) scale(1.05)}.time-unit[data-v-09b3a0c4]:hover{transform:translateY(-5px)}.time-number[data-v-09b3a0c4]{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.2rem;background:linear-gradient(45deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.finished-flag .time-number[data-v-09b3a0c4]{background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;color:inherit}.time-label[data-v-09b3a0c4]{font-size:.7rem;font-weight:500;opacity:.9;letter-spacing:.5px}.time-separator[data-v-09b3a0c4]{font-size:2rem;font-weight:300;opacity:.7;animation:blink-09b3a0c4 2s infinite}@keyframes blink-09b3a0c4{0%,50%{opacity:.7}51%,to{opacity:.3}}@keyframes bounce-09b3a0c4{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.finished-text[data-v-09b3a0c4]{font-size:2rem;font-weight:600;opacity:.9}.progress-container[data-v-09b3a0c4]{width:100%;height:6px;transition:opacity .3s ease}.progress-bar[data-v-09b3a0c4]{height:6px;background:#fff3;border-radius:3px;overflow:hidden;width:100%}.progress-fill[data-v-09b3a0c4]{height:100%;background:linear-gradient(90deg,#fff,#e0e7ff);border-radius:3px;transition:width .5s ease}.finished-hint[data-v-09b3a0c4]{text-align:center;font-size:.9rem;color:#fffc;font-weight:500;letter-spacing:.5px;height:20px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.finished-hint.clickable[data-v-09b3a0c4]{cursor:pointer;color:#ffffffe6}.finished-hint.clickable[data-v-09b3a0c4]:hover{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.3);transform:translateY(-1px)}.race-day-message[data-v-09b3a0c4]{font-size:1.6rem;font-weight:900;text-align:center;font-family:Bebas Neue,Impact,sans-serif;letter-spacing:2px;background:linear-gradient(90deg,#fff,#ffe600,#ff8000,#fff);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift-09b3a0c4 2s linear infinite,flicker-09b3a0c4 3s infinite;text-shadow:0 0 8px rgba(255,200,50,.4),0 0 15px rgba(255,160,0,.3)}@keyframes gradient-shift-09b3a0c4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes flicker-09b3a0c4{0%,19%,21%,23%,25%,54%,56%,to{opacity:1;filter:brightness(1)}20%,24%,50%{opacity:.6;filter:brightness(1.4)}}.race-day-hint[data-v-09b3a0c4]{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:#ffffffe6;font-weight:500;height:20px}.nike-icon[data-v-09b3a0c4]{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.9;transition:all .3s ease}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#f8f9fa;overflow-x:hidden;width:100%;max-width:100vw}@media (max-width: 768px){@supports (-webkit-appearance: none){body{position:relative;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}html{overflow:hidden;height:100%}#app{height:100vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overscroll-behavior:contain}}}.container{max-width:1200px;margin:0 auto;padding:0 16px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:16px}.gap-6{gap:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-4{margin-top:16px}.p-4{padding:16px}.min-h-screen{min-height:100vh}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray-900{color:#111827}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.bg-gray-50{background-color:#f9fafb}.bg-white{background-color:#fff}.h-full{height:100%}.h-80{height:20rem}.h-64{height:16rem}.w-24{width:6rem}.w-28{width:7rem}.w-48{width:12rem}.w-full{width:100%}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.summary-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.dashboard-header{text-align:center;margin-bottom:32px}.controls-section{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:24px}.dashboard-container{min-height:100vh;background-color:#f8f9fa;padding:16px;overflow-x:hidden;width:100%;max-width:100vw}@media (max-width: 768px){.dashboard-container{padding-bottom:max(16px,env(safe-area-inset-bottom));margin-bottom:60px;min-height:calc(100vh + 60px)}}.dashboard-content{max-width:1400px;margin:0 auto;overflow-x:hidden;width:100%}.summary-cards-grid,.charts-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:24px;margin-bottom:32px}@media (min-width: 1024px){.charts-grid{grid-template-columns:repeat(2,1fr)}}.chart-container{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;width:100%;min-width:0;overflow:hidden}@media (max-width: 768px){.chart-container{padding:16px}.chart-container .text-lg{font-size:1rem}}.chart-container canvas{max-width:100%!important;height:auto!important}.chart-section{display:flex;justify-content:center;margin-bottom:32px}.chart-section .chart-container{max-width:600px;width:100%}@media (min-width: 768px){.summary-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.summary-cards-grid{grid-template-columns:repeat(4,1fr)}.charts-grid{grid-template-columns:repeat(2,1fr)}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;width:100%;max-width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav-btn{padding:8px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:background-color .2s}.calendar-nav-btn:hover{background:#e5e7eb}.calendar-nav-btn:disabled{opacity:.5;cursor:not-allowed}.calendar-title{font-size:18px;font-weight:600;color:#374151}.day-header{background-color:#f9fafb;padding:12px 4px;text-align:center;font-weight:600;color:#6b7280;font-size:16px}.day-cell{background-color:#fff;min-height:100px;padding:6px;position:relative;cursor:pointer;transition:background-color .2s;overflow:hidden}.day-cell:hover{background-color:#f3f4f6}.day-cell.other-month{background-color:#f9fafb;color:#9ca3af}.day-cell.today{background-color:#dbeafe}.day-cell.has-training{background-color:#fef3c7}.day-cell.has-training.today{background-color:#bfdbfe}.day-number{font-size:16px;font-weight:600;margin-bottom:4px}.training-dot{width:8px;height:8px;background-color:#059669;border-radius:50%;margin:2px;display:inline-block}.main-training-dot{background-color:#dc2626}.training-summary{font-size:12px;color:#6b7280;line-height:1.3;margin-top:4px}@media (max-width: 768px){.day-cell{min-height:60px;padding:2px}.day-number{font-size:12px}.training-summary{font-size:9px}.training-dot{width:4px;height:4px}.calendar-title{font-size:16px}.calendar-nav-btn{padding:6px 10px;font-size:14px}}@media (max-width: 768px){.dashboard-container{overflow-x:hidden;width:100%;max-width:100vw;padding:12px}.dashboard-content{overflow-x:hidden;width:100%;max-width:100%}*{overflow-x:visible!important}.text-3xl{font-size:1.5rem;line-height:2rem}.text-2xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1rem;line-height:1.5rem}.mobile-only{display:block;width:100%;max-width:100%}.desktop-only{display:none}.training-table{width:100%!important;table-layout:fixed!important}.training-table :deep(.n-data-table-th),.training-table :deep(.n-data-table-td){padding:8px 4px!important;word-wrap:break-word!important;white-space:normal!important}}.bottom-content{margin-top:32px}@media (max-width: 768px){.bottom-content{margin-bottom:100px;padding-bottom:max(40px,env(safe-area-inset-bottom))}}
