.loading-state,.error-state{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-lg)}.spinner{border:4px solid rgba(0,0,0,.1);border-left-color:var(--color-accent);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:var(--space-md)}@keyframes spin{to{transform:rotate(360deg)}}.error-state h2{color:var(--flag-red);margin-bottom:var(--space-md)}.coach-container{min-height:100vh;padding:var(--space-md) 0}.coach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.coach-header>div{text-align:left}.coach-header h1{margin-bottom:.25rem}.subtitle{font-size:1.2rem;color:var(--color-text-light)}.btn-manage-matches{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--flag-blue),var(--color-accent));color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-manage-matches:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0056a766}.match-review-banner{background:linear-gradient(135deg,#0056a71a,#0087441a);border:2px solid var(--flag-blue);border-radius:12px;padding:var(--space-md);margin-bottom:var(--space-lg)}.match-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.match-review-header h3{margin:0;font-size:1.3rem;color:var(--color-text)}.suggestion-count{background:var(--flag-blue);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.match-review-subtitle{font-size:.9rem;color:var(--color-text-light);margin:0 0 var(--space-md) 0}.suggestions-list{display:flex;flex-direction:column;gap:var(--space-md)}.suggestion-card{background:var(--color-card-bg);border-radius:8px;padding:var(--space-md);border:1px solid rgba(255,255,255,.1)}.suggestion-content{display:grid;grid-template-columns:1fr auto 1fr auto;gap:var(--space-md);align-items:center;margin-bottom:var(--space-sm)}.suggestion-activity,.suggestion-workout{display:flex;gap:var(--space-sm);align-items:center}.activity-icon,.workout-icon{font-size:2rem}.activity-details,.workout-details{flex:1}.activity-name,.workout-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.activity-meta,.workout-meta{font-size:.85rem;color:var(--color-text-light)}.suggestion-arrow{font-size:1.5rem;color:var(--flag-blue);font-weight:700}.suggestion-confidence{text-align:center}.confidence-score{font-size:1.5rem;font-weight:700;color:var(--color-accent)}.confidence-label{font-size:.75rem;text-transform:uppercase;color:var(--color-text-light)}.suggestion-reason{font-size:.9rem;color:var(--color-text-light);padding:var(--space-sm);background:#0000001a;border-radius:4px;margin-bottom:var(--space-sm);font-style:italic}.suggestion-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.btn-accept,.btn-reject{padding:.5rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-accept{background:var(--flag-green);color:#fff}.btn-accept:hover:not(:disabled){background:#006f44;transform:translateY(-1px)}.btn-reject{background:#ffffff1a;color:var(--color-text);border:1px solid rgba(255,255,255,.2)}.btn-reject:hover:not(:disabled){background:#fff3;transform:translateY(-1px)}.btn-accept:disabled,.btn-reject:disabled{opacity:.5;cursor:wait}.today-workout{background:var(--color-card-bg);border-radius:12px;padding:var(--space-md);margin-bottom:var(--space-lg);box-shadow:0 4px 6px -1px #0000001a}.completion-banner{display:flex;gap:var(--space-md);align-items:center;background:linear-gradient(135deg,#00874426,#0056a71a);border:2px solid var(--flag-green);border-radius:8px;padding:var(--space-md);margin-bottom:var(--space-md)}.completion-icon{font-size:3rem;color:var(--flag-green);line-height:1}.completion-details{flex:1}.completion-label{font-size:.8rem;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.25rem}.completion-activity-name{font-size:1.2rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.completion-stats{display:flex;gap:var(--space-sm);font-size:.9rem;color:var(--color-text-light);margin-bottom:.5rem}.completion-match-info{font-size:.85rem;color:var(--color-accent);font-weight:600}.completion-check{position:absolute;top:.25rem;right:.25rem;background:var(--flag-green);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;box-shadow:0 2px 4px #0087444d}.workout-mini-card{position:relative}.completed-activity-card{background:linear-gradient(135deg,#0087441a,#0056a70d);border:2px solid var(--flag-green);border-radius:8px;padding:var(--space-md);margin-top:var(--space-sm)}.completed-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.1)}.completed-activity-name{font-size:1.2rem;font-weight:700;color:var(--color-text)}.completed-activity-date{font-size:.9rem;color:var(--color-text-light)}.match-quality-badge{background:#0003;border-radius:6px;padding:var(--space-sm);margin-top:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;color:var(--color-text)}.match-method-badge{background:var(--color-accent);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;margin-left:auto}.workout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.workout-status{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase}.status-planned{background:var(--flag-blue);color:#fff}.status-completed{background:var(--flag-green);color:#fff}.workout-details{display:flex;flex-direction:column;gap:var(--space-md)}.workout-main h3{margin-bottom:var(--space-xs)}.description{color:var(--color-text-light);line-height:1.6}.workout-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md)}.metric{display:flex;flex-direction:column}.metric .value{font-size:1.5rem;font-weight:700;color:var(--color-accent)}.metric .label{font-size:.8rem;text-transform:uppercase;color:var(--color-text-light)}.hr-zone .value{color:var(--flag-red)}.btn-detail{margin-top:var(--space-sm);padding:.75rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-detail:hover{opacity:.9}.upcoming-weeks{margin-bottom:var(--space-lg)}.week-card{background:var(--color-card-bg);border-radius:12px;padding:var(--space-md);margin-bottom:var(--space-md);border:2px solid transparent}.week-card.current-week{border-color:var(--flag-blue);background:#0056a70d}.week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(0,0,0,.1)}.week-header h3{margin:0;font-size:1.3rem}.week-phase{font-size:.9rem;color:var(--color-text-light);margin:0}.week-targets-compact{display:flex;gap:.5rem;font-size:.9rem;color:var(--color-text-light)}.week-workouts-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-md)}.workout-mini-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:var(--space-md);display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s;color:var(--color-text);min-height:140px;justify-content:center}.workout-mini-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0056a74d;border-color:var(--flag-blue)}.workout-mini-card.today{border-color:var(--flag-blue);background:#0056a726;box-shadow:0 0 20px #0056a766}.workout-mini-card.completed{background:#00874426;border-color:var(--flag-green)}.day-label{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--color-text);letter-spacing:.5px;opacity:.7}.workout-icon-mini{font-size:2.5rem;margin:.25rem 0}.workout-name-mini{font-size:.8rem;text-align:center;text-transform:capitalize;color:var(--color-text);font-weight:600;line-height:1.2}.workout-stat-mini{font-size:.75rem;color:var(--color-text);opacity:.9;font-weight:500}.recent-activities{margin-bottom:var(--space-lg)}.activities-list{display:flex;flex-direction:column;gap:var(--space-sm)}.activity-item{background:var(--color-card-bg);border-radius:8px;padding:var(--space-sm)}.activity-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.activity-name{font-weight:600}.activity-date,.activity-stats{font-size:.9rem;color:var(--color-text-light)}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000b3;backdrop-filter:blur(4px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-card-bg);margin:2% auto;padding:0;border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0006;animation:slideDown .3s ease;position:relative}@keyframes slideDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:var(--color-text);font-size:2rem;font-weight:300;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10;line-height:1}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal-body{padding:var(--space-lg);max-height:85vh;overflow-y:auto}.modal-header{text-align:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid rgba(255,255,255,.1)}.modal-header h2{margin:0 0 .5rem;font-size:1.8rem;color:var(--color-accent)}.modal-date{font-size:1rem;color:var(--color-text-light);margin:0}.modal-section{margin-bottom:var(--space-lg)}.modal-section h3{margin:0 0 var(--space-md) 0;font-size:1.3rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.modal-section p{line-height:1.6;color:var(--color-text-light);margin:0}.modal-section ul{margin:0;padding-left:1.5rem;list-style-type:none}.modal-section ul li{position:relative;padding-left:1.5rem;margin-bottom:var(--space-sm);line-height:1.6;color:var(--color-text-light)}.modal-section ul li:before{content:"→";position:absolute;left:0;color:var(--color-accent);font-weight:700}.mistakes-list li:before{content:"!";background:var(--flag-red);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);background:#0000001a;padding:var(--space-md);border-radius:8px}.detail-grid div{color:var(--color-text-light)}.detail-grid strong{color:var(--color-text);display:block;margin-bottom:.25rem}.coach-note{background:#0056a71a;border-left:4px solid var(--flag-blue);padding:var(--space-md);border-radius:8px}.coach-note p{margin:0;font-style:italic}.coach-note strong{color:var(--flag-blue);font-style:normal}.modal-overlay{position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000c;backdrop-filter:blur(4px);animation:fadeIn .3s ease}.modal-dialog{background:var(--color-card-bg);margin:2% auto;border-radius:16px;width:95%;max-width:1400px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideDown .3s ease;display:flex;flex-direction:column}.modal-dialog .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:2px solid rgba(255,255,255,.1)}.modal-dialog .modal-header h2{margin:0;font-size:1.5rem;color:var(--color-text)}.modal-close-btn{background:#ffffff1a;border:none;color:var(--color-text);font-size:2rem;font-weight:300;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.modal-close-btn:hover{background:#fff3;transform:rotate(90deg)}.modal-tabs{display:flex;border-bottom:2px solid rgba(255,255,255,.1);background:#0003}.tab-btn{flex:1;padding:var(--space-md);border:none;background:transparent;color:var(--color-text-light);font-weight:600;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent}.tab-btn:hover{background:#ffffff0d}.tab-btn.active{color:var(--flag-blue);border-bottom-color:var(--flag-blue);background:#0056a71a}.modal-dialog .modal-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.match-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}.selection-panel{background:#0003;border-radius:12px;padding:var(--space-md);min-height:400px}.selection-panel h3{margin:0 0 var(--space-md) 0;font-size:1.1rem;color:var(--color-text)}.deadline-note{font-size:.8rem;color:var(--color-text-light);font-weight:400;display:block;margin-top:.25rem}.workouts-list,.activities-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:500px;overflow-y:auto}.workout-card,.activity-card{background:var(--color-card-bg);border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:var(--space-sm);cursor:pointer;transition:all .2s;text-align:left}.workout-card:hover,.activity-card:hover{border-color:var(--flag-blue);transform:translate(4px)}.workout-card.selected,.activity-card.selected{border-color:var(--flag-blue);background:#0056a733;box-shadow:0 0 20px #0056a74d}.workout-card.matched{border-color:var(--flag-green);background:#0087441a}.workout-card.missed{border-color:var(--flag-red);background:#dc26261a;opacity:.7}.workout-card-header,.activity-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.5rem}.workout-icon,.activity-icon{font-size:2rem}.workout-info,.activity-info{flex:1}.workout-type,.activity-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.workout-date,.activity-date{font-size:.85rem;color:var(--color-text-light)}.workout-card-stats,.activity-card-stats{display:flex;gap:var(--space-sm);font-size:.85rem;color:var(--color-text-light)}.match-badge,.missed-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.5rem}.match-badge{background:var(--flag-green);color:#fff}.missed-badge{background:var(--flag-red);color:#fff}.match-score{text-align:center;margin-left:var(--space-sm)}.score-value{font-size:1.5rem;font-weight:700;color:var(--color-accent);line-height:1}.score-label{font-size:.7rem;text-transform:uppercase;color:var(--color-text-light)}.match-reasoning-panel{background:linear-gradient(135deg,#0056a71a,#0087441a);border:2px solid var(--flag-blue);border-radius:12px;padding:var(--space-md)}.match-reasoning-panel h3{margin:0 0 var(--space-md) 0;font-size:1.2rem;color:var(--color-text)}.reasoning-content{display:flex;flex-direction:column;gap:var(--space-md)}.overall-score{text-align:center;padding:var(--space-md)}.score-circle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--flag-blue),var(--flag-green));box-shadow:0 8px 24px #0056a74d}.score-number{font-size:2.5rem;font-weight:700;color:#fff;line-height:1}.score-text{font-size:.8rem;text-transform:uppercase;color:#ffffffe6;margin-top:.25rem}.score-breakdown{background:#0003;border-radius:8px;padding:var(--space-md)}.score-breakdown h4{margin:0 0 var(--space-sm) 0;font-size:1rem;color:var(--color-text)}.breakdown-item{margin-bottom:var(--space-sm)}.breakdown-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.breakdown-factor{font-weight:600;color:var(--color-text);font-size:.9rem}.breakdown-score{font-weight:700;color:var(--color-accent);font-size:.9rem}.breakdown-progress{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:.25rem}.breakdown-progress-bar{height:100%;background:linear-gradient(90deg,var(--flag-blue),var(--flag-green));transition:width .3s ease}.breakdown-reason{font-size:.8rem;color:var(--color-text-light);font-style:italic}.match-actions{text-align:center}.btn-match{padding:.75rem 2rem;background:var(--flag-green);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-match:hover:not(:disabled){background:#006f44;transform:translateY(-2px);box-shadow:0 4px 12px #00874466}.btn-match:disabled{opacity:.5;cursor:wait}.matched-workouts-list{display:flex;flex-direction:column;gap:var(--space-md)}.matched-pair-card{background:#0003;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:var(--space-md)}.matched-pair-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.1)}.matched-pair-header h4{margin:0;font-size:1.1rem;color:var(--color-text)}.match-confidence{font-size:.85rem;color:var(--color-text-light);background:#0056a733;padding:.25rem .75rem;border-radius:12px}.matched-pair-content{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-md);align-items:center;margin-bottom:var(--space-md)}.workout-details,.activity-details{display:flex;gap:var(--space-sm);align-items:center}.detail-icon{font-size:2.5rem}.detail-info{flex:1}.detail-title{font-size:.75rem;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.25rem}.detail-name{font-weight:600;color:var(--color-text);margin-bottom:.25rem}.detail-stats{display:flex;gap:var(--space-sm);font-size:.85rem;color:var(--color-text-light)}.match-arrow{font-size:1.5rem;color:var(--flag-blue);font-weight:700}.match-reasoning-compact{background:#0000004d;border-radius:8px;padding:var(--space-sm);margin-bottom:var(--space-sm)}.reasoning-score{font-weight:600;color:var(--color-accent);margin-bottom:.5rem}.reasoning-factors{display:flex;flex-wrap:wrap;gap:.5rem}.factor-chip{background:#ffffff1a;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;color:var(--color-text-light)}.unmatch-action{text-align:right}.btn-unmatch{padding:.5rem 1.5rem;background:#dc262633;color:var(--flag-red);border:1px solid var(--flag-red);border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-unmatch:hover:not(:disabled){background:#dc26264d;transform:translateY(-1px)}.btn-unmatch:disabled{opacity:.5;cursor:wait}.empty-state{text-align:center;padding:var(--space-lg);color:var(--color-text-light)}@media(max-width:768px){.suggestion-content{grid-template-columns:1fr;gap:var(--space-sm)}.suggestion-arrow{display:none}.suggestion-confidence{text-align:left;display:flex;gap:.5rem;align-items:center}.confidence-score{font-size:1.2rem}.suggestion-actions{flex-direction:column}.btn-accept,.btn-reject{width:100%}.modal-dialog{width:100%;margin:0;max-height:100vh;border-radius:0}.match-layout,.matched-pair-content{grid-template-columns:1fr}.match-arrow{display:none}.score-breakdown h4{font-size:.9rem}.breakdown-factor,.breakdown-score{font-size:.8rem}.completion-banner{flex-direction:column;text-align:center}.completion-stats{flex-wrap:wrap;justify-content:center}.completed-activity-header{flex-direction:column;text-align:center}.week-workouts-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.workout-mini-card{min-height:120px;padding:var(--space-sm)}.workout-icon-mini{font-size:2rem}.modal-content{width:95%;margin:1rem auto;max-height:95vh}.modal-body{padding:var(--space-md)}.modal-header h2{font-size:1.4rem}.detail-grid{grid-template-columns:1fr}}.today-workout-container{background:var(--color-card-bg);border-radius:12px;padding:var(--space-md);margin-bottom:var(--space-lg);box-shadow:0 4px 6px -1px #0000001a;border:1px solid rgba(255,255,255,.05)}.today-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.1)}.today-header h2{margin:0;font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.status-pill{padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-pill.planned{background:#0056a733;color:#60a5fa;border:1px solid rgba(0,86,167,.4)}.status-pill.completed{background:#00874433;color:#4ade80;border:1px solid rgba(0,135,68,.4)}.today-content{display:grid;gap:var(--space-lg)}.today-content.split-view{grid-template-columns:1fr 1fr}@media(max-width:768px){.today-content.split-view{grid-template-columns:1fr}}.workout-plan-card,.workout-actual-card{display:flex;flex-direction:column;gap:var(--space-md);height:100%}.workout-actual-card{position:relative;background:#0087440d;border-radius:12px;padding:var(--space-md);border:1px dashed rgba(0,135,68,.3)}.card-header h3{font-size:1.2rem;margin:0 0 .25rem;color:var(--color-text)}.workout-desc{color:var(--color-text-light);font-size:.95rem;line-height:1.5;margin:0}.activity-name-display{font-weight:600;color:var(--color-accent);font-size:1rem;margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-top:auto}.metric-item{background:#0003;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;align-items:center;text-align:center}.metric-item.full-width{grid-column:1 / -1;background:transparent;padding:0;margin-top:.5rem}.metric-value{font-size:1.25rem;font-weight:700;color:var(--color-text)}.metric-label{font-size:.75rem;text-transform:uppercase;color:var(--color-text-light);margin-top:.25rem}.btn-tips{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:var(--space-sm)}.btn-tips:hover{background:#ffffff1a}.match-info{font-size:.85rem;color:var(--color-text-light);background:#0003;padding:4px 12px;border-radius:12px}.success-badge{position:absolute;top:-10px;right:-10px;background:var(--flag-green);color:#fff;padding:.35rem .85rem;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:.25rem;font-weight:700;box-shadow:0 4px 8px #0003;font-size:.8rem;white-space:nowrap;z-index:2}
