*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1a73e8;--primary-dark: #1557b0;--secondary-color: #5f6368;--success-color: #34a853;--error-color: #ea4335;--background: #f8f9fa;--surface: #ffffff;--text-primary: #202124;--text-secondary: #5f6368;--border-color: #dadce0;--shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-lg: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#app{display:flex;flex-direction:column;min-height:100vh;max-width:100vw;overflow-x:hidden}.app-header{background:var(--primary-color);color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.app-header h1{font-size:1.5rem;font-weight:600}.header-actions{display:flex;gap:.5rem}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);display:flex;justify-content:space-around;padding:.5rem 0;box-shadow:0 -2px 10px #0000001a;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem 1rem;transition:color .2s;flex:1}.nav-item.active{color:var(--primary-color)}.nav-icon{font-size:1.5rem}.nav-label{font-size:.75rem}.main-content{flex:1;padding:1rem 1rem 5rem;max-width:1200px;margin:0 auto;width:100%}.view{display:none}.view.active{display:block;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.view-header h2{font-size:1.75rem;font-weight:600}.btn-primary,.btn-secondary,.btn-icon{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;justify-content:center}.btn-primary{background:var(--primary-color);color:#fff;padding:.75rem 1.5rem}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow)}.btn-secondary{background:var(--surface);color:var(--text-primary);padding:.75rem 1.5rem;border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--background)}.btn-icon{background:transparent;padding:.5rem;font-size:1.25rem;min-width:2.5rem;min-height:2.5rem}.btn-icon:hover{background:rgba(0,0,0,.05)}.btn-large{padding:1rem 2rem;font-size:1.125rem;width:100%}.exercise-card,.routine-card,.routine-today-card{background:var(--surface);border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow);display:flex;gap:1rem;align-items:start;transition:transform .2s,box-shadow .2s}.exercise-card:hover,.routine-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.routine-today-card{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.routine-today-card h3{font-size:1.5rem;margin-bottom:.5rem}.routine-today-card p{color:var(--text-secondary);margin-bottom:1rem}.exercise-image,.exercise-image-placeholder{width:100px;height:100px;object-fit:cover;border-radius:8px;flex-shrink:0}.exercise-image-placeholder{background:var(--background);display:flex;align-items:center;justify-content:center;font-size:3rem}.exercise-info{flex:1}.exercise-info h3{margin-bottom:.5rem;font-size:1.25rem}.exercise-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.exercise-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat{font-size:.9rem;color:var(--text-secondary)}.exercise-actions,.routine-actions{display:flex;gap:.5rem;flex-direction:column}.routine-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;width:100%}.routine-days{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;white-space:nowrap}.routine-exercises-list p{margin-bottom:.5rem;color:var(--text-secondary)}.routine-exercises-list ul{list-style:none;padding-left:0}.routine-exercises-list li{padding:.25rem 0 .25rem 1rem;position:relative}.routine-exercises-list li:before{content:"•";position:absolute;left:0;color:var(--primary-color)}.exercises-count{font-weight:600;color:var(--primary-color)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;overflow-y:auto;padding:1rem}.modal.active{display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-in}.modal-content{background:var(--surface);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.5rem}.close-modal{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-modal:hover{color:var(--text-primary)}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group input[type=file]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical}.image-preview{margin-top:.5rem}.image-preview img{max-width:200px;max-height:200px;border-radius:8px;object-fit:cover}.days-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-checkbox{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;transition:all .2s;font-weight:600}.day-checkbox input{display:none}.day-checkbox input:checked+span,.day-checkbox:has(input:checked){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.exercises-selector{max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;padding:1rem}.exercise-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background .2s}.exercise-checkbox:hover{background:var(--background)}.exercise-checkbox input{width:1.25rem;height:1.25rem;cursor:pointer}.info-text{color:var(--text-secondary);font-style:italic}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}#workout-view{padding:0}.workout-header{background:var(--primary-color);color:#fff;padding:1rem;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:10}.workout-header h2{flex:1;font-size:1.5rem}.workout-header .btn-icon{color:#fff}.workout-content{padding:1rem}.exercise-display{background:var(--surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-lg);margin-bottom:2rem}.workout-exercise-image{width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin-bottom:1.5rem}.workout-exercise-placeholder{width:100%;height:200px;background:var(--background);display:flex;align-items:center;justify-content:center;font-size:5rem;border-radius:12px;margin-bottom:1.5rem}.exercise-name{font-size:2rem;margin-bottom:1rem;text-align:center}.exercise-display .exercise-description{text-align:center;margin-bottom:2rem}.exercise-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.detail-item{text-align:center;padding:1rem;background:var(--background);border-radius:8px}.detail-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.detail-value{display:block;font-size:1.75rem;font-weight:600;color:var(--primary-color)}.rest-timer-container{margin:2rem 0;padding:2rem;background:var(--background);border-radius:12px;text-align:center;opacity:.3;transition:opacity .3s}.rest-timer-container.active{opacity:1;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.timer-display{font-size:4rem;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:.5rem}.timer-label{font-size:1.25rem;opacity:.8}.workout-actions{display:flex;flex-direction:column;gap:1rem}.exercises-queue{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow)}.exercises-queue h3{margin-bottom:1rem;color:var(--text-secondary);font-size:1rem}.queue-list{display:flex;flex-direction:column;gap:.5rem}.queue-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--background);border-radius:8px}.queue-item-name{font-weight:500}.queue-item-reps{color:var(--text-secondary);font-size:.9rem}.queue-empty{text-align:center;color:var(--text-secondary);padding:1rem}.notification{position:fixed;bottom:6rem;left:50%;transform:translate(-50%) translateY(100px);background:var(--text-primary);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:var(--shadow-lg);z-index:2000;transition:transform .3s ease-out;max-width:90vw}.notification.show{transform:translate(-50%) translateY(0)}.notification.success{background:var(--success-color)}.notification.error{background:var(--error-color)}@media (max-width: 768px){.form-row,.exercise-details{grid-template-columns:1fr}.timer-display{font-size:3rem}.exercise-card{flex-direction:column}.exercise-image,.exercise-image-placeholder{width:100%;height:200px}}@supports (padding: max(0px)){.app-header{padding-top:max(1rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.main-content{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}
