:root{--primary-color: #111214;--primary-dark: #0c0d0f;--primary-light: #18191b;--secondary-color: #ececec;--secondary-dark: #cacaca;--accent-color: #e0115f;--accent-light: #fa5cba;--neutral-100: #f7f7fa;--neutral-200: #e5e5e7;--neutral-300: #b3b4b8;--neutral-400: #7e7f87;--neutral-500: #535358;--neutral-600: #2c2c2f;--background: #101113;--background-secondary: #18191b;--text-main: #fafafd;--text-secondary: #b3b4b8;--text-muted: #7e7f87;--text-accent: var(--accent-color);--success: #19a979;--danger: #e0115f;--font-family-base: "Inter", "Montserrat", "Roboto", "Helvetica Neue", Arial, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--box-shadow-sm: 0 2px 6px rgba(0,0,0,.27);--box-shadow-lg: 0 6px 24px rgba(0,0,0,.3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;background:var(--background);color:var(--text-main);font-family:var(--font-family-base);font-size:16px;scroll-behavior:smooth;overflow-x:hidden}a{color:var(--accent-color);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-light)}button,.landing-cta,.cta-button{background:#e0115f80;color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md, 8px);font-weight:600;box-shadow:var(--box-shadow-sm);cursor:pointer;transition:background .25s,opacity .25s,transform .15s;opacity:.85}button:hover,.landing-cta:hover,.cta-button:hover{background:#e0115fd9;opacity:1;transform:translateY(-2px) scale(1.03)}button,.cta-button,.landing-cta,.signup-button{background:#e0115f70;color:#fff;padding:.95rem 2.4rem;border-radius:36px;font-size:1.16rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 6px 28px #e0115f2b;border:none;outline:none;cursor:pointer;transition:background .22s,color .22s,transform .18s,box-shadow .22s;margin:.15em .5em}button:hover,.cta-button:hover,.landing-cta:hover,.signup-button:hover{background:#e0115fd4;transform:translateY(-3px) scale(1.08);box-shadow:0 12px 36px #e0115f33;color:#fff}button.dark,.landing-cta.dark{background:#1e1e20db}button.dark:hover,.landing-cta.dark:hover{background:#1e1e20}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-weight:700;letter-spacing:-.01em;margin-bottom:var(--spacing-xs)}p{color:var(--text-secondary)}.dock-panel{position:fixed;z-index:40;bottom:2.8rem;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;width:fit-content;gap:2.2rem;border-radius:24px;background:#1a1b2287;border:1.5px solid #e5e5e7;padding:1.2rem 2.3rem 1.6rem;box-shadow:0 12px 48px #0000003b;font-family:sans-serif;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);transition:background .2s,border .2s}.dock-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;background:#18191b;border:2px solid transparent;box-shadow:0 4px 12px #0000001f;cursor:pointer;outline:none;width:76px;height:76px;margin-bottom:0;transition:border .18s,box-shadow .18s,background .15s;isolation:isolate;transform-origin:bottom center}.dock-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.dock-label{position:absolute;top:-3rem;transform:translate(-50%);white-space:nowrap;border-radius:8px;border:1.5px solid #f7f7fa;background:#ececec;color:#18191b;box-shadow:0 8px 40px #0000002e;padding:.25rem 1rem;font-size:.9rem;font-weight:700;font-family:sans-serif;pointer-events:none;opacity:.98;z-index:10;width:auto;min-width:max-content}.dock-icon{display:flex;align-items:center;justify-content:center;color:#e76ee7;font-size:2.8rem;line-height:1;height:52px;width:52px;margin-top:8px;margin-bottom:0}.dock-item:focus,.dock-item:hover{border-color:#fa5cba;box-shadow:0 16px 44px #e0115f24;background:#212226}.dock-item:focus .dock-icon,.dock-item:hover .dock-icon{color:#fa5cba}:root{--black-main: #111214;--black-deep: #0c0d0f;--gray-dark: #222326;--gray-mid: #29292b;--gray-light: #ececec;--white: #fafafd;--magenta: #e0115f;--magenta-light: #fa5cba;--header-height: 30px}.header{width:100%;padding:.5rem 2.5vw .5rem 2vw;display:flex;justify-content:space-between;align-items:center;background-color:var(--black-main);box-shadow:0 2px 16px #0000001f;min-height:var(--header-height);position:relative;z-index:1100}.logo{font-size:2rem;font-weight:800;letter-spacing:.04em;text-decoration:none;color:var(--white);text-transform:uppercase;font-family:Inter,sans-serif;transition:color .2s}.logo:hover{color:var(--magenta)}.desktop-nav{display:flex;gap:2.8rem;align-items:center}.link,.header-dropdown{color:var(--white);font-size:1.06rem;font-weight:500;text-decoration:none;padding:.3rem 1rem;border-radius:8px;border:1.5px solid rgba(234,234,236,.22);background:none;vertical-align:middle;transition:color .2s,background .2s,border-color .18s,box-shadow .18s}.link:hover,.header-dropdown:hover,.link:focus,.header-dropdown:focus{background:#e0115f17;color:var(--magenta);border-color:var(--magenta)}.link:focus-visible,.header-dropdown:focus-visible{box-shadow:0 0 0 2px var(--magenta-light);outline:none}.header-dropdown{position:relative;-webkit-user-select:none;user-select:none;background:none;border:none;outline:none;display:flex;align-items:center;gap:5px}.header-dropdown:after{content:"▼";font-size:.72em;margin-left:6px;opacity:.55}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--black-main);border-radius:16px;min-width:220px;box-shadow:0 8px 32px #00000038;overflow:hidden;padding:.75rem 0;z-index:9999;border:1.5px solid var(--gray-mid);animation:fadeDropdown .18s cubic-bezier(.4,0,.2,1);will-change:opacity,transform;transition:box-shadow .19s,border .2s}.header-dropdown.active:after{content:"▲";font-size:.72em;margin-left:6px;opacity:.55}.dropdown-item,.sign-out-btn{color:var(--white)!important;padding:16px 26px;border:none;font-size:1.06rem;font-family:inherit;cursor:pointer;width:100%;outline:none;text-align:left;display:block;transition:background .18s,color .18s;border-bottom:1px solid var(--gray-mid)}.sign-out-btn{display:flex;align-items:center;justify-content:center;width:90%;margin:12px auto 0;background:linear-gradient(135deg,var(--magenta),var(--magenta-light));color:#fff!important;padding:.7rem 0;border:none;border-radius:18px;font-size:1.12rem;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;box-shadow:0 2px 10px #e0115f21;letter-spacing:.04em;transition:background .18s,color .18s,transform .13s,box-shadow .16s}.sign-out-btn:hover,.sign-out-btn:focus{background:linear-gradient(135deg,var(--magenta-light),var(--magenta))!important;color:#fff!important;box-shadow:0 4px 16px #e0115f3b;transform:translateY(-1px) scale(1.03);outline:none}.dropdown-item:hover,.sign-out-btn:hover{background:#e0115f21;color:var(--magenta)}.header-dropdown.profile-dropdown:hover .avatar,.header-dropdown.profile-dropdown:focus-within .avatar,.header-dropdown.profile-dropdown.active .avatar{background:linear-gradient(135deg,var(--magenta) 0%,var(--magenta-light) 100%);color:#fff;box-shadow:0 2px 12px #e0115f2e;outline:none}.avatar{width:36px;height:36px;border-radius:100%;background:linear-gradient(135deg,#1e5afa,#5096ff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;cursor:pointer;margin-left:1.25rem;box-shadow:0 2px 4px #0000001f;transition:background .23s,color .18s,box-shadow .18s}.signup-button{background:#e0115f70;color:#fff;padding:.52rem 1.3rem;border-radius:24px;font-weight:700;font-size:1.09rem;text-decoration:none;letter-spacing:.04em;transition:background .22s,color .22s,transform .15s;box-shadow:0 2px 14px #e0115f1c;text-transform:uppercase;border:none;outline:none;vertical-align:middle;display:flex;align-items:center}.signup-button:hover{background:#e0115fd4;color:#fff;transform:translateY(-2px) scale(1.04)}.auth-buttons{display:flex;gap:1.1rem;align-items:center}.mobile-menu-toggle{display:none;flex-direction:column;width:28px;height:24px;justify-content:space-between;cursor:pointer}.mobile-menu-toggle span{width:100%;height:3px;background:var(--white);border-radius:12px;transition:all .3s}@media (max-width: 980px){.desktop-nav{display:none}.mobile-menu-toggle{display:flex}}.mobile-nav-overlay{position:fixed;inset:0;background:#000000b3;z-index:1002;opacity:0;pointer-events:none;transition:opacity .3s}.mobile-nav-overlay.open{opacity:1;pointer-events:auto}.mobile-nav{position:fixed;top:0;right:0;width:90%;max-width:350px;height:100vh;background:var(--black-main);z-index:1003;box-shadow:-6px 0 18px #00000029;transition:transform .3s;transform:translate(100%);overflow-y:auto;color:var(--white)}.mobile-nav.open{transform:translate(0)}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.1rem 0 1.3rem}.mobile-nav-close{background:transparent;border:none;color:var(--white);font-size:2rem;cursor:pointer}.mobile-nav-content{padding:1.5rem 1.1rem}.mobile-dropdown{margin-bottom:1.5rem}.mobile-dropdown>span{font-weight:700;color:var(--magenta);display:block;margin-bottom:.4rem;font-size:1.06rem}.mobile-dropdown-content a,.mobile-dropdown-content button{display:block;padding:.55rem 0;color:var(--white);text-decoration:none;font-size:1rem;background:none;border:none;text-align:left;transition:color .16s}.mobile-dropdown-content a:hover,.mobile-dropdown-content button:hover{color:var(--magenta)}.mobile-signout{width:100%;margin-top:2rem;padding:.8rem 0;background:#e0115f75;color:#fff;border:none;text-align:left;border-radius:14px;font-weight:600;letter-spacing:.04em;transition:background .19s}.mobile-signout:hover{background:#e0115fbf;color:#fff}.signup-button{background:linear-gradient(135deg,#1e5afa,#5096ff);color:#fff!important}.signup-button:hover{background:#e0115fd4!important;color:#fff!important}:root{--black-main: #111214;--gray-dark: #18191b;--gray-light: #232427;--white: #fafafd;--magenta: #e0115f;--gray-mid: #2c2c2c;--blue: #5096ff;--blue-dark: #1e5afa}.footer{background:var(--gray-dark);color:var(--white);padding:5rem 2.4rem 6.2rem;width:100%;box-sizing:border-box}.footer-sections{max-width:1440px;margin:0 auto 4rem;display:flex;justify-content:space-between;gap:4.8rem;border-bottom:1.5px solid var(--gray-light);padding-bottom:3.5rem}.footer-section{min-width:164px;margin-right:1.2rem}.footer-section h3{color:var(--blue);font-size:1.21rem;margin-bottom:2rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:1.18rem}.footer-section ul li a{color:var(--white);opacity:.9;text-decoration:none;font-size:1.07rem;transition:color .2s,opacity .2s,transform .2s;padding:.2rem 0;display:inline-block}.footer-section ul li a:hover{color:var(--white);opacity:1;transform:scale(1.13)}.footer-bottom{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:2.8rem;min-height:60px;gap:2.4rem}.footer-copyright{color:var(--white);opacity:.53;font-size:1.09rem;margin:0;letter-spacing:.015em}.footer-social{display:flex;gap:2.2rem;align-items:center}.footer-social a{color:var(--white);opacity:.86;font-size:1.55rem;transition:color .2s,opacity .2s,transform .2s;padding:.4rem}.footer-social a:hover{color:var(--white);opacity:1;transform:translateY(-5px) scale(1.22)}@media (max-width: 900px){.footer{padding:2.8rem .9rem 1.9rem}.footer-sections{flex-direction:column;gap:2.2rem;margin-bottom:2.3rem;padding-bottom:1.35rem;align-items:flex-start}.footer-section{min-width:0;margin-right:0}.footer-bottom{flex-direction:column;gap:1.25rem;text-align:center;padding-top:1.3rem}.footer-social{justify-content:center;gap:1.3rem}}.home{min-height:100vh;background:var(--background, #101113);color:var(--text-main, #fafafd);display:flex;flex-direction:column}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 1rem 4rem;text-align:center}.landing-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.025em;margin-bottom:1.5rem;color:#fff;text-transform:uppercase;text-shadow:0 2px 32px rgba(0,0,0,.23)}.landing-subtitle{font-size:1.4rem;font-weight:500;color:var(--text-secondary, #b3b4b8);margin-bottom:2.2rem;max-width:480px}.landing-cta{display:inline-block;padding:1rem 2.5rem;border-radius:var(--border-radius-lg, 16px);background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:1.2rem;box-shadow:0 4px 24px #5096ff26;transition:background .22s,transform .15s;text-decoration:none}.landing-cta:hover,.landing-cta:focus{background:var(--accent-color, #e0115f);color:#fff;transform:translateY(-2px) scale(1.03);outline:none}.calorie-tracker{max-width:800px;margin:2rem auto;padding:var(--spacing-lg);background:var(--primary-light, #18191b);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);color:var(--text-main)}.calorie-tracker h2,.nutrition-goals-header h3,.nutrition-summary h3,.contributed-foods-section h3{color:var(--text-main);font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem;margin-bottom:1.1rem}.nutrition-goals-header h3{border-bottom:none;margin-bottom:0}.date-selector{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.date-input-wrapper{position:relative;width:100%;max-width:400px}.date-input-with-text{appearance:none;background:var(--background-secondary, #29292b);color:var(--text-main);border:2px solid var(--neutral-300);border-radius:var(--border-radius-md);padding:var(--spacing-sm);font-size:1rem;width:100%;text-align:center}.date-day-display{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.food-actions{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.food-actions button,.meal-form button,.custom-food-button,.contributed-foods-button,.recalculate-goals-btn{width:auto;min-width:140px;background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;border-radius:16px;border:1.5px solid #3576d9;padding:.95rem 2.2rem;font-size:1.11rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 20px #3854d01a;cursor:pointer;transition:background .22s,color .18s,border-color .17s,box-shadow .18s,transform .14s}.food-actions button:hover,.food-actions button:focus,.meal-form button:hover,.meal-form button:focus,.custom-food-button:hover,.custom-food-button:focus,.contributed-foods-button:hover,.contributed-foods-button:focus,.recalculate-goals-btn:hover,.recalculate-goals-btn:focus{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);outline:none}.meal-form input,.form-group input,.form-group select{flex:1;background:var(--background-secondary, #29292b);border:2px solid var(--neutral-300);color:var(--text-main);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.meal-form input:focus,.form-group input:focus,.form-group select:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color, #e0115f);outline:none}.food-modal-content,.custom-food-content,.report-modal-content{background:var(--primary-light, #18191b);color:var(--text-main);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);width:100%;max-width:600px;box-shadow:var(--box-shadow-lg);position:relative;margin:auto}.food-modal-close-btn,.report-modal-content .close-btn{position:absolute;top:15px;right:15px;background:transparent;color:var(--text-secondary);border:none;font-size:2rem;cursor:pointer;transition:color .18s,transform .18s}.food-modal-close-btn:hover,.report-modal-content .close-btn:hover{color:var(--accent-color);transform:scale(1.18)}.food-item,.food-result-item,.meal-item,.contributed-food-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--primary-light, #18191b);border-radius:var(--border-radius-md);border:1px solid var(--neutral-300);transition:background .15s,box-shadow .18s}.food-item:hover,.food-result-item:hover,.meal-item:hover,.contributed-food-item:hover{background:var(--background-secondary, #29292b);box-shadow:var(--box-shadow-lg)}.nutrition-goals-progress,.nutrition-summary,.contributed-foods-section{background:var(--background-secondary, #29292b);border-radius:var(--border-radius-lg);margin-top:var(--spacing-lg);box-shadow:var(--box-shadow-sm);padding:var(--spacing-md)}.nutrition-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.total-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xs);background:var(--primary-light, #18191b);border-radius:var(--border-radius-md)}.total-item span:first-child{color:var(--text-muted);font-size:.95rem}.total-item span:last-child{color:var(--accent-color, #e0115f);font-size:1.19rem;font-weight:700}.nutrition-goals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.error{color:var(--accent-color, #e0115f);font-size:1rem;text-align:center;margin-top:2rem}@media (max-width: 768px){.calorie-tracker{margin:var(--spacing-xs);padding:var(--spacing-md)}.food-actions{flex-direction:column}.meals-list{gap:var(--spacing-xs)}.nutrition-totals,.contributed-foods-list{grid-template-columns:1fr}.food-modal-content,.custom-food-content,.report-modal-content{margin:var(--spacing-xs);padding:var(--spacing-md);width:100%;max-width:95vw}}#root{width:100%;margin:0;padding:0;text-align:center}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}main{flex:1;width:100%}html{scroll-behavior:smooth}#features{scroll-margin-top:100px}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--background)}.login-container{background:var(--primary-light);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);border:1.5px solid var(--primary-color);width:100%;max-width:400px}.login-container h2{margin-bottom:.5rem;color:var(--text-main);text-align:center;font-size:2rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.login-container p{color:var(--text-secondary);margin-bottom:1.5rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:1rem;color:var(--text-main)!important;font-weight:600;letter-spacing:.01em;margin-bottom:.2rem}.form-group input,.password-input-wrapper input{width:100%;padding:.75rem 2.5rem .75rem .75rem;background-color:var(--background-secondary)!important;color:var(--text-main)!important;border:1.5px solid var(--neutral-300);border-radius:var(--border-radius-md);font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box}.form-group input:focus,.password-input-wrapper input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #e0115f1a}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-main)!important;box-shadow:0 0 0 30px var(--background-secondary) inset!important;background-color:var(--background-secondary)!important}.password-input-wrapper{display:flex;align-items:center;position:relative;width:100%;margin:0}.password-input-wrapper input{width:100%;padding-right:2.5rem;margin:0}.password-toggle{position:absolute;right:.7rem;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:2.2rem;height:100%;background:none;border:none;cursor:pointer;padding:0;margin:0;border-radius:50%;color:var(--text-muted);box-sizing:border-box;transition:background .18s ease,color .18s ease}.password-toggle svg{width:1.25rem;height:1.25rem;display:block;vertical-align:middle;pointer-events:none}.password-toggle:hover,.password-toggle:focus{background:#e0115f1c;color:var(--accent-color);outline:none}.login-button{background:linear-gradient(135deg,#1e5afa,#5096ff);color:#fff;padding:.95rem 0;border:none;border-radius:36px;font-size:1.16rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 28px #e0115f2b;cursor:pointer;width:100%;margin-top:.4rem;transition:background .22s,transform .17s,box-shadow .22s}.login-button:hover{background:#e0115fd4!important;transform:translateY(-2px) scale(1.03);box-shadow:0 12px 36px #e0115f33}.login-button:disabled{background:var(--neutral-300);color:var(--text-muted);cursor:not-allowed}.forgot-password-link{display:block;text-align:right;font-size:.98rem;color:var(--accent-color);text-decoration:none;margin-top:.35rem;font-weight:500;letter-spacing:.02em;transition:color .18s}.forgot-password-link:hover{color:var(--accent-light);text-decoration:underline}.login-footer{margin-top:1.3rem;text-align:center;color:var(--text-secondary)}.signup-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:color .2s}.signup-link:hover{color:var(--accent-light);text-decoration:underline}.error-message{background-color:var(--danger);color:var(--text-main);padding:.75rem .5rem;border-radius:var(--border-radius-md);margin-bottom:1rem;text-align:center;font-weight:700;letter-spacing:.03em;border:1.5px solid var(--danger-dark, #be123c)}@media (max-width: 520px){.login-container{padding:var(--spacing-md)}}.login-container .error-message{background-color:var(--danger, #fde0e6);color:var(--text-main, #1f2937);padding:.9rem .7rem;border-radius:var(--border-radius-md, 8px);margin-bottom:1.1rem;font-weight:700;text-align:center;border:1.5px solid var(--danger-dark, #be123c);box-shadow:0 2px 10px #e0115f17;max-width:100%}.login-container .error-message a,.login-container .error-message strong{color:inherit}.signup-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--background);padding:var(--spacing-lg);color:var(--text-main)}.signup-container{background:var(--background-secondary);padding:2.2rem 2rem;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);border:1.5px solid var(--primary-light);max-width:420px;width:100%}.signup-container h2{text-align:center;color:var(--primary-color);margin-bottom:1.7rem;letter-spacing:.03em;font-size:1.55rem;font-weight:800;text-transform:uppercase}.steps-indicator{display:flex;justify-content:center;align-items:center;margin-bottom:1.9rem}.step{width:32px;height:32px;border-radius:50%;background:var(--primary-light);color:var(--text-muted);display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.08em;box-shadow:0 2px 8px #1e5afa17;transition:background .2s,color .18s,box-shadow .18s}.step.active{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));color:#fff;box-shadow:0 4px 14px #e0115f1f}.step-line{width:54px;height:2.5px;background:var(--primary-light);margin:0 10px;border-radius:1px}.form-group{margin-bottom:1.4rem}.form-group label{display:block;margin-bottom:.44rem;color:var(--text-main);font-weight:600;letter-spacing:.01em}.form-group input,.form-group select{width:100%;padding:.66rem .9rem;border:1.5px solid var(--primary-light);border-radius:10px;font-size:1rem;background:#fff;color:var(--text-main);transition:border-color .21s,box-shadow .21s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1e5afa21}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.signup-button,.back-button{border:none;border-radius:10px;font-size:1rem;font-weight:700;padding:.8rem 1.7rem;cursor:pointer;transition:background .19s,color .18s,transform .15s,box-shadow .15s}.signup-button{background:linear-gradient(90deg,#1e5afa,#5096ff);color:#fff;box-shadow:0 2px 18px #1e5afa1f}.signup-button:hover{background:linear-gradient(90deg,#e0115f,#fa5cba);color:#fff;transform:translateY(-2px) scale(1.045);box-shadow:0 6px 26px #e0115f29}.signup-button:disabled{background:var(--primary-light);color:var(--text-muted);cursor:not-allowed}.back-button{background:var(--primary-light);color:var(--primary-color);flex:1}.back-button:hover{background:var(--accent-light);color:#fff;transform:translateY(-2px)}.signup-footer{margin-top:1.6rem;text-align:center;color:var(--text-secondary)}.login-link{color:var(--primary-color);text-decoration:none;font-weight:700;transition:color .18s;letter-spacing:.01em}.login-link:hover{color:var(--accent-color);text-decoration:underline}.error-message{background:var(--danger);color:#fff;padding:.8rem;border-radius:10px;margin-bottom:1rem;text-align:center;font-weight:600;font-size:.98em}.password-group{position:relative}.password-input-wrapper{display:flex;align-items:center}.password-input-wrapper input{flex-grow:1;padding-right:44px}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:1.12em;transition:color .18s}.password-toggle:hover{color:var(--primary-color)}.password-toggle:focus{outline:none}.forgot-password-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--soft-background)}.forgot-password-container{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid var(--pastel-gray-medium);width:100%;max-width:400px;margin:1rem}.forgot-password-container h2{margin-bottom:.5rem;color:var(--pastel-blue-dark);text-align:center}.forgot-password-container p{color:var(--soft-text-medium);margin-bottom:1.5rem;line-height:1.5;text-align:center}.forgot-password-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:var(--soft-text-dark)}.form-group input{padding:.75rem;border:1px solid var(--pastel-gray-medium);border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{outline:none;border-color:var(--pastel-blue);box-shadow:0 0 0 3px #a5c4e34d}.reset-button{background-color:var(--pastel-blue);color:#fff;padding:.75rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease,transform .2s ease;margin-top:.5rem}.reset-button:hover{background-color:var(--pastel-blue-dark);transform:translateY(-2px)}.reset-button:disabled{background-color:var(--pastel-gray-medium);cursor:not-allowed}.forgot-password-footer{margin-top:1.5rem;text-align:center;color:var(--soft-text-medium)}.forgot-password-footer a{color:var(--pastel-blue);text-decoration:none;transition:color .3s ease}.forgot-password-footer a:hover{color:var(--pastel-blue-dark);text-decoration:underline}.back-to-login{display:inline-block;background-color:var(--pastel-blue);color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;transition:background-color .3s ease,transform .2s ease}.back-to-login:hover{background-color:var(--pastel-blue-dark);transform:translateY(-2px)}.about-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);background:var(--background);min-height:100vh;color:var(--text-main)}.brand{font-weight:900;color:#fff;letter-spacing:.02em;text-transform:uppercase;font-size:2.1rem;line-height:1.15;text-shadow:0 2px 12px rgba(30,90,250,.18)}.about-hero h1{font-size:2.15rem;margin-bottom:1.1rem;letter-spacing:.02em}.hero-lead{font-size:1.21rem;margin-bottom:2rem;font-weight:600;color:#eaffff}.hero-lead span{color:#b3d0ff;font-weight:700;text-shadow:0 1px 5px rgba(30,90,250,.11)}.premium-badge{position:absolute;left:2rem;top:2rem;background:#1e5afa;color:#fff;font-weight:700;padding:.38rem 1.1rem;border-radius:24px;box-shadow:0 1px 8px #1e5afa21;letter-spacing:.08em;font-size:.97rem;display:flex;align-items:center;gap:.35em;z-index:2}.cta-group{display:flex;gap:1.1rem;justify-content:center;margin-top:1.3rem}.primary-button,.secondary-button{width:auto;padding:1rem 2.2rem;border-radius:16px;text-decoration:none;font-weight:800;font-size:1.08rem;letter-spacing:.08em;transition:background .22s,box-shadow .18s,color .2s,border .19s,transform .13s;box-shadow:0 4px 20px #1e5afa26;border:none;outline:none;text-transform:uppercase;cursor:pointer;display:inline-block}.primary-button{background:linear-gradient(90deg,#1e5afa,#5096ff);color:#fff;border:1.5px solid #3576d9}.primary-button:hover,.primary-button:focus{background:linear-gradient(90deg,#336fff,#57aaff);color:#fff;border-color:#1e5afa;box-shadow:0 8px 24px #1e5afa3b;transform:translateY(-2px) scale(1.07)}.secondary-button{background:transparent;color:#1e5afa;border:2px solid #1e5afa}.secondary-button:hover,.secondary-button:focus{background:#eaf1fb;color:#3576d9;border-color:#3576d9;transform:translateY(-2px) scale(1.05)}.section-title{font-size:1.65rem;color:#1e5afa;font-weight:800;letter-spacing:.01em;text-align:center;margin-bottom:2rem;margin-top:1.3rem;text-transform:uppercase}.features-flex{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-lg);margin-bottom:3rem;padding:.5rem 0}.feature-box{background:var(--primary-light);border-radius:var(--border-radius-lg);padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md) var(--spacing-md);box-shadow:var(--box-shadow-lg);text-align:center;border:1.3px solid #3576d9;transition:transform .24s cubic-bezier(.4,2,.4,1),box-shadow .22s,border .14s,background .21s}.feature-box:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 38px #1e5afa2e;border-color:#1e5afa;background:var(--background-secondary)}.feature-icon{font-size:2.15rem;margin-bottom:1rem;color:#1e5afa;filter:drop-shadow(0 1px 0 rgba(30,90,250,.15))}.feature-box h3{font-size:1.14rem;font-weight:700;margin-bottom:.52rem;color:var(--text-main);text-transform:uppercase;letter-spacing:.02em;border-bottom:2px solid #3576d9;padding-bottom:.25rem;transition:border-bottom-color .2s}.feature-box:hover h3{border-bottom-color:#1e5afa}.feature-box p{font-size:1rem;color:var(--text-secondary);margin:0;line-height:1.6}.section-why{padding:1rem 0 3rem}.benefits-list{list-style:none;padding:0 1.5rem;margin:0 auto;max-width:630px}.benefits-list li{position:relative;font-size:1.08rem;padding-left:2.1em;color:var(--text-secondary);font-weight:500;margin:.5rem 0}.benefits-list li:before{content:"✓";color:#1e5afa;position:absolute;left:0;font-size:1.15rem;font-weight:700;top:-.08em}.about-footer-invite{text-align:center;background:linear-gradient(90deg,#1e5afa,#5096ff);padding:2.2rem 1.5rem 3.5rem;border-radius:var(--border-radius-lg);margin:2.1rem auto 0;max-width:720px;box-shadow:var(--box-shadow-lg);border:1.5px solid #3576d9}.about-footer-invite h2{color:#fff;font-weight:800;font-size:1.24rem;margin:0 0 .5em;text-transform:uppercase;letter-spacing:.01em}.about-footer-invite p{color:#eaffff;font-size:1.09rem;margin-bottom:1.7rem}@media (max-width: 850px){.about-page{padding:var(--spacing-md)}.about-hero{padding:1.5rem 1vw 1.85rem 1vw}.features-flex{grid-template-columns:1fr;gap:var(--spacing-md);padding:0}.about-footer-invite{padding:1.5rem .7rem 2.2rem}.section-title{font-size:1.17rem;margin-bottom:1.13rem}}@media (max-width: 525px){.about-hero h1{font-size:1.09rem}.brand{font-size:1rem}.about-footer-invite{padding-top:1.1rem}.premium-badge{font-size:.85rem;left:.7rem;top:.7rem}.cta-group{flex-direction:column;gap:.55rem}.primary-button,.secondary-button{width:100%;text-align:center}}.goal-summary{width:100%;margin-bottom:1rem}.dashboard{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);background:var(--background);min-height:100vh;color:var(--text-main)}.dashboard-header{text-align:center;margin-bottom:var(--spacing-lg)}.dashboard-header h1{color:var(--text-main);font-size:2rem;text-transform:uppercase;letter-spacing:.03em;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-lg)}.dashboard-card{background:var(--primary-light);border-radius:var(--border-radius-lg);border:1.5px solid var(--primary-color);box-shadow:var(--box-shadow-lg);padding:var(--spacing-lg);transition:transform .24s cubic-bezier(.4,2,.4,1),box-shadow .22s,border .18s,background .22s}.dashboard-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 38px #e0115f2e;border-color:var(--accent-color);background:var(--background-secondary)}.dashboard-card h2{color:var(--text-main);border-bottom:2px solid var(--primary-color);padding-bottom:.5rem;margin-bottom:1.1rem;font-size:1.15em;letter-spacing:.02em;font-weight:800;text-transform:uppercase}.dashboard-card:hover h2{border-bottom-color:var(--accent-color)}.profile-info p,.recent-workouts-list li,.nutrition-trends-list li{color:var(--text-secondary);margin-bottom:.55rem;font-size:1rem}.stats .stat-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.stats .stat-label{color:var(--text-muted)}.stats .stat-value{font-weight:700;color:var(--text-main);font-size:1.14em}.dashboard-grid>.dashboard-card{grid-column:span 4}.dashboard-grid>.dashboard-card.profile-summary-card,.dashboard-grid>.dashboard-card.quick-stats-card{grid-column:span 6}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.dashboard-grid>.dashboard-card{grid-column:span 1!important}}.log-workout-btn,.log-meal-btn,.view-progress-btn{width:100%;margin-top:var(--spacing-sm);background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;border-radius:16px;border:1.5px solid #3576d9;padding:.95rem 2.2rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 4px 20px #3854d01a;cursor:pointer;transition:background .22s,color .18s,border-color .17s,box-shadow .18s,transform .14s}.dashboard-card:hover .log-workout-btn,.dashboard-card:hover .log-meal-btn,.dashboard-card:hover .view-progress-btn{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 20px #e0115f1f;transform:none;opacity:1}.dashboard-card:hover .log-workout-btn:hover,.dashboard-card:hover .log-meal-btn:hover,.dashboard-card:hover .view-progress-btn:hover,.log-workout-btn:hover,.log-meal-btn:hover,.view-progress-btn:hover{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);opacity:1}.no-workouts,.no-meals,.no-insights{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);padding:1rem 0}.recent-workouts-list,.workout-insights-list,.nutrition-trends-list{list-style:none;padding:0}.workout-item,.workout-insight-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--neutral-300);padding:.4em .1em}.workout-type,.insight-type,.nutrition-trends-list strong{font-weight:700;color:var(--text-main)}.workout-date,.workout-duration,.insight-count{color:var(--text-muted)}.error{color:var(--danger);text-align:center;margin-top:2rem}:root{--pastel-blue: #6FA6D6;--pastel-blue-light: #A5C4E3;--pastel-blue-dark: #4D8AB3;--pastel-green: #8FBC8F;--pastel-green-light: #B5D6B2;--pastel-green-dark: #6B9F6B;--pastel-coral: #F0A0A0;--pastel-gray-light: #F7F7F7;--pastel-gray-medium: #E9E9E9;--soft-text-dark: #2C3E50;--soft-text-medium: #4A5568;--soft-background: #F0F4F8}.profile-setup-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--soft-background);padding:2rem}.profile-setup-container{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid var(--pastel-gray-medium);width:100%;max-width:500px}.setup-header{text-align:center;margin-bottom:2rem}.setup-header h2{color:var(--pastel-blue-dark);margin-bottom:.5rem}.setup-header p{color:var(--soft-text-medium)}.progress-indicator{display:flex;justify-content:center;gap:8px;margin-bottom:2rem}.progress-indicator .step{width:12px;height:12px;border-radius:50%;background-color:var(--pastel-gray-medium);transition:background-color .3s ease}.progress-indicator .step.active{background-color:var(--pastel-blue)}.setup-step{margin-bottom:2rem}.setup-step h3{color:var(--pastel-blue-dark);margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--soft-text-dark);font-weight:500}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid var(--pastel-gray-medium);border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--pastel-blue);box-shadow:0 0 0 3px #a5c4e34d}.next-button,.back-button,.complete-button,.skip-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.next-button,.complete-button{background-color:var(--pastel-blue);color:#fff;width:100%;margin-bottom:1rem}.next-button:hover,.complete-button:hover{background-color:var(--pastel-blue-dark);transform:translateY(-2px)}.back-button{background-color:var(--pastel-gray-medium);color:var(--soft-text-dark);width:100%}.back-button:hover{background-color:var(--pastel-gray-light);transform:translateY(-2px)}.skip-section{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--pastel-gray-medium)}.skip-button{background:none;border:none;color:var(--soft-text-medium);text-decoration:underline;padding:.5rem}.skip-button:hover{color:var(--soft-text-dark)}@media (max-width: 768px){.profile-setup-container{margin:1rem;padding:1.5rem}}.profile-setup-button{width:100%;padding:12px 20px;background-color:var(--pastel-blue);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:background-color .3s ease,transform .2s ease,box-shadow .2s ease;margin-top:20px;box-shadow:0 4px 6px #0000001a}.profile-setup-button:hover{background-color:var(--pastel-blue-dark);transform:translateY(-2px);box-shadow:0 6px 8px #00000026}.profile-setup-button:active{transform:translateY(1px);box-shadow:0 2px 4px #0000001a}.profile-setup-button:disabled{background-color:var(--pastel-gray-medium);cursor:not-allowed;transform:none;box-shadow:none}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.debug-info{margin-top:20px;background-color:#f0f0f0;padding:15px;border-radius:5px;max-width:100%;overflow-x:auto}.debug-info pre{white-space:pre-wrap;word-break:break-word;font-size:.8em}.workouts-page{padding:2rem;max-width:1400px;margin:0 auto;min-height:calc(100vh - 160px);background-color:var(--background);color:var(--text-main)}.workouts-page h1{text-align:center;margin-bottom:2rem;color:var(--text-main);font-size:2.5rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.loading,.error{text-align:center;padding:2rem;color:var(--text-secondary);font-size:1.2rem}.retry-button,.favorites-button,.log-exercise-btn,.back-button{margin-top:1rem;padding:.95rem 2.2rem;background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;border-radius:36px;border:1.5px solid #3576d9;font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 8px 36px #3854d021;cursor:pointer;transition:background .22s,color .18s,border-color .17s,box-shadow .18s,transform .14s}.retry-button:hover,.favorites-button:hover,.log-exercise-btn:hover,.back-button:hover{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);opacity:1}.back-button{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;margin-top:.5rem}.filters-section{background:var(--background-secondary);padding:1.5rem;border-radius:var(--border-radius-lg);border:1.5px solid var(--primary-color);margin-bottom:1.5rem;box-shadow:var(--box-shadow-lg)}.filters-group{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.filter{display:flex;align-items:center;gap:.75rem}.filter label{font-weight:500;color:var(--text-main)}.filter select{padding:.75rem 1.5rem;border:1px solid var(--neutral-400);border-radius:var(--border-radius-md);font-size:1rem;min-width:200px;background-color:var(--primary-light);color:var(--text-main);transition:border-color .3s,box-shadow .3s,background .2s}.filter select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-light)}.sort-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.7rem;background-color:var(--accent-light);color:#fff;border:none;border-radius:var(--border-radius-md);cursor:pointer;font-weight:700;letter-spacing:.05em;transition:background .2s,transform .2s,color .12s}.sort-button:hover{background-color:var(--accent-color);color:#fff;transform:translateY(-2px)}.results-count{margin-top:1rem;color:var(--text-muted);font-size:.9rem;text-align:right}.muscle-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.muscle-group-card{background:var(--primary-light);padding:2rem;border-radius:var(--border-radius-lg);border:1.5px solid var(--primary-color);box-shadow:var(--box-shadow-lg);cursor:pointer;transition:transform .22s,box-shadow .15s,border .17s,background .18s;text-align:center;display:flex;flex-direction:column;justify-content:space-between;height:100%}.muscle-group-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 42px #e0115f17;border-color:var(--accent-color);background-color:var(--background-secondary)}.muscle-group-card h2{color:var(--text-main);margin-bottom:1rem;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}.muscle-group-card p{color:var(--text-secondary);font-size:.96rem}.muscles-section h2{color:var(--text-main);margin:1rem 0;font-size:2rem;text-transform:uppercase;letter-spacing:.01em}.muscles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.muscle-card{background:var(--primary-light);padding:1.5rem;border-radius:var(--border-radius-md);border:1.5px solid var(--primary-color);box-shadow:var(--box-shadow-lg);cursor:pointer;transition:transform .22s,box-shadow .15s,border .17s,background .18s;text-align:center;display:flex;flex-direction:column;justify-content:space-between;height:100%}.muscle-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 12px 42px #e0115f17;border-color:var(--accent-color);background-color:var(--background-secondary)}.muscle-card h3{color:var(--text-main);margin-bottom:.5rem;font-size:1.2rem;text-transform:uppercase}.muscle-card p{color:var(--text-secondary);font-size:.9rem}.exercises-section h2{color:var(--text-main);margin:1rem 0;font-size:2rem;text-transform:uppercase}.exercises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.exercise-card{background:var(--primary-light)!important;border:1.5px solid var(--primary-color)!important;border-radius:var(--border-radius-lg)!important;color:var(--text-main)!important;padding:1.5rem!important;box-shadow:var(--box-shadow-lg)!important;transition:transform .22s,box-shadow .15s,border-color .18s,background .18s;display:flex;flex-direction:column;justify-content:space-between;height:100%;word-break:break-word;overflow-wrap:break-word}.exercise-card:hover{border-color:var(--accent-color)!important;background:var(--background-secondary);transform:translateY(-5px) scale(1.02);box-shadow:0 12px 42px #e0115f1c}.exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.exercise-header h3{margin-bottom:0;flex-grow:1;margin-right:1rem;color:var(--neutral-100)!important;font-weight:700;font-size:1.3rem}.favorite-icon{flex-shrink:0;font-size:1.5rem;color:var(--text-muted);cursor:pointer;transition:color .2s,transform .2s}.favorite-icon.favorited,.favorite-icon:hover{color:var(--accent-color);transform:scale(1.1)}.exercise-card p{color:var(--text-secondary);margin:.5rem 0;font-size:.96rem;line-height:1.6}.exercise-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#101113de;display:flex;justify-content:center;align-items:center;z-index:1500}.exercise-modal-content{background:var(--background-secondary)!important;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;position:relative;z-index:1600;color:var(--text-main);box-shadow:var(--box-shadow-lg);border:1.5px solid var(--primary-color)!important;border-radius:var(--border-radius-lg);padding:30px}.exercise-modal-content:hover{border-color:var(--accent-color)!important}.modal-close-btn{position:absolute;top:14px;right:14px;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;font-size:1.4rem;color:var(--accent-color);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;z-index:2}.modal-close-btn:hover,.modal-close-btn:focus{background:#e0115f1c;color:var(--accent-light);outline:none}.modal-close-btn:active{background:#e0115f2e;color:var(--danger)}.exercise-modal-details{display:flex;flex-direction:column;gap:20px}.detail-section{background-color:var(--background-secondary);padding:15px;border-radius:var(--border-radius-md);color:var(--text-main);border:1px solid var(--neutral-600)}@media (max-width: 768px){.workouts-page{padding:1rem}.workouts-page h1{font-size:2rem}.filters-group{flex-direction:column;align-items:stretch;gap:1rem}.filter{flex-direction:column;align-items:stretch}.sort-button{width:100%;justify-content:center}.muscle-groups-grid,.muscles-grid,.exercises-grid{grid-template-columns:1fr}.muscle-group-card,.muscle-card,.exercise-card{padding:1.25rem}.exercise-card h3{font-size:1.2rem}}.favorites-link{text-align:center;margin-bottom:2rem}.no-exercises{text-align:center;padding:2rem;color:var(--text-muted);grid-column:1 / -1}.exercise-card,.exercise-description,.exercise-instructions p{word-break:break-word;overflow-wrap:break-word;max-width:100%;-webkit-hyphens:auto;hyphens:auto}.exercise-card p{max-width:100%;overflow:hidden;text-overflow:ellipsis}.exercise-modal-content .log-exercise-btn{background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;border-radius:16px;border:1.5px solid #3576d9;padding:.95rem 2.2rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 4px 20px #3854d01a;cursor:pointer;width:100%;margin-top:var(--spacing-sm, 1rem);transition:background .22s,color .18s,border-color .17s,box-shadow .18s,transform .14s}.exercise-modal-content:hover .log-exercise-btn{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 20px #e0115f1f;transform:none;opacity:1}.exercise-modal-content:hover .log-exercise-btn:hover,.exercise-modal-content .log-exercise-btn:hover{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);opacity:1}.favorites-page{padding:2rem;max-width:1200px;margin:0 auto;min-height:calc(100vh - 160px)}.favorites-page h1{text-align:center;margin-bottom:2rem;color:#333;font-size:2.5rem}.loading,.error{text-align:center;padding:2rem;color:#666;font-size:1.2rem}.error{color:#dc3545}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.favorite-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:all .3s ease}.favorite-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px #0003}.favorite-card h3{color:#333;margin-bottom:1rem;font-size:1.3rem}.favorite-card p{color:#666;margin:.5rem 0;font-size:.95rem}.favorite-card button{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;padding:.5rem 1rem;cursor:pointer;transition:background-color .2s}.favorite-card button:hover{background-color:#e9ecef}.no-favorites{text-align:center;padding:2rem;color:#666;grid-column:1 / -1}@media (max-width: 768px){.favorites-page{padding:1rem}.favorites-page h1{font-size:2rem}.favorites-grid{grid-template-columns:1fr}.favorite-card{padding:1.25rem}.favorite-card h3{font-size:1.2rem}}.trends-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg);background-color:var(--background);min-height:100vh;color:var(--text-main)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.1rem}.page-header h1{color:var(--primary-color);font-size:2rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.timeframe-selector{display:flex;gap:.85rem}.timeframe-selector button{background:var(--primary-light);color:var(--text-secondary);border:1.5px solid var(--primary-light);border-radius:11px;padding:.57rem 1.3rem;font-size:1.04rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .18s,color .18s,box-shadow .16s,border-color .15s,transform .13s;box-shadow:0 1px 4px #1e5afa0d}.timeframe-selector button.active{background:linear-gradient(90deg,var(--primary-color) 0%,var(--accent-color) 100%);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 16px #e0115f24;transform:translateY(-2px) scale(1.04)}.timeframe-selector button:hover:not(.active){background:var(--background-secondary);border-color:var(--primary-color);color:var(--primary-color)}.trends-section{margin-bottom:2.3rem}.trends-section h2{color:var(--primary-color);font-size:1.15em;letter-spacing:.02em;font-weight:800;margin-bottom:1.2rem;text-transform:uppercase;border-bottom:2px solid var(--primary-color);padding-bottom:.3rem}.charts-grid{display:grid;grid-template-columns:1fr;gap:22px}@media (min-width: 700px){.charts-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1100px){.charts-grid{grid-template-columns:repeat(4,1fr)}}.trend-chart{background:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);border:1.5px solid var(--primary-light);padding:1.45rem 1.12rem 1.6rem;transition:box-shadow .18s,border .18s,background .16s,transform .14s;min-width:0}.trend-chart:hover{box-shadow:0 10px 38px #e0115f21;border-color:var(--accent-color);background:var(--background);transform:translateY(-3px) scale(1.01)}.trend-chart h3{color:var(--primary-color);font-size:1.02em;font-weight:700;margin-bottom:10px;letter-spacing:.01em;border-bottom:2px solid var(--primary-light);padding-bottom:5px}.no-data{text-align:center;color:var(--text-muted);padding:1.2rem 0;background:var(--primary-light);border-radius:var(--border-radius-lg)}.loading,.error{text-align:center;margin-top:3rem;font-size:1.05em;color:var(--text-secondary)}.error{color:var(--danger)}.recharts-tooltip-wrapper{box-shadow:0 4px 14px #1e5afa21,0 2px 8px #e0115f1f!important;border-radius:8px!important;font-family:inherit!important;color:var(--text-main)!important}.workout-logging{max-width:900px;margin:2rem auto;padding:2.5rem;background:var(--primary-light, #18191b);border-radius:var(--border-radius-lg, 16px);box-shadow:var(--box-shadow-lg, 0 4px 20px rgba(0,0,0,.19));border:1.5px solid var(--primary-color, #111214);color:var(--text-main, #fafafd)}.workout-logging h1{color:var(--text-main, #fafafd);margin-bottom:2.5rem;text-align:center;font-weight:800;text-transform:uppercase;font-size:2rem;letter-spacing:.04em;border-bottom:2px solid var(--primary-color, #111214);padding-bottom:.7rem;position:relative}.workout-logging h1:after{display:none}.workout-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:var(--background-secondary, #29292b);padding:1.5rem;border-radius:var(--border-radius-lg, 16px);border:1.5px solid var(--primary-color, #111214)}.form-section legend{font-size:1.25rem;font-weight:700;color:#5096ff;padding:0 10px;text-transform:uppercase}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;margin-bottom:1.2rem}.form-group label{margin-bottom:.5rem;color:var(--text-main, #fafafd);font-weight:600;font-size:1rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1.5px solid var(--primary-color, #111214);border-radius:8px;font-size:1rem}:root{--brand-blue: #5096ff;--brand-blue-dark: #1e5afa;--accent-color: #e0115f;--accent-light: #fa5cba}.settings-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 100px);background:var(--background, #101113);padding:2rem 0}.settings-container{display:flex;width:95%;max-width:1100px;background:var(--primary-light, #18191b);box-shadow:var(--box-shadow-lg, 0 4px 16px rgba(21,19,30,.21));border-radius:var(--border-radius-lg, 16px);border:1.5px solid var(--primary-color, #111214);overflow:hidden;color:var(--text-main, #fafafd)}.settings-sidebar{width:250px;background:var(--background, #101113);padding:2rem 1rem;border-right:1.5px solid var(--primary-color, #111214)}.settings-sidebar h1{margin-bottom:2rem;text-align:center;color:var(--brand-blue);font-size:2rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.settings-sidebar nav{display:flex;flex-direction:column;gap:1.1rem}.settings-sidebar button{background:none;border:none;text-align:left;padding:.8rem 1.2rem;cursor:pointer;border-radius:8px;color:var(--text-secondary, #b3b4b8);font-weight:500;font-size:1.08rem;transition:background .18s,color .18s,transform .17s}.settings-sidebar button:hover{background:#5096ff12;color:var(--brand-blue)}.settings-sidebar button.active,.settings-sidebar button:focus{background:var(--brand-blue);color:#fff;transform:translate(5px)}.settings-content{flex-grow:1;padding:2.5rem 2.2rem 2.3rem}.settings-section h2{border-bottom:2px solid var(--brand-blue);padding-bottom:1rem;margin-bottom:1.5rem;color:var(--brand-blue);text-transform:uppercase;font-size:1.23rem;font-weight:800;letter-spacing:.02em}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-main, #fafafd);font-weight:600}.form-group input,.form-group select{width:100%;padding:.85rem;border:1.5px solid var(--primary-color, #282930);border-radius:8px;font-size:1.08rem;background:var(--primary-light, #18191b);color:var(--text-main, #fafafd);transition:border-color .25s,box-shadow .23s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 2.5px #5096ff2e}.error{color:var(--accent-color, #e0115f);font-size:.97rem;margin-top:.28rem}.success-message{background-color:#50c8782b;color:var(--text-main, #fafafd);padding:1rem;border-radius:8px;margin-bottom:1.1rem;font-weight:600}.error-message{background-color:var(--accent-color, #e0115f);color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.1rem;font-weight:600}.save-button{width:100%;padding:1rem;background:var(--brand-blue);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .15s;font-weight:700;text-transform:uppercase;margin-top:.6rem;font-size:1.11rem;letter-spacing:.025em}.save-button:hover,.save-button:focus{background:var(--accent-color, #e0115f);color:#fff;transform:translateY(-2px) scale(1.04);outline:none}@media (max-width: 900px){.settings-container{flex-direction:column;min-width:unset;padding:0}.settings-sidebar{width:100%;border-right:none;border-bottom:1.5px solid var(--primary-color, #111214);flex-direction:row;align-items:center}.settings-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:.4rem;justify-content:center}.settings-sidebar button{text-align:center;width:auto}.settings-content{padding:1.2rem 1rem 1.1rem}}.workout-plans-page{max-width:1200px;margin:0 auto;padding:2rem 1rem;min-height:70vh;background:transparent}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.2rem}.page-header h1{font-size:2.2rem;color:var(--text-main);font-weight:900;letter-spacing:.01em;margin:0}.create-plan-btn,.get-started-btn,.plan-actions button,.retry-button{margin-top:.15em;padding:.95rem 2.4rem;background:linear-gradient(90deg,#1e5afac9,#5096ffde);color:#fff;border-radius:36px;font-size:1.12rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 6px 28px #3854d026;border:1.5px solid #3576d9;opacity:.93;outline:none;cursor:pointer;transition:background .22s,color .18s,border-color .17s,box-shadow .18s,transform .14s;margin-bottom:.15em}.create-plan-btn:hover,.get-started-btn:hover,.plan-actions button:hover,.retry-button:hover{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);opacity:1}.workout-plan-modal:hover .create-plan-btn,.workout-plan-modal:hover .get-started-btn,.workout-plan-modal:hover .plan-actions button,.workout-plan-modal:hover .retry-button{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 20px #e0115f1f;transform:none;opacity:1}.workout-plan-modal:hover .create-plan-btn:hover,.workout-plan-modal:hover .get-started-btn:hover,.workout-plan-modal:hover .plan-actions button:hover,.workout-plan-modal:hover .retry-button:hover{background:linear-gradient(90deg,#e0115fb3,#fa5cbab8);color:#fff;border-color:var(--accent-color);box-shadow:0 8px 24px #e0115f2b;transform:translateY(-2px) scale(1.07);opacity:1}.plan-actions .delete-plan-btn{background:var(--danger);border-color:var(--danger)}.plan-actions .delete-plan-btn:hover,.workout-plan-modal:hover .plan-actions .delete-plan-btn,.workout-plan-modal:hover .plan-actions .delete-plan-btn:hover{background:var(--danger-dark, #b80029);border-color:var(--danger-dark, #b80029);transform:scale(1.06);color:#fff}.no-plans{background:var(--background-secondary);color:var(--text-muted);border-radius:var(--border-radius-lg);text-align:center;padding:3.2rem 1.5rem;box-shadow:var(--box-shadow-lg);margin:3rem auto 0;max-width:500px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(325px,1fr));gap:2rem}.plan-card{background:var(--primary-light);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);padding:2rem 1.5rem 1.5rem;transition:transform .2s,box-shadow .2s,border .18s,background .15s;border:1.5px solid var(--primary-color);display:flex;flex-direction:column;height:100%;position:relative}.plan-card:hover{transform:translateY(-7px) scale(1.025);box-shadow:0 14px 48px #e0115f17;border-color:var(--accent-color);background:var(--background-secondary)}.plan-card h2{margin:0 0 1rem;color:var(--text-main);font-size:1.4rem;font-weight:800;letter-spacing:.01em}.plan-details{margin-bottom:1.7rem}.plan-details p{margin:.3rem 0;color:var(--text-main);font-size:1.02rem}.plan-details strong{color:var(--text-main);font-weight:650}.plan-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:auto}.loading,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px}.spinner{border:4px solid var(--neutral-200);border-top:4px solid var(--accent-color);border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin-bottom:28px}@keyframes spin{to{transform:rotate(360deg)}}.error-message{text-align:center;padding:2rem;background:var(--neutral-100);border-radius:var(--border-radius-lg);margin:1.5rem auto;max-width:500px}.error-message p{color:var(--danger);font-weight:700}@media (max-width: 768px){.plans-grid{grid-template-columns:1fr;gap:1.4rem}.page-header{flex-direction:column;align-items:flex-start;gap:.7rem}.create-plan-btn,.get-started-btn{width:100%}.plan-actions{flex-direction:column;gap:.7rem}.plan-actions button{width:100%}.plan-card{padding:1.2rem}.no-plans{padding:2rem .7rem}}.not-found-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 100px);background-color:var(--background-light);padding:2rem}.not-found-content{text-align:center;background-color:#fff;padding:3rem;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);max-width:500px;width:100%}.not-found-page h1{font-size:6rem;color:var(--primary-color);margin-bottom:1rem;line-height:1}.not-found-page h2{font-size:2rem;color:var(--text-dark);margin-bottom:1rem}.not-found-page p{color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.not-found-actions{display:flex;justify-content:center;gap:1rem}.back-home-btn,.dashboard-btn{padding:.75rem 1.5rem;border-radius:var(--border-radius-md);text-decoration:none;font-weight:600;transition:background-color .3s ease,transform .2s ease}.back-home-btn{background-color:var(--primary-color);color:#fff}.back-home-btn:hover{background-color:#3a7bd5;transform:translateY(-2px)}.dashboard-btn{background-color:var(--background-light);color:var(--text-dark);border:1px solid #e0e0e0}.dashboard-btn:hover{background-color:#f0f0f0;transform:translateY(-2px)}@media (max-width: 600px){.not-found-content{padding:2rem}.not-found-page h1{font-size:4rem}.not-found-page h2{font-size:1.5rem}.not-found-actions{flex-direction:column;gap:1rem}.back-home-btn,.dashboard-btn{width:100%}}.email-verification-page{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--background-light);padding:var(--spacing-md)}.email-verification-container{text-align:center;background-color:#fff;padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);max-width:450px;width:100%;animation:fadeIn .5s ease-out}.verification-instructions{margin-bottom:var(--spacing-lg)}.verification-instructions h2{color:var(--primary-dark);margin-bottom:var(--spacing-md)}.verification-instructions p{color:var(--text-muted);margin:var(--spacing-sm) 0;line-height:1.6}.verification-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.verification-form input{width:100%;padding:var(--spacing-sm);border:1px solid var(--neutral-300);border-radius:var(--border-radius-md);font-size:1rem;text-align:center;letter-spacing:4px;transition:all .3s ease}.verification-form input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #6fa6d633}.verification-form button{background-color:var(--primary-color);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-weight:600;transition:background-color .3s ease,transform .2s ease}.verification-form button:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px)}.verification-form button:disabled{background-color:var(--neutral-300);cursor:not-allowed}.verification-message{margin-top:var(--spacing-md);color:var(--accent-color);font-weight:500}.verification-actions{margin-top:var(--spacing-lg)}.verification-actions button{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color);transition:all .3s ease}.verification-actions button:hover:not(:disabled){background-color:var(--primary-light);color:#fff}.verification-actions button:disabled{border-color:var(--neutral-300);color:var(--neutral-400)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.verification-actions button:disabled{animation:pulse 1.5s infinite}.admin-dashboard{padding:20px;max-width:1200px;margin:0 auto}.admin-dashboard h1{color:#2c3e50;margin-bottom:30px;text-align:center;font-size:2.5rem;border-bottom:2px solid #3498db;padding-bottom:10px}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.stat-card h3{color:#7f8c8d;margin-bottom:10px;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px}.stat-card p{color:#2980b9;font-size:2.5rem;font-weight:700}.stat-card:nth-child(1) p{color:#3498db}.stat-card:nth-child(2) p{color:#2ecc71}.stat-card:nth-child(3) p{color:#e74c3c}.stat-card:nth-child(4) p{color:#9b59b6}@media (max-width: 1024px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.dashboard-stats{grid-template-columns:1fr}.admin-dashboard h1{font-size:2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-stats .stat-card{animation:fadeIn .6s ease-out}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.user-management{padding:20px}.user-table{width:100%;border-collapse:collapse;margin-top:20px}.user-table th,.user-table td{border:1px solid #e0e0e0;padding:12px;text-align:left}.user-table th{background-color:#f9f9f9;font-weight:700}.bulk-actions{margin-bottom:15px}.bulk-actions button{padding:10px 15px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.bulk-actions button:disabled{background-color:#ccc;cursor:not-allowed}.user-table tr:nth-child(2n){background-color:#f2f2f2}.user-table tr:hover{background-color:#e0e0e0}.content-moderation{padding:20px}.flagged-item{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:15px}.content-actions{display:flex;gap:10px;margin-top:10px}.workout-moderation{padding:20px}.workout-submission{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:15px}.workout-actions{display:flex;gap:10px;margin-top:10px}.nutrition-moderation{padding:20px}.nutrition-submission{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:15px}.nutrition-actions{display:flex;gap:10px;margin-top:10px}.approve-btn,.reject-btn{padding:8px 15px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.approve-btn{background-color:#4caf50;color:#fff}.reject-btn{background-color:#f44336;color:#fff}.approve-btn:hover{background-color:#45a049}.reject-btn:hover{background-color:#d32f2f}.system-analytics{padding:20px}.overall-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.metric-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:15px;text-align:center;box-shadow:0 2px 4px #0000001a}.metric-card h3{margin-bottom:10px;color:#333}.metric-card p{font-size:24px;font-weight:700;color:#2196f3}.performance-metrics,.user-growth{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.performance-details,.growth-chart{display:flex;justify-content:space-between}.growth-point{text-align:center;padding:10px;background-color:#e6f2ff;border-radius:4px}@media (max-width: 768px){.overall-metrics{grid-template-columns:repeat(2,1fr)}}.workout-exercise-edit{max-width:800px;margin:0 auto;padding:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.form-group textarea{min-height:100px}.checkbox-group{display:flex;align-items:center;margin-bottom:10px}.checkbox-group input{margin-right:10px;width:auto}.submit-btn{background-color:#4caf50;color:#fff;padding:10px 15px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover{background-color:#45a049}.workout-exercise-library{padding:20px}.add-exercise-btn{background-color:#4caf50;color:#fff;border:none;padding:10px 15px;margin-bottom:15px;border-radius:4px;cursor:pointer}.exercise-table{width:100%;border-collapse:collapse}.exercise-table th,.exercise-table td{border:1px solid #ddd;padding:12px;text-align:left}.exercise-table th{background-color:#f2f2f2}.edit-btn,.delete-btn{margin-right:10px;padding:5px 10px;border:none;border-radius:4px;cursor:pointer}.edit-btn{background-color:#2196f3;color:#fff}.delete-btn{background-color:#f44336;color:#fff}.workout-plan-builder{max-width:1200px;margin:0 auto;padding:var(--spacing-md);background-color:var(--background-light);min-height:100vh}.workout-days button{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--neutral-300);background-color:var(--neutral-200);border-radius:var(--border-radius-md);cursor:pointer;transition:all .3s ease;color:var(--text-dark);font-weight:500;margin:5px;min-width:100px;text-align:center}.selected-exercise .exercise-details{display:flex;align-items:center;gap:var(--spacing-sm)}.selected-exercise input{width:70px;padding:var(--spacing-xs);border:1px solid var(--neutral-300);border-radius:var(--border-radius-sm)}.remove-exercise-btn{background-color:var(--accent-color);color:var(--text-light);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .3s ease;align-self:flex-end;display:flex;align-items:center;justify-content:center;height:36px}@media (max-width: 768px){.workout-plan-builder{padding:var(--spacing-sm)}.plan-details-section{flex-direction:column;gap:var(--spacing-sm)}.plan-name-input,.fitness-goal-select{width:100%;margin-bottom:var(--spacing-sm)}.workout-days{justify-content:center;gap:var(--spacing-xs)}.workout-days button{flex:1 1 calc(33.333% - 10px);margin:5px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem;min-width:auto}.exercise-filters{flex-direction:column;gap:var(--spacing-sm)}.exercise-filters select{width:100%;margin-bottom:var(--spacing-sm)}.exercise-selection{flex-direction:column}.available-exercises,.selected-exercises{width:100%;margin-bottom:var(--spacing-md)}.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.copy-paste-section{flex-direction:column}.copy-paste-actions{flex-direction:column;width:100%;gap:var(--spacing-sm)}.copy-paste-btn{width:100%;margin-bottom:var(--spacing-sm)}.selected-exercise{flex-direction:column;align-items:flex-start}.selected-exercise .exercise-details{width:100%;justify-content:space-between;margin-top:var(--spacing-sm)}.selected-exercise input{width:60px}.exercise-pagination{flex-direction:column;gap:var(--spacing-sm)}.pagination-btn{width:100%}}@media (max-width: 480px){.workout-days button{flex:1 1 calc(50% - 10px)}.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.workout-days button{position:relative}.workout-days button.has-exercises .day-completed-checkmark{color:var(--secondary-color);background-color:var(--text-light)}.workout-plan-generate{max-width:1200px;margin:0 auto;padding:var(--spacing-md);background-color:var(--background-light);min-height:100vh}.exercise-item{border:1px solid var(--neutral-300);border-radius:var(--border-radius-md);padding:var(--spacing-sm);text-align:left;display:flex;flex-direction:column;background-color:var(--background-light)}.plan-actions{margin-top:var(--spacing-md);text-align:center}.save-plan-btn{background-color:var(--primary-color);color:var(--text-light);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:1rem;cursor:pointer;transition:background-color .3s ease}@media (max-width: 768px){.workout-plan-generate{padding:var(--spacing-sm)}.plan-details-section,.exercise-filters{flex-direction:column;gap:var(--spacing-sm)}.exercise-selection,.copy-paste-section{flex-direction:column}.copy-paste-actions{flex-direction:column;width:100%}.exercise-volume{flex-direction:column;align-items:stretch}.exercise-pagination{flex-direction:column;gap:var(--spacing-sm)}}.workout-plan-onboarding{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--background-light);padding:var(--spacing-md)}.onboarding-container{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);padding:var(--spacing-lg);text-align:center;max-width:900px;width:100%}.onboarding-container h1{color:var(--text-dark);margin-bottom:var(--spacing-sm);font-size:2.2rem}.onboarding-container>p{color:var(--text-muted);margin-bottom:var(--spacing-lg)}.plan-options{display:flex;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.plan-option{flex:1;border:2px solid var(--neutral-200);border-radius:var(--border-radius-lg);padding:var(--spacing-md);cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column}.plan-option:hover{border-color:var(--primary-color);transform:translateY(-5px);box-shadow:var(--box-shadow-md)}.plan-option.selected{border-color:var(--primary-color);background-color:var(--neutral-100)}.option-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm)}.option-icon{font-size:3rem;margin-right:var(--spacing-sm);color:var(--primary-color)}.option-header h2{margin:0;color:var(--text-dark)}.option-description{color:var(--text-muted);margin-bottom:var(--spacing-sm)}.option-benefits{text-align:left;margin-top:auto}.option-benefits h3{color:var(--text-dark);margin-bottom:var(--spacing-sm);font-size:1rem}.option-benefits ul{list-style-type:disc;padding-left:var(--spacing-md);color:var(--text-muted)}.selected-indicator{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);color:var(--primary-color);font-size:1.5rem}.continue-btn{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:var(--text-light);border:none;border-radius:var(--border-radius-md);font-size:1rem;cursor:pointer;transition:background-color .3s ease}.continue-btn:hover{background-color:var(--primary-dark)}.continue-btn:disabled{background-color:var(--neutral-300);cursor:not-allowed}@media (max-width: 768px){.plan-options{flex-direction:column}.plan-option{margin-bottom:var(--spacing-md)}.option-icon{font-size:2.5rem}}.workout-plan-details{max-width:900px;margin:0 auto;padding:var(--spacing-md)}.plan-header{background-color:var(--neutral-100);padding:var(--spacing-md);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg)}.plan-header h1{margin-top:0;color:var(--text-dark)}.plan-summary{display:flex;justify-content:space-between;margin-top:var(--spacing-sm)}.plan-summary p{margin:0;color:var(--text-muted)}.workout-days-row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.day-card{display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:1 / 1;background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-sm);padding:var(--spacing-sm);text-align:center;cursor:pointer;transition:all .3s ease;overflow:hidden}.day-card.rest-day{background-color:var(--neutral-200);color:var(--text-muted)}.day-card:hover{transform:translateY(-3px);box-shadow:var(--box-shadow-md)}.day-card h3{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.day-card p{color:var(--text-muted);font-size:.8rem;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.day-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.day-modal{background-color:#fff;border-radius:var(--border-radius-lg);width:90%;max-width:600px;max-height:80%;overflow-y:auto;padding:var(--spacing-md);box-shadow:var(--box-shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--neutral-200);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.modal-header h2{margin:0;color:var(--text-dark)}.close-modal-btn{background:none;border:none;font-size:2rem;color:var(--text-muted);cursor:pointer;transition:color .3s ease}.close-modal-btn:hover{color:var(--text-dark)}.modal-content{max-height:60vh;overflow-y:auto}.day-exercises{display:grid;gap:var(--spacing-sm)}.exercise-card{background-color:var(--neutral-100);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.exercise-card h3{margin-top:0;color:var(--text-dark)}.exercise-details{color:var(--text-muted)}.plan-actions{margin-top:var(--spacing-lg);display:flex;justify-content:center;gap:var(--spacing-sm)}.start-workout-btn,.back-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .3s ease;font-size:1rem}.start-workout-btn{background-color:var(--secondary-color);color:var(--text-light)}.start-workout-btn:hover{background-color:var(--secondary-dark)}.back-btn{background-color:var(--primary-color);color:var(--text-light)}.back-btn:hover{background-color:var(--primary-dark)}@media (max-width: 768px){.plan-summary{flex-direction:column;gap:var(--spacing-sm)}.workout-days-row{flex-direction:column}.day-card{margin-bottom:var(--spacing-sm)}.plan-actions{flex-direction:column}.start-workout-btn,.back-btn{width:100%;margin-bottom:var(--spacing-sm)}.day-modal{width:95%;margin:0 auto}}.workout-day.rest-day{background-color:var(--neutral-200);text-align:center;display:flex;align-items:center;justify-content:center}.workout-day.rest-day p{color:var(--text-muted);font-style:italic}.exercise-card{transition:transform .3s ease,box-shadow .3s ease}.exercise-card:hover{transform:translateY(-3px);box-shadow:var(--box-shadow-sm)}.exercise-details .muscle-groups{margin-top:var(--spacing-xs);font-size:.9rem;color:var(--text-muted)}@media (max-width: 768px){.workout-days-row{grid-template-columns:repeat(4,1fr)}}@media (max-width: 480px){.workout-days-row{grid-template-columns:repeat(2,1fr)}}.exercise-details-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1100}.exercise-details-modal{background-color:#fff;border-radius:var(--border-radius-lg);width:90%;max-width:600px;max-height:80%;overflow-y:auto;padding:var(--spacing-md);box-shadow:var(--box-shadow-lg)}.exercise-full-details{display:grid;gap:var(--spacing-md)}.exercise-detail-section,.exercise-description-section,.exercise-instructions-section,.exercise-video-section{background-color:var(--neutral-100);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.exercise-full-details h3{margin-bottom:var(--spacing-sm);border-bottom:2px solid var(--neutral-300);padding-bottom:var(--spacing-xs);color:var(--text-dark)}.exercise-instructions-section ol{padding-left:var(--spacing-md)}.exercise-video-section a{display:inline-block;background-color:var(--primary-color);color:var(--text-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);text-decoration:none;transition:background-color .3s ease}.exercise-video-section a:hover{background-color:var(--primary-dark)}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.day-modal-overlay,.exercise-details-modal-overlay{overflow-y:auto;padding:var(--spacing-lg) 0;z-index:1000}.day-modal,.exercise-details-modal{max-height:90vh;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.day-modal::-webkit-scrollbar,.exercise-details-modal::-webkit-scrollbar{display:none}.edit-plan-btn{background-color:var(--primary-color);color:var(--text-light);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .3s ease;font-weight:500}.edit-plan-btn:hover{background-color:var(--primary-dark)}.fitness-profile-onboarding{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f4f4f4;padding:20px}.onboarding-container{background-color:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;max-width:800px;width:100%;padding:40px;text-align:center}.onboarding-section{margin-bottom:30px}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.option{border:2px solid #e0e0e0;border-radius:10px;padding:20px;cursor:pointer;transition:all .3s ease;position:relative}.option:hover{border-color:#007bff}.option.selected{border-color:#007bff;background-color:#e6f2ff}.option h3{margin-bottom:10px;color:#333}.option p{color:#666;font-size:.9em}.checkmark{position:absolute;top:10px;right:10px;color:#007bff;font-size:20px}.continue-btn{background-color:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:5px;font-size:1em;cursor:pointer;transition:background-color .3s ease}.continue-btn:disabled{background-color:#ccc;cursor:not-allowed}:root{--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--border-radius-sm: 4px;--border-radius-md: 8px;--background-light: #f4f4f4;--neutral-200: #e0e0e0;--neutral-300: #c0c0c0;--neutral-400: #a0a0a0;--primary-color: #3498db;--primary-dark: #2980b9;--secondary-color: #2ecc71;--secondary-dark: #27ae60;--accent-color: #e74c3c;--accent-dark: #c0392b;--text-dark: #333;--text-light: #fff}.workout-plan-edit{max-width:1200px;margin:0 auto;padding:var(--spacing-md);background-color:var(--background-light);min-height:100vh}.plan-details-section{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.plan-name-input,.fitness-goal-select{flex:1;padding:var(--spacing-sm);border:1px solid var(--neutral-300);border-radius:var(--border-radius-md);font-size:1rem}.workout-days{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.workout-days button{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--neutral-300);background-color:var(--neutral-200);border-radius:var(--border-radius-md);cursor:pointer;transition:all .3s ease;color:var(--text-dark);font-weight:500;margin:5px;min-width:100px;text-align:center;position:relative}.workout-days button:hover{background-color:var(--neutral-300);border-color:var(--primary-color)}.workout-days button.active{background-color:var(--primary-color);color:var(--text-light);border-color:var(--primary-color)}.workout-days button.selected{background-color:var(--secondary-color);color:var(--text-light);border-color:var(--secondary-color)}.exercise-filters{display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.exercise-filters select{flex:1;padding:var(--spacing-sm);border:1px solid var(--neutral-300);border-radius:var(--border-radius-md)}.exercise-selection{display:flex;gap:var(--spacing-md)}.available-exercises,.selected-exercises{flex:1;background-color:#fff;border:1px solid var(--neutral-300);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.exercise-item{border:1px solid var(--neutral-300);border-radius:var(--border-radius-md);padding:var(--spacing-sm);text-align:left;display:flex;flex-direction:column}.exercise-item h4{margin-bottom:var(--spacing-sm);color:var(--text-dark)}.add-to-day-btn{background-color:var(--secondary-color);color:var(--text-light);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .3s ease;margin-top:auto}.add-to-day-btn:hover{background-color:var(--secondary-dark)}.selected-exercises{max-height:600px;overflow-y:auto}.selected-exercise{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);border-bottom:1px solid var(--neutral-200);background-color:var(--background-light);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-xs)}.exercise-info{display:flex;flex-direction:column;width:100%}.exercise-name{margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-dark);font-size:1rem;letter-spacing:.5px}.exercise-volume{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%}.sets-input,.reps-input{display:flex;flex-direction:column;align-items:center}.input-label{font-size:.8rem;color:var(--neutral-400);margin-bottom:4px;text-transform:uppercase}.sets-input input,.reps-input input{width:70px;padding:var(--spacing-xs);border:1px solid var(--neutral-300);border-radius:var(--border-radius-sm);text-align:center;transition:border-color .3s ease}.sets-input input:focus,.reps-input input:focus{border-color:var(--primary-color);outline:none}.remove-exercise-btn{background-color:var(--accent-color);color:var(--text-light);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .3s ease;height:36px;display:flex;align-items:center;justify-content:center}.remove-exercise-btn:hover{background-color:var(--accent-dark)}.copy-paste-section{display:flex;justify-content:center;margin:var(--spacing-md) 0}.copy-paste-actions{display:flex;gap:var(--spacing-md);align-items:center;background-color:var(--neutral-200);padding:var(--spacing-sm);border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000001a}.copy-paste-btn{display:flex;align-items:center;gap:var(--spacing-sm);background-color:var(--primary-color);color:var(--text-light);border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .3s ease}.copy-paste-btn:hover{background-color:var(--primary-dark)}.exercise-pagination{display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-md);gap:var(--spacing-sm)}.pagination-btn{padding:var(--spacing-sm);background-color:var(--primary-color);color:var(--text-light);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .3s ease}.pagination-btn:disabled{background-color:var(--neutral-300);cursor:not-allowed}.page-info{font-weight:700;color:var(--text-dark)}.plan-actions{margin-top:var(--spacing-md);text-align:center;display:flex;justify-content:center;gap:var(--spacing-md)}.save-plan-btn{background-color:var(--secondary-color);color:var(--text-light);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:1rem;cursor:pointer;transition:background-color .3s ease;min-width:120px}.save-plan-btn:hover{background-color:var(--secondary-dark)}.save-plan-btn:disabled{background-color:var(--neutral-400);cursor:not-allowed}.cancel-btn{background-color:var(--neutral-300);color:var(--text-dark);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:1rem;cursor:pointer;transition:background-color .3s ease;min-width:120px}.cancel-btn:hover{background-color:var(--neutral-400)}.day-completed-checkmark{position:absolute;top:-5px;right:-5px;color:var(--secondary-color);background-color:var(--text-light);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0003;z-index:10}.loading-container{display:flex;justify-content:center;align-items:center;min-height:300px;font-size:1.2rem;color:var(--text-dark)}.error-container{text-align:center;padding:var(--spacing-lg)}.error-container button{background-color:var(--primary-color);color:var(--text-light);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;margin-top:var(--spacing-md)}@media (max-width: 768px){.workout-plan-edit{padding:var(--spacing-sm)}.plan-details-section,.exercise-filters{flex-direction:column;gap:var(--spacing-sm)}.exercise-selection,.copy-paste-section{flex-direction:column}.copy-paste-actions{flex-direction:column;width:100%}.exercise-volume{flex-direction:column;align-items:stretch}.pagination-btn{width:100%}}@media (max-width: 480px){.workout-days button{flex:1 1 calc(50% - 10px)}.exercise-grid{grid-template-columns:1fr}}input,button,select{min-height:44px;touch-action:manipulation}input,select,textarea{font-size:16px}
