@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary-color:#ff6b35;--primary-dark:#e85a28;--primary-glow:#ff6b354d;--secondary-color:#6366f1;--accent-color:#22d3ee;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a24;--bg-card-hover:#22222e;--bg-input:#0f0f14;--bg-elevated:#252530;--text-primary:#f0f0f5;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-dark:#f0f0f5;--text-light:#f5f5f5;--border-color:#2a2a36;--border-light:#3a3a48;--bg-light:#1e1e28;--shadow:0 10px 40px #0006;--shadow-hover:0 20px 60px #00000080;--shadow-glow:0 0 30px #ff6b3526;--glass-bg:#1a1a24cc;--glass-border:#ffffff0d}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);justify-content:center;align-items:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;background-image:radial-gradient(80% 50% at 20% 40%,#ff6b3514 0%,#0000 50%),radial-gradient(60% 40% at 80% 70%,#6366f114 0%,#0000 50%),radial-gradient(40% 30% at 50% 90%,#22d3ee0d 0%,#0000 50%);position:absolute;inset:0}#root{z-index:1;width:100%;position:relative}.auth-status{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-status__card{text-align:center;background:var(--bg-card);border:1px solid var(--border-color);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;padding:32px 24px}.auth-status__card .fitness-icon{margin-bottom:14px;font-size:42px;display:inline-block}.auth-status__card p{color:var(--text-primary);font-size:16px}.main-nav{border-bottom:1px solid var(--border-color);z-index:1000;-webkit-backdrop-filter:blur(10px);background:#12121af2;justify-content:center;align-items:center;height:64px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.nav-container{justify-content:space-between;align-items:center;width:100%;max-width:1200px;display:flex}.nav-brand{color:var(--text-primary);align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;transition:all .3s;display:flex}.nav-brand:hover{color:var(--primary-color)}.nav-brand-icon{font-size:24px}.nav-links{align-items:center;gap:8px;display:flex}.nav-link{color:var(--text-secondary);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;display:flex;position:relative}.nav-link:hover{color:var(--text-primary);background:var(--bg-card)}.nav-link.active{color:var(--primary-color);background:#ff6b351a}.nav-link.active:after{content:"";background:var(--primary-color);height:2px;box-shadow:0 0 10px var(--primary-glow);border-radius:2px;position:absolute;bottom:4px;left:16px;right:16px}.nav-link-icon{font-size:18px}.nav-link-text{display:inline}.mobile-nav{border-top:1px solid var(--border-color);z-index:1000;-webkit-backdrop-filter:blur(10px);height:72px;padding-bottom:env(safe-area-inset-bottom,0);background:#12121afa;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-links{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:space-between;align-items:center;column-gap:8px;height:100%;display:flex;overflow:auto hidden}.mobile-nav-links::-webkit-scrollbar{display:none}.mobile-nav-link{min-width:64px;min-height:48px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:10px;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.mobile-nav-link:active{transform:scale(.95)}.mobile-nav-link:hover{color:var(--text-primary)}.mobile-nav-link.active{color:var(--primary-color);background:#ff6b3526}.mobile-nav-link.active .mobile-nav-icon{transform:scale(1.1)}.mobile-nav-icon{font-size:24px;transition:transform .3s}.mobile-nav-text{text-transform:uppercase;letter-spacing:.5px}@media (width<=1023px) and (width>=768px){.nav-link{padding:10px 12px}.nav-link-text{display:none}.nav-link-icon{font-size:22px}.nav-link.active:after{left:10px;right:10px}}@media (width<=767px){.main-nav{display:none}.mobile-nav{display:block}body.has-nav{padding-top:20px;padding-bottom:92px}}@media (width<=479px){.mobile-nav-link{min-width:56px;padding:8px}.mobile-nav-icon{font-size:22px}.mobile-nav-text{font-size:9px}}.calendar-page-container{width:100%;min-width:320px;max-width:800px;margin:0 auto;padding:20px 20px 100px}.calendar-page-header{margin-bottom:24px}.calendar-page-title{color:var(--text-primary);text-align:center;font-size:24px;font-weight:700}.calendar-widget{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px;box-shadow:0 4px 20px #0000001a}.calendar-widget-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-widget-nav{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;width:40px;height:40px;color:var(--text-primary);border-radius:10px;justify-content:center;align-items:center;font-size:24px;transition:all .2s;display:flex}.calendar-widget-nav:hover{background:var(--bg-card);border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.05)}.calendar-widget-month{color:var(--text-primary);text-transform:capitalize;font-size:20px;font-weight:700}.calendar-legend{background:var(--bg-secondary);border-radius:12px;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-bottom:16px;padding:12px 16px;display:flex}.calendar-page .legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.calendar-page .legend-color{border-radius:4px;width:16px;height:8px}.calendar-page .legend-color.Спина{background:#3b82f6}.calendar-page .legend-color.Грудь{background:#ef4444}.calendar-page .legend-color.Ноги{background:#22c55e}.calendar-page .legend-color.Плечи{background:#f59e0b}.calendar-page .legend-color.Бицепс{background:#8b5cf6}.calendar-page .legend-color.Трицепс{background:#ec4899}.calendar-page .legend-color.Пресс{background:#06b6d4}.calendar-page .legend-color.Икры{background:#84cc16}.calendar-page .legend-color.Предплечья{background:#f97316}.calendar-widget-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.calendar-widget-weekdays span{text-align:center;color:var(--text-muted);text-transform:uppercase;padding:8px 0;font-size:12px;font-weight:600}.calendar-widget-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-day-cell{aspect-ratio:1;cursor:pointer;background:var(--bg-secondary);border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;padding:10px 4px 6px;transition:all .2s;display:flex;position:relative;overflow:hidden}.calendar-day-cell:hover:not(.other-month){background:var(--bg-elevated);border-color:var(--border-light);transform:scale(1.02)}.calendar-day-cell.other-month{opacity:.3;cursor:default}.calendar-day-cell.today{border-color:var(--primary-color);background:#ff6b3526}.calendar-day-cell.today .day-number{color:var(--primary-color);font-weight:700}.calendar-day-cell.has-workout{background:var(--bg-elevated);border-color:var(--border-light)}.calendar-day-cell.has-workout:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.calendar-day-cell.today.has-workout{border-color:var(--primary-color);background:#ff6b351a}.day-number{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1}.day-muscles{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:3px;width:100%;margin-top:auto;padding-top:4px;display:flex}.muscle-bar{border-radius:3px;flex:auto;min-width:12px;max-width:100%;height:6px}.muscle-bar.Спина{background:#3b82f6}.muscle-bar.Грудь{background:#ef4444}.muscle-bar.Ноги{background:#22c55e}.muscle-bar.Плечи{background:#f59e0b}.muscle-bar.Бицепс{background:#8b5cf6}.muscle-bar.Трицепс{background:#ec4899}.muscle-bar.Пресс{background:#06b6d4}.muscle-bar.Икры{background:#84cc16}.muscle-bar.Предплечья{background:#f97316}.month-stats{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;margin-top:24px;padding:20px}.month-stats-title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.calendar-page .stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.calendar-page .stat-card{background:var(--bg-secondary);text-align:center;border-radius:12px;padding:16px}.calendar-page .stat-value{color:var(--primary-color);font-size:28px;font-weight:700;line-height:1}.calendar-page .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:12px}.calendar-page .calendar-empty-text{color:var(--text-muted);text-align:center}.muscle-breakdown{margin-top:16px}.muscle-breakdown-title{color:var(--text-secondary);margin-bottom:12px;font-size:14px;font-weight:600}.muscle-breakdown-list{flex-direction:column;gap:8px;display:flex}.muscle-breakdown-item{border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.muscle-breakdown-item.Спина{color:#3b82f6;background:#3b82f626}.muscle-breakdown-item.Грудь{color:#ef4444;background:#ef444426}.muscle-breakdown-item.Ноги{color:#22c55e;background:#22c55e26}.muscle-breakdown-item.Плечи{color:#f59e0b;background:#f59e0b26}.muscle-breakdown-item.Бицепс{color:#8b5cf6;background:#8b5cf626}.muscle-breakdown-item.Трицепс{color:#ec4899;background:#ec489926}.muscle-breakdown-item.Пресс{color:#06b6d4;background:#06b6d426}.muscle-breakdown-item.Икры{color:#84cc16;background:#84cc1626}.muscle-breakdown-item.Предплечья{color:#f97316;background:#f9731626}.muscle-name{font-weight:600}.muscle-stats{align-items:center;gap:8px;font-size:12px;display:flex}.muscle-stat-exercises{opacity:.9;font-weight:700}.muscle-stat-days{opacity:.7;font-weight:500}.calendar-loading{justify-content:center;align-items:center;padding:40px 0;display:flex}.calendar-widget-days .calendar-loading{grid-column:1/-1}.calendar-spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite calendar-spin}.calendar-header-spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color);vertical-align:middle;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite calendar-spin;display:inline-block}@keyframes calendar-spin{to{transform:rotate(360deg)}}.calendar-widget-days.loading{opacity:.5;pointer-events:none}@media (width>=768px){.calendar-page-title{font-size:28px}.calendar-widget{padding:28px}.calendar-widget-header{margin-bottom:24px}.calendar-widget-nav{width:48px;height:48px;font-size:28px}.calendar-widget-month{font-size:26px}.calendar-legend{gap:12px 24px;margin-bottom:20px;padding:16px 24px}.calendar-page .legend-item{gap:8px;font-size:14px}.calendar-page .legend-color{width:20px;height:10px}.calendar-widget-weekdays{gap:8px;margin-bottom:12px}.calendar-widget-weekdays span{padding:10px 0;font-size:14px}.calendar-widget-days{gap:10px}.calendar-day-cell{border-radius:14px;padding:14px 6px 10px}.day-number{font-size:20px}.day-muscles{gap:4px;padding-top:6px}.muscle-bar{border-radius:4px;min-width:16px;height:8px}.month-stats{margin-top:32px;padding:24px}.month-stats-title{margin-bottom:20px;font-size:18px}.calendar-page .stats-grid{gap:16px}.calendar-page .stat-card{padding:20px}.calendar-page .stat-value{font-size:32px}.calendar-page .stat-label{margin-top:8px;font-size:13px}.muscle-breakdown{margin-top:24px}.muscle-breakdown-title{margin-bottom:16px;font-size:16px}.muscle-breakdown-item{border-radius:12px;padding:14px 18px;font-size:15px}.muscle-stats{gap:10px;font-size:13px}}@media (width<=767px){.calendar-page-container{padding:16px 16px 120px}.calendar-page-title{font-size:20px}.calendar-widget{padding:14px}.calendar-widget-nav{width:36px;height:36px;font-size:20px}.calendar-widget-month{font-size:18px}.calendar-widget-weekdays span{padding:6px 0;font-size:10px}.calendar-widget-days{gap:4px}.calendar-day-cell{border-radius:8px;padding:6px 3px 4px}.day-number{font-size:14px}.day-muscles{gap:2px;padding-top:3px}.muscle-bar{min-width:8px;height:5px}.calendar-page .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.calendar-page .stat-card{padding:12px}.calendar-page .stat-value{font-size:24px}.calendar-page .stat-label{font-size:11px}.muscle-breakdown-item{padding:8px 12px;font-size:13px}.muscle-stats{gap:6px;font-size:11px}}@media (width<=380px){.calendar-widget-days{gap:3px}.calendar-day-cell{border-radius:6px;padding:5px 2px 3px}.day-number{font-size:13px}.muscle-bar{min-width:6px;height:4px}.calendar-page .stat-value{font-size:20px}.calendar-page .stat-label{font-size:9px}.muscle-breakdown-item{padding:6px 10px;font-size:12px}.muscle-stats{font-size:10px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.3s modalSlide;display:flex;overflow:hidden}.modal-container.small{max-width:450px}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.modal-header.danger{background:linear-gradient(135deg, var(--error-color) 0%, #dc2626 100%)}.modal-title{color:#fff;overflow-wrap:break-word;word-break:break-word;flex:1;min-width:0;font-size:20px;font-weight:700}.modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:24px;transition:all .2s;display:flex}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-btn{cursor:pointer;border-radius:10px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.modal-btn.secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.modal-btn.secondary:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.modal-btn.primary{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));color:#fff;border:none}.modal-btn.primary:hover{box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.modal-btn.danger{background:var(--error-color);color:#fff;border:none}.modal-btn.danger:hover{background:#dc2626}.delete-warning{color:var(--text-secondary);font-size:15px;line-height:1.6}.delete-warning strong{color:var(--text-primary)}@media (width<=768px){.modal-overlay{padding:16px}.modal-container{max-height:85vh}.modal-container.small{max-width:100%}.modal-container.small .modal-body{padding:16px}.modal-btn{padding:10px 20px;font-size:13px}}body.exercises-page{background:var(--bg-primary);min-height:100vh;padding-bottom:100px;padding-left:20px;padding-right:20px;display:block}body.exercises-page.has-nav{padding-top:84px}.exercises-page-shell{max-width:800px;margin:0 auto}.exercises-page-shell .page-header{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);border-radius:20px;margin-bottom:24px;padding:32px;position:relative;overflow:hidden}.exercises-page-shell .page-header:before{content:"";background:#ffffff1a;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-20%}.exercises-page-shell .header-content{z-index:1;position:relative}.exercises-page-shell .header-content h1{color:#fff;margin-bottom:8px;font-size:28px;font-weight:800}.exercises-page-shell .header-content p{color:#ffffffd9;font-size:14px}.exercises-page-shell .controls-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;margin-bottom:20px;padding:20px}.exercises-page-shell .search-row{gap:12px;margin-bottom:16px;display:flex}.exercises-page-shell .search-input{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-position:16px;background-repeat:no-repeat;background-size:22px;border-radius:12px;flex:1;padding:14px 18px 14px 48px;font-family:inherit;font-size:15px;transition:all .2s}.exercises-page-shell .search-input::placeholder{color:var(--text-muted)}.exercises-page-shell .search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.exercises-page-shell .add-btn{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.exercises-page-shell .add-btn:hover{box-shadow:0 8px 25px var(--primary-glow);transform:translateY(-2px)}.exercises-page-shell .filter-section{margin-bottom:12px}.exercises-page-shell .filter-section:last-child{margin-bottom:0}.exercises-page-shell .filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.exercises-page-shell .filter-row{flex-wrap:wrap;gap:8px;display:flex}.exercises-page-shell .filter-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.exercises-page-shell .filter-chip:hover{border-color:var(--primary-color);color:var(--text-primary)}.exercises-page-shell .filter-chip.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.exercises-page-shell .empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.exercises-page-shell .empty-state-icon{opacity:.5;margin-bottom:16px;font-size:64px}.exercises-page-shell .empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:18px}.exercises-page-shell .empty-state p{font-size:14px}.exercises-page-shell .accordion-list{flex-direction:column;gap:12px;display:flex}.exercises-page-shell .accordion-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;transition:all .3s;overflow:hidden}.exercises-page-shell .accordion-item:hover{border-color:var(--border-light)}.exercises-page-shell .accordion-item.inactive{opacity:.6;background:var(--bg-secondary)}.exercises-page-shell .accordion-item.inactive .accordion-header{background:repeating-linear-gradient(-45deg,#0000,#0000 10px,#00000008 10px 20px)}.exercises-page-shell .accordion-item.inactive:hover{opacity:.8}.exercises-page-shell .accordion-item.inactive.expanded{opacity:1}.exercises-page-shell .accordion-item.expanded{border-color:var(--primary-color);box-shadow:0 8px 40px #ff6b3526}.exercises-page-shell .accordion-item.highlight-pulse{animation:2s ease-out highlightPulse}@keyframes highlightPulse{0%{box-shadow:0 0 #ff6b3599,0 8px 40px #ff6b3526}25%{box-shadow:0 0 0 8px #ff6b354d,0 8px 40px #ff6b3540}50%{box-shadow:0 0 0 12px #ff6b3526,0 8px 40px #ff6b3533}to{box-shadow:0 0 #ff6b3500,0 8px 40px #ff6b3526}}.exercises-page-shell .accordion-header{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:16px;padding:20px 24px;transition:background .2s;display:flex}.exercises-page-shell .accordion-header:hover{background:var(--bg-card-hover)}.exercises-page-shell .accordion-icon{width:24px;height:24px;color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;transition:transform .3s;display:flex}.exercises-page-shell .accordion-item.expanded .accordion-icon{color:var(--primary-color);transform:rotate(180deg)}.exercises-page-shell .accordion-title-section{flex:1;min-width:0}.exercises-page-shell .accordion-title{word-break:break-word;margin-bottom:6px;font-size:18px;font-weight:600}.exercises-page-shell .accordion-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.exercises-page-shell .muscle-badge{color:var(--secondary-color);text-transform:uppercase;background:#6366f133;border-radius:10px;padding:4px 12px;font-size:11px;font-weight:600}.exercises-page-shell .type-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:8px;padding:4px 10px;font-size:10px;font-weight:700}.exercises-page-shell .type-badge.compound{color:#10b981;background:linear-gradient(135deg,#10b98133,#05966940);border:1px solid #10b9814d}.exercises-page-shell .type-badge.isolation{color:#ef4444;background:linear-gradient(135deg,#ef444426,#dc262633);border:1px solid #ef444440}.exercises-page-shell .subgroup-mini{flex-wrap:wrap;gap:6px;display:flex}.exercises-page-shell .subgroup-mini-tag{color:var(--primary-color);background:#ff6b3526;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:500}.exercises-page-shell .accordion-stats{flex-shrink:0;gap:16px;font-size:13px;display:flex}.exercises-page-shell .stat-mini.has-technique{color:var(--success-color)}.exercises-page-shell .stat-mini{align-items:center;gap:4px;display:flex}.exercises-page-shell .accordion-content{overflow:hidden}.exercises-page-shell .accordion-body{border-top:1px solid var(--border-color);padding:0 24px 24px}.exercises-page-shell .accordion-item.expanded .accordion-body{padding-top:24px}.exercises-page-shell .inner-tabs{background:var(--bg-secondary);border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.exercises-page-shell .inner-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.exercises-page-shell .inner-tab:hover{color:var(--text-primary)}.exercises-page-shell .inner-tab.active{background:var(--bg-card);color:var(--primary-color);box-shadow:0 2px 8px #0003}.exercises-page-shell .subgroup-list{flex-direction:column;gap:12px;display:flex}.exercises-page-shell .subgroup-row{background:var(--bg-secondary);border-radius:12px;align-items:center;gap:16px;padding:16px;display:flex}.exercises-page-shell .subgroup-name{flex:1;min-width:100px;font-size:14px;font-weight:500}.exercises-page-shell .subgroup-bar-container{background:var(--bg-primary);border-radius:5px;flex:2;height:10px;overflow:hidden}.exercises-page-shell .subgroup-bar-fill{background:linear-gradient(90deg, var(--primary-color), var(--primary-dark));border-radius:5px;height:100%;transition:width .6s}.exercises-page-shell .subgroup-value{text-align:right;width:50px;color:var(--primary-color);font-size:14px;font-weight:700}.exercises-page-shell .technique-wrapper{background:var(--bg-secondary);border-radius:12px;overflow:hidden}.exercises-page-shell .technique-toolbar{border-bottom:1px solid var(--border-color);gap:8px;padding:12px;display:flex}.exercises-page-shell .toolbar-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px;transition:all .2s}.exercises-page-shell .toolbar-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.exercises-page-shell .technique-preview{min-height:100px;padding:20px;font-size:14px;line-height:1.8}.exercises-page-shell .technique-preview h1,.exercises-page-shell .technique-preview h2,.exercises-page-shell .technique-preview h3{color:var(--text-primary);margin:16px 0 8px}.exercises-page-shell .technique-preview h1:first-child,.exercises-page-shell .technique-preview h2:first-child,.exercises-page-shell .technique-preview h3:first-child{margin-top:0}.exercises-page-shell .technique-preview h1{font-size:20px}.exercises-page-shell .technique-preview h2{font-size:18px}.exercises-page-shell .technique-preview h3{color:var(--primary-color);font-size:16px}.exercises-page-shell .technique-preview p{color:var(--text-secondary);margin-bottom:12px}.exercises-page-shell .technique-preview ul,.exercises-page-shell .technique-preview ol{color:var(--text-secondary);margin-bottom:12px;padding-left:20px}.exercises-page-shell .technique-preview li{margin-bottom:6px}.exercises-page-shell .technique-preview code{background:var(--bg-card);border-radius:4px;padding:2px 6px;font-size:13px}.exercises-page-shell .technique-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.exercises-page-shell .technique-editor{background:var(--bg-primary);width:100%;min-height:250px;color:var(--text-primary);resize:vertical;border:none;padding:20px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.6;display:block}.exercises-page-shell .technique-editor:focus{outline:none}.exercises-page-shell .technique-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:8px;padding:12px;display:flex}.exercises-page-shell .video-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.exercises-page-shell .video-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:all .2s;overflow:hidden}.exercises-page-shell .video-card:hover{border-color:var(--border-light);transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.exercises-page-shell .video-thumb{aspect-ratio:16/9;background:var(--bg-primary);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;display:flex}.exercises-page-shell .play-icon{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;transition:all .2s;display:flex}.exercises-page-shell .video-card:hover .play-icon{box-shadow:0 0 25px var(--primary-glow);transform:scale(1.1)}.exercises-page-shell .video-info{padding:12px}.exercises-page-shell .video-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:13px;font-weight:600;overflow:hidden}.exercises-page-shell .video-meta{color:var(--text-muted);margin-bottom:8px;font-size:11px}.exercises-page-shell .video-delete-btn{border:1px solid var(--error-color);width:100%;color:var(--error-color);cursor:pointer;background:#ef44441a;border-radius:6px;padding:8px;font-family:inherit;font-size:12px;transition:all .2s}.exercises-page-shell .video-delete-btn:hover{background:var(--error-color);color:#fff}.exercises-page-shell .upload-zone{border:2px dashed var(--border-light);text-align:center;cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:32px;transition:all .2s;display:flex}.exercises-page-shell .upload-zone:hover,.exercises-page-shell .upload-zone.uploading{border-color:var(--primary-color);background:#ff6b350d}.exercises-page-shell .upload-zone-icon{margin-bottom:8px;font-size:32px}.exercises-page-shell .upload-zone-text{color:var(--text-secondary);font-size:13px}.exercises-page-shell .upload-progress{background:var(--bg-primary);border-radius:2px;width:100%;height:4px;margin-top:12px;overflow:hidden}.exercises-page-shell .upload-progress-bar{background:var(--primary-color);border-radius:2px;height:100%;transition:width .3s}.exercises-page-shell .hidden-file-input{display:none}.exercises-page-shell .link-list{flex-direction:column;gap:10px;display:flex}.exercises-page-shell .link-item{background:var(--bg-secondary);border-radius:10px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex}.exercises-page-shell .link-item:hover{background:var(--bg-card-hover)}.exercises-page-shell .link-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.exercises-page-shell .link-icon.article{background:#6366f180}.exercises-page-shell .link-icon.video{background:#ef444480}.exercises-page-shell .link-icon.tutorial{background:#10b98180}.exercises-page-shell .link-details{flex:1;min-width:0}.exercises-page-shell .link-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.exercises-page-shell .link-url{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;text-decoration:none;display:block;overflow:hidden}.exercises-page-shell .link-url:hover{color:var(--primary-color)}.exercises-page-shell .link-type{background:var(--bg-card);color:var(--text-muted);text-transform:uppercase;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:10px;font-weight:600}.exercises-page-shell .link-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:6px;font-size:16px;transition:all .2s}.exercises-page-shell .link-delete:hover{color:var(--error-color);background:#ef444426}.exercises-page-shell .add-link-btn{border:2px dashed var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.exercises-page-shell .add-link-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#ff6b350d}.exercises-page-shell .links-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:14px}.exercises-page-shell .action-row{border-top:1px solid var(--border-color);gap:12px;margin-top:24px;padding-top:20px;display:flex}.exercises-page-shell .action-btn{cursor:pointer;border-radius:10px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.exercises-page-shell .action-btn.delete{border:1px solid var(--error-color);color:var(--error-color);background:#ef444426}.exercises-page-shell .action-btn.delete:hover{background:var(--error-color);color:#fff}.exercises-page-shell .action-btn.toggle-active{border:1px solid var(--border-color)}.exercises-page-shell .action-btn.toggle-active.deactivate{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b}.exercises-page-shell .action-btn.toggle-active.deactivate:hover{color:#fff;background:#f59e0b}.exercises-page-shell .action-btn.toggle-active.activate{border-color:var(--success-color);color:var(--success-color);background:#10b98126}.exercises-page-shell .action-btn.toggle-active.activate:hover{background:var(--success-color);color:#fff}.modal-container.video-modal{max-width:900px}.modal-body.video-body{background:#000;padding:0}.modal-body.video-body video{width:100%;max-height:70vh}.exercises-page-shell .form-group{margin-bottom:20px}.exercises-page-shell .form-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.exercises-page-shell .form-group input,.exercises-page-shell .form-group select,.exercises-page-shell .form-group textarea{background:var(--bg-secondary);border:2px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .2s}.exercises-page-shell .form-group input::placeholder,.exercises-page-shell .form-group textarea::placeholder{color:var(--text-muted)}.exercises-page-shell .form-group input:focus,.exercises-page-shell .form-group select:focus,.exercises-page-shell .form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.exercises-page-shell .form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-position:16px;background-repeat:no-repeat;background-size:18px;padding-left:44px}.exercises-page-shell .form-group select option{background:var(--bg-card);color:var(--text-primary)}.exercises-page-shell .subgroups-container{flex-direction:column;gap:12px;margin-bottom:12px;display:flex}.exercises-page-shell .subgroup-form-row{align-items:center;gap:12px;display:flex}.exercises-page-shell .subgroup-form-row select{flex:2}.exercises-page-shell .subgroup-form-row input{flex:1;max-width:100px}.exercises-page-shell .subgroup-form-row .remove-subgroup-btn{border:1px solid var(--error-color);width:36px;height:36px;color:var(--error-color);cursor:pointer;background:#ef444426;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.exercises-page-shell .subgroup-form-row .remove-subgroup-btn:hover{background:var(--error-color);color:#fff}.exercises-page-shell .add-subgroup-btn{border:2px dashed var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:13px;transition:all .2s}.exercises-page-shell .add-subgroup-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.exercises-page-shell .toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.exercises-page-shell .toast{color:#fff;pointer-events:auto;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:500;animation:.3s toastSlide;box-shadow:0 4px 20px #0000004d}.exercises-page-shell .toast.success{background:var(--success-color)}.exercises-page-shell .toast.error{background:var(--error-color)}@keyframes toastSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){body.exercises-page{padding-bottom:80px;padding-left:16px;padding-right:16px}body.exercises-page.has-nav{padding-top:20px;padding-bottom:92px}.exercises-page-shell .page-header{border-radius:16px;padding:24px 20px}.exercises-page-shell .header-content h1{font-size:24px}.exercises-page-shell .header-content p{font-size:15px}.exercises-page-shell .search-row{flex-direction:column}.exercises-page-shell .search-input{font-size:16px}.exercises-page-shell .add-btn{justify-content:center;width:100%;font-size:15px}.exercises-page-shell .filter-row{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.exercises-page-shell .filter-section{margin-bottom:16px}.exercises-page-shell .filter-label{margin-bottom:10px;font-size:13px}.exercises-page-shell .filter-chip{flex-shrink:0;padding:10px 18px;font-size:15px}.exercises-page-shell .accordion-header{flex-wrap:wrap;padding:16px}.exercises-page-shell .accordion-title{font-size:20px}.exercises-page-shell .accordion-meta{gap:10px}.exercises-page-shell .muscle-badge{padding:5px 14px;font-size:13px}.exercises-page-shell .subgroup-mini-tag{padding:4px 10px;font-size:12px}.exercises-page-shell .accordion-stats{border-top:1px solid var(--border-color);width:100%;margin-top:12px;padding-top:12px;font-size:16px}.exercises-page-shell .accordion-body{padding:0 16px 16px}.exercises-page-shell .accordion-item.expanded .accordion-body{padding-top:16px}.exercises-page-shell .subgroup-name,.exercises-page-shell .subgroup-value{font-size:15px}.exercises-page-shell .inner-tabs{flex-wrap:nowrap;overflow-x:auto}.exercises-page-shell .inner-tab{white-space:nowrap;flex-shrink:0;padding:12px 18px;font-size:14px}.exercises-page-shell .technique-preview,.exercises-page-shell .link-title{font-size:15px}.exercises-page-shell .link-url{font-size:13px}.exercises-page-shell .link-type{font-size:11px}.exercises-page-shell .video-name{font-size:14px}.exercises-page-shell .video-meta{font-size:12px}.exercises-page-shell .video-list{grid-template-columns:1fr 1fr}.exercises-page-shell .action-row{flex-direction:column}.exercises-page-shell .modal-overlay{align-items:flex-start;padding:0}.exercises-page-shell .modal-container{border-radius:0;height:auto;min-height:100dvh;max-height:100%}.exercises-page-shell .modal-container.small{border-radius:16px;min-height:auto;max-height:100dvh;margin:auto}.exercises-page-shell .modal-container.small .modal-body{max-height:calc(100dvh - 180px);overflow-y:auto}.exercises-page-shell .modal-footer{background:var(--bg-secondary);padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;position:sticky;bottom:0}.exercises-page-shell .modal-btn{text-align:center;width:100%}.exercises-page-shell .subgroup-form-row{flex-wrap:wrap}.exercises-page-shell .subgroup-form-row select{flex:100%}.exercises-page-shell .subgroup-form-row input{flex:1;max-width:none}}.home-container{background:linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.home-header{text-align:center;margin-bottom:3rem;animation:.6s ease-out fadeInDown}.home-header .fitness-icon{margin-bottom:1rem;font-size:4rem;animation:2s ease-in-out infinite pulse}.home-header h1{background:linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3rem;font-weight:700}.home-header p{color:var(--text-secondary);font-size:1.2rem}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;width:100%;max-width:1200px;margin-bottom:3rem;display:grid}.menu-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;color:var(--text-primary);cursor:pointer;border-radius:16px;padding:2.5rem;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.menu-card:before{content:"";background:linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);opacity:0;z-index:0;transition:opacity .3s;position:absolute;inset:0}.menu-card:hover{box-shadow:var(--shadow-hover);border-color:var(--primary-color);transform:translateY(-8px)}.menu-card:hover:before{opacity:.1}.menu-card>*{z-index:1;position:relative}.card-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-bottom:1rem;font-size:3.5rem}.menu-card h2{color:var(--text-primary);margin-bottom:.75rem;font-size:1.75rem;font-weight:600}.menu-card p{color:var(--text-secondary);font-size:1rem;line-height:1.5}.home-footer{text-align:center;padding:1rem}.logout-link{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;text-decoration:none;transition:all .3s;display:inline-block}.logout-link:hover{color:var(--error-color);border-color:var(--error-color);background:#ef44441a}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (width<=768px){.home-header h1{font-size:2.5rem}.home-header .fitness-icon{font-size:3rem}.menu-grid{grid-template-columns:1fr;gap:1.5rem}.menu-card{padding:2rem}.card-icon{font-size:3rem}.menu-card h2{font-size:1.5rem}}body.nutrition-page{--bg-primary:#0a0a0a;--bg-secondary:#1a1a1a;--bg-tertiary:#252525;--text-primary:#fff;--text-secondary:#9ca3af;--text-tertiary:#6b7280;--calories-color:#f77;--calories-gradient:linear-gradient(135deg, #f77 0%, #f55 100%);--calories-glow:0 0 40px #ff77774d;--calories-chart:#f77;--protein-color:#77adff;--protein-gradient:linear-gradient(135deg, #77adff 0%, #59f 100%);--protein-glow:0 0 40px #77adff4d;--protein-chart:#77adff;--border-color:#ffffff14;--shadow-xl:0 20px 40px #00000080;--shadow-glow:0 10px 60px #0000004d;background:var(--bg-primary);color:var(--text-primary);align-items:initial;justify-content:initial;min-height:100vh;padding-left:0;padding-right:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:block;position:relative;overflow-x:hidden}body.nutrition-page:before{content:"";pointer-events:none;z-index:1;background-image:radial-gradient(circle at 20% 80%,#ff77770d 0%,#0000 50%),radial-gradient(circle at 80% 20%,#77adff0d 0%,#0000 50%),radial-gradient(circle at 40% 40%,#ffffff03 0%,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.nutrition-container{z-index:2;width:100%;padding:1rem;animation:.5s ease-out fadeIn;position:relative}.hero-section{text-align:center;margin-bottom:2rem;padding:2rem 0 1rem;position:relative;overflow:hidden}.hero-content{z-index:2;position:relative}.hero-title{background:linear-gradient(135deg,#fff 0%,#9ca3af 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:3.5rem;font-weight:900;animation:.6s ease-out slideInDown}.hero-date{color:var(--text-secondary);font-size:1.125rem;font-weight:400;animation:.6s ease-out slideInUp}.hero-decoration{filter:blur(60px);pointer-events:none;background:radial-gradient(#ffffff0d 0%,#0000 70%);width:600px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nutrition-page .stats-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:.75rem;display:grid}.nutrition-page .stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;padding:2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out slideInUp;position:relative;overflow:hidden}.nutrition-page .stat-card:hover{border-color:#ffffff26;transform:translateY(-4px)}.calories-card{animation-delay:.1s}.calories-card:hover{box-shadow:var(--calories-glow), var(--shadow-xl)}.protein-card{animation-delay:.2s}.protein-card:hover{box-shadow:var(--protein-glow), var(--shadow-xl)}.stat-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex}.calories-card .stat-icon{background:var(--calories-gradient);box-shadow:0 4px 20px #ff777740}.protein-card .stat-icon{background:var(--protein-gradient);box-shadow:0 4px 20px #77adff40}.stat-icon svg{color:#fff;width:24px;height:24px}.nutrition-page .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:500}.nutrition-page .stat-value{align-items:baseline;gap:.5rem;margin-bottom:1.5rem;display:flex}.stat-number{letter-spacing:-.02em;font-size:3.5rem;font-weight:800;line-height:1;transition:all .3s}.calories-card .stat-number{background:var(--calories-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.protein-card .stat-number{background:var(--protein-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-unit{color:var(--text-tertiary);font-size:1.25rem;font-weight:500}.stat-divider{color:var(--text-tertiary);margin:0 .25rem;font-size:2rem;font-weight:300}.stat-target{color:var(--text-secondary);font-size:2rem;font-weight:600}.stat-card.exceeded{background:linear-gradient(135deg, #ffc85708 0%, var(--bg-secondary) 100%);border-color:#ffc85766;animation:2s ease-in-out infinite exceededGlow;box-shadow:0 0 30px #ffc85733}.stat-card.exceeded .stat-number{background:linear-gradient(135deg,#ffc857 0%,#ff8c42 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.stat-card.exceeded .stat-status{color:#ffc857;font-weight:600}.stat-card.exceeded .progress-bar{background:linear-gradient(135deg,#ffc857 0%,#ff8c42 100%);animation:2s ease-in-out infinite progressPulseExceeded}.stat-card.exceeded .stat-icon{background:linear-gradient(135deg,#ffc857 0%,#ff8c42 100%);animation:1.5s ease-in-out infinite iconPulseExceeded;box-shadow:0 4px 20px #ffc85766}.exceeded-warning{animation:1.5s ease-in-out infinite warningPulse}@keyframes progressPulseExceeded{0%,to{opacity:1;box-shadow:0 0 10px #ffc85780}50%{opacity:.9;box-shadow:0 0 20px #ffc857b3}}@keyframes exceededGlow{0%,to{border-color:#ffc85766;box-shadow:0 0 30px #ffc85733}50%{border-color:#ffc85799;box-shadow:0 0 50px #ffc85766}}@keyframes iconPulseExceeded{0%,to{transform:scale(1);box-shadow:0 4px 20px #ffc85766}50%{transform:scale(1.05);box-shadow:0 4px 30px #ffc85799}}@keyframes warningPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.stat-card.achieved{background:linear-gradient(135deg, #77adff1a 0%, var(--bg-secondary) 100%);border-color:#77adff99;animation:2s ease-in-out infinite celebrationGlow;box-shadow:0 0 30px #77adff4d}.stat-card.achieved .stat-number{background:linear-gradient(135deg,#77adff 0%,#59f 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:.6s ease-out celebrationPop}.stat-card.achieved .stat-status{color:#77adff;font-weight:600;animation:1s ease-in-out infinite celebrationBounce}.stat-card.achieved .progress-bar{background:linear-gradient(135deg,#77adff 0%,#59f 100%);animation:1.5s ease-in-out infinite progressPulseAchieved}.stat-card.achieved .stat-icon{background:linear-gradient(135deg,#77adff 0%,#59f 100%);animation:1.5s ease-in-out infinite iconPulse;box-shadow:0 4px 20px #77adff80}.achieved-celebration{animation:1s ease-in-out infinite emojiCelebrate}@keyframes celebrationGlow{0%,to{border-color:#77adff99;box-shadow:0 0 30px #77adff4d}50%{border-color:#77adffe6;box-shadow:0 0 50px #77adff80}}@keyframes celebrationPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes celebrationBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes progressPulseAchieved{0%,to{opacity:1;box-shadow:0 0 10px #77adff80}50%{opacity:.9;box-shadow:0 0 25px #77adffcc}}@keyframes iconPulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #77adff80}50%{transform:scale(1.05);box-shadow:0 4px 30px #77adffb3}}@keyframes emojiCelebrate{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.2)rotate(-10deg)}75%{transform:scale(1.2)rotate(10deg)}}.stat-footer{flex-direction:column;gap:.75rem;display:flex}.stat-progress{background:#ffffff0d;border-radius:3px;height:6px;position:relative;overflow:hidden}.progress-bar{border-radius:3px;width:0;height:100%;transition:width 1.5s cubic-bezier(.4,0,.2,1);animation:2s ease-in-out infinite progressPulse}.calories-progress{background:var(--calories-gradient);width:75%}.protein-progress{background:var(--protein-gradient);width:60%}.stat-status{color:var(--text-tertiary);font-size:.875rem}.stat-decoration{pointer-events:none;opacity:.03;width:200%;height:200%;position:absolute;top:-50%;right:-50%}.calories-card .stat-decoration{background:radial-gradient(circle at center, var(--calories-color) 0%, transparent 70%)}.protein-card .stat-decoration{background:radial-gradient(circle at center, var(--protein-color) 0%, transparent 70%)}.weekly-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;margin-bottom:.75rem;padding:2rem 1.5rem;animation:.8s ease-out slideInUp}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.nutrition-page .section-title{background:linear-gradient(135deg,#fff 0%,#9ca3af 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:.5rem .75rem;font-size:1.75rem;font-weight:700}.nutrition-page .legend{gap:1.5rem;display:flex}.nutrition-page .legend-item{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .3s;display:flex}.nutrition-page .legend-item:hover{color:var(--text-primary);background:#ffffff0d}.nutrition-page .legend-item.inactive{opacity:.4}.nutrition-page .legend-item.inactive:hover{opacity:.6}.nutrition-page .legend-dot{border-radius:50%;width:12px;height:12px;transition:all .3s;box-shadow:0 0 10px}.nutrition-page .legend-item.inactive .legend-dot{box-shadow:none;opacity:.5}.calories-dot{background:var(--calories-gradient);color:var(--calories-color)}.protein-dot{background:var(--protein-gradient);color:var(--protein-color)}.chart-wrapper{margin-bottom:1.5rem;position:relative}.chart-container{background:linear-gradient(135deg,#0000004d 0%,#0000001a 100%);border:1px solid #ffffff14;border-radius:20px;height:500px;padding:1.5rem 1rem;position:relative;box-shadow:inset 0 2px 10px #0003}.daily-bars-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;padding:.5rem;display:none}.day-card{background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;padding:1rem;transition:all .3s}.day-card:hover{background:#ffffff0a;border-color:#ffffff26;transform:translateY(-2px)}.day-card.today{background:linear-gradient(135deg,#ff77770d 0%,#77adff0d 100%);border-color:#ff77774d}.day-card.calories-exceeded{background:linear-gradient(135deg,#ffc85714 0%,#ff8c420d 100%);border-color:#ffc85780;box-shadow:0 0 15px #ffc85733}.day-card.calories-exceeded:hover{border-color:#ffc857b3;box-shadow:0 0 20px #ffc8574d}.day-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.day-label{color:var(--text-primary);font-weight:600}.today-badge{background:var(--calories-gradient);color:#fff;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.day-stats{flex-direction:column;gap:.75rem;display:flex}.day-stat-row{justify-content:space-between;align-items:center;display:flex}.day-stat-label{color:var(--text-tertiary);font-size:.875rem}.day-stat-value{font-size:.875rem;font-weight:600}.exceeded-value{font-weight:700;color:#ffc857!important}.day-bar-container{background:#ffffff0d;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.day-bar{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.calories-bar{background:var(--calories-gradient)}.exceeded-bar{animation:2s ease-in-out infinite progressPulseExceeded;background:linear-gradient(135deg,#ffc857 0%,#ff8c42 100%)!important}.protein-bar{background:var(--protein-gradient)}.view-toggle{justify-content:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.toggle-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .3s;display:flex}.toggle-btn:hover{background:#ffffff0d;border-color:#ffffff26}.toggle-btn.active{color:var(--text-primary);background:linear-gradient(135deg,#ff77771a 0%,#77adff1a 100%);border-color:#ff77774d}.toggle-btn svg{width:20px;height:20px}.quick-stats{border-top:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;padding:.5rem .75rem;display:grid}.quick-stat{flex-direction:column;gap:.5rem;display:flex}.quick-stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.quick-stat-values{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.quick-stat-value{font-size:1.125rem;font-weight:600}.calories-color{color:var(--calories-color)}.protein-color{color:var(--protein-color)}.quick-stat-divider{color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}@media (width<=1024px){.chart-container{height:400px;padding:1rem}}@media (width<=768px){body.nutrition-page{padding-left:10px;padding-right:10px}.nutrition-container{padding:.5rem}.hero-section{margin-bottom:1rem;padding:1rem 0 .5rem}.hero-title{font-size:2.5rem}.nutrition-page .stats-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.nutrition-page .stat-card{padding:1.5rem}.stat-number{font-size:2.5rem}.weekly-section{padding:1.5rem .75rem}.section-header{flex-direction:column;align-items:flex-start;margin-bottom:1.25rem}.chart-container{height:350px;padding:1rem .5rem}.view-toggle{margin-bottom:1.25rem;display:flex}.daily-bars-container{grid-template-columns:1fr}.nutrition-page .legend{width:100%}.quick-stats{grid-template-columns:1fr;padding:1.25rem .75rem 0}}@media (width<=480px){.nutrition-container{padding:.25rem}.hero-section{margin-bottom:.75rem;padding:.5rem 0}.hero-title{font-size:2rem}.hero-date{font-size:1rem}.nutrition-page .stats-grid{gap:.75rem;margin-bottom:.75rem}.nutrition-page .stat-card{padding:1.25rem}.stat-number{font-size:2rem}.stat-icon{width:40px;height:40px}.weekly-section{padding:1rem .5rem}.section-header{margin-bottom:1rem}.chart-container{height:280px;padding:.75rem .25rem}.day-card{padding:.875rem}.toggle-btn{padding:.625rem 1rem;font-size:.8125rem}.view-toggle{margin-bottom:1rem}.quick-stats{padding:1rem .5rem 0}.nutrition-page .legend{flex-direction:column;gap:.5rem}}.food-entries-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:.75rem;animation:.5s ease-out slideInUp;overflow:hidden}.food-entries-header{cursor:pointer;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;transition:background .3s;display:flex}.food-entries-header:hover{background:#ffffff05}.food-entries-title{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.9rem;font-weight:500;display:flex}.food-entries-collapse-icon{color:var(--text-secondary);font-size:16px;transition:transform .2s}.food-entries-section.collapsed .food-entries-collapse-icon{transform:rotate(-90deg)}.food-entries-count{color:var(--text-tertiary);background:#ffffff14;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.food-entries-content{border-top:1px solid var(--border-color);opacity:1;max-height:400px;transition:max-height .3s,opacity .3s;overflow:hidden auto}.food-entries-section.collapsed .food-entries-content{opacity:0;border-top:none;max-height:0}.food-entries-list{padding:.5rem}.food-entry-item{border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background .2s;display:flex}.food-entry-item:hover{background:#ffffff08}.food-entry-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.food-entry-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.food-entry-macros{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.food-entry-calories{color:var(--calories-color)}.food-entry-divider{color:var(--text-tertiary)}.food-entry-protein{color:var(--protein-color)}.food-entry-delete{color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.food-entry-item:hover .food-entry-delete{opacity:1}.food-entry-delete:hover{color:#ef4444;background:#ef444426}@media (width<=768px){.food-entry-delete{opacity:1}.food-entries-header{padding:.75rem 1rem}.food-entry-item{padding:.625rem .75rem}}.add-food-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;margin-bottom:2rem;animation:.5s ease-out slideInUp;overflow:hidden}.add-food-header{cursor:pointer;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#ff77771a 0%,#77adff1a 100%);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:background .3s;display:flex}.add-food-header:hover{background:linear-gradient(135deg,#ff777726 0%,#77adff26 100%)}.add-food-header h2{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.toggle-icon{color:var(--text-secondary);font-size:1.5rem;font-weight:300;line-height:1}.add-food-content{padding:1.5rem}.ai-toggle-container{margin-bottom:1.5rem}.toggle-label{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:#ffffff05;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;font-size:14px;font-weight:500;display:flex}.toggle-switch{width:52px;height:28px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:var(--bg-tertiary);border-radius:28px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.toggle-slider{background:var(--calories-gradient)}input:checked+.toggle-slider:before{transform:translate(24px)}.ai-provider-section{margin-bottom:1.5rem}.ai-provider-selector{gap:.75rem;display:flex}.provider-option{cursor:pointer;flex:1}.provider-option input[type=radio]{display:none}.provider-card{border:2px solid var(--border-color);background:#ffffff05;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;transition:all .3s;display:flex}.provider-option:hover .provider-card{background:#ffffff0a;border-color:#ffffff26}.provider-option input[type=radio]:checked+.provider-card{border-color:var(--protein-color);background:linear-gradient(135deg,#77adff1a 0%,#ff77771a 100%);box-shadow:0 0 20px #77adff33}.provider-logo{object-fit:contain;width:48px;height:48px;display:block}.provider-name{color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:color .3s}.provider-option input[type=radio]:checked+.provider-card .provider-name{color:var(--text-primary)}.ai-mode-section{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.upload-area{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:1rem;padding:2rem;transition:all .3s}.upload-area .primary-text{color:var(--text-primary);margin-bottom:.25rem;font-weight:500}.upload-area .secondary-text{color:var(--text-tertiary);font-size:.875rem}.photo-preview{border-radius:12px;max-width:300px;margin-bottom:1rem;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:200px;display:block}.remove-photo-btn{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:background .3s;display:flex;position:absolute;top:8px;right:8px}.remove-photo-btn:hover{background:#f77c}.manual-mode-section .form-group,.ai-mode-section .form-group{margin-bottom:1rem}.manual-mode-section label,.ai-mode-section label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.manual-mode-section input[type=text],.manual-mode-section input[type=number],.ai-mode-section input[type=text],.ai-mode-section textarea{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:all .3s}.ai-mode-section textarea{resize:vertical;min-height:80px}.manual-mode-section input:focus,.ai-mode-section input:focus,.ai-mode-section textarea:focus{border-color:var(--calories-color);outline:none;box-shadow:0 0 0 3px #ff77771a}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.analyze-btn,.add-food-section .submit-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:14px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.analyze-btn{background:var(--protein-gradient);color:#fff;margin-top:.5rem}.add-food-section .submit-btn{background:var(--calories-gradient);color:#fff;margin-top:.5rem}.analyze-btn:hover:not(:disabled),.add-food-section .submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ff77774d}.analyze-btn:disabled,.add-food-section .submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.analysis-overlay{z-index:9999;pointer-events:auto;cursor:wait;background:0 0;position:fixed;inset:0}.photo-preview.scanning{position:relative}.photo-preview.scanning img{filter:brightness(.85)}.photo-preview.scanning .remove-photo-btn{display:none}.scanner-overlay{pointer-events:none;border-radius:12px;position:absolute;inset:0;overflow:hidden}.scanner-corners{border:2px solid #0000;position:absolute;inset:8px}.scanner-corners:before,.scanner-corners:after{content:"";border:3px solid #77adffe6;width:24px;height:24px;position:absolute}.scanner-corners:before{border-bottom:none;border-right:none;border-radius:4px 0 0;top:0;left:0}.scanner-corners:after{border-bottom:none;border-left:none;border-radius:0 4px 0 0;top:0;right:0}.scanner-corners-bottom{position:absolute;inset:8px}.scanner-corners-bottom:before,.scanner-corners-bottom:after{content:"";border:3px solid #77adffe6;width:24px;height:24px;position:absolute}.scanner-corners-bottom:before{border-top:none;border-right:none;border-radius:0 0 0 4px;bottom:0;left:0}.scanner-corners-bottom:after{border-top:none;border-left:none;border-radius:0 0 4px;bottom:0;right:0}.scanner-line{background:linear-gradient(90deg,#0000 0%,#77adff4d 20%,#77adff 50%,#77adff4d 80%,#0000 100%);height:3px;animation:2s ease-in-out infinite scanMove;position:absolute;left:0;right:0;box-shadow:0 0 10px #77adffcc,0 0 20px #77adff80,0 0 40px #77adff4d}.scanner-glow{background:linear-gradient(#0000 0%,#77adff26 50%,#0000 100%);height:60px;animation:2s ease-in-out infinite scanMove;position:absolute;left:0;right:0;transform:translateY(-28px)}@keyframes scanMove{0%{top:0}50%{top:calc(100% - 3px)}to{top:0}}.scanner-status{color:#77adff;text-transform:uppercase;letter-spacing:.1em;background:#000c;border:1px solid #77adff66;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.55rem;font-weight:600;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #0006}.scanner-status:before{content:"";background:#77adff;border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.add-food-section .alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.add-food-section .alert-success{color:#6ee7b7;background:#10b98126;border-left:4px solid #10b981}.add-food-section .alert-error{color:#fca5a5;background:#ef444426;border-left:4px solid #ef4444}@media (width<=768px){.add-food-section{margin-bottom:1rem}.add-food-header,.add-food-content{padding:1rem}.upload-area{padding:1.5rem}}@media (width<=480px){.add-food-header h2{font-size:1rem}.form-row{grid-template-columns:1fr}.toggle-label{padding:.75rem}.upload-area{padding:1.25rem}.upload-icon{font-size:2rem}}.templates-section{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:1.5rem}.templates-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.templates-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:500}.add-template-btn{border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff05;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.add-template-btn:hover{border-color:var(--calories-color);color:var(--calories-color);background:#ff77771a}.templates-carousel{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;-webkit-overflow-scrolling:touch;gap:.75rem;padding:.25rem 0;display:flex;overflow-x:auto}.templates-carousel::-webkit-scrollbar{height:4px}.templates-carousel::-webkit-scrollbar-track{background:0 0}.templates-carousel::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.templates-loading{justify-content:center;align-items:center;width:100%;min-height:80px;display:flex}.templates-empty{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;font-size:.875rem;display:flex}.templates-empty.hidden{display:none}.templates-empty-add{border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;transition:all .2s}.templates-empty-add:hover{border-color:var(--calories-color);color:var(--calories-color)}.template-card{border:1px solid var(--border-color);cursor:pointer;background:#ffffff05;border-radius:12px;flex-shrink:0;width:100px;padding:.5rem;transition:all .2s;position:relative}.template-card:hover{background:#ffffff0d;border-color:#f776;transform:translateY(-2px)}.template-card.selected{border-color:var(--calories-color);background:#ff77771a}.template-card-image{aspect-ratio:1;background:var(--bg-tertiary);border-radius:8px;width:100%;margin-bottom:.5rem;overflow:hidden}.template-card-image img{object-fit:cover;width:100%;height:100%}.template-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.75rem;font-weight:500;overflow:hidden}.template-card-macros{color:var(--text-tertiary);justify-content:space-between;font-size:.625rem;display:flex}.template-card-calories{color:var(--calories-color)}.template-card-protein{color:var(--protein-color)}.template-card-delete{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .2s;display:none;position:absolute;top:4px;right:4px}.template-card:hover .template-card-delete{display:flex}.template-card-delete:hover{background:#ef4444cc}.template-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.template-modal-overlay.hidden{display:none}.template-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:400px;max-height:90vh;animation:.3s ease-out slideInUp;overflow-y:auto}.template-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.template-modal-header h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.template-modal-close{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1.5rem;transition:all .2s;display:flex}.template-modal-close:hover{color:var(--text-primary);background:#ffffff0d}.template-modal-body{padding:1.5rem}.template-upload-area{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:12px;margin-bottom:1rem;padding:1.5rem;transition:all .3s}.template-upload-area:hover{border-color:var(--calories-color);background:#ff77770d}.template-photo-preview{border-radius:12px;max-width:200px;margin-bottom:1rem;margin-left:auto;margin-right:auto;position:relative;overflow:hidden}.template-photo-preview.hidden{display:none}.template-photo-preview img{object-fit:cover;width:100%;height:150px;display:block}.template-modal-body .form-group{margin-bottom:1rem}.template-modal-body label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.template-modal-body input[type=text],.template-modal-body input[type=number]{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;padding:12px 16px;font-family:inherit;font-size:1rem;transition:all .3s}.template-modal-body input:focus{border-color:var(--calories-color);outline:none;box-shadow:0 0 0 3px #ff77771a}.template-modal-body .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.template-modal-body .submit-btn{cursor:pointer;background:var(--calories-gradient);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:14px;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.template-modal-body .submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #ff77774d}.template-modal-body .submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.required-asterisk{color:var(--calories-color)}.hidden-input{display:none}.hidden{display:none!important}@media (width<=768px){.template-card{width:90px}.template-card-name{font-size:.7rem}.template-card-macros{font-size:.6rem}}@media (width<=480px){.template-card{width:80px}.template-modal-body .form-row{grid-template-columns:1fr}}body{background:var(--bg-primary);min-height:100vh;padding:0;display:block}body.has-nav{padding-top:64px}@media (width<=767px){body.has-nav{padding-top:0;padding-bottom:72px}}.profiles-page{max-width:900px;margin:0 auto;padding:16px 24px 100px}@media (width>=768px){.profiles-page{padding:24px 40px}}@media (width>=1200px){.profiles-page{max-width:1100px;padding:32px 48px}}.page-header{margin-bottom:16px;padding:20px 0}.page-header h1{color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:700}.page-header p{color:var(--text-secondary);font-size:14px}@media (width>=768px){.page-header h1{font-size:28px}.page-header p{font-size:15px}}@media (width>=1200px){.page-header h1{font-size:32px}.page-header p{font-size:16px}}.accordion-list{flex-direction:column;gap:12px;display:flex}.accordion-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;transition:border-color .2s;overflow:hidden}.accordion-item.expanded{border-color:var(--primary-color)}.accordion-header{cursor:pointer;justify-content:space-between;align-items:center;padding:16px;transition:background .2s;display:flex}.accordion-header:hover{background:var(--bg-card-hover)}.accordion-header-info{flex:1}.accordion-period{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;text-transform:uppercase;border-radius:12px;margin-bottom:8px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.accordion-dates{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}@media (width>=768px){.accordion-header{padding:20px}.accordion-period{padding:5px 12px;font-size:12px}.accordion-dates{font-size:14px}}@media (width>=1200px){.accordion-header{padding:24px}.accordion-period{padding:6px 14px;font-size:13px}.accordion-dates{font-size:15px}}.accordion-arrow{color:var(--text-secondary);margin-left:12px;font-size:18px;transition:transform .3s,color .3s}.accordion-item.expanded .accordion-arrow{color:var(--primary-color);transform:rotate(180deg)}.accordion-content{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:none}.accordion-item.expanded .accordion-content{display:block}.accordion-inner{padding:16px}.goal-text{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;margin-bottom:20px;padding:12px;font-size:14px;line-height:1.6}.goal-text h1,.goal-text h2,.goal-text h3,.goal-text h4{color:var(--text-primary);margin-top:16px;margin-bottom:8px}.goal-text h1:first-child,.goal-text h2:first-child,.goal-text h3:first-child,.goal-text h4:first-child{margin-top:0}.goal-text h1{font-size:18px}.goal-text h2{font-size:16px}.goal-text h3{font-size:15px}.goal-text h4{font-size:14px}@media (width>=768px){.goal-text{padding:16px;font-size:15px}.goal-text h1{font-size:20px}.goal-text h2{font-size:18px}.goal-text h3{font-size:16px}.goal-text h4{font-size:15px}}@media (width>=1200px){.goal-text{padding:20px;font-size:16px}.goal-text h1{font-size:22px}.goal-text h2{font-size:20px}.goal-text h3{font-size:18px}.goal-text h4{font-size:16px}}.goal-text p{margin-bottom:10px}.goal-text p:last-child{margin-bottom:0}.goal-text ul,.goal-text ol{margin:10px 0;padding-left:20px}.goal-text li{margin-bottom:4px}.goal-text strong{color:var(--text-primary);font-weight:600}.goal-text em{font-style:italic}.goal-text code{background:var(--bg-input);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:13px}.goal-text a{color:var(--primary-color);text-decoration:none}.goal-text a:hover{text-decoration:underline}.goal-text table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px;display:block;overflow-x:auto}@media (width>=768px){.goal-text table{font-size:14px;display:table}}.goal-text thead{background:var(--bg-input)}.goal-text th,.goal-text td{text-align:left;border:1px solid var(--border-color);padding:8px 12px}.goal-text th{color:var(--text-primary);white-space:nowrap;font-weight:600}.goal-text td{color:var(--text-secondary)}.goal-text tbody tr:nth-child(2n){background:var(--bg-input)}.goal-text tbody tr:hover{background:#ff6b350d}.photos-row{margin-bottom:20px;transition:all .2s}.photos-row.selecting{background:#ff6b351a;border-radius:10px;margin:-10px -10px 10px;padding:10px}.photos-row-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.photos-row-header h4{color:var(--text-primary);font-size:14px;font-weight:600}.add-photo-btn{border:1px dashed var(--border-light);color:var(--primary-color);cursor:pointer;background:0 0;border-radius:14px;padding:6px 12px;font-size:12px;transition:all .2s}.add-photo-btn:hover{border-color:var(--primary-color);background:#ff6b351a}@media (width>=768px){.photos-row{margin-bottom:24px}.photos-row-header h4{font-size:16px}.add-photo-btn{padding:8px 16px;font-size:13px}}@media (width>=1200px){.photos-row{margin-bottom:28px}.photos-row-header h4{font-size:17px}.add-photo-btn{padding:10px 18px;font-size:14px}}.photos-scroll{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.photos-scroll::-webkit-scrollbar{height:6px}.photos-scroll::-webkit-scrollbar-track{background:var(--bg-card);border-radius:3px}.photos-scroll::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.photo-thumb{background:var(--bg-card);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-shrink:0;width:90px;height:90px;transition:all .2s;position:relative;overflow:hidden}@media (width>=768px){.photo-thumb{border-radius:12px;width:140px;height:140px}}@media (width>=1200px){.photo-thumb{border-radius:14px;width:220px;height:220px}}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb:hover{border-color:var(--primary-color);transform:scale(1.05)}.photo-thumb.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b354d}.photo-thumb.selected:after{content:"✓";background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.no-photos-inline{text-align:center;background:var(--bg-card);border:2px dashed var(--border-light);border-radius:10px;padding:24px}.no-photos-inline p{color:var(--text-muted);font-size:13px}.compare-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-top:20px;padding:16px}.compare-section h4{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.compare-slots{justify-content:center;align-items:center;gap:12px;display:flex}.compare-slot{flex:1;max-width:110px}@media (width>=768px){.compare-slot{max-width:180px}}@media (width>=1200px){.compare-slot{max-width:220px}}.compare-slot-label{color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:500}.compare-slot-box{aspect-ratio:1;background:var(--bg-input);border:2px dashed var(--border-light);color:var(--text-muted);text-align:center;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:8px;font-size:11px;transition:all .2s;display:flex;overflow:hidden}.compare-slot-box.active{border-color:var(--primary-color);background:#ff6b351a;border-style:solid}.compare-slot-box.filled{border-style:solid;border-color:var(--primary-color);padding:0}.compare-slot-box img{object-fit:cover;border-radius:10px;width:100%;height:100%}.compare-slot-box:hover:not(.filled){border-color:var(--primary-color)}.compare-vs{color:var(--text-muted);font-size:14px;font-weight:700}.compare-btn{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.compare-btn:hover:not(:disabled){box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.compare-btn:disabled{background:var(--bg-input);color:var(--text-muted);cursor:not-allowed}.lightbox{z-index:10000;opacity:0;background:#000000f2;width:100%;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.lightbox.active{opacity:1;justify-content:center;align-items:center;display:flex}.lightbox-content{justify-content:center;align-items:center;max-width:90%;max-height:90%;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:90vh;box-shadow:0 20px 60px #000c}.lightbox-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10001;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{border-color:var(--primary-color);background:#ff6b35cc;transform:rotate(90deg)}.lightbox-nav{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10001;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{border-color:var(--primary-color);background:#ff6b35cc;transform:translateY(-50%)scale(1.1)}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-counter{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:20px;padding:10px 20px;font-size:.9rem;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.lightbox-section-label{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:8px 20px;font-size:12px;font-weight:600;position:absolute;top:20px;left:50%;transform:translate(-50%)}.comparison-view{background:var(--bg-primary);z-index:10000;flex-direction:column;display:none;position:fixed;inset:0}.comparison-view.active{display:flex}.comparison-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px;display:flex}.comparison-header h2{color:var(--text-primary);font-size:18px;font-weight:600}.comparison-close{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:28px;line-height:1}.comparison-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow:hidden}@media (width>=768px){.comparison-body{flex-direction:row;gap:24px;padding:24px}}.comparison-image-container{flex-direction:column;flex:1;min-height:0;display:flex}.comparison-image-label{color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:12px;font-weight:600}@media (width>=768px){.comparison-image-label{margin-bottom:12px;font-size:14px}}.comparison-image-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}@media (width>=768px){.comparison-image-wrapper{border-radius:16px}}.comparison-image-wrapper img{object-fit:contain;max-width:100%;max-height:100%}.empty-state-page{text-align:center;padding:60px 20px}.empty-state-page .empty-icon{margin-bottom:16px;font-size:64px}.empty-state-page h2{color:var(--text-primary);margin-bottom:8px;font-size:20px}.empty-state-page p{color:var(--text-secondary);font-size:14px}.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal.active{display:flex}.modal-content{background:var(--bg-card);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-hover);border:1px solid var(--border-color);border-radius:16px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-title{font-size:20px;font-weight:600}.modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.modal-close:hover{background:#ffffff4d}.modal-body{background:var(--bg-card);padding:24px}.upload-area{border:3px dashed var(--border-light);text-align:center;cursor:pointer;background:var(--bg-secondary);border-radius:12px;margin-bottom:20px;padding:40px 20px;transition:all .3s}.upload-area:hover{border-color:var(--primary-color);background:#ff6b351a}.upload-area.dragover{border-color:var(--primary-color);background:#ff6b3526}.upload-icon{margin-bottom:12px;font-size:48px}.upload-area p{color:var(--text-secondary);font-size:14px}.upload-area .primary-text{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:20px;display:grid}.preview-item{aspect-ratio:1;border:1px solid var(--border-color);border-radius:8px;position:relative;overflow:hidden}.preview-item img{object-fit:cover;width:100%;height:100%}.preview-item .remove-btn{cursor:pointer;width:24px;height:24px;color:var(--error-color);background:#000c;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.preview-item .remove-btn:hover{background:var(--error-color);color:#fff}.submit-btn{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.submit-btn:hover:not(:disabled){box-shadow:0 6px 25px var(--primary-glow);transform:translateY(-2px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-success{color:#6ee7b7;border-left:4px solid var(--success-color);background:#10b98126}.alert-error{color:#fca5a5;border-left:4px solid var(--error-color);background:#ef444426}@media (width<=640px){.modal-content{border-radius:0;max-height:100vh;margin:0}}body.progress-page{background:var(--bg-primary);min-height:100vh;padding:20px;display:block}body.progress-page.has-nav{padding-top:84px}@media (width<=767px){body.progress-page.has-nav{padding-top:20px;padding-bottom:92px}}.progress-container{max-width:1400px;margin:0 auto}.progress-header{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);border-radius:16px;margin-bottom:30px;padding:30px}.progress-header h1{color:var(--text-primary);margin-bottom:20px;font-size:32px;font-weight:700}.filter-container{margin-top:20px}.filter-input{border:2px solid var(--border-color);background:var(--bg-input);width:100%;max-width:500px;color:var(--text-primary);border-radius:12px;padding:14px 20px;font-size:16px;transition:all .3s}.filter-input::placeholder{color:var(--text-muted)}.filter-input:focus{border-color:var(--primary-color);background:var(--bg-secondary);box-shadow:0 0 0 4px var(--primary-glow);outline:none}.charts-grid{grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:24px;display:grid}.chart-card{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:all .3s}.chart-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-light);transform:translateY(-4px)}.chart-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.chart-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.data-points-badge{color:var(--primary-color);background:#ff6b3526;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.progress-chart-wrapper{height:300px;position:relative}.progress-empty-state{background:var(--bg-card);text-align:center;box-shadow:var(--shadow);border:2px dashed var(--border-light);border-radius:16px;padding:80px 30px}.progress-empty-state-icon{opacity:.5;margin-bottom:20px;font-size:72px}.progress-empty-state h2{color:var(--text-primary);margin-bottom:10px;font-size:24px;font-weight:700}.progress-empty-state p{color:var(--text-secondary);font-size:16px}@media (width<=768px){body.progress-page{padding:10px}.charts-grid{grid-template-columns:1fr}.progress-header{padding:20px}.progress-header h1{font-size:24px}.filter-input{max-width:100%}.progress-chart-wrapper{height:250px}.chart-card{padding:16px}.chart-header h3{font-size:16px}.progress-empty-state{padding:60px 20px}.progress-empty-state-icon{font-size:56px}.progress-empty-state h2{font-size:20px}.progress-empty-state p{font-size:14px}}@media (width<=480px){.progress-header h1{font-size:20px}.progress-chart-wrapper{height:220px}.chart-header{flex-direction:column;align-items:flex-start;gap:8px}.data-points-badge{align-self:flex-start}}body.workout-page{background:var(--bg-primary);min-height:100vh;padding:20px;display:block}body.workout-page.has-nav{padding-top:84px;padding-bottom:20px}.workout-container{max-width:800px;margin:0 auto}.workout-header{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);border-radius:16px;margin-bottom:20px;padding:24px}.workout-title{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:700}.date-navigation{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.date-nav-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.date-nav-btn:hover{background:var(--bg-elevated);border-color:var(--primary-color);transform:translateY(-1px)}.date-display{color:var(--text-primary);text-align:center;flex:1;font-size:14px;font-weight:600}.delete-workout-btn{width:100%;color:var(--error-color);border:2px solid var(--error-color);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#ef444426;border-radius:12px;margin-bottom:12px;padding:12px;font-size:16px;font-weight:600;transition:all .2s}.delete-workout-btn:hover{background:var(--error-color);color:#fff;transform:translateY(-2px)}.read-only-badge{color:var(--warning-color);background:#f59e0b33;border-radius:12px;margin-left:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.exercise-card{background:var(--bg-card);box-shadow:var(--shadow);border:1px solid var(--border-color);border-radius:16px;margin-bottom:16px;padding:20px;position:relative}.exercise-header{border-bottom:2px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;transition:all .2s;display:flex}.exercise-header:hover{background:var(--bg-secondary);border-radius:8px;margin:0 -12px 16px;padding:8px 12px 12px}.exercise-card.collapsed .exercise-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.exercise-card.collapsed .exercise-header:hover{padding-bottom:12px}.exercise-name-wrapper{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.collapse-icon{color:var(--text-secondary);flex-shrink:0;font-size:16px;transition:transform .1s}.exercise-card.collapsed .collapse-icon{transform:rotate(-90deg)}.exercise-name{color:var(--text-primary);word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:18px;font-weight:600}a.library-link.icon-btn{color:var(--text-primary);text-decoration:none}a.library-link.icon-btn:hover{background:#6366f133;border-color:#6366f1}.exercise-controls{flex-shrink:0;gap:8px;display:flex}.icon-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.icon-btn:hover{background:var(--bg-elevated);border-color:var(--border-light);transform:scale(1.05)}.icon-btn.delete{color:var(--error-color)}.icon-btn.delete:hover{border-color:var(--error-color);background:#ef444426}.set-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:12px;overflow:hidden}.set-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px;transition:background .2s;display:flex}.set-header:hover{background:var(--bg-elevated)}.set-collapse-icon{color:var(--text-secondary);flex-shrink:0;font-size:12px;transition:transform .15s}.set-row.collapsed .set-collapse-icon{transform:rotate(-90deg)}.set-header .set-label{color:var(--text-secondary);flex-shrink:0;font-size:14px;font-weight:600}.set-summary{color:var(--text-primary);flex:1;align-items:center;gap:4px;font-size:14px;display:flex}.set-summary-weight{color:var(--primary-color);font-weight:600}.set-summary-sep{color:var(--text-muted)}.set-summary-reps{font-weight:500}.set-summary-effort{margin-left:6px}.set-row.collapsed .set-summary{display:flex}.set-row:not(.collapsed) .set-summary{display:none}.set-header .remove-set-btn{flex-shrink:0;margin-left:auto}.set-content{opacity:1;grid-template-columns:1fr 1fr 1fr;gap:12px;max-height:500px;padding:10px 12px 12px;transition:max-height .3s,padding .3s,opacity .2s;display:grid;overflow:hidden}.set-row.collapsed .set-content{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.comment-input{grid-column:1/-1;margin-top:8px}.input-group textarea{border:2px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);resize:vertical;border-radius:8px;width:100%;min-height:34px;padding:8px 10px;font-family:inherit;font-size:13px;transition:all .2s}.input-group textarea::placeholder{color:var(--text-muted)}.input-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.remove-set-btn{border:1px solid var(--error-color);cursor:pointer;width:36px;height:36px;color:var(--error-color);background:#ef444426;border-radius:6px;justify-content:center;align-self:flex-end;align-items:center;font-size:18px;transition:all .2s;display:flex}.remove-set-btn:hover:not(:disabled){background:var(--error-color);color:#fff;transform:scale(1.05)}.remove-set-btn:disabled{opacity:.3;cursor:not-allowed}.exercise-content{opacity:1;max-height:5000px;transition:max-height .4s,opacity .3s;overflow:hidden}.exercise-card.collapsed .exercise-content{opacity:0;max-height:0}.add-set-btn{background:var(--bg-secondary);border:2px dashed var(--border-light);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:8px;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:all .2s}.add-set-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#ff6b351a}.set-label{color:var(--text-secondary);font-size:14px;font-weight:600}.input-group{flex-direction:column;gap:4px;display:flex}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:500}.input-group input,.input-group select{border:2px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);border-radius:8px;padding:8px 10px;font-size:14px;transition:all .2s}.input-group input::placeholder{color:var(--text-muted)}.input-group select{cursor:pointer}.input-group select option{background:var(--bg-card);color:var(--text-primary)}.input-group input:focus,.input-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-group input[type=number]{-moz-appearance:textfield}.input-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.save-btn{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);color:#fff;cursor:pointer;width:100%;box-shadow:0 6px 25px var(--primary-glow);text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:12px;padding:16px;font-size:18px;font-weight:600;transition:all .2s;bottom:20px}.save-btn:hover{box-shadow:0 8px 35px var(--primary-glow), var(--shadow-glow);transform:translateY(-2px)}.save-btn:active{transform:translateY(0)}@media (width<=767px){body.workout-page{padding:24px}body.workout-page.has-nav{padding-top:20px;padding-bottom:92px}.workout-header{border-radius:12px;padding:20px}.workout-title{font-size:24px}.exercise-card{border-radius:12px;padding:16px}.exercise-name{font-size:16px}.exercise-header:hover{margin:0 -8px 16px;padding:8px 8px 12px}.exercise-card.collapsed .exercise-header:hover{margin:0 -8px;padding:8px}.set-header{padding:10px 12px}.set-header .set-label,.set-summary{font-size:13px}.set-content{grid-template-columns:1fr;gap:8px;padding:10px 12px 12px}.set-content .comment-input{grid-column:1}.set-header .remove-set-btn{width:32px;height:32px}.input-group label{font-size:10px}.save-btn{box-shadow:0 -4px 20px #00000026, 0 6px 25px var(--primary-glow);border-radius:12px;margin:0;padding:14px;font-size:16px}.save-btn:hover{transform:none}.add-set-btn{padding:8px;font-size:13px}.collapsible-section{border-radius:12px}.section-header{padding:14px 16px}.section-title{font-size:15px}.section-content{padding:4px 10px 10px}.collapsible-section.collapsed .section-content{padding:0 10px}.filter-pills{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.filter-pill{flex-shrink:0;padding:6px 12px;font-size:12px}.exercise-picker-item{padding:12px 14px}.picker-item-name{font-size:14px}.muscle-badge{padding:2px 8px;font-size:10px}.subgroup-pill{font-size:9px}.picker-item-meta{flex-direction:column;align-items:flex-start;gap:8px}.weight-trend{font-size:12px}.weight-trend .current{font-size:13px}.last-workout-info{font-size:12px}.add-indicator{opacity:1}}.empty-state{background:var(--bg-card);text-align:center;box-shadow:var(--shadow);border:1px solid var(--border-color);border-radius:16px;padding:60px 30px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:64px}.empty-state h2{color:var(--text-primary);margin-bottom:8px;font-size:20px}.empty-state p{color:var(--text-secondary);font-size:14px}.collapsible-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;margin-bottom:16px;overflow:hidden}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;margin-bottom:0;padding:16px 20px;transition:background .2s;display:flex}.section-header:hover{background:var(--bg-secondary)}.section-title{color:var(--text-primary);align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.section-icon{color:var(--text-secondary);font-size:12px;transition:transform .2s}.collapsible-section.collapsed .section-icon{transform:rotate(-90deg)}.section-content{opacity:1;padding:4px 12px 12px;transition:max-height .4s,opacity .3s,padding .3s}.collapsible-section.collapsed .section-content{opacity:0;max-height:0;padding:0 12px}#exercisesContainer .exercise-card{margin-left:0;margin-right:0}.exercise-count-badge{background:var(--primary-color);color:#fff;text-align:center;border-radius:12px;justify-content:center;align-items:center;min-width:24px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.empty-state-inline{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-state-inline .empty-state-icon{opacity:.5;margin-bottom:12px;font-size:48px}.empty-state-inline p{color:var(--text-secondary);font-size:14px}.picker-controls{margin-bottom:16px}.search-box{margin-bottom:12px;position:relative}.search-box input{background:var(--bg-input);border:2px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:12px;padding:12px 16px;font-size:15px;transition:all .2s}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.filter-pills{flex-wrap:wrap;gap:8px;display:flex}.filter-pill{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:13px;transition:all .2s}.filter-pill:hover{border-color:var(--primary-color);color:var(--text-primary)}.filter-pill.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.exercise-picker-list{flex-direction:column;gap:10px;display:flex}.exercise-picker-item{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:14px 16px;transition:all .2s}.exercise-picker-item:hover{border-color:var(--primary-color);background:var(--bg-card-hover);transform:translate(4px)}.picker-item-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.picker-item-info{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.picker-item-name{color:var(--text-primary);flex-basis:100%;font-size:15px;font-weight:600}.muscle-badge{color:var(--secondary-color);text-transform:uppercase;background:#6366f133;border-radius:12px;width:fit-content;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.type-badge{text-transform:uppercase;border-radius:8px;width:fit-content;padding:4px 10px;font-size:10px;font-weight:600;display:inline-block}.type-badge.compound{color:#10b981;background:linear-gradient(135deg,#10b98133,#05966940);border:1px solid #10b9814d}.type-badge.isolation{color:#ef4444;background:linear-gradient(135deg,#ef444426,#dc262633);border:1px solid #ef444440}.add-indicator{color:var(--success-color);opacity:0;font-size:18px;transition:opacity .2s}.exercise-picker-item:hover .add-indicator{opacity:1}.subgroup-pills{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.subgroup-pill{color:var(--primary-color);background:#ff6b3526;border-radius:8px;padding:2px 8px;font-size:10px;font-weight:500}.picker-item-meta{align-items:center;gap:16px;display:flex}.weight-trend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.weight-trend .weight{color:var(--text-primary);font-weight:500}.weight-trend .arrow{color:var(--success-color);font-size:10px}.weight-trend .current{color:var(--primary-color);font-size:14px;font-weight:700}.last-workout-info{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.last-workout-info.empty{color:var(--text-muted);font-style:italic}.last-workout-info strong{color:var(--text-primary)}.last-workout-info .separator{color:var(--text-muted)}.picker-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.picker-empty p{font-size:14px}.slide-panel-overlay{z-index:100;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;transition:all .3s;position:fixed;inset:0}.slide-panel-overlay.active{opacity:1;visibility:visible}.slide-panel{background:var(--bg-card);border-left:1px solid var(--border-color);z-index:101;flex-direction:column;width:420px;max-width:100%;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #0000004d}.slide-panel.active{transform:translate(0)}.panel-drag-handle{display:none}.panel-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px;display:flex}.panel-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:12px;font-size:18px;font-weight:700;overflow:hidden}.panel-close{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.panel-close:hover{background:var(--error-color);border-color:var(--error-color);color:#fff}.panel-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;display:flex}.panel-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px;font-size:14px;font-weight:500;transition:all .2s}.panel-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.panel-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.panel-tab.hidden{display:none}.panel-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.panel-tab-content{padding:20px;display:none}.panel-tab-content.active{display:block}.panel-loading{text-align:center;color:var(--text-muted);padding:40px 20px}.technique-text{color:var(--text-secondary);font-size:14px;line-height:1.7}.technique-text h1,.technique-text h2,.technique-text h3{color:var(--text-primary);margin:20px 0 10px}.technique-text h1:first-child,.technique-text h2:first-child,.technique-text h3:first-child{margin-top:0}.technique-text h1{font-size:20px}.technique-text h2{font-size:18px}.technique-text h3{font-size:16px}.technique-text p{margin-bottom:12px}.technique-text ul,.technique-text ol{margin-bottom:12px;margin-left:20px}.technique-text li{margin-bottom:6px}.technique-text strong{color:var(--text-primary)}.technique-text code{background:var(--bg-secondary);border-radius:4px;padding:2px 6px;font-size:13px}.technique-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.video-grid{grid-template-columns:1fr;gap:12px;display:grid}.video-card{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;transition:all .2s;overflow:hidden}.video-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.video-thumbnail{aspect-ratio:16/9;background:var(--bg-elevated);justify-content:center;align-items:center;display:flex;position:relative}.video-thumbnail:after{content:"▶";color:#fff;background:#ff6b35e6;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:32px;transition:transform .2s;display:flex}.video-card:hover .video-thumbnail:after{transform:scale(1.1)}.video-name{color:var(--text-secondary);border-top:1px solid var(--border-color);padding:12px;font-size:13px}.videos-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.links-list{flex-direction:column;gap:12px;display:flex}.link-card{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;padding:16px;text-decoration:none;transition:all .2s;display:flex}.link-card:hover{border-color:var(--primary-color);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.link-icon{flex-shrink:0;font-size:24px}.link-title{flex:1;font-size:15px;font-weight:500;line-height:1.4}.link-external-icon{color:var(--text-muted);flex-shrink:0;font-size:16px}.link-card:hover .link-external-icon{color:var(--primary-color)}.links-empty{text-align:center;color:var(--text-muted);padding:40px 20px}.video-modal-overlay{z-index:200;opacity:0;visibility:hidden;background:#000000e6;justify-content:center;align-items:center;padding:20px;transition:all .3s;display:flex;position:fixed;inset:0}.video-modal-overlay.active{opacity:1;visibility:visible}.video-modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;transition:transform .3s;display:flex;overflow:hidden;transform:scale(.9)}.video-modal-overlay.active .video-modal-content{transform:scale(1)}.video-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.video-modal-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:12px;font-size:16px;font-weight:600;overflow:hidden}.video-modal-close{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.video-modal-close:hover{background:var(--error-color);border-color:var(--error-color);color:#fff}.video-modal-content video{background:#000;width:100%;max-height:calc(90vh - 60px)}.icon-btn.info-btn{background:var(--bg-secondary);border-color:var(--border-color)}.icon-btn.info-btn:hover{background:var(--bg-elevated);border-color:var(--border-light)}@media (width<=767px){.slide-panel{border-left:none;border-top:1px solid var(--border-color);border-radius:20px 20px 0 0;width:100%;max-height:85vh;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -10px 40px #0000004d}.slide-panel.active{transform:translateY(0)}.panel-drag-handle{background:var(--border-light);border-radius:2px;width:40px;height:4px;margin:10px auto 0;display:block}.panel-header{padding:16px 20px}.panel-title{font-size:16px}.panel-tab{padding:12px;font-size:13px}.panel-tab-content{padding:16px 16px 100px}.video-modal-content{border-radius:0;max-width:100%;max-height:100vh}.video-modal-header{padding:12px 16px}}.move-workout-btn{width:100%;color:var(--secondary-color);border:2px solid var(--secondary-color);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#6366f126;border-radius:12px;margin-bottom:12px;padding:12px;font-size:16px;font-weight:600;transition:all .2s}.move-workout-btn:hover{background:var(--secondary-color);color:#fff;transform:translateY(-2px)}.move-modal-overlay{z-index:200;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:20px;transition:all .3s;display:flex;position:fixed;inset:0}.move-modal-overlay.active{opacity:1;visibility:visible}.move-modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:400px;transition:transform .3s;overflow:hidden;transform:scale(.9)translateY(20px);box-shadow:0 20px 60px #0006}.move-modal-overlay.active .move-modal-content{transform:scale(1)translateY(0)}.move-modal-header{background:linear-gradient(135deg, var(--secondary-color) 0%, #4f46e5 100%);color:#fff;justify-content:space-between;align-items:center;padding:20px;display:flex}.move-modal-title{font-size:18px;font-weight:600}.move-modal-close{cursor:pointer;color:#fff;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.move-modal-close:hover{background:#ffffff4d}.move-modal-body{padding:20px}.calendar-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-nav-btn{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.calendar-nav-btn:hover{background:var(--bg-card);border-color:var(--secondary-color);color:var(--secondary-color)}.calendar-month-year{color:var(--text-primary);text-transform:capitalize;font-size:16px;font-weight:600}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.calendar-weekdays span{text-align:center;color:var(--text-muted);text-transform:uppercase;padding:8px 0;font-size:12px;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-primary);background:0 0;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.calendar-day:hover:not(.disabled):not(.current):not(.selected){background:var(--bg-elevated);border-color:var(--border-light)}.calendar-day.other-month{color:var(--text-muted);opacity:.5}.calendar-day.today{color:var(--primary-color);background:#ff6b3526;font-weight:700}.calendar-day.current{background:var(--primary-color);color:#fff;cursor:not-allowed;font-weight:700}.calendar-day.current:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.has-workout{color:var(--error-color);cursor:not-allowed;background:#ef444426}.calendar-day.has-workout:after{content:"";background:var(--error-color);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.selected{background:var(--secondary-color);color:#fff;border-color:var(--secondary-color);font-weight:700;box-shadow:0 4px 12px #6366f14d}.calendar-day.disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed}.calendar-day.available:hover{border-color:var(--secondary-color);color:var(--secondary-color);background:#6366f126}.calendar-days.loading{opacity:.5;pointer-events:none}.move-date-status{text-align:center;border-radius:8px;margin-top:16px;padding:12px;font-size:13px;font-weight:500;display:none}.move-date-status.available{color:var(--success-color);background:#10b98126;border:1px solid #10b9814d;display:block}.move-date-status.unavailable{color:var(--error-color);background:#ef444426;border:1px solid #ef44444d;display:block}.move-date-status.checking{color:var(--warning-color);background:#f59e0b26;border:1px solid #f59e0b4d;display:block}.move-date-status.same-date{color:var(--text-muted);background:#9ca3af26;border:1px solid #9ca3af4d;display:block}.move-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);gap:12px;padding:16px 20px;display:flex}.move-modal-btn{cursor:pointer;border-radius:10px;flex:1;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.move-modal-btn.secondary{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary)}.move-modal-btn.secondary:hover{background:var(--bg-card);border-color:var(--border-light);color:var(--text-primary)}.move-modal-btn.primary{background:linear-gradient(135deg, var(--secondary-color) 0%, #4f46e5 100%);color:#fff;border:none}.move-modal-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.move-modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}@media (width<=767px){.move-modal-content{max-width:100%;margin:0 10px}.move-modal-header{padding:16px}.move-modal-title{font-size:16px}.move-modal-body{padding:16px}.calendar-container{padding:12px}.calendar-nav-btn{width:32px;height:32px;font-size:18px}.calendar-month-year{font-size:15px}.calendar-weekdays span{padding:6px 0;font-size:11px}.calendar-day{border-radius:8px;font-size:13px}.move-modal-footer{padding:12px 16px}.move-modal-btn{padding:12px;font-size:14px}}
