body{background:#f8f9fa;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.dashboard-container{-webkit-overflow-scrolling:touch;height:calc(100vh - 60px);overflow-y:scroll;scroll-behavior:smooth;scroll-snap-type:y mandatory}.dashboard-page{display:flex;flex-direction:column;min-height:calc(100vh - 60px);padding:2rem 1.5rem;scroll-snap-align:start;scroll-snap-stop:always}.page-header{margin-bottom:1.5rem}.page-header h2{color:#212529;font-size:1.75rem;margin-bottom:.25rem}.week-range{color:#6c757d;font-size:.95rem}.week-mileage{align-items:baseline;display:flex;font-weight:600;gap:.25rem;margin-top:.75rem}.mileage-completed{color:#fff;font-size:2rem;font-weight:700}.mileage-separator{color:#ffffffb3;font-size:1.5rem;margin:0 .1rem}.mileage-total{color:#fffc;font-size:1.5rem;font-weight:600}.mileage-label{color:#fffc;font-size:.95rem;margin-left:.25rem;text-transform:lowercase}.page-scheduled{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.page-scheduled .page-header h2,.page-scheduled .week-range{color:#fff}.week-calendar{grid-gap:1rem;align-content:start;display:grid;flex:1 1;gap:1rem;grid-template-columns:repeat(2,1fr)}.day-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #fff3;border-radius:16px;display:flex;flex-direction:column;min-height:140px;padding:1rem;transition:all .3s ease}.day-card.today{background:#fffffff2;border-color:#fff;box-shadow:0 8px 20px #0003;color:#667eea}.day-card.past{opacity:.7}.day-header{align-items:center;border-bottom:1px solid #ffffff4d;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.day-card.today .day-header{border-bottom-color:#667eea33}.day-name{font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.day-number{font-size:1.5rem;font-weight:700}.day-content{align-items:center;display:flex;flex:1 1;justify-content:center}.completed-run{text-align:center;width:100%}.check-icon{align-items:center;background:#28a7454d;border-radius:50%;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;margin:0 auto .5rem;width:40px}.day-card.today .check-icon{background:#28a745;color:#fff}.mini-run{font-size:.875rem;font-weight:600}.planned-run{text-align:center;width:100%}.plan-icon{align-items:center;background:#ffc1074d;border-radius:50%;display:flex;font-size:1.25rem;height:40px;justify-content:center;margin:0 auto .5rem;width:40px}.day-card.today .plan-icon{background:#ffc10780}.planned-label{font-size:.7rem;letter-spacing:.5px;margin-top:.25rem;opacity:.8;text-transform:uppercase}.scheduled-workout{text-align:center;width:100%}.workout-icon{font-size:2rem;margin-bottom:.5rem}.workout-text{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.workout-distance{font-size:.75rem;opacity:.9}.scheduled-workout.placeholder{opacity:.6}.rest-day{opacity:.8;text-align:center;width:100%}.rest-icon{font-size:2rem;margin-bottom:.5rem}.rest-text{font-size:.875rem;font-weight:500}.page-stats{background:#fff}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 15px #667eea4d;color:#fff;padding:1.5rem;text-align:center}.stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-value{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.75rem;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.chart-section{background:#fff;border:2px solid #e9ecef;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.chart-title{color:#495057;font-size:1rem;font-weight:600;margin:0 0 1rem}.chart-container-stats{height:200px;width:100%}.calendar-section{background:#fff;border:2px solid #e9ecef;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.month-calendar{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:1rem}.calendar-day{align-items:center;aspect-ratio:1;background:#f8f9fa;border-radius:8px;color:#495057;display:flex;flex-direction:column;font-size:.875rem;font-weight:500;justify-content:center;position:relative}.calendar-day.future{opacity:.4}.calendar-day.today{font-weight:700}.calendar-day.has-run,.calendar-day.today.has-run{background:#28a745;color:#fff}.calendar-day-number{font-size:.875rem}.calendar-day.today .calendar-day-number{align-items:center;border:2px solid #000;border-radius:50%;display:inline-flex;height:28px;justify-content:center;width:28px}.goal-progress{background:#f8f9fa;border-radius:16px;margin-bottom:2rem;padding:1.5rem}.goal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.goal-header h3{color:#495057;font-size:1rem;margin:0}.goal-percentage{color:#667eea;font-size:1.5rem;font-weight:700}.progress-bar{background:#e9ecef;border-radius:12px;height:24px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:12px;height:100%;transition:width .5s ease}.page-recent{background:#fff}.runs-list{display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.run-item{background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:1.25rem;transition:all .3s ease}.run-item:active{border-color:#667eea;box-shadow:0 4px 12px #667eea1a}.run-date{color:#495057;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.run-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.run-distance,.run-pace,.run-speed{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.5rem}.run-distance{color:#667eea;font-size:1.1rem;font-weight:700}.run-notes{border-top:1px solid #e9ecef;color:#6c757d;font-size:.875rem;font-style:italic;line-height:1.5;padding-top:.75rem}.scroll-indicator{opacity:.7;padding:2rem 0 1rem;text-align:center}.page-scheduled .scroll-indicator{color:#fff}.scroll-arrow{animation:bounce 2s infinite;font-size:1.5rem;margin-bottom:.5rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.scroll-indicator p{font-size:.875rem;margin:0}.empty-state{background:#f8f9fa;border-radius:16px;color:#6c757d;font-size:1rem;padding:3rem 1rem;text-align:center}@media (max-width:428px){.dashboard-container{height:calc(100vh - 56px)}.dashboard-page{min-height:calc(100vh - 56px);padding:1.5rem 1rem}.week-calendar{gap:.75rem}.day-card{min-height:120px;padding:.875rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}}@media (max-width:390px){.page-header h2{font-size:1.5rem}.day-card{min-height:110px}.stat-value{font-size:1.5rem}}@media (max-height:500px) and (orientation:landscape){.dashboard-container{scroll-snap-type:none}.dashboard-page{min-height:auto}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;padding:1rem;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:20px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.modal-header h3{color:#212529;flex:1 1;font-size:1.25rem;margin:0}.modal-header-actions{align-items:center;display:flex;gap:.5rem}.btn-icon-edit{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.btn-icon-edit:hover{background:#5568d3;transform:scale(1.05)}.btn-icon-edit:active{transform:scale(.95)}.btn-close-modal{align-items:center;background:#f8f9fa;border:none;border-radius:8px;color:#495057;cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.btn-close-modal:hover{background:#e9ecef}.btn-close-modal:active{transform:scale(.95)}.modal-body{padding:1.5rem}.run-details-view{display:flex;flex-direction:column;gap:1.5rem}.run-stat-large{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;padding:2rem;text-align:center}.run-stat-large .stat-value{font-size:3rem;font-weight:700;margin-bottom:.5rem}.run-stat-large .stat-label{font-size:.875rem;letter-spacing:1px;opacity:.9;text-transform:uppercase}.run-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.run-stat{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;text-align:center}.run-stat .stat-icon{font-size:1.5rem}.run-stat .stat-value{color:#212529;font-size:1rem;font-weight:700}.run-stat .stat-label{color:#6c757d;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.run-notes-view{background:#f8f9fa;border-radius:12px;padding:1rem}.run-notes-view h4{color:#6c757d;font-size:.875rem;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.run-notes-view p{color:#495057;line-height:1.6;margin:0}.btn-delete-run{background:#fff;border:2px solid #dc3545;border-radius:12px;color:#dc3545;cursor:pointer;font-weight:600;padding:.75rem;transition:all .2s ease;width:100%}.btn-delete-run:hover{background:#dc3545;color:#fff}.btn-delete-run:active{transform:scale(.98)}.run-form{gap:1rem}.run-form,.run-form .form-group{display:flex;flex-direction:column}.run-form .form-group{gap:.5rem}.run-form .form-group label{color:#495057;font-size:.875rem;font-weight:600}.run-form .form-group input,.run-form .form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease}.run-form .form-group input:focus,.run-form .form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.run-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.calculated-stats-modal{background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;padding:1rem}.calculated-stats-modal .calc-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.25rem}.calculated-stats-modal .calc-label{color:#6c757d;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.calculated-stats-modal .calc-value{color:#667eea;font-size:1.25rem;font-weight:700}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.form-actions button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.875rem;transition:all .2s ease}.btn-secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#495057}.btn-secondary:hover{background:#e9ecef}.btn-secondary:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.form-message{margin-top:.5rem;padding:.75rem}.week-runs-modal{max-width:600px}.empty-week{color:#6c757d;padding:2rem;text-align:center}.week-runs-list{display:flex;flex-direction:column;gap:1rem}.week-run-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1rem;transition:all .2s ease}.week-run-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.week-run-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.week-run-date{color:#495057;font-size:.95rem;font-weight:600}.week-run-distance{color:#667eea;font-size:1.25rem;font-weight:700}.week-run-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.week-run-stat{align-items:center;display:flex;gap:.25rem}.week-run-notes,.week-run-stat{color:#6c757d;font-size:.875rem}.week-run-notes{border-top:1px solid #dee2e6;font-style:italic;line-height:1.5;margin-top:.5rem;padding-top:.5rem}.week-summary{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:1rem;margin-top:.5rem;padding:1rem;text-align:center}.week-summary-separator{margin:0 .5rem;opacity:.7}@media (max-width:428px){.dashboard-page{min-height:calc(100vh - 60px);padding:1rem}.page-header{margin-bottom:1rem}.page-header h2{font-size:1.5rem;margin-bottom:.25rem}.week-range{font-size:.85rem}.week-mileage{margin-top:.5rem}.mileage-completed{font-size:1.75rem}.mileage-separator,.mileage-total{font-size:1.25rem}.mileage-label{font-size:.85rem}.week-calendar{gap:.75rem}.day-card{border-radius:12px;min-height:110px;padding:.75rem}.day-header{margin-bottom:.5rem;padding-bottom:.5rem}.day-name{font-size:.75rem}.day-number{font-size:1rem}.mini-run{font-size:.85rem}.check-icon,.plan-icon{font-size:1.5rem;margin-bottom:.25rem}.workout-icon{font-size:1.5rem}.workout-text{font-size:.85rem}.workout-distance{font-size:.75rem}.rest-icon{font-size:1.5rem}.rest-text{font-size:.85rem}.scroll-indicator{margin-top:1rem}.scroll-indicator p{font-size:.75rem}.scroll-arrow{font-size:1.25rem}.chart-section{margin-bottom:1rem}.chart-title{font-size:1rem;margin-bottom:.75rem}.chart-container-stats{height:180px}.calendar-section{margin-bottom:1rem}.month-calendar{gap:.35rem}.calendar-day{font-size:.75rem}.calendar-day.today .calendar-day-number{border-width:1.5px;height:24px;width:24px}.goal-progress{margin-bottom:1rem;padding:1rem}.goal-header h3,.goal-percentage{font-size:1rem}.progress-bar{height:8px}.runs-list{gap:.75rem}.run-item{padding:.75rem}.run-date{font-size:.9rem;margin-bottom:.5rem}.run-details{gap:.75rem}.run-distance,.run-pace,.run-speed{font-size:.85rem}.run-notes{font-size:.8rem;margin-top:.5rem}.modal-content{max-height:85vh}.run-stat-large .stat-value{font-size:2.5rem}.run-stats-grid{gap:.75rem}.run-stat{padding:.75rem}.run-stat .stat-value{font-size:.875rem}.run-form .form-row{grid-template-columns:1fr}}.run-logger h2{color:#212529;font-size:2rem;margin-bottom:2rem}.logger-form{background:#fff;border:2px solid #e9ecef;border-radius:12px;max-width:600px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#495057;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.calculated-stats{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;gap:1rem;justify-content:space-around;margin-bottom:1.5rem;padding:1.25rem}.calc-stat{text-align:center}.calc-label{display:block;font-size:.875rem;margin-bottom:.25rem;opacity:.9}.calc-value{display:block;font-size:1.5rem;font-weight:700}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.btn-submit:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-message{border-radius:8px;font-weight:500;margin-top:1rem;padding:1rem;text-align:center}.form-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.tips-section{background:#f8f9fa;border-radius:12px;margin-top:2rem;max-width:600px;padding:1.5rem}.tips-section h3{color:#495057;font-size:1.25rem;margin-bottom:1rem}.tips-section ul{list-style:none;padding:0}.tips-section li{color:#6c757d;padding:.5rem 0 .5rem 1.5rem;position:relative}.tips-section li:before{color:#667eea;content:"✓";font-weight:700;left:0;position:absolute}@media (max-width:768px){.logger-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.calculated-stats{flex-direction:column;gap:.75rem}}.progress-charts h2{color:#212529;font-size:2rem;margin-bottom:2rem}.controls{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:#495057;font-size:.9rem;font-weight:600}.control-group select{background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:1rem;padding:.625rem 1rem;transition:all .3s ease}.control-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.summary-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.summary-stat{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;padding:1.5rem;text-align:center}.summary-value{display:block;font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.summary-label{display:block;font-size:.875rem;opacity:.9}.chart-container{background:#fff;border:2px solid #e9ecef;border-radius:12px;margin-bottom:2rem;padding:2rem}.empty-chart{background:#f8f9fa;border-radius:12px;color:#6c757d;font-size:1.1rem;padding:4rem 2rem;text-align:center}.recharts-tooltip-wrapper{outline:none!important}.recharts-default-tooltip{background:#fff!important;border:2px solid #667eea!important;border-radius:8px!important;box-shadow:0 4px 12px #0000001a!important;padding:.75rem!important}.recharts-tooltip-label{color:#495057!important;font-weight:600!important;margin-bottom:.5rem!important}.recharts-tooltip-item{color:#6c757d!important;font-size:.9rem!important}.recharts-legend-wrapper{padding-top:1rem!important}.recharts-legend-item-text{color:#495057!important;font-weight:500!important}@media (max-width:768px){.controls{flex-direction:column;gap:1rem}.control-group{width:100%}.summary-stats{grid-template-columns:1fr}.chart-container{padding:1rem}}.training-plans h2{color:#212529;font-size:2rem;margin-bottom:1rem}.plans-intro{color:#6c757d;font-size:1.1rem;margin-bottom:2rem}.plans-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.plan-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .3s ease}.plan-card:hover{border-color:#667eea;box-shadow:0 8px 20px #667eea26;transform:translateY(-4px)}.plan-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.plan-header h3{color:#212529;font-size:1.5rem}.plan-level{border-radius:20px;font-size:.75rem;font-weight:600;padding:.375rem .75rem;text-transform:uppercase}.level-beginner{background:#d4edda;color:#155724}.level-intermediate{background:#fff3cd;color:#856404}.level-advanced{background:#f8d7da;color:#721c24}.plan-description{color:#6c757d;line-height:1.6;margin-bottom:1rem}.plan-details{color:#495057;display:flex;font-size:.95rem;gap:1.5rem;margin-bottom:1.5rem}.plan-progress{background:#f8f9fa;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.progress-header span:first-child{color:#495057;font-weight:600}.progress-header span:last-child{color:#667eea;font-size:1.25rem;font-weight:700}.current-week{margin-bottom:2rem}.current-week h3{color:#212529;font-size:1.5rem;margin-bottom:1rem}.week-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:1.5rem;padding:2rem}.week-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.week-number{font-size:1.25rem;font-weight:700}.week-runs{background:#fff3;border-radius:20px;font-size:.9rem;padding:.5rem 1rem}.week-description{font-size:1.1rem;line-height:1.6;opacity:.95}.week-controls{display:flex;gap:1rem;justify-content:center}.btn-secondary{border:2px solid #667eea;color:#667eea;font-size:1rem;padding:.875rem 1.5rem}.btn-secondary:hover:not(:disabled){background:#667eea;color:#fff}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-success{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .3s ease}.btn-success:hover{background:#218838;box-shadow:0 5px 15px #28a74566;transform:translateY(-2px)}.btn-danger{border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;margin-top:2rem;padding:.875rem 1.5rem;transition:all .3s ease}.full-schedule{margin-bottom:2rem}.full-schedule h3{color:#212529;font-size:1.5rem;margin-bottom:1rem}.schedule-list{display:flex;flex-direction:column;gap:.75rem}.schedule-item{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.schedule-item.current{background:#f0f3ff;border-color:#667eea}.schedule-item.completed{background:#f8f9fa;opacity:.6}.schedule-item.completed .schedule-week{text-decoration:line-through}.schedule-week{color:#495057;font-weight:700;min-width:80px}.schedule-description{color:#6c757d;flex:1 1}@media (max-width:768px){.plans-grid{grid-template-columns:1fr}.week-controls{flex-direction:column}.week-controls button{width:100%}.schedule-item{align-items:flex-start;flex-direction:column}}.weekly-goals h2{color:#212529;font-size:2rem;margin-bottom:1rem}.goals-intro{color:#6c757d;font-size:1.1rem;margin-bottom:2rem}.goal-form{background:#fff;border:2px solid #e9ecef;border-radius:12px;margin-bottom:2rem;max-width:500px;padding:2rem}.button-group{display:flex;gap:1rem}.button-group button{flex:1 1}.suggested-goals{margin-bottom:2rem}.suggested-goals h3{color:#212529;font-size:1.5rem;margin-bottom:1rem}.goals-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.goal-suggestion{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;transition:all .3s ease}.goal-suggestion:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.goal-suggestion.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.goal-emoji{font-size:2rem}.goal-miles{font-size:1.5rem;font-weight:700}.goal-desc{font-size:.875rem;text-align:center}.goal-suggestion.selected .goal-desc{opacity:.95}.goal-tips{background:#f8f9fa;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.goal-tips h3{color:#495057;font-size:1.25rem;margin-bottom:1rem}.goal-tips ul{list-style:none;padding:0}.goal-tips li{color:#6c757d;line-height:1.6;padding:.5rem 0 .5rem 1.5rem;position:relative}.goal-tips li:before{color:#667eea;content:"→";font-weight:700;left:0;position:absolute}.current-goal-display{max-width:500px}.current-goal-display h3{color:#212529;font-size:1.5rem;margin-bottom:1rem}.goal-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 20px #667eea4d;color:#fff;padding:2rem;text-align:center}.goal-value{display:block;font-size:3rem;font-weight:700;margin-bottom:.5rem}.goal-label{font-size:1.1rem;opacity:.95}@media (max-width:768px){.goal-form{padding:1.5rem}.button-group{flex-direction:column}.goals-grid{grid-template-columns:repeat(2,1fr)}}.settings-container{margin:0 auto;max-width:800px;padding:2rem 1.5rem}.settings-header{margin-bottom:2rem}.settings-header h2{color:#212529;font-size:2rem}.settings-section{background:#fff;border:2px solid #e9ecef;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.settings-section h3{align-items:center;color:#212529;display:flex;font-size:1.25rem;gap:.5rem;margin-bottom:1rem}.section-note{color:#6c757d;font-size:.875rem;margin-bottom:1rem}.setting-item{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:1rem 0}.setting-item:last-child{border-bottom:none}.setting-info{flex:1 1}.setting-label{color:#212529;font-weight:600;margin-bottom:.25rem}.setting-description{color:#6c757d;font-size:.875rem}.toggle-switch{display:inline-block;height:28px;position:relative;width:52px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:28px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;position:absolute;transition:.3s;width:20px}input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}input:checked+.toggle-slider:before{transform:translateX(24px)}.setting-select{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#495057;cursor:pointer;font-size:.95rem;min-width:150px;padding:.5rem 1rem}.setting-select:focus{border-color:#667eea;outline:none}.integration-item{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem}.integration-item.coming-soon{opacity:.6}.integration-icon{align-items:center;background:#fff;border-radius:12px;display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.integration-info{flex:1 1}.integration-name{color:#212529;font-weight:600;margin-bottom:.25rem}.integration-status{color:#6c757d;font-size:.875rem}.btn-integration{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;transition:all .3s ease}.btn-integration:not(:disabled):hover{background:#667eea;color:#fff}.btn-integration:disabled{cursor:not-allowed;opacity:.5}.ai-feature-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px dashed #667eea;border-radius:16px;padding:2rem;position:relative;text-align:center}.ai-icon{font-size:3rem;margin-bottom:1rem}.ai-feature-card h4{color:#212529;font-size:1.25rem;margin-bottom:.5rem}.ai-feature-card p{color:#6c757d;line-height:1.6;margin:0 auto;max-width:500px}.coming-soon-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-block;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.5rem 1rem}.danger-zone{background:#fff5f5;border:2px solid #fee;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.danger-zone h4{color:#dc3545;font-size:1rem;margin-bottom:1rem}.btn-secondary{background:#fff;border:2px solid #6c757d;border-radius:8px;color:#6c757d;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background:#6c757d;color:#fff}.btn-danger-outline{background:#fff;border:2px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;transition:all .3s ease}.btn-danger-outline:hover{background:#dc3545;color:#fff}.settings-actions{background:#fff;border-radius:0 0 16px 16px;border-top:2px solid #e9ecef;bottom:0;margin:0 -1.5rem -2rem;padding:1.5rem;position:-webkit-sticky;position:sticky}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.btn-save:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.settings-message{border-radius:8px;font-weight:500;margin-top:1rem;padding:1rem;text-align:center}.settings-message.success{background:#d4edda;color:#155724}.settings-message.error{background:#f8d7da;color:#721c24}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.modal-content{background:#fff;border-radius:16px;margin:1rem;max-width:400px;padding:2rem}.modal-content h3{color:#dc3545;font-size:1.5rem;margin-bottom:1rem}.modal-content p{color:#6c757d;line-height:1.6;margin-bottom:1.5rem}.modal-actions{display:flex;gap:1rem}.modal-actions button{border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:.75rem;transition:all .3s ease}.btn-danger{background:#dc3545;border:none;color:#fff}.btn-danger:hover{background:#c82333}body.dark-mode{color:#e9ecef}body.dark-mode,body.dark-mode .settings-container{background:#1a1a1a}body.dark-mode .ai-feature-card h4,body.dark-mode .integration-name,body.dark-mode .setting-label,body.dark-mode .settings-header h2,body.dark-mode .settings-section h3{color:#e9ecef}body.dark-mode .settings-section{background:#2d2d2d;border-color:#3d3d3d}body.dark-mode .setting-item{border-bottom-color:#3d3d3d}body.dark-mode .btn-integration,body.dark-mode .btn-secondary,body.dark-mode .setting-select{background:#3d3d3d;border-color:#4d4d4d;color:#e9ecef}body.dark-mode .integration-item{background:#3d3d3d}body.dark-mode .integration-icon{background:#4d4d4d}body.dark-mode .ai-feature-card{background:linear-gradient(135deg,#667eea33,#764ba233)}body.dark-mode .modal-content{background:#2d2d2d}body.dark-mode .settings-actions{background:#2d2d2d;border-top-color:#3d3d3d}body.dark-mode .app-header{background:#2d2d2d;box-shadow:0 2px 4px #0000004d}body.dark-mode .side-menu{background:#2d2d2d}body.dark-mode .user-profile{border-bottom-color:#3d3d3d}body.dark-mode .menu-nav button{color:#e9ecef}body.dark-mode .menu-nav button:hover{background:#3d3d3d}body.dark-mode .menu-footer{border-top-color:#3d3d3d}@media (max-width:768px){.settings-container{padding:1.5rem 1rem}.settings-section{padding:1.25rem}.setting-item{align-items:flex-start;flex-direction:column;gap:1rem}.btn-danger-outline,.btn-secondary,.setting-select,.toggle-switch{align-self:flex-end}.integration-item{flex-wrap:wrap}.btn-integration{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{min-height:100vh}.app{background:#fff;margin:0 auto;max-width:1200px}.app-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000000d;color:#212529;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.logo{font-size:2rem;line-height:1}.hamburger-menu{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:.5rem;transition:opacity .3s ease;z-index:1001}.hamburger-menu.hidden{opacity:0;pointer-events:none}.hamburger-menu span{background:#667eea;border-radius:3px;height:3px;transition:all .3s ease;width:24px}.hamburger-menu:hover span{background:#764ba2}.menu-overlay{animation:fadeIn .3s ease;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.side-menu{animation:slideIn .3s ease;background:#fff;box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;max-width:85vw;position:fixed;right:0;top:0;width:320px;z-index:1000}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.menu-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:1rem;padding:2rem 1.5rem;position:relative}.logo-large{font-size:2.5rem;line-height:1}.menu-header h2{flex:1 1;font-size:1.5rem;font-weight:700}.close-menu{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;transition:background .3s ease;width:36px}.close-menu:hover{background:#ffffff4d}.menu-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.user-profile{border-bottom:1px solid #e9ecef;gap:1rem;padding:1.5rem}.user-avatar,.user-profile{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.user-details{flex:1 1}.user-email{color:#495057;font-size:.95rem;font-weight:500}.menu-nav{display:flex;flex:1 1;flex-direction:column;padding:1rem 0}.menu-nav button{align-items:center;background:none;border:none;color:#495057;cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:1rem 1.5rem;text-align:left;transition:all .3s ease}.menu-nav button:hover{background:#f8f9fa;color:#667eea}.menu-nav button.active{background:linear-gradient(90deg,#667eea1a,#764ba21a);border-left:4px solid #667eea;color:#667eea;font-weight:600}.nav-icon{display:inline-block;font-size:1.25rem;width:24px}.menu-footer{border-top:1px solid #e9ecef;padding:1rem}.btn-signout-menu{align-items:center;background:none;border:2px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1rem;transition:all .3s ease;width:100%}.btn-signout-menu:hover{background:#dc3545;color:#fff}.user-info{align-items:center;display:flex;gap:1rem}.user-info span{font-size:.9rem;opacity:.95}.btn-signout{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.btn-signout:hover{background:#ffffff4d}.nav-tabs{background:#f8f9fa;border-bottom:2px solid #e9ecef;display:flex;overflow-x:auto}.nav-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:1rem;transition:all .3s ease;white-space:nowrap}.nav-tabs button:hover{background:#e9ecef;color:#495057}.nav-tabs button.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.app-main{min-height:calc(100vh - 60px);overflow:hidden;padding:0}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading{color:#6c757d;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.app-header{padding:1rem}.logo{font-size:1.75rem}.side-menu{max-width:100vw;width:100%}.app-main{padding:1rem}}
/*# sourceMappingURL=main.f8e4ceeb.css.map*/