[data-supabase-auth-ui] button[type=submit]{font-weight:500}[data-supabase-auth-ui] a{color:var(--primary-color)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--secondary-color: #6b7280;--success-color: #10b981;--success-bg: #d1fae5;--warning-color: #f59e0b;--warning-bg: #fef3c7;--danger-color: #ef4444;--background: #f3f4f6;--card-bg: #ffffff;--text-primary: #111827;--text-secondary: #6b7280;--border-color: #e5e7eb;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--radius: 12px;--radius-sm: 8px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:var(--card-bg);border-radius:var(--radius);padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.auth-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:8px;color:var(--text-primary)}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px}.auth-tabs{display:flex;margin-bottom:24px;border-radius:var(--radius-sm);background:#f3f4f6;padding:4px}.auth-tab{flex:1;padding:12px 16px;border:none;background:transparent;font-size:.95rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .2s}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:var(--card-bg);color:var(--primary-color);box-shadow:var(--shadow)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form-group{display:flex;flex-direction:column;gap:6px}.auth-form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.auth-form-group input{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;transition:all .2s}.auth-form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.auth-btn{margin-top:8px;padding:14px 24px;font-size:1rem}.btn-link{background:none;border:none;color:var(--primary-color);font-size:.875rem;cursor:pointer;padding:0;text-align:center}.btn-link:hover{text-decoration:underline}.forgot-password{margin-top:8px}.auth-divider{display:flex;align-items:center;margin:24px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-divider span{padding:0 16px;color:var(--text-secondary);font-size:.875rem}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-google:hover{background:#f9fafb;box-shadow:var(--shadow)}.google-icon{flex-shrink:0}.auth-message{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.875rem;text-align:center}.auth-message.error{background:#fef2f2;color:var(--danger-color);border:1px solid #fecaca}.auth-message.success{background:var(--success-bg);color:var(--success-color);border:1px solid #a7f3d0}.auth-message.info{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border-color);border-radius:50px;background:var(--card-bg);cursor:pointer;transition:all .2s}.user-menu-btn:hover{background:#f9fafb;box-shadow:var(--shadow)}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--primary-color)}.user-name{font-size:.875rem;font-weight:500;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-arrow{font-size:.75rem;color:var(--text-secondary)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1000;overflow:hidden}.user-dropdown-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:#f9fafb}.dropdown-email{font-size:.875rem;color:var(--text-secondary);word-break:break-all}.dropdown-item{display:block;width:100%;padding:12px 16px;border:none;background:none;text-align:left;font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:background .2s}.dropdown-item:hover{background:#f3f4f6}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--background)}.auth-loading .loading-spinner{width:40px;height:40px;border-width:3px}.auth-loading p{margin-top:16px;color:var(--text-secondary)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6;min-height:100vh}.app-container{max-width:800px;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;height:100vh}.app-container>.main-content{flex:1;min-height:0;overflow-y:auto}.app-header{padding:20px 0;position:sticky;top:0;background:var(--background);z-index:100}.app-header h1{font-size:1.75rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.nav-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.nav-tab{padding:10px 20px;border:none;background:var(--card-bg);color:var(--text-secondary);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.nav-tab:hover{background:#e5e7eb}.nav-tab.active{background:var(--primary-color);color:#fff}.main-content{padding:20px 0}.tab-content{display:none}.tab-content.active{display:block}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.section-header h2{font-size:1.5rem;font-weight:600}.workout-date{color:var(--text-secondary);font-size:.9rem;display:block}.week-indicator{display:inline-block;background:var(--primary-color);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:4px;margin-top:4px}.workout-timer{background:var(--card-bg);padding:8px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow)}.timer-label{font-size:.8rem;color:var(--text-secondary)}.timer-value{font-weight:600;color:var(--primary-color)}.btn{padding:12px 24px;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:#f9fafb}.btn-small{padding:6px 12px;font-size:.8rem}.message-card{background:var(--card-bg);padding:32px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow)}.message-card h3{margin-bottom:8px;font-size:1.25rem}.message-card p{color:var(--text-secondary);margin-bottom:16px}.message-card.success{background:var(--success-bg);border:1px solid var(--success-color)}.message-card.success h3{color:var(--success-color)}.hidden{display:none!important}.workout-list{display:flex;flex-direction:column;gap:12px}.exercise-card{background:var(--card-bg);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:all .2s ease;border:2px solid transparent}.exercise-card.completed{background:var(--success-bg);border-color:var(--success-color)}.exercise-card.in-progress{border-color:var(--warning-color);background:var(--warning-bg)}.exercise-header{display:flex;align-items:flex-start;gap:12px}.exercise-checkbox{width:28px;height:28px;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;margin-top:2px}.exercise-checkbox:hover{border-color:var(--primary-color);background:#f0f0ff}.exercise-checkbox.checked{background:var(--success-color);border-color:var(--success-color)}.exercise-checkbox.checked:after{content:"✓";color:#fff;font-size:16px;font-weight:700}.exercise-info{flex:1}.exercise-name{font-weight:600;font-size:1rem;margin-bottom:4px}.exercise-card.completed .exercise-name{text-decoration:line-through;color:var(--text-secondary)}.exercise-details{color:var(--text-secondary);font-size:.875rem;margin-bottom:4px}.exercise-rest{color:var(--text-secondary);font-size:.75rem;font-style:italic}.exercise-muscle{display:inline-block;background:#e5e7eb;padding:2px 8px;border-radius:4px;font-size:.75rem;margin-top:8px;text-transform:capitalize}.progression-badge{display:inline-block;background:var(--primary-color);color:#fff;font-size:.65rem;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:400;vertical-align:middle}details.exercise-instructions{margin-top:12px;padding:12px;background:#f9fafb;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer}details.exercise-instructions summary{font-weight:500;color:var(--primary-color);padding:4px 0;-webkit-user-select:none;user-select:none}details.exercise-instructions summary:hover{text-decoration:underline}details.exercise-instructions p{margin-top:8px;color:var(--text-secondary);line-height:1.5}.exercise-tips{margin-top:8px;padding-left:20px;color:var(--text-secondary)}.exercise-tips li{margin-bottom:4px}.video-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:#ef4444;color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;transition:background .2s}.video-link:hover{background:#dc2626}.video-link:before{content:"▶";font-size:.75rem}.exercise-weight{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#f9fafb;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.exercise-weight:hover{background:#e5e7eb}.weight-icon{font-size:1rem}.weight-value{font-weight:600;color:var(--primary-color)}.weight-edit-hint{font-size:.7rem;color:var(--text-secondary);margin-left:auto}.set-tracker{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}.set-tracker-label{font-size:.8rem;color:var(--text-secondary);margin-right:4px}.set-btn{width:40px;height:40px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.set-btn:hover{border-color:var(--primary-color);background:#f0f0ff}.set-btn.completed{background:var(--success-color);border-color:var(--success-color);color:#fff}.set-progress{font-size:.85rem;color:var(--text-secondary);margin-left:8px}.calendar-container{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.calendar-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.calendar-nav h3{min-width:180px;text-align:center;font-size:1.2rem}.btn-icon{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.calendar-grid{margin-bottom:16px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-header span{text-align:center;font-weight:600;font-size:.8rem;color:var(--text-secondary);padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;min-height:60px;border-radius:var(--radius-sm);background:#f9fafb;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;position:relative;padding:4px}.calendar-day:hover{background:#e5e7eb;transform:scale(1.02)}.calendar-day.other-month{opacity:.4}.calendar-day.today{border:2px solid var(--primary-color);font-weight:600}.calendar-day.completed{background:var(--success-bg)}.calendar-day.partial{background:var(--warning-bg)}.calendar-day.rest{background:#fef3c7}.calendar-day.planned{background:#e0e7ff}.calendar-day-number{font-size:1rem;font-weight:500;margin-bottom:2px}.calendar-day-label{font-size:.6rem;color:var(--text-secondary);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.completed .calendar-day-label{color:var(--success-color)}.calendar-day-indicator{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%}.calendar-day.completed .calendar-day-indicator{background:var(--success-color)}.calendar-day.partial .calendar-day-indicator{background:var(--warning-color)}.calendar-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:50%;background:#e5e7eb}.legend-dot.completed{background:var(--success-bg);border:2px solid var(--success-color)}.legend-dot.partial{background:var(--warning-bg);border:2px solid var(--warning-color)}.legend-dot.rest{background:#fef3c7;border:2px solid #f59e0b}.legend-dot.planned{background:#e0e7ff;border:2px solid var(--primary-color)}.modal-large{max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:#f3f4f6}.day-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.day-detail-badge{font-size:.8rem;padding:4px 12px;border-radius:4px;background:#e5e7eb}.day-detail-badge.completed{background:var(--success-bg);color:var(--success-color)}.day-detail-badge.rest{background:#fef3c7;color:#92400e}.day-detail-exercises{display:flex;flex-direction:column;gap:12px}.day-detail-exercise{background:#f9fafb;padding:12px;border-radius:var(--radius-sm)}.day-detail-exercise.completed{background:var(--success-bg)}.day-detail-exercise-name{font-weight:600;margin-bottom:4px}.day-detail-exercise-info{font-size:.875rem;color:var(--text-secondary)}.day-detail-exercise-weight{font-size:.875rem;color:var(--primary-color);font-weight:500;margin-top:4px}.day-badge{font-size:.75rem;padding:4px 8px;border-radius:4px;background:#e5e7eb;color:var(--text-secondary)}.day-badge.rest{background:#fef3c7;color:#92400e}.day-badge.today{background:var(--primary-color);color:#fff}.day-badge.done{background:var(--success-color);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--card-bg);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow)}.stat-icon{font-size:1.5rem;margin-bottom:8px}.stat-value{font-size:1.75rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.progress-section{background:var(--card-bg);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.progress-section h3{font-size:1rem;margin-bottom:16px;color:var(--text-primary)}.week-overview{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day{text-align:center;padding:12px 8px;border-radius:var(--radius-sm);background:#f9fafb;cursor:pointer;transition:all .2s}.week-day:hover{background:#e5e7eb}.week-day.completed{background:var(--success-bg)}.week-day.today{border:2px solid var(--primary-color)}.week-day.partial{background:var(--warning-bg)}.week-day-name{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.week-day-status{font-size:1.25rem}.weight-progress-list{display:flex;flex-direction:column;gap:12px}.weight-progress-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border-radius:var(--radius-sm)}.weight-progress-exercise{font-weight:500}.weight-progress-value{display:flex;align-items:center;gap:8px}.weight-progress-current{font-weight:600;color:var(--primary-color)}.weight-progress-change{font-size:.8rem;padding:2px 6px;border-radius:4px}.weight-progress-change.up{background:var(--success-bg);color:var(--success-color)}.weight-progress-change.down{background:#fef2f2;color:var(--danger-color)}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.activity-item:last-child{border-bottom:none}.activity-date{font-weight:500}.activity-workout{color:var(--text-secondary);font-size:.875rem}.activity-status{font-size:.875rem;padding:4px 8px;border-radius:4px}.activity-status.complete{background:var(--success-bg);color:var(--success-color)}.activity-status.partial{background:#fef3c7;color:#92400e}.profile-form{background:var(--card-bg);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.form-group{margin-bottom:20px}.form-group>label{display:block;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.form-group select{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;background:var(--card-bg);color:var(--text-primary);cursor:pointer}.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checkbox-label{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:2px solid transparent}.checkbox-label:hover{background:#e5e7eb}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:22px;height:22px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.checkbox-label input[type=checkbox]:checked~.checkbox-text{font-weight:600}.checkbox-label:has(input[type=checkbox]:checked){border-color:var(--primary-color);background:#f0f0ff}.checkbox-text{font-size:.95rem}.form-actions{margin-top:24px}.form-actions .btn{width:100%}.current-profile{margin-top:24px;background:var(--card-bg);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.current-profile h3{margin-bottom:16px;font-size:1rem}.profile-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.profile-item{padding:12px;background:#f9fafb;border-radius:var(--radius-sm)}.profile-label{font-size:.75rem;color:var(--text-secondary);display:block;margin-bottom:4px}#reset-data{width:100%;color:var(--danger-color);border-color:var(--danger-color)}#reset-data:hover{background:#fef2f2}.modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:var(--radius);padding:24px;width:100%;max-width:400px;box-shadow:var(--shadow-md)}.modal-content h3{margin-bottom:16px}.modal-body{margin-bottom:20px}.modal-body p{color:var(--text-secondary);margin-bottom:16px}.weight-input-group{display:flex;align-items:center;justify-content:center;gap:12px}.weight-adjust{width:44px;height:44px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#f9fafb;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.weight-adjust:hover{background:#e5e7eb}#weight-input{width:80px;height:44px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1.25rem;font-weight:600;text-align:center}#weight-input:focus{outline:none;border-color:var(--primary-color)}.weight-unit{font-size:1rem;color:var(--text-secondary)}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1}@media(max-width:600px){.auth-card{padding:24px;margin:10px}.auth-title{font-size:1.5rem}.user-name{display:none}.user-menu-btn{padding:6px}.header-top{margin-bottom:12px}.stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card{padding:16px 8px}.stat-value{font-size:1.5rem}.week-overview{gap:4px}.week-day{padding:8px 4px}.profile-summary,.checkbox-group{grid-template-columns:1fr}.nav-tabs{gap:4px}.nav-tab{padding:8px 12px;font-size:.85rem}.section-header{flex-direction:column;align-items:stretch}.workout-timer{text-align:center}.calendar-container{padding:12px}.calendar-nav{gap:8px;flex-wrap:wrap}.calendar-nav h3{min-width:140px;font-size:1rem}.calendar-day{min-height:50px;padding:2px}.calendar-day-number{font-size:.85rem}.calendar-day-label{font-size:.5rem}.calendar-header span{font-size:.7rem}.calendar-legend{gap:10px;font-size:.7rem}.legend-dot{width:10px;height:10px}.modal-large{max-height:90vh;margin:10px}}.coach-container{display:flex;flex-direction:column;height:calc(100% + 40px);margin:-20px 0;min-height:0;overflow:hidden}.coach-header-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-color);background:var(--card-bg);flex-shrink:0;gap:12px}.coach-header-left{display:flex;align-items:center;gap:8px}.coach-sidebar-toggle{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:6px 10px;font-size:1.1rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.coach-sidebar-toggle:hover{background:#f3f4f6;color:var(--text-primary)}.coach-usage-display{display:flex;align-items:center;gap:8px}.coach-usage-text{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.coach-usage-warning{color:var(--warning-color);font-weight:600}.coach-usage-bar{width:60px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.coach-usage-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s}.coach-usage-fill-warning{background:var(--warning-color)}.coach-usage-fill-limit{background:var(--danger-color)}.coach-body{flex:1;display:flex;min-height:0;overflow:hidden;position:relative}.coach-sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border-color);background:#f9fafb;overflow-y:auto;display:none}.coach-sidebar-open{display:block}.session-list{padding:8px 0}.session-group{margin-bottom:4px}.session-group-label{padding:6px 12px 4px;font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.session-item{display:flex;align-items:center;padding:8px 12px;cursor:pointer;transition:background .15s;gap:4px}.session-item:hover{background:#e5e7eb}.session-item-active{background:#e0e7ff}.session-item-active:hover{background:#c7d2fe}.session-item-content{flex:1;min-width:0}.session-item-title{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.session-item-time{font-size:.7rem;color:var(--text-secondary)}.session-delete-btn{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:0;transition:all .15s}.session-item:hover .session-delete-btn{opacity:1}.session-delete-btn:hover{background:#fee2e2;color:var(--danger-color)}.session-delete-confirm{opacity:1!important;background:var(--danger-color)!important;color:#fff!important;font-size:.75rem;font-weight:600}.session-list-empty{padding:20px 12px;text-align:center;font-size:.8125rem;color:var(--text-secondary)}.coach-chat-area{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.coach-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.coach-welcome-icon{width:64px;height:64px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;margin-bottom:16px}.coach-welcome h2{font-size:1.5rem;margin-bottom:8px;color:var(--text-primary)}.coach-welcome p{color:var(--text-secondary);margin-bottom:24px;max-width:400px}.coach-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:500px}.coach-suggestion-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.coach-suggestion-chip:hover{border-color:var(--primary-color);color:var(--primary-color);background:#f0f0ff}.coach-suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-message{display:flex;flex-direction:column;max-width:85%}.chat-message-user{align-self:flex-end;align-items:flex-end}.chat-message-assistant{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:10px 14px;border-radius:var(--radius);font-size:.9375rem;line-height:1.5;word-break:break-word}.chat-bubble-user{background:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.chat-bubble-assistant{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px;box-shadow:var(--shadow)}.chat-content p{margin:0 0 8px}.chat-content p:last-child{margin-bottom:0}.chat-content li{margin-left:16px;margin-bottom:4px}.chat-content strong{font-weight:600}.chat-content code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:.875rem}.chat-typing{display:flex;gap:4px;padding:14px 18px}.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);opacity:.4;animation:typingDot 1.4s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.4;transform:scale(1)}30%{opacity:1;transform:scale(1.2)}}.action-badges{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.action-badge{font-size:.75rem;padding:2px 8px;border-radius:10px;font-weight:500}.action-badge-success{background:var(--success-bg);color:#065f46}.action-badge-error{background:#fee2e2;color:#991b1b}.coach-error{padding:8px 16px;font-size:.8125rem;color:var(--danger-color);text-align:center;flex-shrink:0}.chat-input-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--card-bg);flex-shrink:0}.chat-input-disabled{justify-content:center;align-items:center}.chat-input-disabled-text{font-size:.875rem;color:var(--text-secondary)}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:20px;font-size:.9375rem;outline:none;transition:border-color .2s}.chat-input:focus{border-color:var(--primary-color)}.chat-send-btn{padding:10px 20px;border:none;border-radius:20px;background:var(--primary-color);color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .2s}.chat-send-btn:hover:not(:disabled){background:var(--primary-hover)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(min-width:641px){.coach-sidebar-open{display:block}}@media(max-width:640px){.coach-sidebar{position:absolute;top:0;left:0;bottom:0;z-index:10;width:260px;box-shadow:var(--shadow-md)}.chat-message{max-width:90%}.coach-suggestions{flex-direction:column;align-items:center}.coach-usage-bar{width:40px}}.support-modal{text-align:center;padding:8px 0}.support-modal-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.support-modal-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:20px}.support-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.support-amount-btn{padding:12px 0;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);font-size:1.05rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .15s}.support-amount-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.support-amount-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.support-custom{margin-bottom:16px;text-align:left}.support-custom-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.support-custom-input-wrap{display:flex;align-items:center;border:2px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.support-currency{padding:10px 12px;background:var(--background);color:var(--text-secondary);font-weight:600;font-size:1rem}.support-custom-input{flex:1;border:none;outline:none;padding:10px 12px;font-size:1rem;color:var(--text-primary);background:var(--card-bg)}.support-error{color:var(--danger-color);font-size:.85rem;margin-bottom:12px}.support-donate-btn{width:100%;padding:14px;border:none;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;transition:background .15s}.support-donate-btn:hover:not(:disabled){background:var(--primary-hover)}.support-donate-btn:disabled{opacity:.6;cursor:not-allowed}.support-footer{margin-top:12px;font-size:.8rem;color:var(--text-secondary)}.donation-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--success-color);color:#fff;padding:12px 40px 12px 20px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;box-shadow:var(--shadow-md);z-index:10000;animation:slideDown .3s ease}.donation-toast-close{position:absolute;top:50%;right:12px;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.coach-usage-tooltip-wrapper{position:relative}.coach-usage-tooltip{display:none;position:absolute;top:100%;right:0;margin-top:6px;background:var(--text-primary);color:#fff;padding:8px 12px;border-radius:var(--radius-sm);font-size:.78rem;line-height:1.4;white-space:nowrap;z-index:100;box-shadow:var(--shadow-md)}.coach-usage-tooltip-wrapper:hover .coach-usage-tooltip{display:block}.exercise-picker-search{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;margin-bottom:12px;outline:none}.exercise-picker-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e526}.exercise-picker-categories{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.exercise-picker-chip{padding:5px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--card-bg);font-size:.85rem;cursor:pointer;color:var(--text-secondary);transition:all .15s}.exercise-picker-chip.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.exercise-picker-list{max-height:340px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:12px}.exercise-picker-row{display:block;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;transition:background .1s}.exercise-picker-row:last-child{border-bottom:none}.exercise-picker-row:hover{background:#f9fafb}.exercise-picker-row-name{font-weight:500;margin-bottom:4px;color:var(--text-primary)}.exercise-picker-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.exercise-picker-badge{font-size:.72rem;padding:1px 7px;border-radius:10px;font-weight:500;text-transform:capitalize}.exercise-picker-badge.muscle{background:#dbeafe;color:#1e40af}.exercise-picker-badge.equipment{background:#e5e7eb;color:var(--text-secondary)}.exercise-picker-detail{font-size:.78rem;color:var(--text-secondary)}.exercise-picker-custom-btn{width:100%}.day-detail-header{display:flex;align-items:center;justify-content:space-between}.day-detail-header-actions{display:flex;align-items:center;gap:8px}.day-detail-exercise-top{display:flex;align-items:center;justify-content:space-between}.day-detail-edit-btns{display:flex;gap:4px}.btn-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);cursor:pointer;font-size:.9rem;color:var(--text-secondary);transition:all .15s}.btn-icon:hover{background:#f3f4f6;color:var(--text-primary)}.btn-icon.danger{color:var(--danger-color);border-color:var(--danger-color)}.btn-icon.danger:hover{background:#fef2f2}.btn-icon:disabled{opacity:.35;cursor:default}.custom-badge{font-size:.7rem;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:500}.day-detail-edit-footer{margin-top:16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.day-detail-edit-actions{display:flex;gap:8px}.custom-exercise-form{display:flex;flex-direction:column;gap:14px}.custom-exercise-form .form-group{display:flex;flex-direction:column;gap:4px}.custom-exercise-form .form-group label{font-weight:500;font-size:.9rem}.custom-exercise-form .form-group input,.custom-exercise-form .form-group select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem}.custom-exercise-form .form-row{display:flex;gap:12px}.custom-exercise-form .form-row .form-group{flex:1}.custom-exercise-form .checkbox-label{flex-direction:row;align-items:center;gap:8px;display:flex;cursor:pointer}.custom-exercise-form .form-actions{display:flex;gap:8px;justify-content:flex-end}.equipment-selector{margin-bottom:16px;padding:12px 16px;background:var(--card-bg);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.equipment-selector-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.equipment-selector-chips{display:flex;gap:6px;flex-wrap:wrap}.equipment-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border-color);background:var(--card-bg);font-size:.85rem;cursor:pointer;color:var(--text-secondary);transition:all .15s}.equipment-chip.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.equipment-chip.scan{border-style:dashed;color:var(--primary-color)}.equipment-chip.scan:hover{background:#f0f0ff}.equipment-chip:disabled{opacity:.5;cursor:default}.equipment-scan-result{margin-top:8px;font-size:.82rem;color:var(--success-color)}.equipment-scan-error{margin-top:8px;font-size:.82rem;color:var(--danger-color)}.exercise-substituted{display:block;font-size:.75rem;color:var(--warning-color);font-style:italic;margin-top:2px}.nutrition-section{margin-top:20px;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.nutrition-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:none;border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:var(--text-primary)}.nutrition-toggle{font-size:.7rem;color:var(--text-secondary)}.nutrition-body{padding:0 16px 16px}.nutrition-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.nutrition-macro{text-align:center;padding:10px 6px;border-radius:var(--radius-sm);background:#f3f4f6}.nutrition-macro.protein{background:#dbeafe}.nutrition-macro.carbs{background:#fef3c7}.nutrition-macro.fat{background:#fce7f3}.nutrition-macro-value{display:block;font-size:1.15rem;font-weight:700;color:var(--text-primary)}.nutrition-macro-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.nutrition-equivalents{margin-bottom:12px}.nutrition-equivalents-title{font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.nutrition-food-list{display:flex;flex-direction:column;gap:4px}.nutrition-food-item{font-size:.82rem;color:var(--text-secondary);padding:3px 0}.nutrition-food-item:before{content:"•";color:var(--primary-color)}.nutrition-disclaimer{font-size:.78rem;color:var(--text-secondary);font-style:italic;margin-top:8px}.coach-me-btn{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 10px;font-size:.72rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#00b4d8,#0077b6);border:none;border-radius:12px;cursor:pointer;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;transition:opacity .2s}.coach-me-btn:hover{opacity:.85}.realtime-loading-overlay{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:center;background:#000000e6;color:#fff;font-size:1.2rem;font-weight:600}.realtime-overlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#0a0a0a;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.realtime-overlay-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #222;flex-shrink:0}.realtime-overlay-title{font-size:1rem;font-weight:600;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.realtime-close-btn{background:#ff444426;color:#f44;border:1px solid #FF4444;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer}.realtime-voice-btn{background:#ff444426;color:#f44;border:1px solid #FF4444;border-radius:8px;padding:6px 14px;font-size:.85rem;cursor:pointer}.realtime-voice-btn.active{background:#00ff8826;color:#0f8;border-color:#0f8}.realtime-camera-container{flex:1;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.realtime-camera-wrapper{position:relative;width:100%;max-width:640px;aspect-ratio:4 / 3}.realtime-camera-video,.realtime-camera-canvas{position:absolute;top:0;left:0;width:100%;height:100%;transform:scaleX(-1);border-radius:12px;object-fit:cover}.realtime-loading{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;color:#888;font-size:1rem;z-index:5}.realtime-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:32px}.realtime-error h3{color:#f44;margin-bottom:12px}.realtime-error p{color:#aaa;font-size:.9rem;margin-bottom:8px}.realtime-stats{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none;z-index:10}.realtime-stats-item{background:#000000b3;padding:4px 12px;border-radius:8px}.realtime-stats-header{color:#fff;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:6px 14px}.realtime-stats-timer{color:#ccc;font-size:.85rem;font-family:monospace}.realtime-stats-reps{display:flex;align-items:baseline;gap:6px;padding:8px 16px}.realtime-stats-rep-number{color:#0f8;font-size:2rem;font-weight:700;font-family:monospace}.realtime-stats-rep-label{color:#aaa;font-size:.8rem;text-transform:uppercase}.realtime-stats-score{display:flex;align-items:center;gap:8px;padding:6px 14px}.realtime-stats-score-label{color:#aaa;font-size:.75rem;text-transform:uppercase}.realtime-stats-score-value{font-size:1.4rem;font-weight:700;font-family:monospace}.realtime-stats-phase{background:#00000080;color:#8cf;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:6px}.realtime-stats-connection{background:#00000080;color:#aaa;font-size:.7rem;display:flex;align-items:center;padding:4px 10px;border-radius:6px}.realtime-stats-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.realtime-coaching-panel{position:absolute;bottom:16px;left:16px;right:16px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:10}.realtime-coaching-message{background:#0064ffd9;color:#fff;padding:12px 18px;border-radius:12px;transition:opacity .4s ease,transform .4s ease;max-width:500px}.realtime-coaching-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-bottom:4px}.realtime-coaching-text{font-size:.95rem;font-weight:500;line-height:1.4}.realtime-coaching-corrections{margin-top:8px;display:flex;flex-direction:column;gap:4px}.realtime-coaching-correction-item{font-size:.8rem;color:#fc0;padding-left:8px;border-left:2px solid #FFCC00}.realtime-coaching-issues{display:flex;flex-wrap:wrap;gap:6px}.realtime-coaching-issue-item{background:#f44c;color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.feedback-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #667eea66;z-index:900;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.feedback-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #667eea80}.feedback-fab:active{transform:scale(.95)}.feedback-form{display:flex;flex-direction:column;gap:16px}.feedback-form h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.feedback-form-subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:-8px}.feedback-type-selector{display:flex;gap:8px}.feedback-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.feedback-type-btn:hover{border-color:var(--primary-color);color:var(--text-primary)}.feedback-type-btn.active{border-color:var(--primary-color);background:#4f46e514;color:var(--primary-color)}.feedback-type-btn .type-icon{font-size:1.1rem}.feedback-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:.9rem;color:var(--text-primary);resize:vertical;transition:border-color .2s}.feedback-textarea:focus{outline:none;border-color:var(--primary-color)}.feedback-textarea::placeholder{color:var(--text-secondary)}.feedback-screenshot-area{display:flex;flex-direction:column;gap:8px}.feedback-screenshot-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.feedback-drop-zone{border:2px dashed var(--border-color);border-radius:var(--radius-sm);padding:20px;text-align:center;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:.85rem}.feedback-drop-zone:hover,.feedback-drop-zone.drag-over{border-color:var(--primary-color);background:#4f46e50a}.feedback-drop-zone-icon{font-size:1.5rem;margin-bottom:4px}.feedback-drop-zone input[type=file]{display:none}.feedback-preview{position:relative;display:inline-block}.feedback-preview img{max-width:100%;max-height:150px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.feedback-preview-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:none;background:var(--danger-color);color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.feedback-submit-btn{padding:12px 24px;border:none;border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.feedback-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-success{text-align:center;padding:24px 0}.feedback-success-icon{font-size:3rem;margin-bottom:12px}.feedback-success h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.feedback-success p{color:var(--text-secondary);font-size:.9rem}.feedback-error{color:var(--danger-color);font-size:.85rem;padding:8px 12px;background:#ef444414;border-radius:var(--radius-sm)}@media(max-width:600px){.feedback-fab{bottom:80px;right:16px;width:48px;height:48px;font-size:1.25rem}}
