@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app-container{display:flex;flex-direction:column;margin:0 auto;max-width:500px;min-height:100vh;position:relative}.header{padding:1.2rem}.header h1,.header h2{flex-grow:1;font-weight:700;letter-spacing:-.5px;margin:0}.header h1{font-size:1.8rem}.header button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-right:.8rem;transition:all .2s ease;width:40px}.header button:hover{background:#ffffff4d;transform:scale(1.05)}.tabs button{background:none;cursor:pointer;font-size:.85rem;font-weight:500;margin:0;padding:.4rem .8rem}.navigation button{color:#aaa}.navigation button.active:after{background-color:#8e54e9;border-radius:50%;bottom:-8px;content:"";height:5px;left:50%;position:absolute;transform:translateX(-50%);width:5px}.navigation button span{font-weight:500;margin-top:.4rem}.home-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.nfc-status{align-items:center;background:#0003;border-radius:50px;color:#ffffffe6;display:flex;font-size:.75rem;margin-left:auto;padding:4px 10px}.nfc-status svg{margin-right:.4rem}.recent-exercises{padding:1.5rem}.recent-exercises h2{color:#333;font-size:1.3rem;font-weight:700;margin-bottom:1rem}.exercises-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.exercise-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 4px 15px #0000000d;cursor:pointer;padding:1.2rem;transition:all .3s ease}.exercise-card:hover{border-color:#8e54e933;box-shadow:0 8px 25px #00000014;transform:translateY(-5px)}.exercise-card h3{color:#444;font-size:1.1rem;margin:0 0 .5rem}.exercise-card p{color:#888;font-size:.9rem;margin:0}.progress-chart{padding:0 1.5rem 1.5rem}.progress-chart h2{color:#333;font-size:1.3rem;font-weight:700;margin-bottom:1rem}.action-buttons{justify-content:center}.action-button{padding:1rem 2rem}.exercise-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.equipment-info{background:linear-gradient(90deg,#f6f9fc,#f1f4f9);border-left:4px solid #8e54e9;margin-bottom:1.5rem;padding:1.2rem 1.5rem}.equipment-info p{color:#666;font-size:.9rem;margin:.3rem 0}.last-workout{margin-bottom:1.5rem;padding:0 1.5rem}.last-workout h3{color:#444;font-size:1.1rem;font-weight:600;margin:0 0 .8rem}.last-workout p{background:#f8f9fa;border-left:3px solid #6a11cb;border-radius:8px;color:#555;font-size:1rem;font-weight:500;margin:0;padding:.8rem 1rem}.current-workout{padding:0 1.5rem}.current-workout h3{color:#444;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.set-controls{grid-gap:1rem;display:grid;grid-template-columns:1fr 1fr}.reps-control,.weight-control{display:flex;flex-direction:column}.reps-control label,.weight-control label{color:#666;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.input-with-buttons button{background-color:#f5f5f5;border:none;color:#666;cursor:pointer;font-size:1.2rem;transition:all .2s ease;width:40px}.input-with-buttons button:hover{background-color:#e0e0e0;color:#333}.input-with-buttons input{flex-grow:1}.input-with-buttons input:focus{outline:none}.add-set-button{background:linear-gradient(45deg,#43a047,#66bb6a);border:none;border-radius:8px;box-shadow:0 4px 10px #66bb6a4d;color:#fff;cursor:pointer;font-weight:600;margin-bottom:1.5rem;padding:1rem;transition:all .3s ease;width:100%}.add-set-button:hover{box-shadow:0 6px 15px #66bb6a66;transform:translateY(-2px)}.sets-list{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.set-item{border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:1rem 1.2rem}.set-item:last-child{border-bottom:none}.set-item span:first-child{color:#555;font-weight:600}.set-item span:last-child{color:#43a047;font-weight:700}.nfc-scan-screen,.scan-content{display:flex;flex:1 1;flex-direction:column}.scan-content{align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center}.nfc-icon{color:#d1d1d1;margin-bottom:2.5rem;position:relative}.nfc-icon.scanning{animation:pulse 1.5s infinite;color:#8e54e9}.scan-message{color:#555;font-size:1.3rem;font-weight:500;line-height:1.4;margin-bottom:2.5rem}.scan-button{background:linear-gradient(45deg,#4776e6,#8e54e9);box-shadow:0 4px 15px #8e54e966;color:#fff;font-size:1rem;font-weight:600;margin-bottom:2.5rem;padding:1rem 2.5rem;transition:all .3s ease}.scan-button:hover{box-shadow:0 8px 20px #8e54e980;transform:translateY(-2px)}.scan-button:disabled{background:linear-gradient(45deg,#9e9e9e,#bdbdbd);box-shadow:none;cursor:not-allowed}.cancel-button{background-color:#f5f5f5;border-radius:50px;color:#555;font-size:1rem;font-weight:600;margin-bottom:2.5rem;padding:1rem 2.5rem;transition:all .2s ease}.cancel-button:hover{background-color:#e0e0e0}.scan-instructions{color:#888;font-size:.9rem;line-height:1.5;max-width:300px}.admin-screen,.register-nfc-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.admin-menu{padding:1.5rem}.admin-menu-item{align-items:center;background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;cursor:pointer;display:flex;margin-bottom:1rem;padding:1.2rem;text-align:left;transition:all .3s ease;width:100%}.admin-menu-item:hover{border-color:#8e54e933;box-shadow:0 8px 20px #00000014;transform:translateY(-3px)}.admin-menu-item svg{color:#8e54e9;margin-right:1rem}.nfc-scan-section{align-items:center;display:flex;flex-direction:column;padding:2rem;text-align:center}.tag-info{background-color:#f0f8ff;border-left:3px solid #4776e6;border-radius:8px;color:#555;font-weight:500;margin:1.5rem 0;padding:.8rem 1.2rem}.registration-form{padding:0 1.5rem 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#555;font-weight:500;margin-bottom:.5rem}.form-group select{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #00000008;color:#555;font-size:.95rem;padding:.8rem 1rem;transition:all .2s ease;width:100%}.form-group select:focus{border-color:#8e54e9;box-shadow:0 2px 10px #8e54e926;outline:none}.register-button{border:none;border-radius:8px;box-shadow:0 4px 10px #66bb6a4d;cursor:pointer;font-weight:600;margin-top:1.5rem;padding:1rem;transition:all .3s ease;width:100%}.register-button:hover{box-shadow:0 6px 15px #66bb6a66}.register-button:disabled{background:linear-gradient(45deg,#9e9e9e,#bdbdbd);box-shadow:none;cursor:not-allowed}.status-text{color:#555;font-weight:500;margin:1rem 0}.history-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.view-controls{background:#fff3;border-radius:50px;display:flex;margin-left:auto;padding:3px}.view-controls button{align-items:center;background:none;border:none;border-radius:50%;color:#fffc;cursor:pointer;display:flex;height:40px;justify-content:center;padding:.5rem;transition:all .2s ease;width:40px}.view-controls button.active{background-color:#fff;box-shadow:0 2px 4px #0000001a;color:#8e54e9}.history-list{padding:1.5rem}.history-day{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;cursor:pointer;margin-bottom:1rem;padding:1.2rem;transition:all .3s ease}.history-day:hover{border-color:#8e54e933;box-shadow:0 8px 20px #00000014;transform:translateY(-3px)}.day-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.day-header h3{color:#444;font-size:1.1rem;margin:0}.day-header span{background-color:#8e54e91a;border-radius:50px;color:#8e54e9;font-size:.8rem;font-weight:600;padding:.2rem .5rem}.day-exercises{color:#666;font-size:.9rem}.history-detail{padding:1.5rem}.detail-header{align-items:center;display:flex;margin-bottom:1.5rem}.detail-header button{align-items:center;background:#0000000d;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:40px;justify-content:center;margin-right:1rem;transition:all .2s ease;width:40px}.detail-header button:hover{background:#0000001a}.detail-header h3{color:#444;font-size:1.2rem;margin:0}.workout-details{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.exercise-detail{border-bottom:1px solid #f5f5f5;padding:1.2rem}.exercise-detail:last-child{border-bottom:none}.exercise-detail h4{color:#444;font-size:1.1rem;margin:0 0 .8rem}.sets-info{font-size:.9rem}.set-info{border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:.6rem 0}.set-info:last-child{border-bottom:none}.set-info span:first-child{color:#555;font-weight:600}.chart-view{padding:1.5rem}.chart-view h3{color:#444;font-size:1.1rem;font-weight:600;margin:1.5rem 0 1rem}.library-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.search-bar{align-items:center;background-color:#fff;border:1px solid #f0f0f0;border-radius:50px;box-shadow:0 2px 10px #0000000d;display:flex;margin:1.5rem;padding:.6rem 1rem}.search-bar svg{color:#aaa;margin-right:.5rem}.search-bar input{border:none;color:#555;flex-grow:1;font-size:.95rem;outline:none;padding:.5rem 0}.category-filter{-webkit-overflow-scrolling:touch;display:flex;margin-bottom:1.5rem;overflow-x:auto;padding:0 1.5rem;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-filter button{background-color:#f5f6f7;border:none;border-radius:50px;color:#666;cursor:pointer;font-size:.85rem;margin-right:.8rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.category-filter button:hover{background-color:#eaecee}.category-filter button.active{background:linear-gradient(45deg,#4776e6,#8e54e9);box-shadow:0 2px 8px #8e54e94d;color:#fff;font-weight:500}.exercise-list{padding:0 1.5rem 1.5rem}.exercise-item{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;cursor:pointer;margin-bottom:1rem;padding:1.2rem;transition:all .3s ease}.exercise-item:hover{border-color:#8e54e933;box-shadow:0 8px 20px #00000014;transform:translateY(-3px)}.exercise-item h3{color:#444;font-size:1.1rem;margin:0 0 .8rem}.exercise-details{align-items:center;display:flex;flex-wrap:wrap;font-size:.85rem}.category{background-color:#8e54e91a;border-radius:50px;color:#8e54e9;font-weight:500;margin-right:.8rem;padding:.25rem .6rem}.equipment{color:#888}.equipment-list{padding:1.5rem}.equipment-item{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:1rem;padding:1.2rem}.equipment-item h3{color:#444;font-size:1.1rem;margin:0 0 .5rem}.equipment-item p{color:#666;font-size:.9rem;margin:0 0 1rem}.scan-button{align-items:center;background-color:#8e54e91a;border:none;border-radius:50px;color:#8e54e9;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;padding:.6rem 1rem;transition:all .2s ease}.scan-button:hover{background-color:#8e54e933}.scan-button svg{margin-right:.5rem}.profile-screen{display:flex;flex:1 1;flex-direction:column;padding-bottom:80px}.profile-info{padding:1.5rem}.profile-header{align-items:center;display:flex;margin-bottom:2rem}.profile-picture{align-items:center;background:linear-gradient(45deg,#4776e6,#8e54e9);border-radius:50%;box-shadow:0 4px 10px #8e54e94d;color:#fff;display:flex;font-size:2rem;font-weight:600;height:80px;justify-content:center;margin-right:1.2rem;width:80px}.profile-details h3{color:#444;font-size:1.3rem;margin:0 0 .4rem}.profile-details p{color:#888;font-size:.9rem;margin:0}.stats-section{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.2rem}.stat-item{align-items:center;display:flex;flex-direction:column}.stat-label{color:#888;font-size:.8rem;margin-bottom:.4rem}.stat-value{color:#444;font-size:1.3rem;font-weight:700}.achievements-section,.goals-section,.records-section,.settings-section{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:1.5rem;padding:1.2rem}.achievements-section h3,.goals-section h3,.records-section h3,.settings-section h3{color:#444;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.goals-list{list-style:none;margin:0;padding:0}.goal-item{align-items:center;border-bottom:1px solid #f5f5f5;color:#555;display:flex;font-size:.95rem;padding:.8rem 0}.goal-item:before{color:#8e54e9;content:"•";font-size:1.5rem;margin-right:.5rem}.goal-item:last-child{border-bottom:none}.achievements-list{display:flex;flex-direction:column}.achievement-item{align-items:flex-start;display:flex;margin-bottom:1.2rem}.achievement-item:last-child{margin-bottom:0}.achievement-icon{align-items:center;background:linear-gradient(45deg,#4776e6,#8e54e9);border-radius:50%;box-shadow:0 2px 8px #8e54e933;color:#fff;display:flex;justify-content:center;margin-right:1rem;padding:.6rem}.achievement-details h4{color:#444;font-size:1rem;margin:0 0 .3rem}.achievement-details p{color:#888;font-size:.85rem;margin:0}.records-list{display:flex;flex-direction:column}.record-item{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:.8rem 0}.record-item:last-child{border-bottom:none}.record-exercise{color:#555;flex-grow:1;font-weight:500}.record-value{color:#43a047}.record-date{color:#888;font-size:.8rem}.settings-group{margin-bottom:2rem}.settings-group:last-child{margin-bottom:0}.setting-item{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:.8rem 0}.setting-item:last-child{border-bottom:none}.setting-label{flex-grow:1}.setting-label span{color:#555;display:block;font-weight:500;margin-bottom:.3rem}.setting-description{color:#888;font-size:.8rem;margin:0}.toggle-slider{transition:transform .3s}.setting-button{background:none;border:none;border-bottom:1px solid #f5f5f5;color:#555;cursor:pointer;display:block;font-size:1rem;padding:.8rem 0;text-align:left;transition:all .2s ease;width:100%}.setting-button:hover{color:#8e54e9}.setting-button:last-child{border-bottom:none}.admin-button{align-items:center;display:flex}.admin-button svg{color:#666;margin-right:.5rem}.logout-button{color:#f44336}.logout-button:hover{color:#e53935}@media (max-width:480px){.exercises-list,.set-controls{grid-template-columns:1fr}.stats-section{flex-direction:column}.stat-item{flex-direction:row;justify-content:space-between;margin-bottom:1rem;width:100%}.stat-item:last-child{margin-bottom:0}.profile-picture{font-size:1.5rem;height:60px;width:60px}.tabs button{font-size:.8rem;padding:.3rem .6rem}}.progress-indicator{background:linear-gradient(90deg,#4776e6,#8e54e9);border-radius:2px;height:4px;margin:10px 0;width:50px}.badge{background-color:#f44336;border-radius:50px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;position:absolute;right:-5px;top:-5px}.premium-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 5px 15px #667eea66;color:#fff;overflow:hidden;padding:1.5rem;position:relative}.premium-section:before{background:linear-gradient(45deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.highlight-card{background-color:#fff;border-left:4px solid #8e54e9;border-radius:12px;box-shadow:0 4px 15px #0000000d;padding:1.2rem;transition:all .3s ease}.highlight-card:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-3px)}.fab{align-items:center;background:linear-gradient(45deg,#4776e6,#8e54e9);border-radius:50%;bottom:80px;box-shadow:0 4px 15px #8e54e966;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:100}.fab:hover{box-shadow:0 8px 20px #8e54e980;transform:translateY(-3px) scale(1.05)}.fab svg{font-size:24px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #8e54e933;border-radius:50%;border-top-color:#8e54e9;height:40px;margin:20px auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.personal-best{position:relative}.personal-best:after{content:"🏆";font-size:14px;position:absolute;right:-15px;top:-5px}.tooltip{display:inline-block;position:relative}.tooltip .tooltip-text{background-color:#333;border-radius:6px;bottom:125%;color:#fff;font-size:.8rem;left:50%;opacity:0;padding:5px 10px;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s;visibility:hidden;white-space:nowrap;z-index:1}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}body{font-family:-apple-system,Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#ccc}::-webkit-scrollbar-thumb:hover{background:#bbb}.set-controls{gap:1rem;grid-template-columns:1fr;margin-bottom:1.5rem;max-width:100%;overflow:hidden;width:100%}.input-with-buttons{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #00000008;display:flex;max-width:100%;overflow:hidden}.input-with-buttons input{border:none;color:#555;flex:1 1;font-size:1rem;font-weight:600;min-width:0;padding:.7rem .5rem;text-align:center;width:100%}.exercise-screen{overflow-x:hidden;width:100%}.current-workout{box-sizing:border-box;padding:0 1rem;width:100%}.tabs{flex-shrink:0;margin-left:10px;max-width:60%}.tabs button{flex-shrink:0;font-size:.75rem;padding:.3rem .6rem}.header{overflow:visible}.header h2{margin-right:10px}.library-screen .tabs button,.profile-screen .tabs button{font-size:.7rem;padding:.25rem .5rem}@media (max-width:360px){.tabs{max-width:50%}.header h2{font-size:1.1rem;max-width:40%}.tabs button{padding:.2rem .4rem}}.tabs{background:#fff3;border-radius:50px;flex-wrap:nowrap;max-width:none}.tabs button{letter-spacing:-.2px;margin:0 1px;min-width:auto;padding:.3rem .5rem;text-overflow:ellipsis}.header{padding:.8rem .6rem}.header h2{flex:0 1 auto}.library-screen .tabs,.profile-screen .tabs{height:32px;margin-left:.3rem;min-width:180px}.library-screen .tabs button,.profile-screen .tabs button{flex:1 1;font-size:.65rem;padding:.2rem .4rem}.library-screen .header,.profile-screen .header{align-items:center;flex-wrap:nowrap;overflow:visible}.library-screen .header h2,.profile-screen .header h2{font-size:1.1rem}.tabs button.active{font-weight:600;letter-spacing:normal}@media (max-width:360px){.tabs button{font-size:.6rem;padding:.2rem .3rem}.header h2{font-size:1rem}}.tabs button{font-size:.8rem;padding:.4rem .7rem}.profile-screen .tabs button{font-size:.75rem}@media (max-width:380px){.tabs{gap:3px}.tabs button{font-size:.7rem;padding:.3rem .5rem}}.tabs{gap:4px}.tabs button{background:#ffffff1a;border-radius:50px;flex-shrink:1;font-size:.7rem;min-width:0;padding:.35rem .5rem;white-space:nowrap}.header{padding:.7rem}.header h2{flex-shrink:1;font-size:1.1rem;margin-right:.4rem;max-width:40%}.profile-screen .tabs{gap:2px;max-width:60%}.profile-screen .tabs button{font-size:.65rem;letter-spacing:-.3px;padding:.3rem .4rem}.profile-screen .tabs button:nth-child(3){font-size:.6rem;padding:.3rem .35rem}@media (max-width:360px){.header h2{font-size:1rem;max-width:35%}.tabs{gap:2px}.tabs button{font-size:.65rem;padding:.25rem .35rem}.profile-screen .tabs button{font-size:.6rem;padding:.25rem .3rem}}.tabs{border-radius:0;gap:5px}.tabs button{background:#fff3;font-size:1rem}.header{flex-wrap:nowrap;padding:.8rem}.header h2{font-size:1.2rem;margin-right:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs button span,.tabs button:after,.tabs button:before{display:none!important}.profile-screen .tabs button:first-child:after{content:"ℹ️";display:block!important}.profile-screen .tabs button:nth-child(2):after{content:"🏆";display:block!important}.profile-screen .tabs button:nth-child(3):after{content:"⚙️";display:block!important}.library-screen .tabs button:first-child:after{content:"📋";display:block!important}.library-screen .tabs button:nth-child(2):after{content:"🔧";display:block!important}:root{--background-color:#f0f2f5;--card-background:#fff;--text-secondary:#666;--text-muted:#888;--border-color:#f0f0f0;--shadow-color:#0000000d;--highlight-color:#8e54e9;--gradient-start:#4776e6;--gradient-end:#8e54e9;--input-background:#f5f5f5;--success-color:#43a047}body.dark-mode{--background-color:#121212;--card-background:#1e1e1e;--text-color:#e0e0e0;--text-secondary:#b0b0b0;--text-muted:#909090;--border-color:#333;--shadow-color:#0003;--highlight-color:#9d65f0;--gradient-start:#4776e6;--gradient-end:#9d65f0;--input-background:#2d2d2d;--success-color:#66bb6a}body{background-color:#f0f2f5;background-color:var(--background-color);color:#333;color:var(--text-color)}.app-container{background-color:#fff;background-color:var(--card-background);box-shadow:0 0 25px #0000000d;box-shadow:0 0 25px var(--shadow-color)}.achievements-section,.equipment-item,.exercise-card,.goals-section,.history-day,.records-section,.sets-list,.settings-section,.stats-section,.workout-details{background-color:#fff;background-color:var(--card-background);border-color:#e0e0e0;border-color:var(--border-color);box-shadow:0 4px 15px #0000000d;box-shadow:0 4px 15px var(--shadow-color)}.admin-menu-item:active,.exercise-card:active,.exercise-item:active,.history-day:active{transform:scale(.98);transition:transform .1s}.action-button:active,.add-set-button:active,.register-button:active,.scan-button:active{transform:scale(.95);transition:transform .1s}.admin-screen,.exercise-screen,.history-screen,.home-screen,.library-screen,.nfc-scan-screen,.profile-screen,.register-nfc-screen{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-with-buttons input{transition:all .2s}.input-with-buttons input:focus{background-color:#8e54e90d}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%238E54E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}a:focus,button:focus,input:focus,select:focus{outline:2px solid #8e54e966;outline-offset:2px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#e0e0e0;stroke-dasharray:3 3}.recharts-tooltip-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}.recharts-default-tooltip{background-color:#fffffff2!important;border:none!important;border-radius:8px!important;box-shadow:0 2px 10px #0000001a!important;padding:10px 14px!important}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2.5rem 1.5rem}.empty-state-icon{color:#e0e0e0;font-size:3rem;margin-bottom:1rem}.empty-state-text{color:#888;font-size:1.1rem;margin-bottom:1.5rem}.empty-state-button{background:linear-gradient(45deg,#4776e6,#8e54e9);border:none;border-radius:50px;box-shadow:0 4px 15px #8e54e966;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:all .3s ease}.navigation{background-color:#fff;background-color:var(--card-background);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 10px #0000000d;box-shadow:0 -2px 10px var(--shadow-color);display:flex;justify-content:space-around;padding:.8rem .5rem;position:sticky;z-index:100}.navigation button{align-items:center;background:none;border:none;color:#888;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-size:.7rem;padding:.5rem;position:relative;transition:all .2s ease}.navigation button.active{color:#8e54e9;color:var(--highlight-color)}.navigation button.active:before{animation:pulse 1.5s infinite;background-color:#8e54e9;background-color:var(--highlight-color);border-radius:50%;bottom:-8px;box-shadow:0 0 8px #8e54e9;box-shadow:0 0 8px var(--highlight-color);content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:#8e54e94d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#8e54e980}@keyframes successPulse{0%{box-shadow:0 0 0 0 #66bb6ab3}70%{box-shadow:0 0 0 15px #66bb6a00}to{box-shadow:0 0 0 0 #66bb6a00}}.success-feedback{animation:successPulse 1.5s ease-out}.toggle-button{background-color:#e0e0e0;border:none;border-radius:12px;cursor:pointer;height:24px;padding:0;position:relative;transition:background-color .3s;width:50px}.toggle-button.active{background:linear-gradient(45deg,#43a047,#66bb6a)}.toggle-slider{background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;height:20px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);width:20px}.toggle-button.active .toggle-slider{transform:translateX(26px)}.toggle-button:focus{box-shadow:0 0 0 2px #66bb6a80;outline:none}.record-value{color:#4caf50;color:var(--success-color);font-size:1.1rem;font-weight:700;margin:0 1rem;padding:.3rem .7rem;position:relative;z-index:1}.record-value,.record-value:before{border-radius:50px;transition:all .3s}.record-value:before{background-color:#66bb6a1a;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.record-value:hover:before{background-color:#66bb6a33;transform:scale(1.05)}.history-table{border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 4px 15px #0000000d;box-shadow:0 4px 15px var(--shadow-color);margin-bottom:1.5rem;overflow:hidden;width:100%}.history-table td,.history-table th{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:.8rem 1rem;text-align:left}.history-table th{background-color:#4776e6;background-color:var(--gradient-start);color:#fff;font-size:.9rem;font-weight:600}.history-table tr:last-child td{border-bottom:none}.history-table tbody tr{background-color:#fff;background-color:var(--card-background);transition:all .2s}.history-table tbody tr:hover{background-color:#8e54e90d}.tabs{overflow:visible;position:relative;z-index:10}.tabs button{color:#ffffffb3;font-size:0;height:34px;margin:0 2px;width:34px}.tabs button.active{box-shadow:0 2px 4px #00000026}.library-screen .tabs button:first-child:before,.library-screen .tabs button:nth-child(2):before,.profile-screen .tabs button:first-child:before,.profile-screen .tabs button:nth-child(2):before,.profile-screen .tabs button:nth-child(3):before{font-size:16px}.tabs button:after{background:#000000b3;border-radius:4px;color:#fff;content:attr(data-label);font-size:12px;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:-30px;transform:translateX(-50%);transition:all .2s ease;visibility:hidden;white-space:nowrap}.tabs button:hover:after{opacity:1;visibility:visible}.header{background:linear-gradient(90deg,#4776e6,#8e54e9);box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;position:relative;z-index:10}.header h2{flex-grow:1;font-size:1.3rem}@media (max-width:360px){.tabs button{height:30px;margin:0 1px;width:30px}.header h2{font-size:1.2rem}}.tabs{background:#ffffff26;border-radius:30px;gap:3px;padding:3px}.tabs button{background:#0000;border-radius:50%;color:#fffc;height:36px;transition:all .2s ease;width:36px}.tabs button.active{background-color:#fff;box-shadow:0 2px 4px #0000001a}.tabs button:before{font-family:"monospace";font-size:18px;line-height:1}.library-screen .tabs button:first-child:before{content:"📋"}.library-screen .tabs button:nth-child(2):before{content:"🔧"}.tabs button:hover{background:#ffffff1a;transform:translateY(-2px)}.header{justify-content:space-between;padding:1rem}.header h2{flex:1 1}@media (max-width:360px){.tabs button{height:32px;width:32px}.tabs button:before{font-size:16px}}.tabs{background:none;gap:8px;margin-left:auto}.tabs,.tabs button{display:flex;padding:0}.tabs button{align-items:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#ffffff1f;border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;color:#fff;height:40px;justify-content:center;overflow:hidden;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);width:40px}.tabs button span{display:none}.tabs button.active{background:#fff;box-shadow:0 4px 12px #00000026;color:#8e54e9;transform:translateY(-2px)}.tabs button:hover:not(.active){background:#fff3;transform:translateY(-2px)}.tabs button:before{font-size:20px;transition:all .2s ease}.library-screen .tabs button:first-child:before{content:"🗂️"}.library-screen .tabs button:nth-child(2):before{content:"⚒️"}.profile-screen .tabs button:first-child:before{content:"👤"}.profile-screen .tabs button:nth-child(2):before{content:"🏆"}.profile-screen .tabs button:nth-child(3):before{content:"⚙️"}.header{align-items:center;padding:1.2rem 1.5rem}.header h2{font-size:1.4rem;font-weight:600;margin:0}.tabs button.active:after{animation:pulse 1.5s infinite;background:#8e54e9;border-radius:3px;bottom:6px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:10px}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@media (max-width:380px){.tabs button{height:38px;width:38px}.header{padding:1rem 1.2rem}}.auth-screen{background:linear-gradient(135deg,#4776e6,#8e54e9);display:flex;flex-direction:column;min-height:100vh;padding:1.5rem}.auth-header{color:#fff;margin-bottom:2rem;position:relative;text-align:center}.auth-header h1{font-size:2.2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:.5rem}.auth-header p{font-size:1rem;opacity:.9}.auth-header .back-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;left:0;position:absolute;top:.5rem;transition:all .2s ease;width:40px}.auth-header .back-button:hover{background:#ffffff4d}.auth-form{background:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001a;padding:2rem}.auth-field,.auth-form{margin-bottom:1.5rem}.auth-field label{align-items:center;color:#555;display:flex;font-weight:500;margin-bottom:.5rem}.auth-field label svg{color:#8e54e9;margin-right:.5rem}.auth-field input{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.8rem 1rem;transition:all .2s ease;width:100%}.auth-field input:focus{border-color:#8e54e9;box-shadow:0 0 0 2px #8e54e933;outline:none}.form-row{display:flex;gap:1rem;margin-bottom:1.5rem}.half-width{margin-bottom:0;width:50%}.form-note{color:#888;font-size:.8rem;margin-bottom:1.5rem}.auth-error{background-color:#ffebee;border-left:3px solid #f44336;border-radius:8px;color:#f44336;font-size:.9rem;margin-bottom:1.5rem;padding:.8rem 1rem}.auth-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.auth-button svg{margin-right:.5rem}.login-button{background:linear-gradient(45deg,#4776e6,#8e54e9);box-shadow:0 4px 15px #8e54e966;color:#fff}.login-button:hover{box-shadow:0 8px 20px #8e54e980;transform:translateY(-2px)}.register-button{background:linear-gradient(45deg,#43a047,#66bb6a);box-shadow:0 4px 15px #66bb6a4d;color:#fff}.register-button:hover{box-shadow:0 8px 20px #66bb6a66;transform:translateY(-2px)}.auth-button:disabled{background:linear-gradient(45deg,#9e9e9e,#bdbdbd);box-shadow:none;cursor:not-allowed;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:24px;width:24px}.auth-footer{color:#fff;text-align:center}.auth-footer p{margin-bottom:.5rem;opacity:.9}.secondary-button{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;padding:.7rem 1.5rem;transition:all .2s ease}.secondary-button:hover{background:#ffffff4d}.secondary-button svg{margin-right:.5rem}.secondary-button:disabled{cursor:not-allowed;opacity:.7}body.dark-mode .auth-form{background:#1e1e1e}body.dark-mode .auth-field label{color:#b0b0b0}body.dark-mode .auth-field input{background-color:#2d2d2d;border-color:#333;color:#e0e0e0}body.dark-mode .auth-field input:focus{border-color:#8e54e9}body.dark-mode .form-note{color:#909090}body.dark-mode .auth-error{background-color:#f443361a;border-left-color:#f44336;color:#f44336}@media (max-width:480px){.auth-form{padding:1.5rem}.form-row{flex-direction:column;gap:0}.half-width{margin-bottom:1.5rem;width:100%}.auth-header h1{font-size:1.8rem}}.progress-chart{background-color:var(--card-bg)}.chart-controls select{background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-color)}.chart-stats{background-color:var(--bg-light)}.stat-value.up{color:var(--error-color)}.stat-value.down{color:var(--success-color)}.add-data-button{background-color:var(--primary-color)}.add-data-button:hover{background-color:var(--primary-dark)}.add-form{background-color:var(--bg-light);border:1px solid var(--border-color)}.form-group input,.form-group label{color:var(--text-color)}.form-group input{background-color:var(--input-bg);border:1px solid var(--border-color)}.submit-button{background-color:var(--primary-color)}.cancel-button{border:1px solid var(--border-color);color:var(--text-color)}.empty-state p,.error,.loading{color:var(--text-secondary)}.error{color:var(--error-color)}:root{--primary-color:#8884d8;--primary-dark:#6b68ac;--success-color:#4caf50;--error-color:#f44336;--card-bg:#fff;--bg-light:#f5f5f5;--border-color:#e0e0e0;--text-color:#333;--text-secondary:#757575;--input-bg:#fff}.dark-mode{--primary-color:#a29dff;--primary-dark:#8884d8;--success-color:#66bb6a;--error-color:#ef5350;--card-bg:#222;--bg-light:#333;--border-color:#444;--text-color:#e0e0e0;--text-secondary:#bbb;--input-bg:#333}.progress-chart{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:18px}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.chart-header h2{font-size:1.2rem;font-weight:600;margin:0}.chart-controls{display:flex;gap:10px}.chart-controls select{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:.9rem;padding:6px 10px}.chart-stats{background-color:#f5f5f5;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:15px;padding:10px}.stat{display:flex;flex:1 1;flex-direction:column;text-align:center}.stat-label{margin-bottom:5px}.stat-value{align-items:center;display:flex;font-size:1.1rem;font-weight:600;justify-content:center}.stat-value.up{color:#f44336}.stat-value.down{color:#4caf50}.trend{align-items:center}.chart-actions,.trend{display:flex;justify-content:center}.chart-actions{margin-top:15px}.add-data-button{align-items:center;background-color:#8884d8;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:8px 16px;transition:background-color .2s}.add-data-button:hover{background-color:#6b68ac}.add-form{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-top:15px;padding:15px}.form-group{margin-bottom:12px}.form-group label{color:#333;display:block;font-size:.9rem;margin-bottom:5px}.form-group input{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:1rem;padding:10px;width:100%}.form-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.submit-button{background-color:#8884d8;border:none;border-radius:6px;color:#fff}.cancel-button,.submit-button{cursor:pointer;font-weight:500;padding:8px 16px}.cancel-button{background-color:initial;border:1px solid #e0e0e0;border-radius:6px;color:#333}.empty-state{padding:30px 20px;text-align:center}.empty-state p{color:#757575;margin-bottom:20px}.error,.loading{color:#757575;padding:20px;text-align:center}.error{color:#f44336}.dark-mode .progress-chart{background-color:#222;color:#e0e0e0}.dark-mode .chart-controls select,.dark-mode .form-group input{background-color:#333;border-color:#444;color:#e0e0e0}.dark-mode .chart-stats{background-color:#333}.dark-mode .stat-label{color:#bbb}.dark-mode .add-form{background-color:#333;border-color:#444}.dark-mode .form-group label{color:#e0e0e0}.dark-mode .cancel-button{border-color:#444;color:#e0e0e0}.scan-button,.scan-button svg{color:#fff!important}.muscle-group-analytics{background-color:#fff;background-color:var(--card-background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 15px #0000000d;box-shadow:0 4px 15px var(--shadow-color);margin-bottom:1.5rem;padding:1.5rem}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-title{align-items:center;display:flex;gap:.5rem}.header-title svg{color:#8e54e9;color:var(--highlight-color)}.header-title h3{font-size:1.2rem;font-weight:600;margin:0}.header-title h3,.period-selector{color:#333;color:var(--text-color)}.period-selector{background-color:#fff;background-color:var(--card-background);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9rem;padding:.5rem .8rem;transition:all .2s ease}.period-selector:focus{border-color:#8e54e9;border-color:var(--highlight-color);box-shadow:0 0 0 2px #8e54e933;outline:none}.analytics-summary{background-color:#f5f5f5;background-color:var(--input-background);border-radius:8px;display:flex;gap:2rem;justify-content:center;margin-bottom:1.5rem;padding:1rem}.summary-stat{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-number{color:#8e54e9;color:var(--highlight-color);font-size:1.5rem;font-weight:700;margin-bottom:.3rem}.stat-label{color:#757575;color:var(--text-secondary);font-size:.85rem;font-weight:500}.chart-container{margin-bottom:1.5rem;padding:1rem 0}.chart-tooltip{background-color:#000c;border-radius:6px;box-shadow:0 2px 8px #0003;color:#fff;font-size:.85rem;padding:.5rem .8rem}.tooltip-label{font-weight:600;margin:0 0 .3rem}.tooltip-value{margin:0;opacity:.9}.muscle-group-breakdown{margin-bottom:1.5rem}.muscle-group-breakdown h4{color:#333;color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.breakdown-list{display:flex;flex-direction:column;gap:.8rem}.breakdown-item{align-items:center;background-color:#f5f5f5;background-color:var(--input-background);border-radius:8px;display:flex;padding:.8rem;transition:all .2s ease}.breakdown-item:hover{box-shadow:0 4px 12px #0000000d;box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.breakdown-color{border-radius:50%;flex-shrink:0;height:16px;margin-right:.8rem;width:16px}.breakdown-info{align-items:center;display:flex;justify-content:space-between;width:100%}.breakdown-name{color:#333;color:var(--text-color);font-weight:500}.breakdown-stats{color:#757575;color:var(--text-secondary);font-size:.9rem;font-weight:600}.analytics-insights{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding-top:1.5rem}.analytics-insights h4{color:#333;color:var(--text-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.insights-list{display:flex;flex-direction:column;gap:.8rem}.insight{background-color:#8e54e90d;border-left:3px solid #8e54e9;border-left:3px solid var(--highlight-color);border-radius:8px;font-size:.9rem;line-height:1.4;margin:0;padding:.8rem}.insight.warning{background-color:#ff98000d;border-left-color:#ff9800}.insight.tip,.insight.warning{color:#333;color:var(--text-color)}.insight.tip{background-color:#4caf500d;border-left-color:#4caf50}.empty-analytics{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.empty-analytics svg{color:#e0e0e0;margin-bottom:1rem}.empty-analytics p{color:#757575;color:var(--text-secondary);font-size:1rem;margin:0}@media (max-width:480px){.analytics-header{align-items:stretch;flex-direction:column;gap:1rem}.period-selector{width:100%}.analytics-summary{flex-direction:column;gap:1rem}.breakdown-info{align-items:flex-start;flex-direction:column;gap:.3rem}.chart-container{padding:.5rem 0}}body.dark-mode .muscle-group-analytics{background-color:#fff;background-color:var(--card-background)}body.dark-mode .period-selector{background-color:#f5f5f5;background-color:var(--input-background);border-color:#e0e0e0;border-color:var(--border-color);color:#333;color:var(--text-color)}body.dark-mode .chart-tooltip{background-color:#1e1e1ef2}body.dark-mode .analytics-summary,body.dark-mode .breakdown-item{background-color:#f5f5f5;background-color:var(--input-background)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.muscle-group-analytics{animation:fadeInUp .3s ease-out}.breakdown-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.breakdown-item:hover .breakdown-color{transform:scale(1.1);transition:transform .2s ease}.action-buttons{flex-direction:column;gap:1rem;padding:1.5rem}.action-button,.action-buttons{align-items:center;display:flex}.action-button{background:linear-gradient(45deg,#6a11cb,#8e54e9);border:none;border-radius:50px;box-shadow:0 4px 15px #8e54e966;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;justify-content:center;max-width:280px;min-height:56px;padding:1.2rem 2rem;transition:all .3s ease;width:100%}.action-button:hover{box-shadow:0 8px 20px #8e54e980;transform:translateY(-2px)}.action-button:active{box-shadow:0 4px 15px #8e54e966;transform:translateY(0)}.action-button svg{margin-right:.7rem}.action-button:first-child{background:linear-gradient(45deg,#43a047,#66bb6a);box-shadow:0 4px 15px #66bb6a66}.action-button:first-child:hover{box-shadow:0 8px 20px #66bb6a80}.action-button:last-child{background:linear-gradient(45deg,#6a11cb,#8e54e9);box-shadow:0 4px 15px #8e54e966}.action-button:last-child:hover{box-shadow:0 8px 20px #8e54e980}@media (max-width:480px){.action-buttons{padding:1rem}.action-button{font-size:.95rem;max-width:none;padding:1rem 1.5rem}}.action-buttons.horizontal{flex-direction:row;gap:1.5rem;justify-content:space-between}.action-buttons.horizontal .action-button{flex:1 1;max-width:48%;min-width:140px}@media (max-width:380px){.action-buttons.horizontal{flex-direction:column;gap:1rem}.action-buttons.horizontal .action-button{max-width:none;width:100%}}
/*# sourceMappingURL=main.5771c52a.css.map*/