@import url(https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Ubuntu:wght@700&display=swap);:root{--primary:#000;--primary-dark:#222;--secondary:#c6b15c;--background:#fff;--background-alt:#f5f5f5;--text:#222;--accent:#c6b15c;--white:#fff;--grey-light:#f5f5f5;--grey:#e5e5e5;--success:#00b050;--danger:#e10600;--info:#c6a15b;--link:#e10600;--bulma-primary:#000}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--background);color:#222;color:var(--text);font-family:Lato,Arial,Helvetica,sans-serif;margin:0}h1,h2,h3,h4,h5,h6{color:#000;color:var(--primary);font-family:Ubuntu,serif;font-weight:700;letter-spacing:.5px}a{color:#e10600;color:var(--link);font-weight:500;text-decoration:underline;transition:color .2s}a:hover{color:#c6b15c;color:var(--secondary)}.button,.button.is-primary{background-color:#c6b15c;background-color:var(--secondary);border:none;border-radius:2px;color:#fff;color:var(--white);font-family:Lato,Arial,Helvetica,sans-serif;font-weight:700;transition:background .2s}.button.is-primary:hover,.button:hover{background-color:#c6b15c;background-color:var(--accent);color:#fff;color:var(--white)}.button.is-link{background-color:#e10600;background-color:var(--link);color:#fff;color:var(--white)}.button.is-link:hover{background-color:#c6b15c;background-color:var(--secondary);color:#000;color:var(--primary)}.button.is-info{background-color:#c6a15b;background-color:var(--info);color:#fff;color:var(--white)}.button.is-success{background-color:#00b050;background-color:var(--success);color:#fff;color:var(--white)}.button.is-danger{background-color:#e10600;background-color:var(--danger);color:#fff;color:var(--white)}@media (max-width:768px){.navbar{padding-top:30px}}.navbar,footer,select{background-color:#000;background-color:var(--primary);color:#fff;color:var(--white);font-family:Lato,Arial,Helvetica,sans-serif}.navbar .navbar-item,.navbar .navbar-link{color:#fff;color:var(--white);text-decoration:none}.navbar .navbar-item:hover,.navbar .navbar-link:hover{background-color:#c6b15c;background-color:var(--secondary);color:#000;color:var(--primary)}input,select,textarea{background:#fff;background:var(--white);border:1px solid #e5e5e5;border:1px solid var(--grey);color:#222;color:var(--text);font-family:Lato,Arial,Helvetica,sans-serif}.onboarding-bg{background-image:url(../../static/media/cyclist-background.447d1bdf43aab3b04662.jpg);background-position:50%;background-size:cover;height:90vh;padding:2.5rem 2rem 2rem}.dashboard-section{background:#f5f5f5;background:var(--background-alt);border-radius:1.5rem;margin:1rem auto;padding:2.5rem 2rem 2rem}.bg-primary{background-color:#000!important;background-color:var(--primary)!important}.bg-primary,.bg-secondary{color:#fff!important;color:var(--white)!important}.bg-secondary{background-color:#c6b15c!important;background-color:var(--secondary)!important}.text-primary{color:#000!important;color:var(--primary)!important}.text-secondary{color:#c6b15c!important;color:var(--secondary)!important}label,strong{color:#222;color:var(--primary-dark)}.footer-text{color:#e5e5e5;color:var(--grey);font-size:1rem}.footer{padding:1rem 0}.progress-bar-bg{background:#f5f5f5;background:var(--grey-light);border-radius:8px;box-shadow:0 1px 4px #00000012;height:18px;overflow:hidden;width:220px}.progress-bar-fill{background:linear-gradient(90deg,#c6b15c 60%,#c6b15c);background:linear-gradient(90deg,var(--secondary) 60%,var(--accent) 100%);border-radius:8px;height:100%;transition:width .7s cubic-bezier(.4,2,.6,1)}.progress-bar-label{color:#c6b15c;color:var(--secondary);font-size:14px;font-weight:600;margin-top:4px}.badge{align-items:center;background:#c6b15c;background:var(--secondary);border-radius:999px;box-shadow:0 2px 8px #00000014;color:#fff;color:var(--white);display:inline-flex;font-size:1.1em;font-weight:600;margin-right:12px;padding:.4em 1em}.badge-icon{font-size:1.2em;margin-right:8px}.onboarding-card{margin-top:5em}.onboarding-progress-bar{display:flex;gap:4px;justify-content:center;margin-bottom:24px}.onboarding-progress-segment{background:#f5f5f5;background:var(--grey-light);border-radius:4px;height:8px;transition:background .3s;width:40px}.onboarding-progress-segment.active{background:#c6b15c;background:var(--secondary)}.dashboard-greeting{color:#000;color:var(--primary);font-size:2.3rem;font-weight:800;letter-spacing:-1px;margin-bottom:.5rem}.dashboard-welcome{color:#222;color:var(--primary-dark);font-family:Lato,Arial,Helvetica,sans-serif;font-size:1.5rem;font-weight:700}.dashboard-badges{margin-bottom:1.2rem}.dashboard-race-info{align-items:center;background:#c6a15b21;border-radius:12px;box-shadow:0 2px 8px #00000012;color:#000;color:var(--primary);display:flex;font-size:1.1rem;font-weight:600;gap:18px;margin:1.2rem 0 .5rem;padding:1.1rem 1.2rem}.dashboard-race-icon{font-size:1.7em}.dashboard-race-date{font-size:1em;font-weight:400;margin-left:12px}.dashboard-hello{display:flex;gap:2em;padding:.5rem 2rem;vertical-align:middle}@media (max-width:768px){.dashboard-hello,.training-summary{flex-direction:column!important}}.navbar-burger{color:#c6b15c;color:var(--secondary)}.navbar-end,.navbar.is-primary{background-color:#000;background-color:var(--primary);padding:none}.loading-spinner{border:4px solid #0000001a;border-left:4px solid var(--secondary);height:36px;margin:0 auto;width:36px}.workout-completed{color:#00b050;color:var(--success);font-size:12px;font-weight:500}.training-summary{display:flex;flex-direction:row;gap:2em}.training-summary-item{align-items:left;border-bottom:1px solid #f5f5f5;border-bottom:1px solid var(--grey-light);display:flex;flex-direction:column;padding:.5rem 0;width:25%}@media (max-width:768px){.training-summary-item{width:100%}}.training-summary-item canvas{margin:0 auto}.activities-calendar{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0 auto;max-width:1200px;position:relative}.header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.header-row h1{font-size:28px;font-weight:700;margin:0}.month-navigation{align-items:center;display:flex;gap:10px}.month-navigation button{background:none;border:none;cursor:pointer;font-size:20px;padding:5px 10px}.month-navigation .month{font-size:20px;font-weight:500}.month-navigation .year{color:#555;font-size:20px}.calendar-stats{margin-bottom:30px}.activity-bars{height:50px;margin-bottom:5px}.activity-bars,.bar-container{align-items:flex-end;display:flex}.bar-container{flex:1 1;height:100%}.activity-bar{background-color:#4a90e2;margin:0 auto;transition:height .2s ease;width:80%}.days-label{color:#888;font-size:12px;margin-bottom:15px;text-align:right}.stats-summary{border-bottom:1px solid #eee;display:flex;justify-content:space-around;margin-top:20px;padding-bottom:20px}.stat-item{text-align:center}.stat-label{color:#888}.days-row{background-color:#f9f9f9;border-bottom:1px solid #eee;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(7,1fr)}.day-header{color:#555;font-size:14px;font-weight:500;padding:10px;text-align:center}.calendar-body{border:1px solid #eee;border-top:none}.row{display:grid;grid-template-columns:repeat(7,1fr)}.cell{background-color:#fff;border-bottom:1px solid #eee;border-right:1px solid #eee;min-height:120px;padding:5px;position:relative}.cell.disabled{background-color:#f9f9f9;color:#ccc}.cell.today{background-color:#f5f9ff}.cell-header{display:flex;justify-content:space-between;margin-bottom:5px}.number{color:#333;font-size:16px;font-weight:700;margin:5px}.cell-content{display:flex;flex-direction:column;gap:4px}.completed-activities,.planned-workouts{display:flex;flex-direction:column;gap:2px}.activity-item,.workout-item{align-items:center;border-radius:3px;cursor:pointer;display:flex;font-size:12px;gap:5px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.workout-item{background-color:#ffecb3;border-left:3px solid #ffa000}.workout-item.completed{background-color:#c8e6c9;border-left:3px solid #4caf50;color:#666;text-decoration:line-through}.activity-item{background-color:#e3f2fd;border-left:3px solid #2196f3}.activity-item:hover,.workout-item:hover{filter:brightness(.95)}.activity-indicator,.workout-indicator{border-radius:50%;flex-shrink:0;height:8px;width:8px}.workout-indicator{background-color:#ffa000}.workout-item.completed .workout-indicator{background-color:#4caf50}.activity-indicator{background-color:#2196f3}.activity-duration{color:#666;font-size:10px;margin-left:3px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 5px 20px #0003;max-height:90vh;max-width:500px;min-width:350px;overflow-y:auto;padding:20px 25px;position:relative}.close-button{background:none;border:none;color:#888;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px}.activity-details,.workout-details{margin-top:15px}.detail-item{font-size:14px;margin-bottom:8px}.status{font-weight:500;text-transform:capitalize}.status.completed{color:#4caf50}.status.planned{color:#ffa000}.mark-completed-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:15px;padding:8px 16px}.mark-completed-button:hover{background-color:#388e3c}.calendar-legend{background-color:#f9f9f9;border-radius:6px;display:flex;gap:20px;justify-content:center;margin-top:20px;padding:15px}.legend-item{align-items:center;display:flex;gap:8px}.legend-indicator{border-radius:3px;height:16px;width:16px}.legend-indicator.workout{background-color:#ffecb3;border-left:3px solid #ffa000}.legend-indicator.workout.completed{background-color:#c8e6c9;border-left:3px solid #4caf50}.legend-indicator.activity{background-color:#e3f2fd;border-left:3px solid #2196f3}.legend-label{color:#555;font-size:14px}@media (max-width:768px){.days-row,.row{grid-template-columns:repeat(7,1fr)}.cell{min-height:80px;padding:2px}.activity-item,.workout-item{font-size:10px;padding:2px 4px}.stats-summary{flex-wrap:wrap}.stat-item{margin-bottom:15px;width:50%}.calendar-legend{align-items:flex-start;flex-direction:column;gap:10px}}.activity-detail-page{display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.activity-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.header-left h1{font-size:28px;font-weight:600;margin:8px 0 4px}.activity-date{color:#666;font-size:16px;margin:0}.header-right{gap:15px}.achievements,.kudos{align-items:center;background-color:#f5f5f5;border-radius:20px;display:flex;font-size:14px;gap:5px;padding:5px 10px}.achievement-icon,.kudos-icon{font-size:18px}.achievement-count,.kudos-count{font-weight:500}.back-button{background:none;color:#2196f3;display:flex;padding:5px 0}.back-arrow{margin-right:5px}.back-button:hover{text-decoration:underline}.map-section{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:400px;margin-bottom:20px;overflow:hidden;width:100%}.stats-section{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:30px}.stat-card{background-color:#f9f9f9;box-shadow:0 2px 4px #0000000d;flex:1 1;min-width:120px;padding:15px;transition:transform .2s}.stat-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.stat-value{font-size:24px;margin-bottom:5px}.stat-label{color:#777}.comparison-section{display:flex;flex:1 1;flex-direction:column}.comparison-section h2{border-bottom:1px solid #eee;color:#333;font-size:20px;font-weight:500;margin-bottom:20px;padding-bottom:10px}.comparison-container{display:flex;gap:20px;height:100%}.activity-column,.plan-column{background-color:#f9f9f9;border-radius:8px;flex:1 1;padding:20px}.activity-column h3,.plan-column h3{color:#333;font-size:18px;font-weight:500;margin-bottom:15px;margin-top:0}.plan-header{margin-bottom:15px}.plan-status{border-radius:4px;font-size:12px;font-weight:500;margin-right:10px;padding:3px 8px;text-transform:capitalize}.plan-status.completed{background-color:#c8e6c9;color:#2e7d32}.plan-status.planned{background-color:#ffecb3;color:#f57c00}.plan-name{color:#666;font-size:14px}.activity-card,.plan-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:15px}.activity-type,.workout-type{color:#333;font-size:18px;font-weight:500;margin-bottom:8px}.workout-focus{margin-bottom:12px}.actual-stat,.workout-duration{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.label{color:#777}.value{color:#333;font-weight:500}.activity-description,.workout-description{color:#666;font-size:14px;line-height:1.5;margin:12px 0}.workout-description p{margin:5px 0 0}.no-plan{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;color:#888;display:flex;font-style:italic;height:100%;justify-content:center;min-height:150px;padding:30px}.actual-stats{margin-top:15px}.plan-adherence{margin-top:20px}.plan-adherence h4{font-size:16px;font-weight:500;margin-bottom:10px}.adherence-metrics{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:12px}.adherence-metric{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.positive{color:#4caf50}.negative{color:#f44336}.neutral{color:#ff9800}.error,.loading{align-items:center;display:flex;flex-direction:column;height:50vh;justify-content:center}.loading-spinner{border:4px solid #f3f3f3;margin-bottom:15px}.error-container{background-color:#f9f9f9;box-shadow:0 2px 8px #0000001a;padding:30px}.error-container h3{color:#f44336;margin-top:0}.error-container .back-button{background-color:#2196f3;border-radius:4px;color:#fff;margin-top:15px;padding:8px 16px}.error-container .back-button:hover{background-color:#1976d2;text-decoration:none}@media (max-width:768px){.stats-section{flex-wrap:wrap}.stat-card{margin-bottom:10px;min-width:calc(50% - 10px)}.comparison-container{flex-direction:column}.activity-column,.plan-column{margin-bottom:20px}.activity-header{flex-direction:column}.header-right{margin-top:15px}}.generate-plan-container{background-color:#f9f9f9;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin:0 auto;max-width:900px;padding:2rem}.delete-confirmation p{color:#721}.availability-info{background-color:#f5f9ff;border-radius:12px;box-shadow:0 2px 6px #0000000d;margin-bottom:1.5rem;padding:1.25rem}.availability-info h4{color:#333;font-size:1.1rem;margin-bottom:1rem;margin-top:0}.availability-days{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.available-day{align-items:center;background-color:#1e90ff;border-radius:6px;color:#fff;display:flex;flex-direction:column;font-size:.9rem;padding:.5rem .75rem}.day-hours{font-size:.8rem;opacity:.9}.availability-summary{border-top:1px solid #1e90ff33;color:#555;display:flex;font-size:.9rem;justify-content:space-between;padding-top:.75rem}.existing-plans-message{background-color:#f8f4e5;border-left:4px solid #f0ad4e;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.existing-plans-message p{color:#8a6d3b;font-weight:500;margin:0}.delete-confirmation{background-color:#f8e7e7;border:1px solid #f5c6cb;border-radius:8px;margin:1.5rem 0;padding:1.25rem}.delete-confirmation p{color:#721c24;margin-bottom:1rem;margin-top:0}.confirmation-buttons{display:flex;gap:1rem}.cancel-button{background-color:#f1f1f1;border:1px solid #ddd;border-radius:8px;color:#555;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.cancel-button:hover{background-color:#e5e5e5}.delete-button{background-color:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.delete-button:hover{background-color:#c82333}.plan-options{margin-bottom:2rem}.plan-options h3{color:#333;font-size:1.8rem}.option-group,.plan-options h3{margin-bottom:1.5rem}.option-label{color:#555;display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.option-container{align-items:center;display:flex;gap:1rem}.option-select{background-color:#fff;border:1px solid #ddd;border-radius:8px;font-size:1rem;min-width:180px;padding:.75rem 1rem}.discipline-options{display:flex;flex-wrap:wrap;gap:1rem}.discipline-button{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.discipline-button:hover{background-color:#f0f0f0}.discipline-button.selected{background-color:#1e90ff;border-color:#1e90ff;color:#fff}.discipline-button.selected:hover{background-color:#187bcd}.race-prep-toggle{margin-bottom:.75rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:500}.checkbox-label input{margin-right:10px;transform:scale(1.2)}.race-date-selector{background-color:#f5f9ff;border-radius:8px;margin-top:.5rem;padding:1rem}.date-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;margin-left:.5rem;padding:.75rem;width:180px}.race-date-hint{color:#666;font-size:.8rem;margin-left:.5rem;margin-top:.5rem}.custom-weeks{align-items:center;display:flex}.custom-weeks-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;margin-left:.5rem;padding:.75rem;text-align:center;width:60px}.difficulty-options{display:flex;gap:1rem}.difficulty-button{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.difficulty-button:hover{background-color:#f0f0f0}.difficulty-button.selected{background-color:#1e90ff;border-color:#1e90ff;color:#fff}.difficulty-button.selected:hover{background-color:#187bcd}.generate-button-container{margin-top:2rem}.generate-button{background-color:#1e90ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.75rem 2rem;transition:background-color .2s ease}.generate-button:hover{background-color:#187bcd}.generate-button:disabled{background-color:#ccc;cursor:not-allowed}.message{background-color:#e8f4ff;border-radius:8px;font-weight:500;margin:1rem 0;padding:1rem}.loading-spinner{border:3px solid #1e90ff4d;border-top-color:#1e90ff;display:inline-block;height:2rem;width:2rem}.preview-section{margin-top:2rem}.preview-section h4{color:#333;font-size:1.4rem;margin-bottom:1rem}.onboarding-container{background-color:#f9f9f9;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin:0 auto;max-width:800px;padding:2rem}.onboarding-header{margin-bottom:2rem;text-align:center}.onboarding-header h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem}.step-indicator{margin:1.5rem 0}.step-bubble,.step-indicator{align-items:center;display:flex;justify-content:center}.step-bubble{background-color:#e0e0e0;border-radius:50%;color:#777;font-size:14px;font-weight:600;height:32px;width:32px}.step-bubble.active{background-color:#1e90ff;color:#fff}.step-line{background-color:#e0e0e0;flex-grow:1;height:2px;max-width:60px}.onboarding-form{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:2rem}.form-step h3{color:#444;font-size:1.4rem;margin-bottom:1.5rem;margin-top:0}.step-description{color:#666}.form-group,.step-description{margin-bottom:1.5rem}.number-input,.select-input,.text-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.input-hint{color:#777;font-size:.8rem;margin-top:.5rem}.button-group{display:flex;flex-wrap:wrap;gap:1rem}.option-button{background-color:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;min-width:120px;padding:.75rem 1.25rem;text-align:center;transition:all .2s ease}.option-button:hover{background-color:#f5f5f5}.option-button.selected{background-color:#1e90ff;border-color:#1e90ff;color:#fff}.option-button.selected:hover{background-color:#187bcd}.form-navigation{display:flex;justify-content:space-between;margin-top:2rem}.back-button{background-color:#fff;border:1px solid #ddd;border-radius:8px;color:#555;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.back-button:hover{background-color:#f5f5f5}.next-button,.submit-button{background-color:#1e90ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.next-button:hover,.submit-button:hover{background-color:#187bcd}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#f8d7da;border-radius:8px;color:#dc3545;margin-bottom:1rem;padding:.75rem}.availability-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.day-availability{display:flex;flex-direction:column;gap:.5rem}.day-availability label{color:#555;font-weight:600}.day-activities,.day-workouts{font-size:1rem}.availability-summary{background-color:#f5f9ff;border-radius:8px;margin-top:1rem;padding:1rem}.summary-item{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.5rem 0}.summary-item:last-child{border-bottom:none}.summary-label{color:#555;font-weight:500}.summary-value{color:#1e90ff;font-weight:600}@media (max-width:768px){.button-group{flex-direction:column}.option-button{width:100%}.availability-grid{grid-template-columns:1fr}}.auth-container{display:flex;height:100vh;width:100%}.auth-form-container{align-items:center;background-color:#f9f9f9;display:flex;flex:1 1;justify-content:center;padding:2rem}.auth-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;max-width:450px;padding:2.5rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.auth-header p{color:#666;font-size:1rem}.auth-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:#555;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.text-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.text-input:focus{border-color:#1e90ff;box-shadow:0 0 0 3px #1e90ff1a;outline:none}.auth-button{background-color:#1e90ff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.85rem 1rem;transition:background-color .2s ease;width:100%}.auth-button:hover{background-color:#187bcd}.auth-button:disabled{background-color:#ccc;cursor:not-allowed}.auth-error{background-color:#f8d7da;border-radius:8px;color:#dc3545;font-size:.9rem;margin-bottom:1.5rem;padding:.85rem 1rem}.auth-switch{text-align:center}.auth-switch p{color:#666;font-size:.95rem}.switch-button{background:none;border:none;color:#1e90ff;cursor:pointer;font-size:.95rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.switch-button:hover{text-decoration:underline}.auth-image{background-image:url(https://images.unsplash.com/photo-1681295694506-80838945c430?q=80&w=1471&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D);background-position:50%;background-size:cover;flex:1.5 1;position:relative}.image-overlay{background:linear-gradient(#0000001a,#00000080);display:flex;flex-direction:column;height:100%;justify-content:flex-end;left:0;padding:3rem;position:absolute;top:0;width:100%}.app-brand{color:#fff;text-shadow:0 2px 10px #0000004d}.app-brand h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.app-brand p{font-size:1.1rem;opacity:.9}@media (max-width:991px){.auth-container{flex-direction:column}.auth-image{height:200px;order:-1}.auth-form-container{padding:2rem 1rem}.auth-card{padding:2rem 1.5rem}.image-overlay{padding:1.5rem}.app-brand h1{font-size:2rem}}.activities-page{margin:0 auto;max-width:100%;min-height:calc(100vh - 60px);padding:0 1rem 80px;padding:0 1rem;position:relative}.activities-header{align-items:flex-start;border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--grey);display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.activities-header h1{color:#000;color:var(--primary);font-size:1.8rem;font-weight:700;margin:0}.view-toggle{background-color:#f5f5f5;background-color:var(--grey-light);border-radius:8px;display:flex;overflow:hidden;width:100%}.view-button{background:none;border:none;color:#000;color:var(--primary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:.5rem;transition:all .2s ease}.view-button.active{background-color:#c6b15c;background-color:var(--secondary);color:#fff;color:var(--white)}.week-scroller{display:flex;gap:.5rem;overflow-x:auto;padding:1.2rem 0;scroll-behavior:smooth;scrollbar-width:none}.week-scroller::-webkit-scrollbar{display:none}.day-item{align-items:center;background-color:#fff;background-color:var(--white);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:4.2rem;justify-content:center;min-width:3.2rem;padding:.5rem;position:relative;transition:all .2s ease}.day-item.selected{background-color:#c6b15c;background-color:var(--secondary);color:#fff;color:var(--white)}.day-item.selected,.day-item.today:not(.selected){border-color:#c6b15c;border-color:var(--secondary)}.day-name{font-size:.8rem;font-weight:500;margin-bottom:.25rem;text-transform:uppercase}.day-number{font-size:1.2rem;font-weight:600}.activity-indicator{background-color:#c6b15c;background-color:var(--accent);border-radius:50%;bottom:4px;height:6px;position:absolute;width:6px}.day-navigator{justify-content:space-between;padding:1rem 0}.day-navigator,.nav-button{align-items:center;display:flex}.nav-button{background-color:#fff;background-color:var(--white);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:50%;cursor:pointer;height:36px;justify-content:center;width:36px}.nav-icon{font-size:1.2rem;font-weight:600}.current-date{text-align:center}.date-display{color:#000;color:var(--primary);font-size:1.1rem;font-weight:600}.activities-content{padding:1rem 0}.section{margin-bottom:1.5rem}.section h2{color:#000;color:var(--primary);font-size:1.2rem;font-weight:600;margin:0 0 1rem}.activities-list,.workouts-list{display:flex;flex-direction:column;gap:.75rem}.activity-card,.workout-card{align-items:center;background-color:#fff;background-color:var(--white);border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:1rem;padding:1rem}.workout-card.completed{opacity:.75}.status-indicator{border-radius:50%;height:12px;width:12px}.status-indicator.planned{background-color:#c6a15b;background-color:var(--info)}.status-indicator.done{background-color:#00b050;background-color:var(--success)}.activity-details,.workout-details{flex:1 1}.activity-title,.workout-title{color:#000;color:var(--primary);font-size:1.05rem;font-weight:600;margin-bottom:.3rem}.activity-description,.workout-description{color:#222;color:var(--text);font-size:.9rem;margin-bottom:.3rem}.workout-duration{color:#c6b15c;color:var(--secondary);font-size:.8rem;font-weight:500}.activity-stats{font-size:.85rem;gap:1rem}.stat{color:#222;color:var(--text)}.activity-icon{font-size:1.5rem}.mark-completed-button,.view-details-button{background-color:#c6b15c;background-color:var(--secondary);border:none;border-radius:6px;color:#fff;color:var(--white);cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem .75rem;transition:background-color .2s ease;white-space:nowrap}.mark-completed-button:hover,.view-details-button:hover{background-color:#c6b15c;background-color:var(--accent)}.empty-state{background-color:#f5f5f5;background-color:var(--grey-light);border-radius:12px;color:#222;color:var(--text);padding:2rem 1rem;text-align:center}.empty-state p{font-size:.95rem;margin-bottom:1rem}.create-workout-button,.record-activity-button{background-color:#c6b15c;background-color:var(--secondary);border:none;border-radius:6px;color:#fff;color:var(--white);cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1rem}.activity-card-link{color:inherit;display:block;text-decoration:none}.activity-card-link:hover .activity-card{background-color:#f5f5f5;background-color:var(--grey-light)}.month-view{margin:1rem 0}.month-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.month-header h2{font-size:1.2rem;margin:0}.month-nav-button{align-items:center;background-color:#fff;background-color:var(--white);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-day-name{color:#222;color:var(--text);font-size:.8rem;font-weight:600;padding:.5rem 0;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:1px;background-color:#e5e5e5;background-color:var(--grey);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:8px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day{align-items:center;aspect-ratio:1;background-color:#fff;background-color:var(--white);cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative}.calendar-day.other-month{background-color:#f5f5f5;background-color:var(--grey-light);color:#e5e5e5;color:var(--grey)}.calendar-day.today{background-color:#1e90ff1a;font-weight:600}.calendar-day.selected{background-color:#c6b15c;background-color:var(--secondary);color:#fff;color:var(--white)}.calendar-day-number{font-size:.9rem;font-weight:500}.calendar-day-indicator{background-color:#c6b15c;background-color:var(--accent);border-radius:50%;bottom:15%;height:6px;position:absolute;width:6px}.loading-container{flex-direction:column}.error-container{flex-direction:column;height:60vh;padding:0 2rem}.error-container,.error-icon{align-items:center;display:flex;justify-content:center}.error-icon{background-color:#e10600;background-color:var(--danger);border-radius:30px;color:#fff;color:var(--white);font-size:1.8rem;font-weight:700;height:60px;margin-bottom:1rem;width:60px}.error-message{color:#222;color:var(--text);margin-bottom:1.5rem}.login-prompt-button{background-color:#c6b15c;background-color:var(--secondary);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-weight:500;padding:.75rem 1.5rem}@media (min-width:768px){.activities-page{max-width:800px;padding:0 2rem}.activities-header{align-items:center;flex-direction:row;justify-content:space-between}.view-toggle{width:auto}.view-button{padding:.6rem 1.5rem}.activities-list,.workouts-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.activities-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,sans-serif}@media (max-width:768px){.day-column{border-bottom:1px solid #eaeaea;margin-bottom:12px;padding-bottom:12px}.day-column:last-child{border-bottom:none;margin-bottom:0}.week-container{margin-bottom:24px}}.plan-item{border-left:3px solid #3b82f6}.activity-item{border-left:3px solid #6b7280}.activity-item.matched{border-left:3px solid #10b981}@media (min-width:768px){.day-column{min-height:150px}}.day-column .empty-day{align-items:center;color:#9ca3af;display:flex;font-style:italic;height:100%;justify-content:center}.activity-item.bg-green-100{border-left:3px solid #34d399}.plan-detail-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.plan-header{align-items:center;border-bottom:1px solid #e1e1e1;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-left{display:flex;flex-direction:column;gap:10px}.back-button{align-items:center;background:#f5f5f5;border:none;border-radius:4px;color:#333;cursor:pointer;display:inline-flex;font-size:14px;gap:5px;padding:8px 16px;transition:background-color .2s}.back-button:hover{background:#e8e8e8}.back-arrow{font-size:18px}.plan-header h1{color:#333;font-size:28px;font-weight:600;margin:0}.plan-date{color:#666;font-size:16px;margin:0}.header-right{gap:20px}.header-right,.workout-count{align-items:center;display:flex}.workout-count{background:#f0f7ff;border-radius:20px;gap:8px;padding:8px 16px}.workout-icon{font-size:18px}.workout-total{color:#06c;font-weight:500}.plan-overview-section{margin-bottom:40px}.plan-overview-section h2{color:#333;font-size:22px;margin-bottom:20px}.weekly-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#fff;border:1px solid #e1e1e1;box-shadow:0 1px 3px #0000000d;padding:20px;text-align:center}.stat-value{color:#333;font-size:28px;font-weight:600;margin-bottom:8px}.stat-label{color:#666;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.workouts-section{margin-bottom:40px}.workouts-section h2{color:#333;font-size:22px;margin-bottom:20px;margin-top:20px}.workouts-container{grid-gap:20px;display:grid;gap:20px}.workout-card{background:#fff;border:1px solid #e1e1e1;cursor:pointer;padding:20px;transition:all .2s}.workout-card:hover{box-shadow:0 4px 8px #0000001a}.workout-card.completed{border-left:4px solid #28a745}.workout-card.pending{border-left:4px solid #ffc107}.workout-card.selected{border-color:#06c;box-shadow:0 0 0 2px #06c3}.workout-header{align-items:center;margin-bottom:15px}.workout-day h3{color:#333;font-size:18px;font-weight:600;margin:0}.workout-day p{color:#666;font-size:14px;margin:4px 0 0}.status-badge{border-radius:12px;font-size:13px;font-weight:500;padding:4px 12px}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.workout-details{margin-bottom:15px}.workout-type{color:#333;font-size:16px;font-weight:600;margin-bottom:8px}.workout-focus{background:#f5f5f5;border-radius:4px;display:inline-block;padding:4px 8px}.workout-duration,.workout-focus{color:#666;font-size:14px;margin-bottom:8px}.detail-item .label,.workout-duration .label{font-weight:500;margin-right:8px}.workout-description{margin-top:10px}.workout-description p{color:#666;font-size:14px;line-height:1.5;margin:0}.activity-summary{border-top:1px solid #e1e1e1;margin-top:15px;padding-top:15px}.activity-summary h4{color:#333;font-size:14px;font-weight:600;margin:0 0 10px}.activity-stats{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.activity-stats .stat{color:#666;font-size:14px}.view-activity-button{background:#06c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background-color .2s}.view-activity-button:hover{background:#0052a3}.selected-workout-detail{margin-top:40px}.selected-workout-detail h2{color:#333;font-size:22px;margin-bottom:20px}.workout-detail-card{background:#fff;border:1px solid #e1e1e1;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:24px}.workout-detail-header{border-bottom:1px solid #e1e1e1;margin-bottom:20px;padding-bottom:15px}.workout-detail-header h3{color:#333;font-size:20px;font-weight:600;margin:0}.workout-detail-header p{color:#666;font-size:14px;margin:4px 0 0}.workout-detail-content{grid-gap:15px;display:grid;gap:15px}.detail-item{align-items:baseline;display:flex}.detail-item.full-width{display:block}.detail-item .label{color:#333;font-weight:600;min-width:100px}.detail-item .value{color:#666}.detail-item .description{color:#666;line-height:1.6;margin:8px 0 0}.plan-detail-page.error,.plan-detail-page.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin-right:10px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;max-width:400px;padding:20px;text-align:center}.error-container h3{color:#c53030;margin-bottom:10px}.error-container p{color:#742a2a;margin-bottom:20px}@media (max-width:768px){.plan-header{align-items:flex-start;flex-direction:column;gap:15px}.weekly-stats{grid-template-columns:1fr}.activity-stats,.workout-header{align-items:flex-start;flex-direction:column}.workout-header{gap:10px}}.weekly-summary-container{background-color:#fff;background-color:var(--background);color:#222;color:var(--text);font-family:Lato,sans-serif;margin:0 auto;max-width:1200px;padding:2rem}.weekly-summary-title{border-bottom:3px solid #c6b15c;border-bottom:3px solid var(--accent);color:#000;color:var(--primary);font-family:Ubuntu,sans-serif;font-size:2.5rem;margin-bottom:2rem;padding-bottom:1rem}.summary-card{background-color:#f5f5f5;background-color:var(--background-alt);margin-bottom:2rem}.summary-card,.summary-card-dark{border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:2rem}.summary-card-dark{background-color:#000;background-color:var(--primary);text-align:center}.section-title{color:#000;color:var(--primary)}.section-title,.section-title-light{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.section-title-light{color:#fff;color:var(--white)}.completed-sessions{align-items:center;color:#222;color:var(--text);display:flex;font-size:2rem;font-weight:700;margin-bottom:1rem}.completed-percentage{font-size:1.5rem;margin-left:1rem}.completed-percentage.success{color:#00b050;color:var(--success)}.completed-percentage.danger{color:#e10600;color:var(--danger)}.progress-bar{background-color:#e5e5e5;background-color:var(--grey);border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-fill{height:100%;transition:width .5s ease-in-out}.progress-fill.success{background-color:#00b050;background-color:var(--success)}.progress-fill.danger{background-color:#e10600;background-color:var(--danger)}.duration-container{display:flex;justify-content:space-around;margin-bottom:2rem}.duration-item{text-align:center}.duration-label{color:#222;color:var(--text);font-size:1.2rem}.duration-value{color:#000;color:var(--primary);font-size:2rem;font-weight:700}.duration-value.actual{color:#c6b15c;color:var(--secondary)}.chart-container{height:300px;position:relative}.feedback-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feedback-section h3{color:#222;color:var(--text);margin-bottom:1rem}.tag-container{display:flex;flex-wrap:wrap;gap:.5rem}.feedback-tag{background-color:#000;background-color:var(--primary);border:1px solid #c6b15c;border:1px solid var(--secondary);border-radius:20px;color:#fff;color:var(--white);font-size:.9rem;font-weight:700;padding:.5rem 1rem}.week-navigation{align-items:center;background-color:#f5f5f5;background-color:var(--background-alt);border-radius:12px;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.week-navigation.nav-button{background-color:#000;background-color:var(--primary);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-family:Lato,sans-serif;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.week-navigation.nav-button:hover:not(:disabled){background-color:#222;background-color:var(--primary-dark)}.week-navigation.nav-button:disabled{cursor:not-allowed;opacity:.5}.week-navigation.current-week{text-align:center}.week-navigation.current-week h2{color:#000;color:var(--primary);font-family:Ubuntu,sans-serif;margin:0}.week-navigation.current-week-button{background-color:#c6b15c;background-color:var(--accent);border:none;border-radius:4px;color:#fff;color:var(--white);cursor:pointer;font-family:Lato,sans-serif;margin-top:.5rem;padding:.5rem 1rem;transition:all .3s ease}.current-week-button:hover{background-color:#c6b15c;background-color:var(--secondary);color:#000;color:var(--primary)}.error{color:#e10600;color:var(--danger);font-weight:700;padding:1rem}.error,.loading{text-align:center}.loading{color:#222;color:var(--text);font-size:1.2rem;padding:2rem}.cta-description{color:#c6b15c;color:var(--secondary);font-size:1.1rem;margin-bottom:1.5rem}.cta-button{background-color:#c6b15c;background-color:var(--accent);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-family:Lato,sans-serif;font-size:1.2rem;font-weight:700;padding:1rem 2rem;transition:all .3s ease}.cta-button:hover{background-color:#c6b15c;background-color:var(--secondary);color:#000;color:var(--primary)}.dashboard-container{margin:0 auto;max-width:1200px;padding:24px 16px}.header-section{background:#fff;background:var(--white);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#222;color:var(--text);margin-bottom:24px;padding:24px}.header-content{display:flex;flex-direction:column;justify-content:space-between}@media (min-width:768px){.header-content{align-items:center;flex-direction:row}}.welcome-text{margin-bottom:16px}@media (min-width:768px){.welcome-text{margin-bottom:0}}.welcome-title{font-family:Ubuntu,serif;font-size:1.875rem;font-weight:700;margin:0}.welcome-quote{color:#c6b15c;color:var(--accent);margin-top:4px}.weather-widget{align-items:center;background-color:#f5f5f5;background-color:var(--grey-light);border-radius:8px;display:flex;padding:12px}.stats-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.stat-card{background-color:#f5f5f5;background-color:var(--background-alt);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:8px;padding:12px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{background-color:#c6b15c;background-color:var(--secondary);border-radius:50%;height:48px;justify-content:center;margin-right:12px;width:48px}.stat-label{color:#222;color:var(--text);font-size:.875rem}.stat-value{color:#000;color:var(--primary);font-family:Ubuntu,serif;font-size:22px;font-weight:700;margin:0 5px}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}@media (min-width:768px){.dashboard-grid{grid-template-columns:1fr 1fr}}.dashboard-card{background-color:#f5f5f5;background-color:var(--background-alt);border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.card-header{align-items:center;display:flex;margin-bottom:16px}.card-icon{color:#c6b15c;color:var(--accent);margin-right:8px}.card-title{color:#000;color:var(--primary);font-family:Ubuntu,serif;font-size:1.25rem;font-weight:700;margin:0}.workout-card{background-color:#fff;background-color:var(--white);border-left:4px solid #00b050;border-left:4px solid var(--success);border-radius:8px;padding:16px}.workout-header{align-items:flex-start;display:flex;justify-content:space-between}.workout-title{color:#000;color:var(--primary);font-family:Ubuntu,serif;font-size:1.125rem;font-weight:700;margin:0}.workout-date{color:#222;color:var(--text);margin-top:4px}.workout-details{margin-top:8px}.workout-detail{color:#222;color:var(--text);font-size:.875rem;margin:4px 0}.workout-label{font-weight:700}.no-workout{background-color:#fff;background-color:var(--white);border-left:4px solid #e5e5e5;border-left:4px solid var(--grey);border-radius:8px;padding:16px;text-align:center}.no-workout-text{color:#222;color:var(--text)}.btn{border-radius:8px;cursor:pointer;font-family:Ubuntu,serif;font-size:.875rem;font-weight:700;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .2s}.btn-primary{background-color:#c6b15c;background-color:var(--secondary);border:none;color:#fff;color:var(--white)}.btn-primary:hover{background-color:#000;background-color:var(--primary)}.btn-secondary{background-color:initial;border:1px solid #c6b15c;border:1px solid var(--secondary);color:#000;color:var(--primary)}.btn-secondary:hover{background-color:#c6b15c;background-color:var(--secondary);color:#fff;color:var(--white)}.btn-full{margin-top:16px;padding:8px 16px;text-decoration:none!important;text-transform:none!important}.activity-chart{align-items:flex-end;display:flex;height:192px;justify-content:space-between;margin-top:16px}.chart-bar-container{align-items:center;display:flex;flex-direction:column;width:14.28571%}.chart-bar-wrapper{align-items:flex-end;display:flex;flex:1 1;width:100%}.chart-bar{background-color:#c6b15c;background-color:var(--secondary);border-top-left-radius:4px;border-top-right-radius:4px;margin:0 4px;width:100%}.chart-label{color:#222;color:var(--text);font-size:.75rem;font-weight:700;margin-top:8px}.chart-footer{align-items:center;border-top:1px solid #e5e5e5;border-top:1px solid var(--grey);display:flex;justify-content:space-between;margin-top:24px;padding-top:16px}.chart-period{color:#222;color:var(--text);font-size:.875rem}.chart-link{color:#e10600;color:var(--link);font-family:Ubuntu,serif;font-size:.875rem;font-weight:700;text-decoration:none}.chart-link:hover{text-decoration:underline}.progress-container{align-items:center;display:flex;margin-top:8px}.progress-bar-bg{background-color:#e5e5e5;background-color:var(--grey);border-radius:9999px;height:16px;width:100%}.progress-bar-fill{background-color:#c6b15c;background-color:var(--accent);border-radius:9999px;height:16px}.progress-value{font-family:Ubuntu,serif;font-size:1.125rem;font-weight:700;margin-left:12px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-top:24px}.stat-box{background-color:#fff;background-color:var(--white);border-bottom:3px solid #c6b15c;border-bottom:3px solid var(--secondary);border-radius:8px;padding:12px}.stat-box-label{color:#222;color:var(--text);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.stat-box-value{color:#000;color:var(--primary);font-family:Ubuntu,serif;font-size:1.25rem;font-weight:700;margin:0}.connect-card{background-color:#fff;background-color:var(--white);border:1px solid #e5e5e5;border:1px solid var(--grey);border-radius:8px;margin-bottom:16px;padding:16px}.strava-card{border-left:4px solid #fc4c02}.garmin-card{border-left:4px solid #0077c8}.connect-title{align-items:center;color:#000;color:var(--primary);display:flex;font-family:Ubuntu,serif;font-size:1.125rem;font-weight:700;margin:0}.connect-icon{height:24px;margin-right:8px;width:24px}.connect-description{color:#222;color:var(--text);margin:8px 0 12px}.btn-strava{background-color:#c6b15c;background-color:var(--secondary);border:none;color:#fff;color:var(--white)}.btn-strava:hover{background-color:#000;background-color:var(--primary)}.btn-garmin{background-color:#c6b15c;background-color:var(--secondary);border:none;color:#fff;color:var(--white)}.btn-garmin:hover{background-color:#000;background-color:var(--primary)}.subscription-banner{background:#000;background:var(--primary);border-left:6px solid #c6b15c;border-left:6px solid var(--secondary);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;color:var(--white);margin-top:24px;padding:24px}.subscription-container{align-items:center;display:flex;flex-direction:column;justify-content:space-between}@media (min-width:768px){.subscription-container{flex-direction:row}}.subscription-title{font-family:Ubuntu,serif;font-size:1.25rem;font-weight:700;margin:0}.subscription-text{color:#c6b15c;color:var(--secondary);margin-bottom:0;margin-top:4px}.subscription-button{background-color:#c6b15c;background-color:var(--accent);border:none;border-radius:8px;color:#fff;color:var(--white);cursor:pointer;font-family:Ubuntu,serif;font-weight:700;letter-spacing:.5px;margin-top:16px;padding:8px 24px;text-transform:uppercase;transition:all .2s}.subscription-button:hover{background-color:#fff;background-color:var(--white);color:#000;color:var(--primary)}@media (min-width:768px){.subscription-button{margin-top:0}}.loading-container{align-items:center;display:flex;height:100vh;justify-content:center}.loading-text{animation:pulse 2s infinite;border-bottom:3px solid #c6b15c;border-bottom:3px solid var(--accent);color:#000;color:var(--primary);font-family:Ubuntu,serif;font-size:1.25rem;font-weight:700;padding-bottom:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.card-icon svg,.stat-icon svg{stroke:currentColor;stroke-width:2}.recaptcha-container{align-items:center;display:flex;flex-direction:column;margin:20px 0}.captcha-error{color:#e74c3c;font-size:14px;margin-top:8px;text-align:center}.auth-divider{margin:20px 0;position:relative;text-align:center}.auth-divider:after,.auth-divider:before{background-color:#e0e0e0;content:"";height:1px;position:absolute;top:50%;width:40%}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background-color:#fff;color:#757575;display:inline-block;font-size:14px;padding:0 10px;position:relative}.react-apple-signin-auth-btn{width:100%}.google-signin-button{align-items:center;background-color:#fff;border:1px solid #dadce0;border-radius:4px;color:#3c4043;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:center;margin-bottom:10px;padding:12px 16px;transition:background-color .2s,box-shadow .2s;width:100%}.google-signin-button:hover{background-color:#f8f9fa;box-shadow:0 1px 2px #3c40431a}.google-signin-button:active{background-color:#f1f3f4}.google-icon{height:18px;margin-right:8px;width:18px}.auth-error{background-color:#ffebee;border-left:4px solid #e74c3c;border-radius:4px;color:#c0392b;margin-bottom:20px;padding:12px}.feedback-container{bottom:10px;position:fixed;right:10px;z-index:1000}.feedback-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.feedback-button:hover{background-color:#0056b3}.feedback-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}.feedback-name-input{font-size:14px}.feedback-name-input,.feedback-textarea{border:1px solid #ccc;border-radius:5px;padding:10px;width:200px}.feedback-textarea{font-family:inherit;height:100px;resize:vertical}.feedback-submit-button{background-color:#28a745;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.feedback-submit-button:hover{background-color:#1e7e34}.feedback-submit-button:disabled{background-color:#6c757d;cursor:not-allowed}
/*# sourceMappingURL=main.53aa9ed7.css.map*/