*,*:before,*:after{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;--color-primary: #5a67d8;--color-primary-dark: #4c51bf;--color-primary-light: #667eea;--color-secondary: #764ba2;--color-background: #f7fafc;--color-surface: #ffffff;--color-text: #2d3748;--color-text-light: #4a5568;--color-error: #e53e3e;--color-success: #38a169;--color-warning: #d69e2e;--color-info: #3182ce;--color-focus: #4299e1;--focus-ring-width: 2px;--focus-ring-offset: 2px;--breakpoint-mobile: 640px;--breakpoint-tablet: 1024px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--touch-target-min: 44px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--container-max-width: 1200px;--container-padding: 1rem;--mobile-nav-height: 70px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media(min-width:640px){:root{--container-padding: 1.5rem}}@media(min-width:1024px){:root{--container-padding: 2rem;--font-size-3xl: 2.5rem}}body{margin:0;padding:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-radius:2px}*:focus:not(:focus-visible){outline:none}button{font-family:inherit;cursor:pointer;border:none;outline:none;min-height:var(--touch-target-min);min-width:var(--touch-target-min)}button:disabled{opacity:.6;cursor:not-allowed}button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}input,textarea,select{font-family:inherit;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-dark);color:#fff;padding:8px 16px;text-decoration:none;z-index:100;border-radius:0 0 4px;font-weight:600}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-text: #000000;--color-text-light: #1a202c;--color-focus: #000000}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}.layout{display:flex;flex-direction:column;min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 0;box-shadow:0 2px 4px #0000001a}.container{max-width:var(--container-max-width, 1200px);margin:0 auto;padding:0 var(--container-padding, 1rem)}.header .container{display:flex;justify-content:space-between;align-items:center;gap:1rem}.logo{font-size:1.5rem;font-weight:700;margin:0}.nav-desktop{display:none}.nav{display:flex;gap:1.5rem}.nav-link{color:#fff;text-decoration:none;font-weight:500;transition:opacity .2s;padding:.5rem 0;border-bottom:2px solid transparent;min-height:var(--touch-target-min, 44px);display:flex;align-items:center}.nav-link:hover{opacity:.8;text-decoration:none}.nav-link.active{border-bottom-color:#fff;opacity:1}.nav-mobile{display:flex;justify-content:space-around;align-items:center;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px #0000001a;position:fixed;bottom:0;left:0;right:0;z-index:100;padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}.nav-mobile-link{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-light, #718096);min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px);padding:.25rem .5rem;transition:all .2s ease;border-radius:8px;flex:1;max-width:80px}.nav-mobile-link:hover{text-decoration:none;background:#f3f4f6}.nav-mobile-link.active{color:var(--color-primary, #667eea);background:#eff6ff}.nav-mobile-icon{font-size:1.5rem;margin-bottom:.125rem}.nav-mobile-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.main{flex:1;padding:2rem 0;padding-bottom:calc(2rem + var(--mobile-nav-height, 70px))}.footer{background:#2d3748;color:#a0aec0;padding:1.5rem 0;text-align:center;margin-top:auto;display:none}.footer p{margin:0}.footer a{color:#93c5fd;text-decoration:underline}.footer a:hover{color:#bfdbfe;text-decoration:underline}@media(min-width:640px){.nav-desktop{display:flex}.nav-mobile{display:none}.main{padding-bottom:2rem}.footer{display:block}}@media(min-width:1024px){.header{padding:1.25rem 0}.logo{font-size:1.75rem}.nav{gap:2rem}.nav-link{font-size:1.0625rem}}.exercise-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease}.exercise-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:#3b82f6}.exercise-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.exercise-card-title{flex:1;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.exercise-card-title h3{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.exercise-badge{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.exercise-badge.starter{background-color:#dbeafe;color:#1e40af}.exercise-card-actions{display:flex;gap:.25rem}.btn-icon{background:transparent;border:none;padding:.5rem;cursor:pointer;font-size:1.125rem;border-radius:4px;transition:background-color .2s ease;min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:#f3f4f6}.btn-icon:active{background-color:#e5e7eb}.exercise-card-body{display:flex;flex-direction:column;gap:.5rem}.exercise-category{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.category-icon{font-size:1.25rem}.category-label{font-weight:500}.exercise-muscles{display:flex;flex-wrap:wrap;gap:.375rem}.exercise-card .muscle-tag{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:#f3f4f6;color:#4b5563;border-radius:4px;text-transform:capitalize}.exercise-notes{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}@media(max-width:640px){.exercise-card{padding:.875rem}.exercise-card-title h3,.btn-icon{font-size:1rem}}.form-dialog{max-width:600px}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#fee2e2;border-left:4px solid #dc2626;border-radius:4px;color:#991b1b;font-size:.875rem;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{display:block;width:100%;padding:.625rem .75rem;font-size:.875rem;line-height:1.5;color:#1f2937;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;font-family:inherit}.muscle-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background-color:#f9fafb;border-color:#d1d5db}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.checkbox-label input[type=checkbox]:checked+.checkbox-text{font-weight:600;color:#3b82f6}.checkbox-text{font-size:.875rem;color:#4b5563;text-transform:capitalize}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.muscle-group-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.checkbox-label{padding:.375rem}.checkbox-text{font-size:.8125rem}}.dialog-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.dialog-body p{margin:0 0 1rem;color:#4b5563;line-height:1.5}.dialog-body p:last-child{margin-bottom:0}.dialog-warning{display:flex;gap:.75rem;padding:1rem;background-color:#fef3c7;border-left:4px solid #f59e0b;border-radius:4px;margin-top:1rem}.warning-icon{font-size:1.25rem;flex-shrink:0}.dialog-warning p{margin:0;color:#92400e;font-size:.875rem}.btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-danger{background-color:#dc2626;color:#fff}.btn-danger:hover{background-color:#b91c1c}@media(max-width:640px){.dialog-content{max-width:100%;margin:0 1rem}.dialog-header,.dialog-body,.dialog-footer{padding:1rem}}.exercise-list-container{padding:1rem 0}.exercise-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.exercise-list-header h1{margin:0;font-size:2rem;font-weight:700;color:#1f2937}.exercise-list-filters{margin-bottom:2rem}.search-box{margin-bottom:1rem}.search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #d1d5db;border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.filter-select{padding:.625rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.exercise-list-count{margin-bottom:1rem;font-size:.875rem;color:#6b7280;font-weight:500}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.empty-state-icon{font-size:4rem;margin-bottom:1rem}.empty-state-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1f2937}.empty-state-text{margin:0;font-size:1rem;color:#6b7280}@media(max-width:768px){.exercise-list-header{flex-direction:column;align-items:flex-start;gap:1rem}.exercise-list-header h1{font-size:1.5rem}.exercise-list-header .btn{width:100%}.exercise-grid,.filter-row{grid-template-columns:1fr}}@media(max-width:640px){.exercise-list-container{padding:.5rem 0}.exercise-list-header,.exercise-list-filters{margin-bottom:1.5rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;overflow:hidden;overscroll-behavior:contain;touch-action:none}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;height:min(90vh,800px);height:min(90dvh,800px);display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a;overflow:hidden}.modal-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;color:#1f2937}.btn-close{background:transparent;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s ease}.btn-close:hover{color:#374151}.modal-body{flex:1 1 auto;overflow-y:scroll;overflow-x:hidden;padding:1.5rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;touch-action:pan-y}.exercise-search{margin-bottom:1rem}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#3b82f6}.filter-section{margin-bottom:1rem}.filter-title{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.muscle-group-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.muscle-group-filter-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:2px solid #e5e7eb;border-radius:20px;background:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.muscle-group-filter-btn:hover{border-color:#3b82f6;color:#3b82f6}.muscle-group-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.filter-icon{font-size:1rem;line-height:1}.filter-label{line-height:1}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-filter-btn{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:20px;background:#fff;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.category-filter-btn:hover{border-color:#3b82f6;color:#3b82f6}.category-filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.exercise-list{display:flex;flex-direction:column;gap:.5rem}.exercise-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.exercise-item:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.exercise-item-header{display:flex;align-items:center;gap:.75rem}.exercise-item-icon{font-size:1.5rem}.exercise-item-name{font-weight:600;color:#1f2937;font-size:1rem}.exercise-item-muscles{display:flex;flex-wrap:wrap;gap:.375rem;padding-left:2.25rem}.muscle-tag-small{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:500;background-color:#f3f4f6;color:#4b5563;border-radius:4px;text-transform:capitalize}.no-results{text-align:center;padding:3rem 1rem;color:#9ca3af}@media(max-width:640px){.modal-overlay{padding:0;align-items:flex-start}.modal-content{height:100vh;height:100dvh;max-height:none;border-radius:0}.modal-header{padding:1rem;flex-shrink:0}.modal-header h2{font-size:1.25rem}.modal-body{padding:1rem;overflow-y:scroll;-webkit-overflow-scrolling:touch;min-height:0;flex:1 1 auto;touch-action:pan-y}.filter-section{margin-bottom:.875rem}.filter-title{font-size:.8125rem;margin-bottom:.375rem}.muscle-group-filters{gap:.375rem}.muscle-group-filter-btn{padding:.375rem .625rem;font-size:.8125rem}.category-filters{gap:.375rem}.category-filter-btn{padding:.375rem .75rem;font-size:.8125rem}.exercise-item{padding:.875rem}.exercise-item-icon{font-size:1.25rem}.exercise-item-name{font-size:.9375rem}}.set-logger{display:grid;grid-template-columns:50px 80px 1fr 80px 60px 80px;gap:.5rem;align-items:center;padding:.5rem;border-radius:6px;transition:all .2s ease;max-width:100%;overflow:hidden}.set-logger:hover{background:#f9fafb}.set-logger.completed{background:#ecfdf5;border-left:3px solid #10b981}.set-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#f3f4f6;border-radius:50%;font-weight:700;font-size:.875rem;color:#6b7280}.set-logger.completed .set-number{background:#d1fae5;color:#059669}.set-previous{text-align:center;font-size:.875rem;color:#6b7280}.previous-data{font-weight:500}.no-previous{color:#d1d5db}.set-weight{display:flex;justify-content:center}.weight-input{width:80px;text-align:center;padding:.5rem;border:2px solid #e5e7eb;border-radius:6px;font-weight:600;font-size:1rem;background:#fff;transition:all .2s ease;min-height:44px}.weight-input:focus{outline:none;border-color:#3b82f6}.set-logger.completed .weight-input{border-color:#d1fae5;background:#f0fdf4}.set-reps{display:flex;justify-content:center}.reps-input{width:60px;text-align:center;padding:.5rem;border:2px solid #e5e7eb;border-radius:6px;font-weight:600;font-size:1rem;background:#fff;transition:all .2s ease;min-height:44px}.reps-input:focus{outline:none;border-color:#3b82f6}.set-logger.completed .reps-input{border-color:#d1fae5;background:#f0fdf4}.set-rir{display:flex;justify-content:center}.rir-input{width:50px;text-align:center;padding:.5rem;border:2px solid #e5e7eb;border-radius:6px;font-weight:600;font-size:1rem;background:#fff;min-height:44px}.rir-input:focus{outline:none;border-color:#3b82f6}.set-logger.completed .rir-input{border-color:#d1fae5;background:#f0fdf4}.btn-add-rir{width:2rem;height:2rem;border:2px dashed #d1d5db;background:#fff;border-radius:50%;color:#9ca3af;font-size:1.125rem;cursor:pointer;transition:all .2s ease;min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px)}.btn-add-rir:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.set-input:disabled{opacity:.8;cursor:not-allowed}.set-actions{display:flex;gap:.25rem;justify-content:center}.btn-complete-set,.btn-remove-set,.btn-uncomplete-set{width:2rem;height:2rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px)}.btn-complete-set{background:#e5e7eb;color:#9ca3af}.btn-complete-set:hover{background:#d1d5db;color:#6b7280}.btn-complete-set.ready{background:#10b981;color:#fff}.btn-complete-set.ready:hover{background:#059669;transform:scale(1.05)}.btn-complete-set:disabled{opacity:.5;cursor:not-allowed}.btn-remove-set{background:#f3f4f6;color:#6b7280}.btn-remove-set:hover{background:#ef4444;color:#fff}.btn-uncomplete-set{background:#f3f4f6;color:#6b7280}.btn-uncomplete-set:hover{background:#e5e7eb;color:#374151}@media(max-width:640px){.set-logger{grid-template-columns:28px 1fr 52px 44px 92px;gap:.25rem;padding:.5rem .25rem}.set-number{width:1.5rem;height:1.5rem;font-size:.6875rem}.set-previous{display:none}.weight-input{width:100%;max-width:100%;font-size:.875rem;min-height:44px;box-sizing:border-box}.reps-input{width:100%;max-width:52px;font-size:.875rem;padding:.3rem;min-height:44px;box-sizing:border-box}.rir-input{width:100%;max-width:44px;font-size:.875rem;padding:.3rem;min-height:44px;box-sizing:border-box}.btn-add-rir{min-width:44px;min-height:44px;font-size:.9375rem}.btn-complete-set,.btn-remove-set,.btn-uncomplete-set{min-width:44px;min-height:44px;font-size:.875rem}.set-actions{gap:.125rem;flex-wrap:nowrap}}@media(min-width:768px){.set-logger{grid-template-columns:60px 100px 1fr 100px 80px 100px;padding:.75rem}.weight-input{width:100px}.reps-input{width:70px}.rir-input{width:60px}}.previous-performance{padding:1rem;background:#eff6ff;border-left:3px solid #3b82f6;margin-bottom:1rem}.previous-performance-header{margin-bottom:.75rem}.previous-label{font-size:.875rem;font-weight:600;color:#1e40af}.previous-sets{display:flex;flex-direction:column;gap:.5rem}.previous-set-item{display:flex;gap:.5rem;font-size:.875rem;color:#374151}.previous-set-number{font-weight:600;min-width:50px}.previous-set-data{font-weight:500}@media(max-width:640px){.previous-performance{padding:.875rem}.previous-label{font-size:.8125rem}.previous-sets{gap:.375rem}.previous-set-item{font-size:.8125rem}.previous-set-number{min-width:45px}}@media(max-width:640px){.dialog{padding:1.5rem}.dialog h2{font-size:1.25rem}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}.workout-exercise-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.workout-exercise-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.workout-exercise-title{display:flex;align-items:center;gap:.75rem}.exercise-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#3b82f6;color:#fff;border-radius:50%;font-weight:700;font-size:.875rem}.workout-exercise-title h3{font-size:1.125rem;color:#1f2937}.workout-exercise-actions{display:flex;gap:.25rem}.btn-icon{background:transparent;border:none;padding:.25rem;cursor:pointer;font-size:1.125rem;border-radius:4px;transition:background-color .2s ease}.btn-icon:hover{background-color:#e5e7eb}.btn-icon-danger:hover{background-color:#fee2e2}.workout-sets{padding:1rem}.sets-header{display:grid;grid-template-columns:50px 80px 1fr 80px 60px 80px;gap:.5rem;padding:.5rem;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem}.set-col-header{text-align:center}.btn-add-set{width:100%;padding:.75rem;margin-top:.75rem;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:6px;color:#6b7280;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-set:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.exercise-notes-input{padding:1rem;border-top:1px solid #e5e7eb;background:#f9fafb}.exercise-notes-input textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;resize:vertical;font-family:inherit}.exercise-notes-input textarea:focus{outline:none;border-color:#3b82f6}@media(max-width:640px){.workout-exercise-card{margin-bottom:1rem}.workout-exercise-header{padding:.875rem}.workout-exercise-title h3{font-size:1rem}.exercise-number{width:1.75rem;height:1.75rem;font-size:.8125rem}.workout-sets{padding:.75rem}.sets-header{grid-template-columns:28px 1fr 52px 44px 92px;font-size:.625rem;padding:.375rem .25rem;gap:.25rem}.sets-header .set-col-header:nth-child(2){display:none}.btn-add-set{padding:.625rem;font-size:.875rem}}@media(min-width:768px){.sets-header{grid-template-columns:60px 100px 1fr 100px 80px 100px}}.workout-feedback-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.workout-feedback-modal{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.feedback-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;text-align:center}.feedback-header h2{margin:0 0 .5rem;font-size:1.5rem;color:#2d3748}.feedback-header p{margin:0;color:#718096;font-size:.95rem}.feedback-content{padding:1.5rem}.feedback-section{margin-bottom:2rem}.feedback-section:last-child{margin-bottom:0}.feedback-section h3{margin:0 0 .5rem;font-size:1.1rem;color:#2d3748}.section-description{margin:0 0 1rem;color:#718096;font-size:.9rem}.recovery-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.recovery-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;background:#f7fafc;cursor:pointer;transition:all .2s}.recovery-option:hover{border-color:#667eea;transform:translateY(-2px)}.recovery-option:focus{outline:2px solid #667eea;outline-offset:2px}.recovery-option.selected{border-color:#667eea;background:#667eea1a}.option-emoji{font-size:2rem}.option-label{font-size:.9rem;text-align:center;color:#2d3748}.muscle-group-feedback{background:#f7fafc;padding:1rem;border-radius:8px;margin-bottom:1rem}.muscle-group-feedback:last-child{margin-bottom:0}.muscle-group-feedback h4{margin:0 0 .75rem;font-size:1rem;color:#2d3748}.rating-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.rating-row:last-child{margin-bottom:0}.rating-row label{min-width:200px;font-size:.9rem;color:#718096}.rating-scale{display:flex;gap:.5rem;flex:1}.rating-button{width:40px;height:40px;border-radius:50%;border:2px solid #e2e8f0;background:#fff;color:#2d3748;font-weight:600;cursor:pointer;transition:all .2s}.rating-button:hover{border-color:#667eea;transform:scale(1.1)}.rating-button:focus{outline:2px solid #667eea;outline-offset:2px}.rating-button.selected{border-color:#667eea;background:#667eea;color:#fff}.feedback-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e2e8f0;justify-content:flex-end}.feedback-actions button{min-width:120px}.feedback-section textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#f7fafc;color:#2d3748;font-family:inherit;font-size:.95rem;resize:vertical}.feedback-section textarea:focus{outline:none;border-color:#667eea}@media(max-width:768px){.workout-feedback-modal{max-height:95vh}.feedback-header{padding:1rem}.feedback-header h2{font-size:1.25rem}.feedback-content{padding:1rem}.recovery-options{grid-template-columns:repeat(2,1fr);gap:.5rem}.recovery-option{padding:.75rem}.option-emoji{font-size:1.5rem}.option-label{font-size:.85rem}.rating-row{flex-direction:column;align-items:flex-start;gap:.5rem}.rating-row label{min-width:auto}.rating-scale{width:100%;justify-content:space-between}.rating-button{width:35px;height:35px}.feedback-actions{flex-direction:column-reverse;padding:1rem}.feedback-actions button{width:100%}}.rest-timer-modal{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.rest-timer-content{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 25px -5px #0003}.rest-timer-content h2{font-size:1.5rem;margin-bottom:1rem;color:#1f2937}.rest-timer-content p{color:#6b7280;margin-bottom:1.5rem}.rest-timer-content.complete{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.rest-timer-content.complete h2,.rest-timer-content.complete p{color:#fff}.rest-timer-display{margin:2rem 0;display:flex;justify-content:center}.rest-timer-circle{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 15px -3px #3b82f64d,0 4px 6px -2px #3b82f633}.rest-timer-time{font-size:3rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.rest-timer-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.rest-timer-preset-btn{padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;font-size:1.5rem;font-weight:700;color:#3b82f6;cursor:pointer;transition:all .2s ease;font-variant-numeric:tabular-nums}.rest-timer-preset-btn:hover{border-color:#3b82f6;background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.rest-timer-controls{margin-bottom:1rem}.rest-timer-controls button{padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;transition:all .2s ease}.rest-timer-extend{display:flex;gap:.5rem;justify-content:center;margin-bottom:1rem}.btn-extend{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.btn-extend:hover{background:#e5e7eb;border-color:#9ca3af}.btn-extend:disabled{opacity:.5;cursor:not-allowed}.btn-skip{padding:.75rem 1.5rem;background:transparent;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-skip:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}@media(max-width:640px){.rest-timer-content{padding:1.5rem}.rest-timer-content h2{font-size:1.25rem}.rest-timer-circle{width:160px;height:160px}.rest-timer-time{font-size:2.5rem}.rest-timer-preset-btn{padding:1rem;font-size:1.25rem}.rest-timer-controls button{padding:.75rem 1.5rem;font-size:.9375rem}.btn-extend{padding:.5rem .875rem;font-size:.875rem}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.rest-timer-circle{animation:pulse 2s ease-in-out infinite}.split-day-selector-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.split-day-selector-dialog{background-color:var(--background);border-radius:12px;box-shadow:0 8px 24px #0003;max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column}.split-day-selector-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-color)}.split-day-selector-header h2{margin:0 0 8px;font-size:1.5rem;color:var(--text-primary)}.split-day-subtitle{margin:0;font-size:.9rem;color:var(--text-secondary)}.split-day-list{padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.split-day-item{background-color:var(--card-background);border:2px solid var(--border-color);border-radius:8px;padding:16px;text-align:left;cursor:pointer;transition:all .2s ease}.split-day-item:hover{border-color:var(--primary-color);background-color:var(--card-hover)}.split-day-item.recommended{border-color:var(--primary-color);background-color:#3b82f60d}.split-day-item.completed{opacity:.7}.split-day-item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.split-day-item-header h3{margin:0;font-size:1.1rem;color:var(--text-primary)}.recommended-badge{background-color:var(--primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.completed-badge{background-color:var(--success-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.split-day-item-details{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text-secondary)}.exercise-count{color:var(--text-secondary)}.warning-text{color:var(--warning-color);font-size:.85rem}.split-day-selector-actions{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}@media(prefers-color-scheme:dark){.split-day-item.recommended{background-color:#3b82f61a}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:8px;background:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:250px;max-width:400px;pointer-events:auto;cursor:pointer;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-weight:700;font-size:.875rem;flex-shrink:0}.toast-message{flex:1;font-weight:500;color:#1f2937}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{background:#d1fae5;color:#059669}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{background:#fee2e2;color:#dc2626}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{background:#dbeafe;color:#2563eb}@media(max-width:640px){.toast-container{top:.5rem;right:.5rem;left:.5rem}.toast{padding:.875rem 1.25rem;min-width:auto;max-width:none}}.template-preview{display:flex;flex-direction:column;gap:1.5rem;max-height:60vh;overflow-y:auto}.template-preview-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.template-preview-header h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.template-preview-body{flex:1}.template-preview-body>h4{margin:0 0 .5rem;font-size:1.125rem;color:var(--text-primary)}.template-note{margin:0 0 1.5rem;padding:1rem;background:var(--info-bg, #eff6ff);border-left:3px solid var(--primary-color, #3b82f6);border-radius:4px;color:var(--text-secondary);font-size:.9375rem}.template-day{margin-bottom:1.5rem;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:1.25rem}.template-day-name{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--primary-color, #3b82f6)}.template-exercises{display:flex;flex-direction:column;gap:1rem}.template-exercise{padding:1rem;background:var(--bg-secondary, #f9fafb);border-radius:6px;border-left:3px solid var(--primary-color, #3b82f6)}.template-exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.template-exercise-name{font-weight:600;color:var(--text-primary);font-size:1rem}.template-exercise-volume{color:var(--primary-color, #3b82f6);font-weight:500;font-size:.9375rem;white-space:nowrap}.template-exercise-description{margin:0 0 .75rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.template-exercise-muscles{display:flex;flex-wrap:wrap;gap:.5rem}.template-preview-modal .muscle-tag{display:inline-block;padding:.25rem .625rem;background:var(--primary-light, #e0e7ff);color:var(--primary-dark, #3730a3);border-radius:12px;font-size:.8125rem;font-weight:500;text-transform:capitalize}.template-preview-footer{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb);margin-top:auto}@media(max-width:768px){.template-preview{max-height:70vh}.template-exercise-header{flex-direction:column;align-items:flex-start}.template-preview-footer{flex-direction:column-reverse}.template-preview-footer .btn{width:100%}}.template-selector-dialog{max-width:900px;width:95%;max-height:90vh;overflow-y:auto}.template-selector-intro{margin-bottom:1.5rem;color:var(--text-secondary);text-align:center}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.template-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.template-card:hover{border-color:var(--primary-color, #3b82f6);box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.template-card h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.template-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.template-days,.template-level{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.template-days{background:var(--primary-light, #e0e7ff);color:var(--primary-dark, #3730a3)}.template-level{background:var(--secondary-light, #f3f4f6);color:var(--text-secondary);text-transform:capitalize}.template-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:0;flex-grow:1}.template-card .btn{margin-top:auto}@media(max-width:768px){.template-selector-dialog{max-width:95%;max-height:95vh}.template-grid{grid-template-columns:1fr;gap:1rem}.template-card{padding:1.25rem}}.template-guide{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.template-guide.collapsed{padding:0;background:transparent;border:none}.template-guide-expand{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;border-radius:8px;color:#92400e;font-weight:500;cursor:pointer;transition:all .2s}.template-guide-expand:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#f59e0b}.template-guide-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.template-guide-title{display:flex;align-items:flex-start;gap:.75rem}.template-icon{font-size:1.5rem;flex-shrink:0}.template-guide-title h3{margin:0;font-size:1.125rem;color:#92400e}.template-subtitle{margin:.25rem 0 0;font-size:.875rem;color:#78350f}.template-guide-actions{display:flex;gap:.5rem}.btn-icon{background:none;border:none;font-size:1.25rem;color:#92400e;cursor:pointer;padding:.25rem .5rem;transition:color .2s;line-height:1}.btn-icon:hover{color:#78350f}.template-guide-body{display:flex;flex-direction:column;gap:1rem}.template-day-selector{display:flex;align-items:center;gap:.75rem}.template-day-selector label{font-weight:500;color:#92400e;font-size:.9375rem}.day-select{padding:.5rem .75rem;border:1px solid #f59e0b;border-radius:6px;background:#fff;color:#92400e;font-weight:500;cursor:pointer;flex:1;max-width:300px}.template-current-day h4{margin:0 0 1rem;font-size:1rem;color:#92400e;padding-bottom:.5rem;border-bottom:2px solid #fbbf24}.template-exercises-list{display:flex;flex-direction:column;gap:.75rem}.template-exercise-guide{display:flex;gap:.75rem;padding:1rem;background:#fff;border-radius:6px;border:1px solid #fbbf24}.template-exercise-number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:#fbbf24;color:#fff;border-radius:50%;font-weight:600;font-size:.875rem;flex-shrink:0}.template-exercise-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.template-exercise-name{font-weight:600;color:#92400e;font-size:.9375rem}.template-exercise-volume{color:#78350f;font-weight:500;font-size:.875rem}.template-exercise-description{color:#92400e;font-size:.875rem;line-height:1.4}.template-exercise-muscles{display:flex;flex-wrap:wrap;gap:.375rem}.muscle-badge{display:inline-block;padding:.1875rem .5rem;background:#fef3c7;border:1px solid #fbbf24;color:#78350f;border-radius:10px;font-size:.75rem;font-weight:500;text-transform:capitalize}.template-guide-note{padding:.75rem;background:#fff;border-radius:6px;font-size:.875rem;color:#92400e;border:1px dashed #fbbf24}.template-guide-note strong{color:#78350f}@media(max-width:768px){.template-guide{padding:1rem}.template-guide-header{flex-direction:column}.template-day-selector{flex-direction:column;align-items:stretch}.day-select{max-width:none}.template-exercise-guide{flex-direction:column}.template-exercise-number{align-self:flex-start}}.workout-session-container{min-height:100vh;padding-bottom:2rem}.mesocycle-context-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:1px solid #93c5fd;border-radius:8px;margin-bottom:1.5rem;max-width:600px}.mesocycle-context-banner.active-workout{margin:0 1rem 1rem;max-width:none}.split-day-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#dcfce7,#dbeafe);border:1px solid #86efac;border-radius:8px;margin:0 1rem 1rem}.banner-icon{font-size:1.5rem;flex-shrink:0}.banner-title{font-weight:600;color:#1e40af;font-size:.9375rem}.banner-subtitle{font-size:.8125rem;color:#3730a3;margin-top:.125rem}.banner-text{font-weight:500;color:#1e40af;font-size:.875rem}.workout-start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.workout-start-screen h1{font-size:2rem;margin-bottom:1rem;color:#1f2937}.workout-start-screen p{font-size:1.125rem;color:#6b7280;margin-bottom:2rem}.workout-start-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px}.template-selected-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;margin-bottom:1.5rem;max-width:600px;position:relative}.banner-clear-btn{background:none;border:none;font-size:1.5rem;color:#92400e;cursor:pointer;padding:.25rem .5rem;margin-left:auto;transition:color .2s;line-height:1}.banner-clear-btn:hover{color:#78350f}.workout-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000000d}.workout-header-info h1{font-size:1.5rem;margin-bottom:.5rem}.workout-meta{display:flex;gap:1rem;font-size:.875rem;color:#6b7280}.workout-header-actions{display:flex;gap:.5rem;margin-top:1rem}.workout-content{max-width:800px;margin:0 auto;padding:1.5rem 1rem}.empty-workout-state{text-align:center;padding:3rem 1rem;color:#6b7280;background:#fff;border-radius:8px;border:2px dashed #e5e7eb}.btn-add-exercise{width:100%;padding:1rem;margin:1.5rem 0;background:#fff;border:2px dashed #3b82f6;border-radius:8px;color:#3b82f6;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min, 44px)}.btn-add-exercise:hover{background:#eff6ff;border-color:#2563eb}.workout-notes-section{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.workout-notes-section label{display:block;font-weight:600;margin-bottom:.5rem;color:#374151}.workout-notes-section textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;resize:vertical}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:1rem;transition:all .2s ease;min-height:var(--touch-target-min, 44px);display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.btn-large{padding:1rem 2rem;font-size:1.125rem;min-height:56px}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dialog{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 20px 25px -5px #0000001a}.dialog h2{font-size:1.5rem;margin-bottom:1rem;color:#1f2937}.dialog p{color:#6b7280;margin-bottom:1.5rem;line-height:1.5}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:640px){.workout-header{padding:.875rem}.workout-header-info h1{font-size:1.25rem}.workout-header-actions{flex-direction:column}.workout-header-actions button{width:100%}.workout-content{padding:1rem .75rem}.btn-primary,.btn-secondary,.btn-danger{padding:.625rem 1rem;font-size:.875rem}}@media(min-width:768px)and (orientation:landscape){.workout-header{display:flex;justify-content:space-between;align-items:center}.workout-header-actions{margin-top:0}}.mesocycle-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:all .2s ease}.mesocycle-card.active{border-color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.mesocycle-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.mesocycle-card-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.mesocycle-card-meta{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:9999px;letter-spacing:.025em}.status-planned{background-color:#e0e7ff;color:#3730a3}.status-active{background-color:#dcfce7;color:#166534}.status-completed{background-color:#dbeafe;color:#1e40af}.status-abandoned{background-color:#fee2e2;color:#991b1b}.split-badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;background-color:#f3f4f6;color:#4b5563;border-radius:9999px}.mesocycle-card-body{display:flex;flex-direction:column;gap:1rem}.progress-section{display:flex;flex-direction:column;gap:.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:500;color:#4b5563}.progress-label{display:flex;align-items:center;gap:.5rem}.deload-badge{display:inline-block;padding:.125rem .5rem;background-color:#fef3c7;color:#92400e;border-radius:4px;font-size:.75rem;font-weight:600}.days-remaining{font-size:.75rem;color:#6b7280}.progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background-color:#3b82f6;transition:width .3s ease;border-radius:9999px}.progress-fill.deload{background-color:#f59e0b}.week-indicators{display:flex;gap:.5rem;flex-wrap:wrap}.week-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:2px solid #e5e7eb;border-radius:6px;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s ease;position:relative}.week-indicator.complete{background-color:#dbeafe;border-color:#3b82f6;color:#1e40af}.week-indicator.current{background-color:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600;box-shadow:0 2px 4px #3b82f64d}.week-indicator.deload{border-style:dashed;border-color:#f59e0b}.week-indicator.deload.current{background-color:#f59e0b;border-color:#f59e0b;border-style:solid}.week-number{font-size:.875rem}.week-badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;background-color:#f59e0b;color:#fff;border-radius:50%;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center}.mesocycle-dates{font-size:.875rem;color:#6b7280;padding-top:.5rem;border-top:1px solid #f3f4f6}.mesocycle-notes{padding:.75rem;background-color:#f9fafb;border-radius:6px;font-size:.875rem;color:#4b5563}.mesocycle-notes p{margin:0;line-height:1.5}.mesocycle-card-footer{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-success{background-color:#047857;color:#fff}.btn-success:hover{background-color:#065f46}@media(max-width:640px){.mesocycle-card{padding:1rem}.mesocycle-card-title{font-size:1.125rem}.week-indicator{width:2rem;height:2rem;font-size:.75rem}.week-number{font-size:.75rem}}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-min, 44px)}.btn-sm{padding:.375rem .75rem;font-size:.875rem;min-height:auto}.btn-secondary{background-color:#fff;color:#374151;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.btn-danger{background-color:#dc2626;color:#fff;border-color:#dc2626}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.dialog-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.dialog-close{background:transparent;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.dialog-close:hover{background-color:#f3f4f6;color:#1f2937}.dialog-body{padding:1.5rem}.dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}@media(max-width:640px){.dialog-header,.dialog-body,.dialog-footer{padding:1rem}}.split-day-editor{padding:1rem}.split-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.split-day-header h3{margin:0;font-size:1.25rem;font-weight:600}.header-actions{display:flex;gap:.5rem;align-items:center}.empty-state{text-align:center;padding:2rem;color:#6b7280}.empty-state-hint{font-size:.875rem;color:#9ca3af}.exercise-list{display:flex;flex-direction:column;gap:.75rem}.exercise-item{display:flex;gap:.75rem;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:move;transition:all .2s}.exercise-item:hover{background:#f3f4f6;box-shadow:0 2px 4px #0000000d}.exercise-item.dragging{opacity:.5}.exercise-drag-handle{display:flex;align-items:center;color:#9ca3af;font-size:1.25rem;cursor:grab;-webkit-user-select:none;user-select:none}.exercise-drag-handle:active{cursor:grabbing}.exercise-content{flex:1;min-width:0}.exercise-name{font-weight:500;margin-bottom:.75rem;color:#111827}.exercise-config{display:flex;gap:1rem;flex-wrap:wrap}.config-group{display:flex;flex-direction:column;gap:.25rem}.config-group label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.config-input{width:4rem;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;text-align:center}.config-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.rep-range{display:flex;align-items:center;gap:.5rem}.rep-range span{color:#6b7280}.exercise-notes{margin-top:.5rem;font-size:.875rem;color:#6b7280;font-style:italic}.btn-remove{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;color:#ef4444;font-size:1.25rem;cursor:pointer;border-radius:.375rem;transition:all .2s}.btn-remove:hover{background:#fee2e2;color:#dc2626}@media(max-width:640px){.split-day-editor{padding:.75rem}.exercise-config{gap:.75rem}.config-input{width:3.5rem}.exercise-item{padding:.75rem}}.copy-split-dialog{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.dialog-description{margin:0 0 1rem;color:#4b5563;line-height:1.5;font-size:.875rem}.target-selection{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.target-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.target-option:hover{background-color:#f9fafb;border-color:#d1d5db}.target-option.selected{border-color:#3b82f6;background-color:#eff6ff}.target-option input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:#3b82f6}.target-name{flex:1;font-weight:500;color:#1f2937}.target-badge{font-size:.75rem;color:#6b7280;background-color:#f3f4f6;padding:.25rem .5rem;border-radius:9999px}.empty-targets{text-align:center;padding:2rem;color:#6b7280;font-size:.875rem;margin:0}.copy-mode-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.copy-mode-label{margin:0 0 .75rem;font-size:.875rem;font-weight:500;color:#374151}.copy-mode-options{display:flex;flex-direction:column;gap:.5rem}.mode-option{display:flex;gap:.75rem;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.mode-option:hover{background-color:#f9fafb;border-color:#d1d5db}.mode-option.selected{border-color:#3b82f6;background-color:#eff6ff}.mode-option input[type=radio]{cursor:pointer;width:1rem;height:1rem;margin-top:.125rem;accent-color:#3b82f6}.mode-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.mode-content strong{font-weight:600;color:#1f2937}.mode-hint{font-size:.75rem;color:#6b7280;line-height:1.4}@media(max-width:640px){.copy-split-dialog{max-width:100%;margin:0 1rem}}.mesocycle-exercise-config{display:flex;flex-direction:column;gap:1rem}.config-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-radius:.5rem}.config-header h2{margin:0;font-size:1.5rem;font-weight:600}.config-summary{font-size:.875rem;color:#6b7280}.split-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e5e7eb;overflow-x:auto;-webkit-overflow-scrolling:touch}.split-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.split-tab:hover{color:#111827;background:#f9fafb}.split-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.split-tab-name{font-weight:inherit}.split-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:#3b82f6;color:#fff;font-size:.75rem;font-weight:600;border-radius:9999px}.split-tab:not(.active) .split-tab-badge{background:#d1d5db;color:#6b7280}.split-content{position:relative;min-height:0}.split-panel{display:none}.split-panel.active{display:block;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.config-hint{padding:1.5rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;margin-top:1rem}.config-hint p{margin:.5rem 0;font-size:.875rem;color:#1e40af;line-height:1.5}.config-hint p:first-child{margin-top:0}.config-hint p:last-child{margin-bottom:0}@media(max-width:640px){.config-header{flex-direction:column;align-items:flex-start;gap:.5rem}.split-tabs{gap:.25rem}.split-tab{padding:.5rem .75rem;font-size:.8125rem}.split-tab-badge{min-width:1.25rem;height:1.25rem;font-size:.625rem}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-help{margin-top:.5rem;font-size:.8125rem;color:#6b7280}.dialog-overlay:has(.mesocycle-form-dialog){overflow:hidden;overscroll-behavior:contain}.mesocycle-form-dialog{max-width:56rem;width:90vw;max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;padding:0;overflow:hidden}.mesocycle-form-dialog form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.mesocycle-form-dialog .dialog-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.mesocycle-form-dialog .dialog-header h2{margin:0;font-size:1.25rem}.mesocycle-form-dialog .dialog-body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:1.5rem;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.mesocycle-form-dialog .mesocycle-exercise-config{min-height:0}.mesocycle-form-dialog .dialog-footer{flex-shrink:0;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}@media(max-width:640px){.form-row{grid-template-columns:1fr}.mesocycle-form-dialog{width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0}.mesocycle-form-dialog .dialog-body,.mesocycle-form-dialog .dialog-footer{padding:1rem}}.split-progress-tracker{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.split-progress-tracker.deload-week{border-color:#fbbf24;background:linear-gradient(to bottom,#fffbeb,#fff)}.split-progress-tracker.loading,.split-progress-tracker.empty{text-align:center;padding:2rem;color:#6b7280}.tracker-header{margin-bottom:1rem}.tracker-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.deload-badge{display:inline-flex;align-items:center;gap:.25rem;background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.progress-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.progress-bar{flex:1;height:1rem;background:#e5e7eb;border-radius:.5rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(to right,#3b82f6,#2563eb);border-radius:.5rem;transition:width .3s ease}.progress-fill.deload{background:linear-gradient(to right,#fbbf24,#f59e0b)}.progress-label{font-size:.875rem;font-weight:600;color:#6b7280;min-width:3rem;text-align:right}.week-progress-section{margin-top:1.5rem}.section-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 1rem}.split-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.split-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease}.split-card.completed{background:#ecfdf5;border-color:#10b981}.split-card.next{background:#dbeafe;border-color:#1d4ed8;box-shadow:0 0 0 3px #3b82f61a}.split-card-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.split-name{font-size:1rem;font-weight:600;color:#1f2937}.split-status{font-size:1.5rem;font-weight:700;color:#10b981;min-height:1.5rem}.split-card.next .split-status{color:#1d4ed8;font-size:1rem}.split-date{font-size:.875rem;color:#6b7280;margin-top:.25rem}.split-info{font-size:.875rem;color:#4b5563;margin-top:.5rem}.split-card.next .split-info{color:#1e3a5f}.completion-message{text-align:center;padding:1.5rem;background:#f0fdf4;border:2px solid #10b981;border-radius:8px;margin-top:1rem}.completion-icon{font-size:2.5rem;display:block;margin-bottom:.5rem}.completion-text{font-size:1.125rem;font-weight:600;color:#065f46;margin:0 0 .25rem}.completion-subtext{font-size:.875rem;color:#047857;margin:0}.start-workout-btn{width:100%;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600}.deload-message{margin-top:1rem;padding:1rem;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px}.deload-message p{margin:0;font-size:.875rem;color:#78350f;line-height:1.5}.deload-message strong{color:#92400e}@media(max-width:768px){.split-progress-tracker{padding:1rem}.tracker-title{font-size:1.125rem}.split-cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.split-card{padding:.75rem}.split-name{font-size:.875rem}.split-status{font-size:1.25rem}.progress-bar-container{gap:.75rem}.progress-label{min-width:2.5rem}}@media(max-width:480px){.split-cards{grid-template-columns:1fr}.split-card{padding:1rem}}.active-workout-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;animation:pulse-border 2s infinite}@keyframes pulse-border{0%,to{border-color:#f59e0b;box-shadow:0 0 #f59e0b66}50%{border-color:#d97706;box-shadow:0 0 0 4px #f59e0b00}}.active-workout-info{display:flex;align-items:center;gap:.75rem}.active-workout-icon{font-size:1.5rem}.active-workout-text{display:flex;flex-direction:column;gap:.125rem}.active-workout-text strong{font-size:1rem;color:#92400e}.active-workout-details{font-size:.875rem;color:#a16207}.resume-workout-btn{flex-shrink:0;background:#f59e0b!important;border-color:#d97706!important}.resume-workout-btn:hover{background:#d97706!important}@media(max-width:640px){.active-workout-banner{flex-direction:column;align-items:stretch;text-align:center;padding:1rem}.active-workout-info{justify-content:center}.resume-workout-btn{width:100%}}.mesocycle-dashboard{padding:1.5rem 0}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.dashboard-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.dashboard-subtitle{font-size:1rem;color:#6b7280;margin:0}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb;overflow-x:auto}.filter-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-2px}.filter-tab:hover{color:#3b82f6}.filter-tab.active{color:#1d4ed8;border-bottom-color:#1d4ed8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.empty-state-text{font-size:1rem;color:#6b7280;max-width:32rem;margin:0 0 1.5rem;line-height:1.6}.mesocycle-list{display:grid;gap:1.5rem}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-title{font-size:1.5rem}.filter-tabs{margin-bottom:1rem}.filter-tab{padding:.5rem 1rem;font-size:.8125rem}.empty-state{padding:3rem 1rem}.empty-state-icon{font-size:3rem}.empty-state-title{font-size:1.25rem}}.workout-history{padding:1rem;max-width:1200px;margin:0 auto}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.history-header h2{margin:0;color:var(--text-primary, #1a1a1a)}.history-count{color:var(--text-secondary, #666);font-size:.9rem;margin:0}.history-filters{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.filter-row{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.filter-row:last-child{margin-bottom:0}.search-input,.filter-select,.date-input{padding:.5rem .75rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;font-size:.9rem;background:var(--input-background, #fff);color:var(--text-primary, #1a1a1a)}.search-input{flex:2;min-width:200px}.filter-select{flex:1;min-width:150px}.date-filter{display:flex;align-items:center;gap:.5rem}.date-filter label{font-size:.9rem;color:var(--text-secondary, #666);white-space:nowrap}.date-input{width:150px}.clear-filters-btn{padding:.5rem 1rem;background:var(--secondary-color, #6c757d);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background .2s;white-space:nowrap}.clear-filters-btn:hover{background:var(--secondary-color-hover, #5a6268)}.history-list{display:flex;flex-direction:column;gap:1rem}.workout-card{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.workout-card:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--primary-color, #3b82f6)}.workout-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.workout-date{display:flex;flex-direction:column;gap:.25rem}.date-text{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.mesocycle-badge{font-size:.75rem;color:var(--primary-color, #3b82f6);background:#3b82f61a;padding:.25rem .5rem;border-radius:4px;display:inline-block}.workout-duration{font-size:.9rem;color:var(--text-secondary, #666);font-weight:500}.workout-card-body{display:flex;flex-direction:column;gap:.75rem}.workout-stats{display:flex;gap:1.5rem}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.workout-exercises{display:flex;flex-wrap:wrap;gap:.5rem}.exercise-tag{font-size:.8rem;padding:.25rem .75rem;background:var(--tag-background, #f3f4f6);border-radius:12px;color:var(--text-primary, #1a1a1a)}.workout-notes{padding:.75rem;background:var(--note-background, #f9fafb);border-left:3px solid var(--primary-color, #3b82f6);border-radius:4px}.workout-notes p{margin:0;font-size:.9rem;color:var(--text-secondary, #666);font-style:italic}@media(max-width:768px){.workout-history{padding:.5rem}.history-header{flex-direction:column;align-items:flex-start;gap:.5rem}.filter-row{flex-direction:column;gap:.5rem}.search-input,.filter-select{width:100%;min-width:0}.workout-stats{gap:1rem}.stat-value{font-size:1.1rem}.workout-card-header{flex-direction:column;gap:.5rem}}.workout-detail-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.workout-detail-modal{background:var(--card-background, #fff);border-radius:12px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.modal-header h2{margin:0;color:var(--text-primary, #1a1a1a);font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.close-btn:hover{background:var(--hover-background, #f3f4f6)}.modal-content{padding:1.5rem;overflow-y:auto;flex:1}.detail-header{margin-bottom:1.5rem}.detail-date{font-size:1.1rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin-bottom:1rem}.detail-stats{display:flex;gap:2rem}.detail-stat{display:flex;flex-direction:column;gap:.25rem}.detail-stat-label{font-size:.75rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.detail-stat-value{font-size:1.5rem;font-weight:600;color:var(--primary-color, #3b82f6)}.detail-notes,.detail-feedback{background:var(--note-background, #f9fafb);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.detail-notes h3,.detail-feedback h3{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary, #1a1a1a)}.detail-notes p{margin:0;color:var(--text-secondary, #666);line-height:1.5}.feedback-item{margin-bottom:.75rem}.feedback-item:last-child{margin-bottom:0}.feedback-item strong{color:var(--text-primary, #1a1a1a)}.feedback-item ul{margin:.5rem 0 0 1.5rem;padding:0}.feedback-item li{margin:.25rem 0;color:var(--text-secondary, #666)}.detail-exercises h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary, #1a1a1a)}.exercise-detail{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem;margin-bottom:1rem}.exercise-detail:last-child{margin-bottom:0}.exercise-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e0e0e0)}.exercise-detail-header h4{margin:0;color:var(--text-primary, #1a1a1a);font-size:1rem}.exercise-volume{font-size:.9rem;color:var(--text-secondary, #666);font-weight:500}.sets-table{display:flex;flex-direction:column;gap:.5rem}.sets-table-header,.sets-table-row{display:grid;grid-template-columns:1fr 2fr 2fr 1.5fr 2fr;gap:.5rem;align-items:center;padding:.5rem;border-radius:4px}.sets-table-header{font-size:.75rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;background:var(--header-background, #f3f4f6)}.sets-table-row{font-size:.9rem;background:var(--row-background, #fafafa);color:var(--text-primary, #1a1a1a)}.sets-table-row:hover{background:var(--hover-background, #f3f4f6)}.set-number{font-weight:600}.target-reps{font-size:.8rem;color:var(--text-secondary, #666)}.exercise-notes{margin-top:.75rem;padding:.75rem;background:var(--note-background, #f9fafb);border-radius:4px;font-size:.9rem;color:var(--text-secondary, #666)}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e0e0e0);display:flex;justify-content:flex-end}.close-footer-btn{padding:.75rem 1.5rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.close-footer-btn:hover{background:var(--primary-color-hover, #2563eb)}@media(max-width:768px){.workout-detail-overlay{padding:0}.workout-detail-modal{max-height:100vh;border-radius:0}.modal-content{padding:1rem}.detail-stats{gap:1rem}.detail-stat-value{font-size:1.25rem}.sets-table-header,.sets-table-row{grid-template-columns:.8fr 1.5fr 1.5fr 1fr 1.5fr;font-size:.85rem;padding:.4rem}.sets-table-header{font-size:.7rem}.exercise-detail{padding:.75rem}}.progress-stats{padding:1rem;max-width:1200px;margin:0 auto}.progress-stats h2{margin:0 0 1.5rem;color:var(--text-primary, #1a1a1a);font-size:1.75rem}.progress-stats h3{margin:0 0 1rem;color:var(--text-primary, #1a1a1a);font-size:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s}.stat-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color, #3b82f6)}.stat-icon{font-size:2.5rem;line-height:1}.stat-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--primary-color, #3b82f6);line-height:1}.stat-label{font-size:.85rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.muscle-volume-section{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.muscle-volume-list{display:flex;flex-direction:column;gap:1rem}.muscle-volume-item{display:grid;grid-template-columns:150px 1fr 120px;gap:1rem;align-items:center}.muscle-info{display:flex;flex-direction:column;gap:.25rem}.muscle-name{font-weight:600;color:var(--text-primary, #1a1a1a);font-size:.95rem}.muscle-sets{font-size:.75rem;color:var(--text-secondary, #666)}.muscle-volume-bar{background:var(--bar-background, #e5e7eb);border-radius:8px;height:24px;overflow:hidden;position:relative}.muscle-volume-fill{background:linear-gradient(90deg,var(--primary-color, #3b82f6) 0%,#60a5fa 100%);height:100%;border-radius:8px;transition:width .3s ease;min-width:2%}.muscle-volume-value{text-align:right;font-weight:600;color:var(--text-primary, #1a1a1a);font-size:.95rem}.no-data{text-align:center;color:var(--text-secondary, #666);padding:2rem;font-style:italic}@media(max-width:768px){.progress-stats{padding:.5rem}.progress-stats h2{font-size:1.5rem}.progress-stats h3{font-size:1.1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.stat-card{padding:1rem;flex-direction:column;text-align:center}.stat-icon{font-size:2rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.muscle-volume-section{padding:1rem}.muscle-volume-item{grid-template-columns:1fr;gap:.5rem}.muscle-info{flex-direction:row;justify-content:space-between}.muscle-volume-value{text-align:left}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.personal-records{padding:1rem;max-width:1200px;margin:0 auto}.personal-records h2{margin:0 0 1.5rem;color:var(--text-primary, #1a1a1a);font-size:1.75rem}.pr-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.pr-controls label{font-weight:600;color:var(--text-primary, #1a1a1a);font-size:1rem}.exercise-select{flex:1;max-width:400px;padding:.75rem 1rem;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;font-size:1rem;background:var(--input-background, #fff);color:var(--text-primary, #1a1a1a);cursor:pointer}.exercise-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.exercise-info{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.exercise-info h3{margin:0 0 .5rem;color:var(--text-primary, #1a1a1a);font-size:1.25rem}.exercise-meta{display:flex;gap:1rem;font-size:.9rem}.exercise-category{background:var(--tag-background, #f3f4f6);padding:.25rem .75rem;border-radius:12px;color:var(--text-primary, #1a1a1a);text-transform:capitalize}.exercise-muscles{color:var(--text-secondary, #666)}.pr-table{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.pr-table-header,.pr-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1.5fr 2fr;gap:1rem;padding:1rem;align-items:center}.pr-table-header{background:var(--header-background, #f3f4f6);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #666);border-bottom:2px solid var(--border-color, #e0e0e0)}.pr-table-row{border-bottom:1px solid var(--border-color, #e0e0e0);font-size:.95rem;color:var(--text-primary, #1a1a1a);transition:background .2s}.pr-table-row:last-child{border-bottom:none}.pr-table-row:hover{background:var(--hover-background, #f9fafb)}.pr-rep-range{font-weight:600;color:var(--primary-color, #3b82f6)}.pr-weight,.pr-one-rm{font-weight:600}.pr-info{background:var(--info-background, #eff6ff);border:1px solid var(--info-border, #bfdbfe);border-radius:8px;padding:1rem}.pr-info h4{margin:0 0 .5rem;color:var(--text-primary, #1a1a1a);font-size:1rem}.pr-info p{margin:.5rem 0;color:var(--text-secondary, #666);line-height:1.5;font-size:.9rem}.pr-info strong{color:var(--primary-color, #3b82f6);font-family:Courier New,monospace;background:#3b82f61a;padding:.125rem .25rem;border-radius:2px}.pr-note{font-style:italic;font-size:.85rem!important;color:var(--text-tertiary, #999)!important}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #666)}.empty-state p{margin:.5rem 0}@media(max-width:768px){.personal-records{padding:.5rem}.personal-records h2{font-size:1.5rem}.pr-controls{flex-direction:column;align-items:stretch}.exercise-select{max-width:none}.pr-table-header,.pr-table-row{grid-template-columns:1fr 1fr .8fr 1fr 1.2fr;gap:.5rem;padding:.75rem;font-size:.85rem}.pr-table-header{font-size:.75rem}.exercise-meta{flex-direction:column;gap:.5rem}}@media(max-width:480px){.pr-table-header,.pr-table-row{grid-template-columns:1fr;gap:.25rem}.pr-table-header{display:none}.pr-table-row{display:grid;grid-template-columns:auto 1fr;gap:.5rem;padding:1rem}.pr-table-row span:before{content:attr(class);font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.pr-rep-range:before{content:"Rep Range: "}.pr-weight:before{content:"Weight: "}.pr-reps:before{content:"Reps: "}.pr-one-rm:before{content:"Est. 1RM: "}.pr-date:before{content:"Date: "}}.workout-calendar{padding:1rem;max-width:1200px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header h2{margin:0;color:var(--text-primary, #1a1a1a);font-size:1.75rem}.calendar-controls{display:flex;gap:.5rem}.calendar-nav-btn,.calendar-today-btn{padding:.5rem 1rem;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;background:var(--card-background, #fff);color:var(--text-primary, #1a1a1a);font-size:.9rem;cursor:pointer;transition:all .2s}.calendar-nav-btn:hover,.calendar-today-btn:hover{background:var(--hover-background, #f3f4f6);border-color:var(--primary-color, #3b82f6)}.calendar-today-btn{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.calendar-today-btn:hover{background:var(--primary-color-hover, #2563eb)}.calendar-month{text-align:center;margin-bottom:1.5rem}.calendar-month h3{margin:0;color:var(--text-primary, #1a1a1a);font-size:1.5rem;font-weight:600}.calendar-grid{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;padding:.5rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:default;transition:all .2s}.calendar-day.empty{border:none;background:transparent}.calendar-day:not(.empty):hover{box-shadow:0 2px 8px #0000001a;transform:scale(1.05)}.calendar-day.today{border-color:var(--primary-color, #3b82f6);border-width:2px}.day-number{font-size:.9rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.workout-indicator{font-size:.75rem;font-weight:600;color:#fff;margin-top:.25rem}.intensity-none{background:var(--card-background, #fff)}.intensity-low{background:#dbeafe;border-color:#93c5fd}.intensity-low .workout-indicator{color:#1e40af}.intensity-medium{background:#93c5fd;border-color:#60a5fa}.intensity-medium .workout-indicator{color:#1e3a8a}.intensity-high{background:#3b82f6;border-color:#2563eb}.intensity-high .day-number{color:#fff}.calendar-legend{background:var(--card-background, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:1rem}.calendar-legend h4{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary, #1a1a1a)}.legend-items{display:flex;gap:1.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:24px;height:24px;border:1px solid var(--border-color, #e0e0e0);border-radius:4px}.legend-item span{font-size:.9rem;color:var(--text-secondary, #666)}.loading{text-align:center;padding:2rem;color:var(--text-secondary, #666)}@media(max-width:768px){.workout-calendar{padding:.5rem}.calendar-header{flex-direction:column;gap:1rem;align-items:stretch}.calendar-header h2{font-size:1.5rem;text-align:center}.calendar-controls{justify-content:center}.calendar-nav-btn,.calendar-today-btn{flex:1}.calendar-grid{padding:.5rem}.calendar-days{gap:.25rem}.calendar-day{padding:.25rem}.day-number{font-size:.8rem}.workout-indicator{font-size:.65rem}.weekday{font-size:.75rem;padding:.25rem}.legend-items{gap:1rem}}@media(max-width:480px){.calendar-month h3{font-size:1.25rem}.weekday{font-size:.65rem}.day-number{font-size:.7rem}.workout-indicator{font-size:.6rem}}.progress-tracker{min-height:100%}.progress-header{padding:2rem 1rem 1rem;text-align:center;max-width:1200px;margin:0 auto}.progress-header h1{margin:0 0 .5rem;color:var(--text-primary, #1a1a1a);font-size:2rem}.progress-subtitle{margin:0;color:var(--text-secondary, #666);font-size:1rem}.progress-tabs{display:flex;justify-content:center;gap:.5rem;padding:1rem;border-bottom:2px solid var(--border-color, #e0e0e0);background:var(--card-background, #fff);position:sticky;top:0;z-index:100}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:500;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:var(--primary-color, #3b82f6);background:#3b82f60d}.tab-btn.active{color:var(--primary-color, #3b82f6);border-bottom-color:var(--primary-color, #3b82f6);background:#3b82f60d}.progress-content{padding:1rem 0;min-height:500px}@media(max-width:768px){.progress-header{padding:1rem .5rem .5rem}.progress-header h1{font-size:1.5rem}.progress-subtitle{font-size:.9rem}.progress-tabs{gap:.25rem;padding:.5rem;overflow-x:auto;justify-content:flex-start}.tab-btn{padding:.5rem 1rem;font-size:.9rem}.progress-content{padding:.5rem 0}}@media(max-width:480px){.progress-header h1{font-size:1.25rem}.tab-btn{padding:.5rem .75rem;font-size:.85rem}}.settings-container{max-width:800px;margin:0 auto;padding:1rem}.settings-container h1{margin-bottom:2rem;font-size:2rem;font-weight:600}.settings-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.settings-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.settings-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}[data-theme=dark] .settings-message.success{background-color:#1e4620;color:#a8e6a3;border-color:#2d5a2e}[data-theme=dark] .settings-message.error{background-color:#4a1f1f;color:#f5a3a3;border-color:#6b2c2c}.settings-section{background-color:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.settings-section h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a);border-bottom:2px solid var(--border-color, #e0e0e0);padding-bottom:.75rem}.settings-section h3{margin:1rem 0 .5rem;font-size:1.125rem;font-weight:600}.settings-field{margin-bottom:1.5rem}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.settings-field input[type=text],.settings-field input[type=number],.settings-field select{width:100%;padding:.75rem;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:1rem;background-color:var(--input-bg, #fff);color:var(--text-primary, #1a1a1a);transition:border-color .2s}.settings-field input[type=text]:focus,.settings-field input[type=number]:focus,.settings-field select:focus{outline:none;border-color:var(--primary-color, #007bff)}.settings-toggle{display:flex;justify-content:space-between;align-items:center}.settings-toggle label{margin-bottom:0;flex:1}.settings-toggle input[type=checkbox]{width:44px;height:24px;position:relative;cursor:pointer;appearance:none;background-color:#ccc;border-radius:12px;transition:background-color .2s}.settings-toggle input[type=checkbox]:checked{background-color:var(--primary-color, #007bff)}.settings-toggle input[type=checkbox]:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .2s}.settings-toggle input[type=checkbox]:checked:before{transform:translate(20px)}.rest-timer-control{display:flex;align-items:center;gap:1rem}.rest-timer-control input[type=range]{flex:1;height:6px;border-radius:3px;outline:none;-webkit-appearance:none}.rest-timer-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;box-shadow:0 2px 4px #0003}.rest-timer-control input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.rest-timer-value{font-weight:600;font-size:1.125rem;min-width:60px;text-align:center;color:var(--primary-dark, #0056b3)}.field-description{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary, #666);line-height:1.4}.settings-field button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.settings-field .btn-secondary,.settings-field label.btn-secondary{background-color:#6c757d;color:#fff;display:inline-block;width:100%;text-align:center;cursor:pointer}.settings-field .btn-secondary:hover,.settings-field label.btn-secondary:hover{background-color:#5a6268}.settings-field .btn-danger{background-color:#dc3545;color:#fff}.settings-field .btn-danger:hover{background-color:#c82333}.settings-field .btn-primary{background-color:var(--primary-color, #007bff);color:#fff}.settings-field .btn-primary:hover{background-color:#0056b3}.about-info{margin-bottom:1.5rem}.about-item{padding:.75rem 0;border-bottom:1px solid var(--border-color, #e0e0e0)}.about-item:last-child{border-bottom:none}.about-item strong{display:inline-block;min-width:100px;color:var(--text-primary, #1a1a1a)}.about-item a{color:var(--primary-dark, #0056b3);text-decoration:none}.about-item a:hover{text-decoration:underline}.about-acknowledgments{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e0e0e0)}.about-acknowledgments p{margin:.75rem 0;line-height:1.6;color:var(--text-secondary, #666)}[data-theme=dark] .settings-section{background-color:#2d2d2d;border-color:#444}[data-theme=dark] .settings-section h2{color:#e0e0e0;border-bottom-color:#444}[data-theme=dark] .settings-field label{color:#e0e0e0}[data-theme=dark] .settings-field input[type=text],[data-theme=dark] .settings-field input[type=number],[data-theme=dark] .settings-field select{background-color:#1a1a1a;border-color:#444;color:#e0e0e0}[data-theme=dark] .field-description{color:#999}[data-theme=dark] .about-item{border-bottom-color:#444}[data-theme=dark] .about-item strong{color:#e0e0e0}[data-theme=dark] .about-acknowledgments{border-top-color:#444}[data-theme=dark] .about-acknowledgments p{color:#999}@media(max-width:768px){.settings-container{padding:.5rem}.settings-container h1{font-size:1.5rem;margin-bottom:1rem}.settings-section{padding:1rem;margin-bottom:1rem}.settings-section h2{font-size:1.25rem;margin-bottom:1rem}.about-item strong{display:block;margin-bottom:.25rem}}.loading-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary, #666)}.onboarding-container{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background);overflow-y:auto}.onboarding-content{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.progress-indicator{position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:1px solid #e5e7eb;padding:1.5rem 1rem;text-align:center}.progress-dots{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem}.progress-dot{width:12px;height:12px;border-radius:50%;background:transparent;border:2px solid #a0aec0;padding:0;cursor:pointer;transition:all .2s ease;position:relative}.progress-dot:disabled{cursor:not-allowed;opacity:.5}.progress-dot.completed{background:var(--color-primary);border-color:var(--color-primary)}.progress-dot.active{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.3)}.progress-dot.completed:not(:disabled):hover,.progress-dot.active:hover{transform:scale(1.4)}.progress-label{font-size:.875rem;color:var(--color-text-light)}.optional-badge{color:#a0aec0;font-style:italic}.onboarding-step{width:100%;max-width:600px;margin:0 auto}.step-content{padding:0 1rem}.step-content h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text)}.step-description{font-size:1rem;color:var(--color-text-light);margin-bottom:2rem;line-height:1.5}.step-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e7eb}.action-group{display:flex;gap:1rem;margin-left:auto}.logo-container{text-align:center;margin-bottom:2.5rem}.logo-text{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.tagline{font-size:1rem;color:var(--color-text-light);font-weight:500}.value-proposition{margin-bottom:2rem}.value-proposition h2{font-size:1.5rem;margin-bottom:1rem}.value-proposition>p{font-size:1rem;line-height:1.6;color:var(--color-text-light);margin-bottom:1.5rem}.features-list{display:grid;gap:1rem;margin-top:1.5rem}.feature-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-surface);border-radius:8px;border:1px solid #e5e7eb}.feature-icon{font-size:1.5rem}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.optional-label{font-weight:400;color:#5a6270;text-transform:none;font-size:.75rem}.field-description{font-size:.875rem;color:var(--color-text-light);margin:0}.form-input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--color-primary)}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-group-inline{flex-direction:row;flex-wrap:wrap}.radio-option{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--color-surface)}.radio-option:hover{border-color:var(--color-primary);background:#f7f7fa}.radio-option input[type=radio]{margin-top:.25rem;width:20px;height:20px;cursor:pointer}.radio-option input[type=radio]:checked~.radio-content{color:var(--color-primary-dark)}.radio-option:has(input[type=radio]:checked){border-color:var(--color-primary);background:#f5f3ff}.radio-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.radio-title{font-weight:600;font-size:1rem}.radio-description{font-size:.875rem;color:var(--color-text-light)}.radio-option-inline{flex:1;min-width:150px}.split-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.split-option{cursor:pointer}.split-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.split-card{padding:1.25rem;border:2px solid #e5e7eb;border-radius:8px;background:var(--color-surface);transition:all .2s ease;position:relative}.split-option:hover .split-card{border-color:var(--color-primary);background:#f7f7fa}.split-option input[type=radio]:checked~.split-card{border-color:var(--color-primary);background:#f5f3ff}.recommended-badge{position:absolute;top:.75rem;right:.75rem;background:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.split-card h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.split-description{font-size:.875rem;color:var(--color-text-light);margin-bottom:.75rem;line-height:1.5}.split-meta{display:flex;gap:1rem;align-items:center}.days-per-week{font-size:.75rem;color:#a0aec0;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.illustration{text-align:center;margin-bottom:2rem}.icon-large{font-size:4rem}.example-box{background:var(--color-surface);border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.example-box h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.example-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.example-list li{padding-left:1.5rem;position:relative;color:var(--color-text-light)}.example-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.helper-text{font-size:.875rem;color:#a0aec0;font-style:italic;text-align:center;margin-top:1rem}.tour-slide{text-align:center;padding:2rem 1rem;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.slide-icon{font-size:4rem;margin-bottom:1.5rem}.tour-slide h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.tour-slide p{font-size:1rem;color:var(--color-text-light);line-height:1.6;max-width:500px}.tour-dots{display:flex;justify-content:center;gap:.75rem;margin:1.5rem 0 .5rem}.tour-dot{width:10px;height:10px;border-radius:50%;background:#e5e7eb;border:none;padding:0;cursor:pointer;transition:all .2s ease}.tour-dot.active{background:var(--color-primary);transform:scale(1.3)}.tour-dot:hover{background:var(--color-primary)}.slide-counter{text-align:center;font-size:.875rem;color:#a0aec0;margin-bottom:1rem}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;text-align:center;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid #e5e7eb}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);background:#f7f7fa}.btn-text{background:transparent;color:var(--color-text-light);padding:.75rem 1rem}.btn-text:hover:not(:disabled){color:var(--color-text);background:#f7f7fa}.btn-large{padding:1rem 2rem;font-size:1.125rem;width:100%;max-width:300px;margin:0 auto;display:block}@media(max-width:640px){.onboarding-content{padding:1rem .5rem}.step-content{padding:0 .5rem}.step-content h2{font-size:1.5rem}.logo-text{font-size:2.5rem}.radio-group-inline{flex-direction:column}.radio-option-inline{min-width:100%}.step-actions{flex-direction:column}.action-group{margin-left:0;width:100%}.btn{flex:1}}.info-box{background:var(--color-surface);border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.info-box h3{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.info-box p{color:var(--color-text);line-height:1.6;margin-bottom:.75rem}.info-box ul{margin:0;padding-left:1.25rem}.info-box li{color:var(--color-text);line-height:1.6;margin-bottom:.5rem}.info-box li:last-child{margin-bottom:0}.info-box-secondary{background:#f8f9fa;border-color:#dee2e6}.info-box-secondary p{color:#495057;margin-bottom:0}.info-box-warning{background:#fff8e6;border-color:#ffc107}.field-hint{display:block;font-size:.75rem;font-weight:400;color:#5a6270;text-transform:none;letter-spacing:normal;margin-top:.25rem}.app-container{max-width:100%}.loading-state{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:var(--font-size-lg, 1.125rem);color:#6b7280}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md, 1rem);background:#f7fafc;border-radius:.5rem;margin-bottom:var(--spacing-xl, 2rem);flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.status{font-weight:600;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);border-radius:.25rem;background:#fff;min-height:var(--touch-target-min, 44px);display:flex;align-items:center}.status.online{color:#15803d;font-weight:600}.status.offline{color:#b91c1c;font-weight:600}.install-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:transform .2s;min-height:var(--touch-target-min, 44px)}.install-btn:hover{transform:translateY(-2px)}@media(max-width:640px){.status-bar{padding:var(--spacing-sm, .5rem)}.install-btn{width:100%}}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:var(--spacing-xl, 2rem)}.coming-soon h2{font-size:var(--font-size-2xl, 2rem);margin-bottom:var(--spacing-md, 1rem);color:#1f2937}.coming-soon p{font-size:var(--font-size-lg, 1.125rem);color:#6b7280}
