:root{--colourprimary: #121212;--coloursecondary: #ffffff;--colouraccent: #1e88e5;--colourdelete: #dc3545}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,sans-serif;background-color:var(--colourprimary);color:var(--coloursecondary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{display:flex;flex-direction:column;min-height:100vh;max-height:fit-content;background-color:var(--colourprimary)}.page-content{flex:1;padding-bottom:80px;padding-top:1rem;padding-left:1rem;padding-right:1rem}h1,h2,h3,h4,h5,h6{color:var(--coloursecondary);margin-bottom:.5rem}p{color:#ddd;margin-bottom:1rem}a{color:var(--colouraccent);text-decoration:none}a:hover{text-decoration:underline}button{background-color:var(--colouraccent);color:var(--coloursecondary);border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-size:1rem}button:hover{background-color:#1565c0}input,select,textarea{background-color:#1e1e1e;color:#fff;border:1px solid #333;padding:.5rem;border-radius:4px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--colouraccent);outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--colourprimary)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#444}.page-title{text-align:center;margin-bottom:2rem;font-size:2rem;color:var(--coloursecondary)}.home{display:flex;flex-direction:column;gap:1rem}.home-section{background-color:#1e1e1e;padding:1rem;border-radius:8px;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 4px #0000004d}.home-section:hover{background-color:#2a2a2a}.home-section h2{margin-bottom:.25rem;color:#fff}.home-section p{color:#aaa;font-size:.9rem}.last-workout-summary{background-color:#1a1a1a;color:#fff;padding:1rem;border-radius:10px;margin:1rem}.workout-date{margin-top:1rem;font-size:.9rem;color:#aaa}.plan-btn{background-color:#007bff;color:#fff;padding:.75rem 1.25rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;margin-top:1rem;width:100%}.exercises-page{padding:0 16px;max-width:600px;margin:0 auto}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.muscle-select{padding:8px 12px;font-size:16px;border-radius:6px;border:1px solid #ccc}.exercise-list{display:flex;flex-direction:column;gap:12px}.no-results{text-align:center;color:#777;font-style:italic}.exercise-card{background-color:#1e1e1e;color:#fff;padding:1rem;border-radius:8px;text-decoration:none;margin-bottom:.75rem;box-shadow:0 1px 3px #0003}.exercise-card:hover{background-color:#2a2a2a}.search-input{padding:8px 12px;font-size:16px;border-radius:6px;border:1px solid #ccc}.workout-summary-card{margin-bottom:1rem;padding:1rem;border:1px solid #ddd;border-radius:8px}.workout-actions{display:flex;gap:.5rem;margin-top:.5rem}.delete-btn{background-color:var(--colourdelete);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer}.delete-btn:hover{background-color:#e03131}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background-color:#1e1e1e;border-top:1px solid #333;display:flex;justify-content:space-around;align-items:center;z-index:1000}.nav-item{display:flex;flex-direction:column;align-items:center;color:#aaa;text-decoration:none;font-size:12px;border-radius:25%;width:15%;height:90%}.nav-item span{font-size:20px}.nav-item.active{background-color:var(--colouraccent)}.exercise-detail{max-width:600px;margin:50px auto 0;padding:16px;border-radius:12px;box-shadow:0 2px 8px #00000014}.exercise-detail h1{font-size:24px;margin-bottom:8px}.exercise-detail p{font-size:16px;margin:8px 0}.exercise-detail h3{margin-top:16px;font-size:18px}.exercise-detail ul{padding-left:20px;margin-top:8px}.exercise-detail li{margin-bottom:6px;font-size:15px}.charts-container{margin-top:2rem}.back-button{position:absolute;top:1rem;left:1rem;width:40px;height:40px;border-radius:50%;border:none;background-color:#333;color:#fff;font-size:1.5rem;font-weight:700;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.back-button:hover{background-color:#555}.workout-type-selector{display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;margin-bottom:25px}.workout-type-selector button{flex:1;padding:8px 16px;border:none;border-radius:6px;background-color:#ddd;color:#333;font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .2s ease,font-size .2s ease,padding .2s ease}.workout-type-selector button:hover{background-color:#ccc}.workout-type-selector button.active{background-color:var(--colouraccent);color:var(--coloursecondary)}@media (max-width: 600px){.workout-type-selector{gap:4px}.workout-type-selector button{padding:6px 10px;font-size:.8rem}}@media (max-width: 400px){.workout-type-selector button{padding:4px 8px;font-size:.7rem}}.exercise-list{display:flex;flex-direction:column;gap:1rem}.exercise-card{display:flex;justify-content:space-between;align-items:center}.exercise-info h4{margin:0;font-size:1.1rem}.exercise-info p{margin:.2rem 0 0;color:#666;font-size:.9rem}.exercise-add-btn.added{background-color:#e0ffe0;color:green;font-weight:700;cursor:default}.selected-exercise{display:flex;justify-content:space-between;align-items:center;padding:.6rem;margin-bottom:.5rem;background-color:#222;border-radius:8px}.selected-exercise span{font-weight:500;font-size:.95rem}.selected-exercise button{margin-left:.3rem}.selected-exercise p{margin:.2rem 0 0;color:#666;font-size:.9rem}.selected-exercise .remove-exercise{background-color:var(--colourdelete)}.selected-exercise .buttons{display:flex;gap:.25rem;flex-shrink:0}.planner-controls{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;flex-wrap:nowrap}.planner-controls button{flex:1 1 0;min-width:0;padding:.5rem .75rem;font-size:.9rem;text-align:center;white-space:nowrap}.save-button.saved{background-color:#28a745}.clear-button{background-color:var(--colourdelete);color:#fff}@media (max-width: 480px){.planner-controls{gap:.5rem}.planner-controls button{padding:.4rem .5rem;font-size:.75rem}}@media (max-width: 360px){.planner-controls button{padding:.3rem .4rem;font-size:.7rem}}.exercise-log-card{background-color:#1f2937;border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;box-shadow:0 2px 6px #0006}.exercise-log-card h3{font-size:1.125rem;margin-bottom:.5rem}.exercise-link{color:var(--coloursecondary);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}.info-icon{font-size:1.2rem;color:#94a3b8;cursor:pointer}.add-set-form{display:flex;gap:.5rem;margin-top:.5rem}.add-set-form input{padding:.4rem;border-radius:.375rem;border:1px solid #475569;background-color:#0f172a;color:#f1f5f9;width:80px}.add-set-form input::placeholder{color:#94a3b8}.add-set-form button{background-color:var(--colouraccent);color:var(--coloursecondary);padding:.4rem .7rem;border-radius:.375rem;border:none;cursor:pointer;font-size:1.2rem;transition:background-color .2s}.add-set-form input,.add-set-form button{height:40px}.remove-set-btn{background:transparent;border:none;color:#ef4444;font-size:1rem;margin-left:.5rem;cursor:pointer}.cancel-workout-btn,.complete-workout-btn{background-color:var(--colouraccent);color:var(--coloursecondary);border:none;border-radius:.375rem;padding:.6rem 1rem;font-size:1rem;margin-top:1rem;margin-right:1rem;cursor:pointer;transition:background-color .2s}.exercise-log-card li{list-style:none}.workout-notes{width:100%;min-height:80px;margin-top:1rem;padding:.5rem;font-size:14px;border-radius:6px;border:1px solid #ccc}.add-exercise{display:flex;gap:.5rem;margin-top:1rem;margin-bottom:1.5rem;align-items:center}.add-exercise select{border-radius:.375rem;border:1px solid #475569;background-color:#0f172a;color:#f1f5f9;flex:1;font-size:1rem}.add-exercise select:focus{outline:none;border-color:var(--colouraccent);box-shadow:0 0 0 2px #38bdf84d}.add-exercise button{background-color:var(--colouraccent);color:var(--coloursecondary);border-radius:.375rem;border:none;cursor:pointer;font-size:1rem;transition:background-color .2s ease-in-out;margin-left:auto}.add-exercise select,.add-exercise button{height:40px}.summary-container{max-width:800px;margin:2rem auto;margin-top:50px;background-color:#1a1a1a;color:#fff;padding:2rem;border-radius:12px}.workout-title{font-size:1.8rem;margin-bottom:1rem;font-weight:700}.workout-meta{font-size:.95rem;color:#ccc;margin-bottom:.25rem}.exercise-summary{margin-top:1rem;border-top:1px solid #444;padding-top:.5rem}.exercise-summary h4{margin-bottom:.25rem}.exercise-summary ul{list-style-type:disc;margin-left:1.5rem;margin-top:.5rem}.exercise-name{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.exercise-desc{font-size:.95rem;color:#aaa;margin-bottom:.75rem}.not-found{text-align:center;font-size:1.2rem;margin-top:40px;color:red}.new-pbs{background-color:var(--coloursecondary);border-left:6px solid var(--colouraccent);padding:1rem;margin:1.5rem 0;border-radius:8px;box-shadow:0 2px 5px #0000000d}.new-pbs h3{margin-bottom:.75rem;color:var(--colouraccent);font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.new-pbs ul{list-style:none;padding:0;margin:0}.new-pbs li{font-size:1rem;padding:.5rem 0;border-bottom:1px dashed #ddd;color:var(--colourprimary)}.pb-container{max-width:600px;margin:0 auto;background-color:var(--colourprimary);color:var(--coloursecondary);min-height:100vh}.pb-muscle-group{margin-bottom:1rem;border-radius:8px;overflow:hidden;background-color:#252525;box-shadow:0 2px 6px #0000004d}.pb-muscle-title{margin:0;padding:.8rem 1rem;font-size:1.2rem;background-color:#333;border-left:6px solid var(--colouraccent);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s}.pb-group-list{padding:.5rem 1rem;animation:expand .25s ease-out}.pb-card{background-color:#1e1e1e;border-left:4px solid var(--colouraccent);border-radius:6px;padding:.8rem 1rem;margin-bottom:.6rem;box-shadow:0 2px 6px #0000004d;transition:transform .2s,background-color .2s}.pb-card:hover{transform:translateY(-2px);background-color:#2a2a2a}.pb-exercise{margin:0;font-size:1.1rem;color:var(--coloursecondary)}.pb-value{margin:.4rem 0;font-weight:700;font-size:1rem;color:var(--colouraccent)}.pb-date{color:#bbb;font-size:.85rem}@keyframes expand{0%{opacity:0;transform:scaleY(.95)}to{opacity:1;transform:scaleY(1)}}.suggestions-container{padding:1rem;background-color:#f5f5f5;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box}.suggestions-container iframe{width:100%;height:100vh;max-height:1000px;border:none;border-radius:10px;background-color:var(--coloursecondary);box-shadow:0 2px 10px #00000014}.weekly-progress-page{background-color:var(--colourprimary);color:var(--coloursecondary);min-height:100vh;font-family:Segoe UI,sans-serif}.weekly-summary-card{background-color:#1e1e1e;border-left:5px solid var(--colouraccent);padding:1.5rem;border-radius:10px;margin-bottom:2rem;box-shadow:0 2px 10px #0000004d}.weekly-summary-card h2{margin-bottom:1rem;color:var(--coloursecondary)}.weekly-summary-card p{margin:.3rem 0}.weekly-goal-section{background-color:#1a1a1a;padding:1.5rem;border-radius:10px;margin-bottom:2rem;border-left:5px solid var(--colouraccent)}.weekly-goal-section h3{margin-bottom:.5rem}.weekly-goal-section progress{width:100%;height:1.25rem;margin:.5rem 0;appearance:none}progress::-webkit-progress-bar{background-color:#333;border-radius:5px}progress::-webkit-progress-value{background-color:var(--colouraccent);border-radius:5px}.goal-input{display:flex;gap:.5rem;margin-top:1rem}.goal-input input{background-color:#222;color:var(--coloursecondary);border:1px solid var(--colouraccent);padding:.5rem;border-radius:5px;width:100px}.goal-input button{background-color:var(--colouraccent);color:var(--coloursecondary);border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer}.goal-input button:hover{background-color:#1565c0}.workout-breakdown{background-color:#1a1a1a;padding:1.5rem;border-radius:10px;border-left:5px solid var(--colouraccent)}.workout-breakdown h3{margin-bottom:1rem}.workout-breakdown ul{list-style-type:none;padding:0}.workout-breakdown li{padding:.5rem 0;border-bottom:1px solid #333}:root{--radius: 12px;--shadow: 0 12px 32px rgba(0,0,0,.25);--transition: .2s ease;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-wrapper{min-height:100vh;background:linear-gradient(135deg,#1f1f1f,#0f0f0f 70%);display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--coloursecondary)}.auth-card{background:var(--colourprimary);padding:2rem 2.5rem;border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow);position:relative;overflow:hidden}.auth-brand{text-align:center;margin-bottom:1rem}.auth-brand h1{font-size:2.2rem;margin:0;letter-spacing:1px;font-weight:700}.auth-subtitle{text-align:center;margin:.5rem 0 1.5rem;font-size:.95rem;color:#ffffffbf}form{display:flex;flex-direction:column;gap:1rem}input{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);padding:.75rem 1rem;border-radius:8px;color:var(--coloursecondary);font-size:1rem;outline:none;transition:var(--transition)}input:focus{border-color:var(--colouraccent);box-shadow:0 0 0 3px #1e88e540}button{background:var(--colouraccent);border:none;padding:.85rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;color:var(--coloursecondary);transition:var(--transition)}button:hover{filter:brightness(1.05)}button:disabled{opacity:.6;cursor:not-allowed}.helper{margin-top:.5rem;font-size:.9rem;text-align:center;cursor:pointer;color:#fffc}.helper span{text-decoration:underline}.error-box{background:#ff52521a;border:1px solid #ff5252;padding:.75rem 1rem;border-radius:6px;margin-top:.5rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.small{font-size:.8rem;color:#ffffffb3}.switch-mode{margin-top:1rem;text-align:center;font-size:.9rem}.switch-mode button{background:transparent;border:none;color:var(--colouraccent);cursor:pointer;font-weight:600;padding:0}.logout-btn{background-color:var(--colourdelete);color:var(--coloursecondary);border:none;padding:.75rem 1.25rem;border-radius:8px;font-size:1rem;cursor:pointer;width:100%}.orm-container{max-width:500px;margin:0 auto;padding:1rem}.orm-form{display:flex;flex-direction:column;gap:.75rem;background-color:#0f172a;padding:1rem;border-radius:.5rem}.orm-form label{font-weight:700;color:#f1f5f9}.orm-form select,.orm-form input{padding:.5rem;border-radius:.375rem;border:1px solid #475569;background-color:#1e293b;color:#f1f5f9}.orm-result{margin-top:1rem;padding:.75rem;background-color:var(--colouraccent);color:var(--coloursecondary);border-radius:.375rem;font-size:1.1rem;text-align:center}
