:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root,[data-theme=light]{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-hover: #f0f2f5;--bg-input: #f5f7fa;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--accent-primary: #02530a;--accent-primary-hover: #014107;--accent-secondary: #8b5cf6;--accent-success: #10b981;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-info: #3b82f6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(99, 102, 241, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--navbar-bg: rgba(255, 255, 255, .85);--navbar-blur: blur(12px);--timer-bg: conic-gradient(from 0deg, #6366f1, #8b5cf6, #a78bfa, #6366f1);--timer-track: #e5e7eb}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #1e293b;--bg-hover: #334155;--bg-input: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--accent-primary: #028b10;--accent-primary-hover: #02580a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(129, 140, 248, .2);--navbar-bg: rgba(30, 41, 59, .9);--timer-track: #334155}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color .3s ease,color .3s ease}a{text-decoration:none;color:inherit}.app{min-height:100vh}.main-content{padding-top:80px;padding-bottom:40px;min-height:calc(100vh - 80px)}.page{max-width:1200px;margin:0 auto;padding:24px 20px}.page-title{font-size:2rem;font-weight:800;margin-bottom:8px;letter-spacing:-.02em}.page-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:32px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--navbar-bg);backdrop-filter:var(--navbar-blur);-webkit-backdrop-filter:var(--navbar-blur);border-bottom:1px solid var(--border-color);padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between;transition:background .3s ease}.navbar-brand{display:flex;align-items:center;gap:16px;height:100%}.navbar-logo{height:100%}.logo-image{width:90px;height:100%;margin:2px 0}.navbar-links{display:flex;align-items:center;gap:4px}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--accent-primary);color:#fff}.theme-toggle{background:none;border:2px solid var(--border-color);padding:8px;border-radius:50%;cursor:pointer;font-size:1.2rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:12px}.theme-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.mobile-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-sm);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card-link{align-items:center;gap:16px;flex:1}.card-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:40px}.stat-card{display:flex;align-items:center;gap:16px;padding:24px}.stat-icon{font-size:2rem;color:var(--accent-primary);flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:2rem;font-weight:800;line-height:1}.stat-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.user-card{display:flex;flex-direction:row;gap:16px}.user-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));display:flex;align-items:center;justify-content:center}.user-avatar.large{width:100px;height:100px}.user-avatar.small{width:36px;height:36px}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{color:#fff;font-size:1.4rem;font-weight:700}.avatar-placeholder.large{font-size:2.5rem}.avatar-placeholder.small{font-size:.9rem}.user-info h3{font-size:1.1rem;font-weight:600}.user-nickname{color:var(--text-secondary);font-style:italic;font-size:.9rem}.user-rank{font-size:1.5rem;font-weight:800;color:var(--accent-primary);margin-right:8px}.user-records-count{color:var(--text-muted);font-size:.85rem}.user-detail-header{display:flex;align-items:center;gap:24px;margin-bottom:32px;margin-top:16px}.user-stats{display:flex;gap:20px;margin-top:8px;color:var(--text-secondary)}.exercise-card{display:flex;flex-direction:column}.exercise-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px}.exercise-icon{font-size:1.5rem}.exercise-icon.large{font-size:2rem}.exercise-desc{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.exercise-categories h4{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.exercise-categories ul{list-style:none}.exercise-categories li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color);font-size:.9rem}.exercise-categories li:last-child{border-bottom:none}.cat-type{color:var(--text-muted);font-size:.8rem}.record-card{text-align:center;padding:12px}.record-exercise{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;font-weight:600}.record-category{color:var(--text-secondary);font-size:.8rem;margin-bottom:6px;font-weight:900}.record-value{font-size:1.5rem;font-weight:800;color:var(--accent-primary);margin-bottom:4px}.record-user{color:var(--text-secondary);font-size:.9rem}.record-date{color:var(--text-muted);font-size:.8rem;margin-top:8px}.record-badge{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:20px;border-radius:var(--radius-lg);text-align:center;margin-bottom:24px;box-shadow:0 0 30px #f59e0b66}.record-icon{font-size:2.5rem;display:block;margin-bottom:8px}.record-text{font-size:1.5rem;font-weight:800;display:block}.record-improvement{font-size:1.1rem;display:block;margin-top:8px;opacity:.9}.animate-record{animation:recordPulse 1s ease-in-out 3}@keyframes recordPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.btn-warning{background:var(--accent-warning);color:#fff}.btn-danger{color:var(--accent-danger)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-full{width:100%;justify-content:center;padding:14px;font-size:1rem}.btn-circle{width:56px;height:56px;border-radius:50%;padding:0;justify-content:center;font-size:1.3rem}.btn-icon{background:none;border:none;padding:8px;border-radius:50%;cursor:pointer;color:var(--text-secondary);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.btn-danger:hover{background:#ef44441a;color:var(--accent-danger)}.btn-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:6px 0;background:none;border:none;cursor:pointer}.btn-back:hover{color:var(--accent-primary)}.form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px;flex:1}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f126}.form-group input:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid{display:grid;gap:16px}.form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four-cols{grid-template-columns:repeat(4,minmax(0,1fr))}.form-card{margin-bottom:32px}.profile-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.profile-tabs{padding:8px;display:flex;flex-direction:column;gap:6px}.profile-tab{width:100%;text-align:left;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);padding:12px 14px;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s ease}.profile-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-tab.active{background:var(--accent-primary);color:#fff}.profile-content{margin-bottom:0}.period-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width: 900px){.profile-layout{grid-template-columns:1fr}}.chart-wrapper{width:100%;min-height:280px}.icon-picker{display:flex;gap:8px;flex-wrap:wrap}.icon-option{width:44px;height:44px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--bg-input);transition:all .2s ease}.icon-option.selected{border-color:var(--accent-primary);background:#6366f11a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.2rem;font-weight:700}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:4px}.modal-body{padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.results-table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-color)}.results-table{width:100%;border-collapse:collapse;font-size:.9rem}.results-table th,.results-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.results-table th{background:var(--bg-hover);font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.results-table tr:last-child td{border-bottom:none}.results-table tr:hover{background:var(--bg-hover)}.record-row{background:#f59e0b0d!important}.value-cell{font-weight:700;color:var(--accent-primary)}.input-mode-toggle{display:flex;gap:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color)}.mode-btn{flex:1;padding:10px 16px;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.mode-btn.active{background:var(--accent-primary);color:#fff}.mode-btn:hover:not(.active){background:var(--bg-hover)}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.sets-builder{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;border:1px solid var(--border-color)}.sets-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sets-label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.set-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;animation:slideUp .2s ease}.set-number{font-weight:700;font-size:.85rem;color:var(--accent-primary);min-width:30px;text-align:center}.set-inputs{display:flex;gap:8px;flex:1}@media (max-width: 580px){.set-inputs{flex-direction:column}}.set-inputs input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.set-inputs input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px rgba(var(--accent-primary-rgb, 59, 130, 246),.2)}.btn-remove-set{color:var(--text-secondary);padding:6px;border-radius:var(--radius-sm);transition:all .15s}.btn-remove-set:hover:not(:disabled){color:#ef4444;background:#ef44441a}.btn-remove-set:disabled{opacity:.3;cursor:not-allowed}.btn-add-set{margin-top:8px;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border:2px dashed var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--accent-primary);cursor:pointer;font-weight:500;font-size:.85rem;transition:all .2s}.btn-add-set:hover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb, 59, 130, 246),.05)}.btn-sets-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:.85rem;font-weight:500;padding:2px 6px;border-radius:var(--radius-sm);transition:background .15s}.btn-sets-toggle:hover,.row-expanded{background:var(--bg-hover)}.sets-detail-row td{padding:0 16px 12px!important;border-bottom:1px solid var(--border-color)}.sets-detail{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.set-badge{display:inline-block;padding:4px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-primary)}.cat-weight-badge{font-size:.85rem;margin-left:4px}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.form-hint{display:block;margin-top:4px;font-size:.78rem;color:var(--text-secondary)}.filter-card{margin-bottom:24px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.leaderboard-section{margin-bottom:32px}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-card{display:flex;align-items:center;gap:16px;padding:16px 20px}.leaderboard-card.rank-1{border:2px solid #f59e0b;background:#f59e0b0d}.leaderboard-card.rank-2{border:2px solid #9ca3af}.leaderboard-card.rank-3{border:2px solid #cd7f32}.rank-badge{font-size:1.5rem;min-width:40px;text-align:center;font-weight:800}.leaderboard-user{display:flex;align-items:center;gap:12px;flex:1}.leaderboard-name{font-weight:600}.leaderboard-value{font-size:1.4rem;font-weight:800;color:var(--accent-primary)}.leaderboard-group{margin-bottom:32px}.leaderboard-group h3{font-size:1.1rem;margin-bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cat-type-badge{font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--bg-hover);padding:4px 10px;border-radius:20px}.timer-page .timer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-top:24px}.timer-card{text-align:center;padding:32px 24px}.timer-card h2{font-size:1.5rem;margin-bottom:4px}.timer-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:24px}.timer-display{position:relative;display:flex;align-items:center;justify-content:center;margin:24px auto}.stopwatch-display{height:120px}.countdown-display{width:200px;height:200px}.time-value{font-size:2.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);z-index:2}.time-finished{color:var(--accent-danger);animation:blink .5s ease infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.timer-svg{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.timer-bg-circle{fill:none;stroke:var(--timer-track);stroke-width:8}.timer-progress-circle{fill:none;stroke:var(--accent-primary);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.timer-controls{display:flex;justify-content:center;gap:16px;margin-top:24px}.timer-presets{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.timer-input-row{display:flex;align-items:flex-end;justify-content:center;gap:12px;margin-bottom:16px}.timer-input-group{display:flex;flex-direction:column;align-items:center;gap:4px}.timer-input-group label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.timer-input-group input{width:70px;text-align:center;padding:8px;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1.2rem;font-weight:700;background:var(--bg-input);color:var(--text-primary)}.timer-colon{font-size:1.5rem;font-weight:700;margin-bottom:8px}.timer-finished{animation:finishedGlow 1s ease-in-out infinite}.timer-finished-message{font-size:1.3rem;font-weight:700;color:var(--accent-danger);margin-top:16px}@keyframes finishedGlow{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 30px #ef44444d}}.animate-pulse{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.alarm-section{margin-top:32px}.alarm-card{padding:32px 28px;transition:box-shadow .3s ease,border-color .3s ease}.alarm-active-card{border:2px solid var(--accent-primary);box-shadow:var(--shadow-glow)}.alarm-ringing{animation:alarmRing .3s ease-in-out 5;border-color:var(--accent-danger)!important;box-shadow:0 0 40px #ef444466!important}@keyframes alarmRing{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.alarm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.alarm-header h2{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:8px}.alarm-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent-success);color:#fff;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.alarm-status-icon{animation:pulse 1.5s ease-in-out infinite}.alarm-setup{display:flex;flex-direction:column;gap:24px}.alarm-quick-section{display:flex;flex-direction:column;gap:10px}.alarm-section-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.alarm-quick-buttons{display:flex;gap:8px;flex-wrap:wrap}.alarm-custom-interval{display:flex;align-items:center;gap:10px;margin-top:6px}.alarm-custom-interval label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.alarm-interval-input{width:80px;padding:8px 12px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:1rem;font-weight:700;text-align:center;font-family:inherit}.alarm-interval-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.alarm-time-row{display:flex;gap:20px;flex-wrap:wrap}.alarm-time-group{flex:1;min-width:180px;display:flex;flex-direction:column;gap:8px}.alarm-time-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.alarm-time-input{padding:12px 14px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font-size:1.1rem;font-weight:600;font-family:inherit;width:100%}.alarm-time-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.alarm-now-btn{align-self:flex-start}.alarm-preview{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-secondary);border-left:3px solid var(--accent-primary)}.alarm-preview svg{flex-shrink:0;color:var(--accent-primary)}.alarm-start-btn{margin-top:8px;padding:16px;font-size:1.05rem}.alarm-running{display:flex;flex-direction:column;gap:24px}.alarm-countdown{text-align:center;padding:32px 20px;background:var(--bg-hover);border-radius:var(--radius-md);transition:all .3s ease}.alarm-countdown-ring{background:#ef44441a}.alarm-countdown-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.alarm-countdown-value{font-size:3.5rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1}.alarm-countdown-ring .alarm-countdown-value{color:var(--accent-danger);animation:pulse .5s ease infinite}.alarm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.alarm-stat{text-align:center;padding:16px 8px;background:var(--bg-hover);border-radius:var(--radius-sm)}.alarm-stat-value{display:block;font-size:1.4rem;font-weight:800;color:var(--accent-primary);margin-bottom:4px}.alarm-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.alarm-log{margin-top:8px}.alarm-log h4{font-size:.95rem;font-weight:600;margin-bottom:10px;color:var(--text-primary)}.alarm-log-list{display:flex;flex-wrap:wrap;gap:6px;max-height:200px;overflow-y:auto}.alarm-log-entry{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-hover);border-radius:20px;font-size:.82rem}.alarm-log-number{font-weight:700;color:var(--accent-primary)}.alarm-log-time{color:var(--text-secondary)}.alarm-done{margin-top:20px}.alarm-done-message{text-align:center;padding:16px;background:#10b9811a;border-radius:var(--radius-sm);color:var(--accent-success);font-weight:600;font-size:1rem;margin-bottom:16px}.alarm-test{text-align:center;margin-top:16px}.btn-danger{background:var(--accent-danger)!important;color:#fff!important}.btn-danger:hover{opacity:.9}@media (max-width: 768px){.alarm-card{padding:20px 16px}.alarm-header{flex-direction:column;gap:10px}.alarm-time-row{flex-direction:column;gap:16px}.alarm-stats{grid-template-columns:repeat(2,1fr)}.alarm-countdown-value{font-size:2.5rem}}.dashboard-section{margin-bottom:40px}.dashboard-section h2{font-size:1.3rem;font-weight:700;margin-bottom:16px}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px;font-size:1.1rem}.empty-state-small{text-align:center;color:var(--text-muted);padding:16px;font-size:.9rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.navbar{padding:0 16px}.mobile-toggle{display:flex;align-items:center}.navbar-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg-card);border-bottom:1px solid var(--border-color);flex-direction:column;padding:16px;box-shadow:var(--shadow-lg)}.navbar-links.open{display:flex}.nav-link{padding:12px 16px;font-size:1rem}.theme-toggle{margin:12px 0 0;align-self:center}.page-title{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.cards-grid,.form-row,.form-row-3,.filter-row,.timer-page .timer-grid{grid-template-columns:1fr}.user-detail-header{flex-direction:column;text-align:center}.user-stats{justify-content:center}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-number{font-size:1.5rem}.time-value{font-size:2rem}.countdown-display{width:160px;height:160px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:#6366f14d;color:var(--text-primary)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.auth-container{width:100%;max-width:440px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px;border:1px solid var(--border-color)}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{font-size:3rem;display:block;margin-bottom:8px}.auth-header h1{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.auth-header p{color:var(--text-secondary);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-row{display:flex;gap:12px}.auth-row .auth-field{flex:1}.auth-field{position:relative;display:flex;align-items:center;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.auth-field:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.auth-field .field-icon{position:absolute;left:14px;color:var(--text-muted);font-size:1.1rem;pointer-events:none;flex-shrink:0}.auth-field input{width:100%;padding:14px 14px 14px 42px;border:none;background:transparent;font-size:.95rem;color:var(--text-primary);outline:none;font-family:inherit}.auth-field input::placeholder{color:var(--text-muted)}.password-toggle{background:none;border:none;cursor:pointer;padding:14px;color:var(--text-muted);display:flex;align-items:center;transition:color .2s}.password-toggle:hover{color:var(--text-primary)}.auth-hint{padding:10px 14px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary)}.auth-hint p{margin:0}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease;font-family:inherit;margin-top:8px}.auth-submit:hover:not(:disabled){background:var(--accent-primary-hover);transform:translateY(-1px)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--accent-primary);font-weight:600;transition:color .2s}.auth-footer a:hover{color:var(--accent-primary-hover);text-decoration:underline}.auth-note{margin-top:16px;padding:12px 16px;background:var(--bg-hover);border-radius:var(--radius-sm);text-align:center;font-size:.85rem;color:var(--text-secondary)}.auth-note p{margin:0}.navbar-user{display:flex;align-items:center;gap:8px;margin-left:8px;padding-left:16px;border-left:1px solid var(--border-color)}.navbar-user-info{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);transition:background .2s;text-decoration:none;color:var(--text-primary)}.navbar-user-info:hover{background:var(--bg-hover)}.navbar-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.navbar-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.navbar-username{font-size:.85rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:6px}.admin-badge{font-size:.65rem;padding:2px 6px;background:var(--accent-warning);color:#1a1a2e;border-radius:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.logout-btn{color:var(--text-muted)!important;transition:color .2s}.logout-btn:hover{color:var(--accent-danger)!important}.current-user-display{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-weight:500;color:var(--text-primary)}.current-user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;overflow:hidden}.current-user-avatar img{width:100%;height:100%;object-fit:cover}.pending-card{padding:20px}.pending-info{display:flex;align-items:center;gap:14px;margin-bottom:16px}.pending-avatar{width:48px;height:48px;flex-shrink:0}.pending-avatar .avatar-placeholder{width:48px;height:48px;font-size:1.2rem}.pending-email{color:var(--text-secondary);font-size:.85rem;margin-top:2px}.pending-date{color:var(--text-muted);font-size:.8rem}.pending-actions{display:flex;gap:8px}.btn-success{background:var(--accent-success)!important;color:#fff!important}.btn-success:hover{opacity:.9}.role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.role-admin{background:#f59e0b26;color:var(--accent-warning)}.role-user{background:#6366f11a;color:var(--accent-primary)}@media (max-width: 768px){.auth-container{padding:28px 20px}.auth-row{flex-direction:column;gap:16px}.navbar-user{border-left:none;border-top:1px solid var(--border-color);margin-left:0;padding-left:0;padding-top:12px;margin-top:8px;width:100%;justify-content:center}.navbar-username{display:none}}.dt-container{margin-top:16px}.dt-table .dt-row-num{font-weight:600;color:var(--text-muted);font-size:.8rem;text-align:center;min-width:32px}.dt-actions-col{text-align:center!important;width:120px}.dt-actions{display:flex;align-items:center;justify-content:center;gap:4px}.dt-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;transition:all .15s ease;background:transparent;color:var(--text-secondary)}.dt-btn:hover{transform:scale(1.1)}.dt-btn-view:hover{background:#3b82f61f;color:var(--accent-info)}.dt-btn-edit:hover{background:#f59e0b1f;color:var(--accent-warning)}.dt-btn-delete:hover{background:#ef44441f;color:var(--accent-danger)}.dt-pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:16px;flex-wrap:wrap}.dt-pagination-info{font-size:.85rem;color:var(--text-secondary)}.dt-pagination-controls{display:flex;align-items:center;gap:4px}.dt-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.dt-page-btn:hover:not(:disabled):not(.active){background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.dt-page-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);font-weight:700}.dt-page-btn:disabled{opacity:.35;cursor:not-allowed}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.section-header-row h2{margin:0}.btn-outline{background:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary);padding:8px 16px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-outline:hover{background:var(--accent-primary);color:#fff}.workout-detail{display:flex;flex-direction:column;gap:20px}.workout-detail-header{display:flex;align-items:center;gap:16px}.workout-detail-icon{font-size:2.5rem;line-height:1}.workout-detail-exercise{font-size:1.25rem;font-weight:700;margin-bottom:2px}.workout-detail-category{font-size:.85rem;color:var(--text-secondary);display:block}.workout-detail-tag{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:12px;font-size:.75rem;background:#f59e0b1f;color:var(--accent-warning);font-weight:600}.workout-detail-user{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-hover);border-radius:var(--radius-sm);font-weight:500;font-size:.9rem}.workout-detail-user .user-avatar.small{width:32px;height:32px}.workout-detail-user .user-avatar.small img{width:100%;height:100%;border-radius:50%;object-fit:cover}.workout-detail-user .avatar-placeholder.small{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-primary);color:#fff;font-weight:700;font-size:.85rem}.workout-detail-score{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#6366f114,#8b5cf614);border-radius:var(--radius-md);border:1px solid rgba(99,102,241,.15)}.workout-detail-score svg{color:var(--accent-primary);font-size:1.2rem}.workout-score-value{font-size:1.5rem;font-weight:800;color:var(--accent-primary)}.workout-score-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.workout-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.workout-stat{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary)}.workout-stat svg{color:var(--accent-primary);flex-shrink:0}.workout-detail-sets h4{font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.workout-sets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.workout-set-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center}.workout-set-num{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.workout-set-reps{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.workout-set-weight{font-size:.8rem;font-weight:600;color:var(--accent-warning)}.workout-detail-notes{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--bg-hover);border-radius:var(--radius-sm);border-left:3px solid var(--accent-primary);color:var(--text-secondary);font-size:.9rem}.workout-detail-notes svg{color:var(--accent-primary);flex-shrink:0;margin-top:2px}.workout-detail-notes p{margin:0;line-height:1.5}.workout-edit-form{display:flex;flex-direction:column;gap:16px}.workout-edit-info{padding:10px 14px;background:var(--bg-hover);border-radius:var(--radius-sm)}.workout-edit-exercise{font-weight:600;font-size:1rem}@media (max-width: 768px){.dt-pagination{flex-direction:column;align-items:center}.dt-actions-col{width:auto}.workout-detail-stats{grid-template-columns:1fr}.workout-sets-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.section-header-row{flex-direction:column;align-items:flex-start;gap:8px}.dt-table th:nth-child(1),.dt-table td:nth-child(1){display:none}}.calendar-page{max-width:1200px}.calendar-layout{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px}.calendar-nav{display:flex;align-items:center;gap:16px}.calendar-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);min-width:200px;text-align:center}.btn-icon-round{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:1.1rem}.btn-icon-round svg{color:var(--text-primary)}.btn-icon-round:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.btn-icon-round:hover svg{color:#fff}.calendar-grid-wrapper{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.calendar-day-name{padding:10px 4px;text-align:center;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:80px;padding:6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:4px}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover{background:var(--bg-hover)}.calendar-cell--empty{background:var(--bg-secondary);opacity:.3;cursor:default}.calendar-cell--today .calendar-cell-day{background:var(--accent-primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700}.calendar-cell--selected{background:#6366f114;box-shadow:inset 0 0 0 2px var(--accent-primary)}.calendar-cell-day{font-size:.85rem;font-weight:500;color:var(--text-primary);line-height:1}.calendar-cell-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}.calendar-cell-more{font-size:.65rem;color:var(--text-secondary);font-weight:600}.workout-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.workout-dot--scheduled{border-radius:2px;width:8px;height:8px}.workout-dot--activity{width:9px;height:9px;box-shadow:0 0 0 1px var(--bg-card)}.calendar-sidebar{position:sticky;top:80px}.calendar-sidebar-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;color:var(--text-secondary);font-size:.95rem}.calendar-day-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.calendar-day-detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.calendar-day-detail-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.calendar-day-detail-date{font-size:.8rem;color:var(--text-secondary);margin:2px 0 0}.calendar-day-detail-form{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.calendar-day-section{padding:12px 20px}.calendar-day-section+.calendar-day-section{border-top:1px solid var(--border)}.calendar-day-section-title{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.calendar-day-items{display:flex;flex-direction:column;gap:8px}.schedule-item{display:flex;align-items:stretch;gap:10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:all .2s}.schedule-item:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-sm)}.schedule-item--completed{opacity:.6}.schedule-item--completed .schedule-item-exercise,.schedule-item--completed .schedule-item-category{text-decoration:line-through}.schedule-item-color{width:4px;flex-shrink:0}.schedule-item-content{flex:1;padding:10px 0 10px 6px;display:flex;flex-direction:column;gap:2px;min-width:0}.schedule-item-header{display:flex;align-items:center;gap:8px}.schedule-item-icon{font-size:1.2rem;flex-shrink:0}.schedule-item-info{display:flex;flex-direction:column;min-width:0}.schedule-item-exercise{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-item-category{font-size:.75rem;color:var(--text-secondary)}.schedule-item-title{font-size:.8rem;color:var(--text-primary);margin:0}.schedule-item-time{font-size:.75rem;color:var(--accent-primary);display:flex;align-items:center;gap:4px;font-weight:500}.schedule-item-notes{font-size:.75rem;color:var(--text-secondary);margin:0;font-style:italic}.schedule-item-actions{display:flex;align-items:center;gap:2px;padding:4px 8px 4px 0}.calendar-workout-item{display:flex;align-items:center;gap:10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;padding-right:12px}.calendar-workout-item--clickable{cursor:pointer;transition:transform .15s ease}.calendar-workout-item--clickable:hover{transform:translateY(-1px)}.calendar-workout-info{flex:1;display:flex;align-items:center;gap:8px;padding:10px 0;min-width:0}.calendar-workout-score{display:flex;flex-direction:column;align-items:flex-end;gap:0}.calendar-workout-score strong{font-size:.95rem;color:var(--accent-primary)}.calendar-workout-score span{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase}.calendar-activity-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:150px}.calendar-activity-metrics span{font-size:.72rem;color:var(--text-secondary);line-height:1.2}.schedule-form{display:flex;flex-direction:column;gap:12px}.schedule-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-form-actions{display:flex;gap:8px}.schedule-form-actions .btn{flex:1}.split-multi-inputs{display:grid;gap:6px}.split-multi-inputs-two{grid-template-columns:100px 100px}.split-multi-inputs-three{grid-template-columns:100px 100px 100px}.activity-main-metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.activity-main-metric-card{margin:0}.activity-composite-row{display:grid;gap:8px}.activity-composite-row-two{grid-template-columns:1fr 1fr}.activity-composite-row-three{grid-template-columns:1fr 1fr 1fr}.activity-composite-row .form-group,.split-inline-group{margin:0}.activity-composite-row .form-group label,.split-inline-group label{font-size:.75rem}.color-picker{display:flex;flex-direction:column;gap:8px}.color-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.color-picker-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:all .15s}.color-picker-swatch:hover{transform:scale(1.15)}.color-picker-swatch--selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary);transform:scale(1.1)}.color-picker-custom{display:flex;align-items:center;gap:8px}.color-picker-input{width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:transparent}.color-picker-input::-webkit-color-swatch-wrapper{padding:2px}.color-picker-input::-webkit-color-swatch{border:none;border-radius:2px}.color-picker-value{font-size:.8rem;color:var(--text-secondary);font-family:monospace}.cat-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.notification-bell-wrapper{position:relative}@media (max-width: 768px){.notification-bell-wrapper{margin:12px 0 0;align-self:center}}.notification-bell{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all .2s;font-size:1.2rem;position:relative}.notification-bell:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;border-radius:9px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:450px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:1000;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.notification-dropdown-header h4{margin:0;font-size:.95rem;color:var(--text-primary)}.notification-dropdown-count{font-size:.75rem;color:var(--accent-primary);font-weight:600;background:#6366f11a;padding:2px 8px;border-radius:10px}.notification-dropdown-body{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.notification-dropdown-empty{text-align:center;padding:24px 16px;color:var(--text-secondary);font-size:.85rem}.notification-dropdown-divider{text-align:center;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:6px 0 2px;font-weight:600}.notification-dropdown-footer{padding:10px 12px;border-top:1px solid var(--border)}.notification-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-md);transition:background .15s;cursor:default}.notification-item:hover{background:var(--bg-hover)}.notification-item--completed{opacity:.5}.notification-item-color{width:3px;height:32px;border-radius:2px;flex-shrink:0}.notification-item-content{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.notification-item-top{display:flex;align-items:center;gap:6px}.notification-item-icon{font-size:1rem;flex-shrink:0}.notification-item-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-category{font-size:.7rem;color:var(--text-secondary)}.notification-item-title{font-size:.7rem;color:var(--text-primary);font-style:italic}.notification-item-time{font-size:.7rem;color:var(--accent-primary);display:flex;align-items:center;gap:3px;font-weight:500}.notification-item-done{color:#10b981;font-weight:700;font-size:.85rem}.btn-success-icon{color:#10b981}.btn-success-icon:hover{background:#10b9811a}.btn-sm-icon{width:28px;height:28px;font-size:.85rem}.notification-dropdown-tabs{display:flex;border-bottom:1px solid var(--border-color)}.notification-dropdown-tab{flex:1;padding:10px 8px;background:transparent;border:none;font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;transition:color .15s,background .15s}.notification-dropdown-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-dropdown-tab.active{color:var(--accent-primary)}.notification-dropdown-tab.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:var(--accent-primary);border-radius:2px 2px 0 0}.notification-tab-badge{background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-generic{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-color)}.notification-generic:last-child{border-bottom:none}.notification-generic:hover{background:var(--bg-hover)}.notification-generic--read{opacity:.55}.notification-generic-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;color:#fff}.notification-generic-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-generic-title{font-size:.78rem;font-weight:600;color:var(--text-primary);line-height:1.3}.notification-generic-message{font-size:.7rem;color:var(--text-secondary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-generic-time{font-size:.65rem;color:var(--text-muted, var(--text-secondary));opacity:.7}.notification-generic-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);flex-shrink:0;margin-top:6px}.daily-tasks-widget{margin-bottom:24px}.daily-tasks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.daily-tasks-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin:0}.daily-tasks-count{font-size:.8rem;font-weight:600;color:var(--accent-primary);background:#6366f11a;padding:2px 10px;border-radius:12px}.daily-tasks-progress-bar{width:100%;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-bottom:14px}.daily-tasks-progress-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .4s ease}.daily-tasks-list{display:flex;flex-direction:column;gap:2px}.daily-task-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm, 8px);cursor:pointer;transition:background .15s}.daily-task-item:hover{background:var(--bg-hover)}.daily-task-item--done{opacity:.55}.daily-task-check{font-size:.95rem;flex-shrink:0}.daily-task-icon{font-size:1rem;flex-shrink:0}.daily-task-label{flex:1;font-size:.85rem;font-weight:600;color:var(--text-primary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-task-detail{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.daily-tasks-loading,.daily-tasks-empty{text-align:center;color:var(--text-secondary);font-size:.85rem;padding:16px 0}.daily-tasks-link{color:var(--accent-primary);cursor:pointer;text-decoration:underline}.notification-pref-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.notification-pref-grid{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);overflow:hidden}.notification-pref-row{display:grid;grid-template-columns:1fr 80px 80px 80px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color);transition:background .1s}.notification-pref-row:last-child{border-bottom:none}.notification-pref-row:not(.notification-pref-header):hover{background:var(--bg-hover)}.notification-pref-header{background:var(--bg-card);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.notification-pref-label{font-size:.85rem;color:var(--text-primary);font-weight:500;display:flex;align-items:center;gap:8px}.notification-pref-icon{font-size:1rem}.notification-pref-col{text-align:center;display:flex;justify-content:center}.notification-pref-na{color:var(--text-secondary);opacity:.4;font-size:.85rem}.pref-toggle{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.pref-toggle input{opacity:0;width:0;height:0;position:absolute}.pref-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--border-color);border-radius:20px;transition:background .2s}.pref-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.pref-toggle input:checked+.pref-toggle-slider{background:var(--accent-primary)}.pref-toggle input:checked+.pref-toggle-slider:before{transform:translate(16px)}@media (max-width: 600px){.notification-pref-row{grid-template-columns:1fr 60px 60px 60px;padding:10px}.notification-pref-label{font-size:.78rem}}@media (max-width: 900px){.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{position:static}}@media (max-width: 768px){.calendar-cell{min-height:60px;padding:4px}.calendar-title{font-size:1.1rem;min-width:160px}.calendar-cell-day{font-size:.75rem}.workout-dot,.workout-dot--scheduled{width:6px;height:6px}.notification-dropdown{width:300px;right:-40px}.color-picker-grid{grid-template-columns:repeat(8,1fr)}.schedule-form .form-row{grid-template-columns:1fr}.activity-main-metrics{display:flex;flex-direction:column;gap:12px}.activity-composite-row-two,.activity-composite-row-three,.split-multi-inputs-two,.split-multi-inputs-three{grid-template-columns:1fr}}@media (max-width: 480px){.calendar-cell{min-height:48px;padding:2px}.calendar-day-name{font-size:.65rem;padding:6px 2px}.calendar-cell-dots{gap:2px}.notification-dropdown{position:fixed;top:64px;right:8px;left:8px;width:auto}}.analytics-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-card);border-radius:var(--radius-md);padding:4px;border:1px solid var(--border-color);overflow-x:auto}.analytics-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.analytics-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.analytics-tab.active{background:var(--accent-primary);color:#fff}.analytics-content{display:flex;flex-direction:column;gap:20px}.analytics-period-controls{display:flex;flex-direction:column;gap:12px}.analytics-period-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.analytics-period-btn{padding:8px 14px;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600}.analytics-period-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.analytics-period-btn.active{background:var(--accent-primary);color:#fff}.analytics-period-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.analytics-period-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.streak-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.streak-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center}.streak-icon{font-size:2.5rem;margin-bottom:8px}.streak-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px}.streak-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.streak-current{border-left:4px solid #ef4444}.streak-best{border-left:4px solid #f59e0b}.streak-total{border-left:4px solid #6366f1}.analytics-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.analytics-stat{transition:transform .2s ease}.analytics-stat:hover{transform:translateY(-2px)}.chart-card{padding:24px;margin:10px 0}.chart-card h3{font-size:1.1rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.chart-description{font-size:.85rem;color:var(--text-secondary);margin-bottom:12px;font-style:italic}.analytics-filter-card,.last-workout-card{padding:20px}.last-workout-card h3{font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.last-workout-card p{font-size:1rem;color:var(--text-secondary)}.last-workout-date{font-size:.85rem!important;color:var(--text-muted)!important;margin-top:4px}.empty-card{padding:40px 20px;text-align:center}.records-table .record-row:hover{background:var(--bg-hover)}.exercise-icon-cell{margin-right:6px;font-size:1.1rem}.record-score{font-weight:700;color:var(--accent-primary);font-size:1rem}.estimated-1rm-cell{text-align:center}.badge-1rm{display:inline-block;padding:2px 10px;border-radius:20px;background:linear-gradient(135deg,#ef4444,#f59e0b);color:#fff;font-weight:600;font-size:.85rem}.section-header-buttons{display:flex;gap:8px;flex-wrap:wrap}.recharts-default-tooltip{background-color:var(--bg-card)!important;border:1px solid var(--border-color)!important;border-radius:8px!important}.recharts-tooltip-label{color:var(--text-primary)!important}.recharts-tooltip-item{color:var(--text-secondary)!important}.nutrition-page{display:flex;flex-direction:column;gap:16px}.nutrition-date-card{padding:16px}.nutrition-date-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.nutrition-date-picker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-input)}.nutrition-date-picker input{border:none;background:transparent;color:var(--text-primary);font-family:inherit}.nutrition-date-picker input:focus{outline:none}.nutrition-daily-totals{padding:18px}.nutrition-daily-totals h3{margin-bottom:10px}.nutrition-daily-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.nutrition-daily-grid div{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:4px}.nutrition-daily-grid span{color:var(--text-secondary);font-size:.82rem}.nutrition-daily-grid strong{font-size:1rem}.nutrition-daily-items{margin-top:8px;color:var(--text-secondary);font-size:.85rem}.nutrition-meal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nutrition-meal-tab{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);padding:10px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600}.nutrition-meal-tab.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.nutrition-meal-section{padding:16px}.nutrition-meal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.nutrition-meal-header h3{display:inline-flex;align-items:center;gap:8px}.nutrition-meal-summary{display:inline-flex;gap:8px;flex-wrap:wrap;color:var(--text-secondary);font-size:.85rem}.nutrition-items-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.nutrition-item-row{padding:12px}.nutrition-item-main-row,.nutrition-item-macros-row{margin-top:8px}.nutrition-mode-toggle{margin-bottom:8px}.nutrition-item-actions{margin-top:8px;display:flex;justify-content:flex-end}.nutrition-food-preview{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.nutrition-food-preview span{font-size:.8rem;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border-color);border-radius:999px;padding:4px 10px}.nutrition-meal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px}.nutrition-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.nutrition-summary-card{padding:16px;display:flex;flex-direction:column;gap:6px}.nutrition-summary-card h4{font-size:.95rem;color:var(--text-secondary)}.nutrition-summary-card p{font-size:1.4rem;font-weight:800}.nutrition-summary-card small{color:var(--text-secondary);font-size:.82rem}.nutrition-export-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.nutrition-filters{padding:14px}.nutrition-period-card{margin:10px 0;padding:14px}.nutrition-admin-filters{margin-bottom:12px}.nutrition-admin-actions{display:inline-flex;gap:8px}.metrics-page{display:flex;flex-direction:column;gap:16px}.metrics-header-actions{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}.metrics-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metrics-summary-card{padding:16px;display:flex;flex-direction:column;gap:6px}.metrics-summary-card h4{font-size:.95rem;color:var(--text-secondary)}.metrics-summary-card p{font-size:1.4rem;font-weight:800}.metrics-summary-card small{color:var(--text-secondary);font-size:.82rem}.metrics-summary-head{display:flex;gap:12px;align-items:center}.metrics-scale-icon{width:56px;height:56px}.metrics-scale-body{fill:var(--bg-hover);stroke:var(--border-color);stroke-width:2}.metrics-scale-arc,.metrics-scale-needle,.metrics-scale-center{stroke:var(--accent-primary);fill:var(--accent-primary);stroke-width:2;stroke-linecap:round}.metrics-indicator-up{color:var(--accent-danger)}.metrics-indicator-down{color:var(--accent-success)}.metrics-filter-card{padding:14px}.metrics-filter-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.metrics-date-filter{min-width:220px;margin-bottom:0}.metrics-date-insight{margin-top:10px;color:var(--text-secondary);font-size:.9rem}.metrics-table-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.metrics-form{display:flex;flex-direction:column;gap:10px}.metrics-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}@media (max-width: 768px){.analytics-tabs{gap:2px;padding:3px}.analytics-tab{padding:8px 12px;font-size:.8rem}.analytics-tab span{display:none}.streak-cards-grid{grid-template-columns:1fr}.analytics-stats-grid{grid-template-columns:repeat(2,1fr)}.chart-card{padding:16px 8px}.section-header-buttons{flex-direction:column;width:100%}.analytics-period-toggle{width:100%}.analytics-period-btn{flex:1}.analytics-period-nav{width:100%;justify-content:space-between}.section-header-buttons .btn{width:100%;justify-content:center}.nutrition-meal-tabs{grid-template-columns:repeat(2,1fr)}.nutrition-meal-tab span{font-size:.82rem}.nutrition-date-controls{flex-direction:column;align-items:stretch}.nutrition-date-controls .btn{width:100%;justify-content:center}.nutrition-export-actions{width:100%}.nutrition-export-actions .btn{flex:1;justify-content:center}.nutrition-meal-actions{flex-direction:column}.nutrition-meal-actions .btn{width:100%;justify-content:center}.metrics-summary-main{grid-column:span 1}.metrics-header-actions{width:100%}.metrics-header-actions .btn{flex:1;justify-content:center}.metrics-filter-row{align-items:stretch;flex-direction:column}.metrics-date-filter{min-width:0}.metrics-form-actions{flex-direction:column}.metrics-form-actions .btn{width:100%;justify-content:center}}.app-authenticated{min-height:100vh}.navbar-top{position:fixed;top:0;left:0;right:0;z-index:120;background:var(--navbar-bg);backdrop-filter:var(--navbar-blur);-webkit-backdrop-filter:var(--navbar-blur);border-bottom:1px solid var(--border-color);height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.navbar-actions{display:flex;align-items:center;gap:8px}.app-sidebar{position:fixed;top:68px;left:0;width:260px;height:calc(100vh - 68px);background:var(--bg-card);border-right:1px solid var(--border-color);z-index:110;overflow-y:auto}.app-sidebar .navbar-links{display:flex;flex-direction:column;gap:8px;padding:16px 12px 20px}.sidebar-logo{margin-bottom:8px;padding:8px 10px}.app-main-with-sidebar{padding-top:84px;padding-left:260px;padding-bottom:40px;min-height:100vh}.app-sidebar .nav-link{justify-content:flex-start;width:100%}.nav-dropdown-trigger{border:none;background:transparent;cursor:pointer;justify-content:space-between!important}.nav-link-content{display:inline-flex;align-items:center;gap:6px}.nav-dropdown-menu{display:flex;flex-direction:column;gap:6px;width:85%}.nav-link-child{margin-left:16px;width:calc(100% - 16px)}.sidebar-backdrop{display:none}.navbar-top .mobile-toggle{display:none;align-items:center;justify-content:center}.navbar-top .navbar-user{margin-left:6px}@media (max-width: 1024px){.app-main-with-sidebar{padding-left:0}.navbar-top .mobile-toggle{display:flex}.app-sidebar{transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:68px;left:0;right:0;bottom:0;background:#0f172a73;border:none;z-index:105}}@media (max-width: 768px){.navbar-top{padding:0 14px}.navbar-top .navbar-logo .logo-text,.navbar-top .navbar-logo .logo-image{display:none}.navbar-top .navbar-user{border-left:none;margin-left:0;padding-left:0}.navbar-top .navbar-user-info{padding:4px}.app-sidebar{width:min(280px,85vw)}}.contact-form-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:16px}.contact-form .form-group{position:relative}.contact-char-count{display:block;text-align:right;font-size:.75rem;color:var(--text-muted);margin-top:4px}.contact-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.contact-form-actions .btn{display:inline-flex;align-items:center;justify-content:center}.plans-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.plans-tab{display:flex;align-items:center;gap:.4rem;padding:.7rem 1.2rem;border:none;background:none;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.plans-tab:hover{color:var(--text-primary)}.plans-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.plans-page-shell .page-header{align-items:flex-start;gap:1rem}.plans-page-subtitle{margin:.35rem 0 0;color:var(--text-secondary);max-width:720px}.plans-route-tabs,.plans-filters-card{margin-bottom:1rem}.plans-filters-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.plans-search-group{flex:1;min-width:280px}.plans-search-input-wrap{display:flex;align-items:center;gap:.6rem;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 .85rem;background:var(--bg-secondary)}.plans-search-input-wrap svg{color:var(--text-secondary);flex-shrink:0}.plans-search-input-wrap input{border:none;background:transparent;width:100%;padding:.8rem 0;color:var(--text-primary)}.plans-search-input-wrap input:focus{outline:none}.plans-view-actions{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.plans-page-size-group{min-width:120px}.plans-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-top:.85rem}.plans-filter-actions{margin-top:1rem}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.plan-card{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);border-top:3px solid #6366f1;padding:1.2rem;display:flex;flex-direction:column;gap:.8rem;transition:box-shadow .2s}.plan-card:hover{box-shadow:var(--shadow-md)}.plan-card-header{display:flex;align-items:flex-start;gap:.8rem}.plan-card-color{width:12px;height:12px;border-radius:50%;margin-top:4px;flex-shrink:0}.plan-card-title h3{font-size:1.05rem;color:var(--text-primary);margin:0}.plan-card-title p{font-size:.82rem;color:var(--text-secondary);margin:.2rem 0 0;line-height:1.4}.plan-card-meta{font-size:.8rem;color:var(--text-secondary)}.plan-card-meta-grid{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.plan-card-actions{display:flex;gap:.3rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border-color)}.plan-card-actions .btn{font-size:.85rem}.plan-schedule-popover{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.plan-schedule-popover .form-group{margin-bottom:0}.plan-schedule-popover .form-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem;display:flex;align-items:center;gap:.3rem}.plan-schedule-popover select.form-control{font-size:.85rem;padding:.4rem .6rem}.plan-schedule-inline{display:flex;gap:.5rem;align-items:center;padding-top:.6rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.plan-schedule-inline .form-control{flex:1;min-width:140px}.sessions-list{display:flex;flex-direction:column;gap:.6rem}.session-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:box-shadow .2s}.session-card:hover{box-shadow:var(--shadow-sm)}.session-card-left{display:flex;align-items:center;gap:.8rem;min-width:0}.session-card-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-card-info strong{font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-card-date{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:.3rem}.session-card-exercises{font-size:.78rem;color:var(--text-muted)}.session-card-actions{display:flex;gap:.4rem;flex-shrink:0}.session-card-actions .btn{white-space:nowrap}.plans-table-wrapper{overflow-x:auto}.plans-table-name-cell{display:inline-flex;align-items:center;gap:.5rem}.plans-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}.plans-card-summary{color:var(--text-secondary);font-size:.9rem}.plans-load-more-sentinel{height:1px}.plans-inline-scheduler{margin-top:1rem}.plans-inline-scheduler-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;flex-wrap:wrap}.plans-inline-scheduler-header h3{margin:0}.plans-inline-scheduler-header span{color:var(--text-secondary);font-size:.9rem}.session-status-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.badge-scheduled{background:var(--bg-tertiary);color:var(--text-secondary)}.badge-in-progress{background:#eab30826;color:#ca8a04}.badge-completed{background:#22c55e26;color:#16a34a}.badge-skipped{background:#ef444426;color:#dc2626}.plan-builder-page{max-width:1440;margin:0 auto}.plan-builder-page .page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin-bottom:1.2rem}.page-header-left{display:flex;align-items:center;gap:.8rem;min-width:0}.page-header-left .page-title{margin:0;white-space:nowrap}.page-header-actions{display:flex;gap:.5rem;flex-shrink:0}.copy-plan-picker{margin-bottom:1.2rem;padding:1rem}.copy-plan-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.copy-plan-picker-header h4{margin:0;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.copy-plan-picker-desc{font-size:.82rem;color:var(--text-secondary);margin:0 0 .8rem}.copy-plan-list{display:flex;flex-direction:column;gap:.3rem;max-height:240px;overflow-y:auto}.copy-plan-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;transition:background .15s,border-color .15s;text-align:left;width:100%}.copy-plan-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.copy-plan-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.copy-plan-name{flex:1;font-size:.9rem;font-weight:500;color:var(--text-primary)}.copy-plan-count{font-size:.78rem;color:var(--text-secondary)}.plan-builder-basics{padding:1.2rem;margin-bottom:1rem}.plan-builder-basics-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.plan-builder-basics-grid .form-group:last-child{grid-column:1 / -1}.plan-builder-exercises-section{margin-bottom:1rem}.plan-builder-exercises-section .plan-exercises-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.plan-builder-exercises-section .plan-exercises-header h3{margin:0;font-size:1.05rem}.plan-no-exercises{text-align:center;padding:2rem 1rem;color:var(--text-secondary);font-size:.9rem;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-md)}.plan-no-exercises p{margin:0}.plan-builder-bottom-actions{display:flex;justify-content:flex-end;gap:.6rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media (max-width: 768px){.plan-builder-page .page-header{flex-direction:column;align-items:flex-start}.page-header-actions{width:100%}.page-header-actions .btn{flex:1;justify-content:center}.plan-builder-basics-grid{grid-template-columns:1fr}.plan-builder-basics-grid .form-group:last-child{grid-column:auto}}.plan-builder-form{display:flex;flex-direction:column;gap:1rem}.plan-builder-inline{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.plan-builder-inline .form-group:first-child{grid-column:1 / -1}.plan-color-picker{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.plan-color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.plan-color-btn:hover{transform:scale(1.15)}.plan-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.plan-exercises-header{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.plan-exercises-header h4{margin:0;font-size:.95rem;color:var(--text-primary)}.plan-exercises-list{display:flex;flex-direction:column;gap:.6rem}.plan-exercise-card{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background-color:var(--bg-secondary)}.plan-exercise-header{display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-color)}.plan-exercise-header:hover{background:var(--bg-primary)}.plan-exercise-num{font-size:.75rem;font-weight:700;color:var(--accent-primary);min-width:22px}.plan-exercise-actions{display:flex;gap:.2rem;margin-left:auto}.plan-exercise-actions .btn{padding:.25rem;font-size:.8rem}.plan-exercise-body{padding:.8rem}.plan-exercise-selects{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem}.plan-sets-table{width:100%;margin-top:.5rem}.plan-sets-table .set-row{display:grid;grid-template-columns:30px 1fr 1fr 30px;gap:.4rem;align-items:center;padding:.25rem 0}.plan-sets-table .set-row.has-weight{grid-template-columns:30px 1fr 1fr 30px}.plan-sets-table .set-num{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-align:center}.plan-sets-table .form-control{padding:.35rem .5rem;font-size:.85rem}.plan-add-set-btn{margin-top:.3rem;font-size:.8rem!important}.plan-add-exercise-btn{margin-top:.3rem;width:100%;justify-content:center}.plan-detail{display:flex;flex-direction:column;gap:1rem}.plan-detail-header{display:flex;align-items:center;gap:.8rem}.plan-detail-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.plan-detail-header h3{margin:0;font-size:1.1rem}.plan-detail-desc{margin:.2rem 0 0;font-size:.85rem;color:var(--text-secondary)}.plan-detail-stats{display:flex;gap:1.2rem}.plan-detail-exercises{display:flex;flex-direction:column;gap:.6rem}.plan-detail-exercise{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:.8rem}.plan-detail-exercise-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.plan-detail-exercise-icon{font-size:1.2rem}.plan-detail-exercise-header strong{font-size:.9rem;color:var(--text-primary)}.plan-detail-exercise-cat{display:block;font-size:.78rem;color:var(--text-secondary)}.plan-detail-tag{font-size:.75rem;margin-left:.4rem}.plan-detail-sets{display:flex;gap:.4rem;flex-wrap:wrap}.set-badge{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.2rem .6rem;font-size:.78rem;font-weight:500;color:var(--text-primary)}.plan-detail-exercise-notes{display:flex;align-items:center;gap:.3rem;margin-top:.4rem;font-size:.78rem;color:var(--text-secondary);font-style:italic}.session-execution-page{max-width:800px;margin:0 auto}.session-exec-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.session-exec-title{flex:1;min-width:0}.session-exec-title h1{font-size:1.3rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-exec-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.session-timer{display:flex;align-items:center;gap:.3rem;font-weight:600;color:var(--accent-primary);font-variant-numeric:tabular-nums}.session-progress-text{font-weight:600}.session-exec-actions{display:flex;gap:.5rem;flex-shrink:0}.session-progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}.session-progress-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .4s ease}.session-exercises{display:flex;flex-direction:column;gap:.8rem}.session-exercise-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden;transition:border-color .2s}.session-exercise-card.completed{border-color:var(--accent-success)}.session-exercise-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.session-exercise-header:hover{background:var(--bg-tertiary)}.session-exercise-info{display:flex;align-items:center;gap:.5rem;min-width:0}.session-exercise-num{font-size:.75rem;font-weight:700;color:var(--accent-primary)}.session-exercise-icon{font-size:1.2rem}.session-exercise-info strong{font-size:.95rem;color:var(--text-primary)}.session-exercise-cat{display:block;font-size:.78rem;color:var(--text-secondary)}.session-exercise-right{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.exercise-done-icon{color:var(--accent-success);font-size:1.1rem}.session-exercise-body{padding:.5rem 1rem 1rem}.session-sets-table{width:100%;margin-bottom:1rem}.session-sets-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 44px 28px;gap:.5rem;padding:.3rem 0;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color)}.session-set-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 44px 28px;gap:.5rem;padding:.5rem 0;align-items:center;border-bottom:1px solid var(--border-color);transition:background .15s}.session-set-row:last-child{border-bottom:none}.session-set-row.completed{background:#22c55e0f}.set-num{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-align:center}.set-target{font-size:.82rem;color:var(--text-secondary)}.session-input{padding:.35rem .5rem!important;font-size:.85rem!important;width:100%;max-width:100px}.btn-check{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:1rem}.btn-check:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.btn-check.checked{background:var(--accent-success);border-color:var(--accent-success);color:#fff}.session-add-set{margin-top:.3rem;font-size:.82rem!important}.session-sets-check-all{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s;font-size:1rem}.session-sets-check-all:hover{color:var(--accent-success)}.btn-remove-set{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;transition:all .15s;padding:0}.btn-remove-set:hover{background:#ef44441a;color:var(--accent-danger)}.session-set-row .form-group,.session-add-exercise-form .form-group{margin-bottom:0}.session-add-exercise{width:100%;justify-content:center;border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:.8rem;color:var(--text-secondary);transition:border-color .2s,color .2s}.session-add-exercise:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.session-add-exercise-form{padding:1rem}.session-add-exercise-form h4{margin:0 0 .8rem;font-size:.95rem}.session-add-exercise-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.8rem}.session-add-exercise-form .form-actions{display:flex;gap:.5rem}.session-records{display:flex;flex-direction:column;gap:.8rem}.session-records-intro{font-size:.95rem;color:var(--text-primary);margin:0 0 .3rem}.session-record-item{display:flex;align-items:center;gap:.8rem;padding:.8rem;background:#eab30814;border:1px solid rgba(234,179,8,.25);border-radius:var(--radius-md)}.session-record-icon{font-size:1.4rem;display:flex;align-items:center;gap:.3rem}.record-trophy{color:#ca8a04}.session-record-item strong{display:block;font-size:.9rem;color:var(--text-primary)}.session-record-score{display:block;font-size:.82rem;color:var(--text-secondary)}.session-detail-page{max-width:800px;margin:0 auto}.session-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-bottom:1.5rem}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem}.summary-card svg{font-size:1.3rem;color:var(--accent-primary)}.summary-card small{display:block;font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.summary-card strong{font-size:.95rem;color:var(--text-primary)}.text-success{color:var(--accent-success)!important}.session-detail-exercises{display:flex;flex-direction:column;gap:.8rem}.session-detail-exercise{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.session-detail-exercise-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}.session-detail-exercise-header strong{font-size:.95rem}.session-detail-sets-table{width:100%}.session-detail-sets-header{display:grid;grid-template-columns:40px 1.5fr 1.5fr 1fr;gap:.5rem;padding:.35rem 0;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color)}.session-detail-set-row{display:grid;grid-template-columns:40px 1.5fr 1.5fr 1fr;gap:.5rem;padding:.5rem 0;font-size:.85rem;align-items:center;border-bottom:1px solid var(--border-color)}.session-detail-set-row:last-child{border-bottom:none}.set-diff-cell{display:flex;gap:.4rem;flex-wrap:wrap}.set-diff{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-sm)}.set-diff.positive{color:#16a34a;background:#22c55e1a}.set-diff.negative{color:#dc2626;background:#ef44441a}.set-diff.neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.session-detail-skipped{margin-top:.5rem;padding:.3rem .6rem;background:#ef44440f;border-radius:var(--radius-sm);font-size:.78rem;color:var(--text-secondary)}.session-detail-notes{margin-top:.4rem;font-size:.82rem;color:var(--text-secondary)}.session-detail-global-notes{margin-top:1rem}.session-detail-global-notes h4{margin:0 0 .4rem;font-size:.9rem}.session-detail-global-notes p{margin:0;font-size:.85rem;color:var(--text-secondary)}.btn-complete{animation:pulse-success 2s infinite}@keyframes pulse-success{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.plans-page .empty-state,.sessions-list .empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;color:var(--text-secondary);text-align:center;grid-column:1 / -1}.plans-page .empty-state svg{opacity:.3}.plans-page .empty-state h3{margin:.5rem 0 0}.plans-page .empty-state p{margin:0;font-size:.85rem}.btn-danger-ghost{color:var(--accent-danger)!important}.btn-danger-ghost:hover{background:#ef44441a!important}@media (max-width: 768px){.plans-filters-top{align-items:stretch}.plans-view-actions{width:100%;justify-content:space-between}.plans-page-size-group,.plans-page-size-group select{width:100%}.plans-grid{grid-template-columns:1fr}.plans-card-footer{flex-direction:column;align-items:stretch}.plans-inline-scheduler-header{flex-direction:column;align-items:flex-start}.session-card{flex-direction:column;align-items:stretch}.session-card-actions{justify-content:flex-end;flex-wrap:wrap}.session-exec-header{flex-direction:column;align-items:flex-start}.session-exec-actions{width:100%}.session-exec-actions .btn{flex:1;justify-content:center}.session-sets-header,.session-set-row{grid-template-columns:30px 1fr 70px 70px 36px 24px;gap:.3rem}.session-detail-sets-header,.session-detail-set-row{grid-template-columns:30px 1fr 1fr 80px;gap:.3rem}.session-detail-summary{grid-template-columns:1fr 1fr}.plan-builder-inline,.plan-exercise-selects,.session-add-exercise-form .form-row{grid-template-columns:1fr}}.steps-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.steps-page .metrics-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.steps-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.steps-summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;text-align:center}.steps-summary-card h4{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.steps-summary-card .steps-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.steps-summary-card .steps-card-sub{font-size:.78rem;color:var(--text-secondary);margin-top:.25rem}.steps-today-card{display:flex;align-items:center;justify-content:center}.steps-today-head{display:flex;align-items:center;gap:.45rem}.steps-today-ring{position:relative;width:80px;margin-bottom:.25rem}.steps-ring-svg{transform:rotate(-90deg)}.steps-ring-bg{fill:none;stroke:var(--border-color);stroke-width:6}.steps-ring-fill{fill:none;stroke:green;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.steps-today-count{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--text-primary)}.steps-goal-met{border-color:var(--success)!important;box-shadow:0 0 12px #22c55e40}.steps-goal-met .steps-ring-fill{stroke:var(--success)}.steps-goal-met .steps-card-value{color:var(--success)}.steps-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}.steps-met{background:#22c55e26;color:var(--success)}.steps-not-met{background:#9ca3af26;color:var(--text-secondary)}.steps-row-success{background:#22c55e0f}.steps-records-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.steps-records-card h3{margin-bottom:1rem}.steps-records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.steps-record-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md)}.steps-record-item div{display:flex;flex-direction:column;gap:1px}.steps-record-icon{font-size:1.25rem;color:var(--primary);display:flex;align-items:center}.steps-record-label{font-size:.78rem;color:var(--text-secondary)}.steps-record-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.steps-record-sub{font-size:.72rem;color:var(--text-secondary)}.steps-entry-form .form-group{margin-bottom:1rem}.steps-entry-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}@media (max-width: 900px){.steps-summary-grid,.steps-records-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.steps-summary-grid,.steps-records-grid{grid-template-columns:1fr}.steps-page .page-header{flex-direction:column}}:root{--hydration-water: #3b82f6;--hydration-tea: #84cc16;--hydration-coffee: #a07553}[data-theme=dark]{--hydration-water: #60a5fa;--hydration-tea: #a3e635;--hydration-coffee: #c4a882}.hydration-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem}.hydration-summary-card{text-align:center}.hydration-summary-card h4{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.hydration-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:block;margin:.25rem 0}.hydration-summary-card small{font-size:.78rem;color:var(--text-secondary)}.hydration-today-card{text-align:left}.hydration-today-head{display:flex;align-items:center;gap:1rem}.hydration-today-ring{position:relative;width:72px;height:72px;flex-shrink:0}.hydration-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.hydration-ring-bg{fill:none;stroke:var(--border-color);stroke-width:8}.hydration-ring-fill{fill:none;stroke:var(--hydration-water);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .6s ease}.hydration-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.hydration-today-count{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.hydration-goal-met{border-color:var(--accent-success)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-success) 20%,transparent)}.hydration-quick-card{margin-bottom:1.25rem}.hydration-quick-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.hydration-quick-header h3{margin:0}.hydration-quick-group{margin-bottom:1rem}.hydration-quick-group:last-child{margin-bottom:0}.hydration-quick-group-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.6rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-color)}.hydration-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.hydration-quick-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--card-bg);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.hydration-quick-btn:hover{border-color:var(--hydration-water);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.hydration-quick-btn:active{transform:scale(.95)}.hydration-quick-icon{position:relative;display:flex;align-items:center;justify-content:center}.hydration-quick-amount{font-size:.85rem;font-weight:700;color:var(--text-primary)}.hydration-quick-label{font-size:.7rem;color:var(--text-secondary);text-align:center;line-height:1.2}.hydration-quick-btn-animate{border-color:var(--accent-success)!important;background:color-mix(in srgb,var(--accent-success) 8%,var(--card-bg))}.hydration-quick-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--accent-success);background:color-mix(in srgb,var(--card-bg) 80%,transparent);border-radius:50%;animation:hydrationCheckPop .5s ease}@keyframes hydrationCheckPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.hydration-streak-card{margin-bottom:1.25rem}.hydration-streak-card h3{margin-bottom:1rem}.hydration-streak-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.hydration-streak-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--border-color) 30%,var(--card-bg))}.hydration-streak-current{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-warning) 10%,var(--card-bg)),color-mix(in srgb,var(--accent-warning) 5%,var(--card-bg)))}.hydration-flame-start .hydration-streak-emoji{font-size:1.5rem}.hydration-flame-warm .hydration-streak-emoji{font-size:1.8rem;animation:flameGlow 1.5s ease-in-out infinite}.hydration-flame-hot .hydration-streak-emoji{font-size:2rem;animation:flameGlow 1s ease-in-out infinite}.hydration-flame-epic .hydration-streak-emoji{font-size:2.2rem;animation:flameGlow .7s ease-in-out infinite}@keyframes flameGlow{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.2)}}.hydration-streak-emoji{font-size:1.3rem;flex-shrink:0}.hydration-streak-info{display:flex;flex-direction:column}.hydration-streak-count{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.hydration-streak-label{font-size:.78rem;color:var(--text-secondary);margin-top:.15rem}.hydration-records-card h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.hydration-records-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.hydration-record-item{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--border-color) 30%,var(--card-bg))}.hydration-record-icon{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}.hydration-record-label{display:block;font-size:.75rem;color:var(--text-secondary)}.hydration-record-value{display:block;font-size:1.15rem;color:var(--text-primary);margin:.1rem 0}.hydration-record-sub{display:block;font-size:.72rem;color:var(--text-secondary)}.hydration-row-success{background:color-mix(in srgb,var(--accent-success) 6%,transparent)}.hydration-status-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;padding:.15rem .5rem;border-radius:9999px;font-weight:500}.hydration-met{background:color-mix(in srgb,var(--accent-success) 15%,transparent);color:var(--accent-success)}.hydration-not-met{background:color-mix(in srgb,var(--text-secondary) 10%,transparent);color:var(--text-secondary)}.hydration-type-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem}.hydration-entry-form .form-group{margin-bottom:.85rem}.hydration-chart-tooltip{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem .85rem;box-shadow:0 4px 12px #0000001a}.hydration-tooltip-date{font-weight:600;font-size:.85rem;margin-bottom:.25rem;color:var(--text-primary)}.hydration-tooltip-value{font-size:1.1rem;font-weight:700;color:var(--hydration-water);margin:0}.hydration-tooltip-goal,.hydration-tooltip-entries{font-size:.78rem;color:var(--text-secondary);margin:0}@media (max-width: 900px){.hydration-summary-grid,.hydration-records-grid,.hydration-streak-grid{grid-template-columns:repeat(2,1fr)}.hydration-quick-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (max-width: 600px){.hydration-summary-grid,.hydration-records-grid,.hydration-streak-grid{grid-template-columns:1fr}.hydration-quick-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.hydration-page .page-header{flex-direction:column}}.table-actions{display:flex;gap:.4rem}.medical-events-filters-card{margin-bottom:1rem}.medical-events-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.medical-event-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.medical-event-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.medical-event-badge--illness{background:#f59e0b29;color:#b45309}.medical-event-badge--injury{background:#ef444424;color:#b91c1c}.medical-event-badge--operation{background:#0ea5e924;color:#0369a1}.medical-event-badge--default{background:#6366f124;color:var(--accent-primary)}.medical-event-note{max-width:360px;white-space:normal}.calendar-medical-note{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.8rem}.workout-dot--medical{box-shadow:0 0 0 2px #ffffffbf}@media (max-width: 900px){.medical-events-filter-grid,.medical-event-form-row{grid-template-columns:1fr}}.sleep-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}.sleep-phase-bar-mini{display:flex;height:12px;border-radius:6px;overflow:hidden;min-width:80px;background:var(--bg-hover)}.sleep-phase-deep{background:#3b82f6}.sleep-phase-light{background:#60a5fa}.sleep-phase-rem{background:#a78bfa}.sleep-phase-awake{background:#f59e0b}.sleep-entry-form .sleep-form-row{display:flex;gap:1rem;flex-wrap:wrap}.sleep-entry-form .sleep-form-row .form-group{flex:1 1 140px;min-width:120px}.sleep-form-phases .form-group{flex:1 1 100px;min-width:90px}.sleep-form-details{margin:.5rem 0;border:1px solid var(--border-color);border-radius:8px;padding:.6rem .8rem}.sleep-form-details summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text-secondary)}.sleep-form-details[open] summary{margin-bottom:.6rem}.sleep-duration-preview{display:inline-block;margin-top:.4rem;color:var(--accent-success);font-weight:700;font-size:1.1rem}.form-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}@media (max-width: 900px){.sleep-charts-grid{grid-template-columns:1fr}}@media (max-width: 640px){.sleep-entry-form .sleep-form-row,.sleep-page .page-header{flex-direction:column}}.meal-plan-builder-page{max-width:1240px;margin:0 auto}.meal-plan-builder-page .page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.meal-builder-basics{margin-bottom:1.5rem}.meal-builder-basics-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.meal-builder-basics-grid .form-group:last-child{grid-column:1 / -1}.meal-builder-meals-section{margin-bottom:1rem}.meal-builder-meals-section .plan-exercises-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.meal-builder-meals-section .plan-exercises-header h3{margin:0;font-size:1.05rem}.meal-builder-meal-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:1rem;overflow:hidden}.meal-builder-meal-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--bg-tertiary);cursor:pointer}.meal-builder-meal-header:hover{background:var(--bg-hover, var(--bg-tertiary))}.meal-builder-meal-header h4{margin:0;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.meal-builder-meal-body{padding:.8rem 1rem}.meal-builder-items-table{width:100%;margin-bottom:.5rem}.meal-builder-items-header{display:grid;grid-template-columns:2fr .8fr .8fr .8fr .8fr .8fr 32px;gap:.4rem;padding:.3rem 0;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-color)}.meal-builder-item-row{display:grid;grid-template-columns:2fr .8fr .8fr .8fr .8fr .8fr 32px;gap:.4rem;padding:.4rem 0;align-items:center;border-bottom:1px solid var(--border-color);font-size:.85rem}.meal-builder-item-row:last-child{border-bottom:none}.meal-food-search-wrapper{position:relative;margin-bottom:.5rem}.meal-food-search-wrapper .form-control{font-size:.85rem}.meal-food-search-dropdown{position:absolute;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);z-index:20;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15))}.meal-food-search-item{padding:.5rem .8rem;cursor:pointer;font-size:.85rem;border-bottom:1px solid var(--border-color);transition:background .15s}.meal-food-search-item:last-child{border-bottom:none}.meal-food-search-item:hover{background:var(--bg-tertiary)}.meal-food-search-item small{display:block;color:var(--text-muted);font-size:.75rem}.meal-manual-entry{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:.5rem;align-items:end;margin-top:.5rem}.meal-manual-entry .form-control{padding:.35rem .5rem;font-size:.85rem}.meal-add-type-btns{display:flex;gap:.5rem;flex-wrap:wrap}.meal-builder-bottom-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.meal-copy-section{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.meal-copy-section select{margin-top:.5rem}.meal-session-execution-page{max-width:800px;margin:0 auto}.meal-session-daily-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.meal-daily-total-card{text-align:center;padding:.6rem;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color)}.meal-daily-total-card .label{display:block;font-size:.72rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.15rem}.meal-daily-total-card .value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.meal-session-meal-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);margin-bottom:.8rem;overflow:hidden;transition:border-color .2s}.meal-session-meal-card.completed{border-color:var(--accent-success)}.meal-session-meal-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.meal-session-meal-header:hover{background:var(--bg-tertiary)}.meal-session-meal-info{display:flex;align-items:center;gap:.5rem}.meal-session-meal-info strong{font-size:.95rem}.meal-session-meal-right{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary)}.meal-session-meal-body{padding:.5rem 1rem 1rem}.meal-session-items-table{width:100%}.meal-session-items-header{display:grid;grid-template-columns:36px 2fr 1fr 1fr 36px 36px;gap:.4rem;padding:.3rem 0;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-color)}.meal-session-item-row{display:grid;grid-template-columns:36px 2fr 1fr 1fr 36px 36px;gap:.4rem;padding:.45rem 0;align-items:center;border-bottom:1px solid var(--border-color);transition:background .15s,opacity .2s}.meal-session-item-row:last-child{border-bottom:none}.meal-session-item-row.completed{background:#22c55e0f}.meal-session-item-row.removed{opacity:.4;text-decoration:line-through}.meal-session-item-name{font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-session-item-kcal{font-size:.78rem;color:var(--text-secondary)}.meal-session-add-item{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border-color)}.meal-session-add-item .meal-food-search-wrapper{margin-bottom:.3rem}.meal-session-detail-page{max-width:860px;margin:0 auto}.meal-session-macro-comparison{padding:1rem 1.2rem;margin-bottom:1.5rem}.meal-session-macro-comparison h3{font-size:1rem;margin:0 0 .8rem}.macro-comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.macro-comparison-item{display:flex;flex-direction:column;gap:.2rem;text-align:center}.macro-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.macro-planned{font-size:.85rem;color:var(--text-secondary)}.macro-actual{font-size:1rem;font-weight:700;color:var(--text-primary)}.macro-diff{font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);padding:.1rem .4rem}.macro-diff.positive{color:var(--accent-success);background:#22c55e1a}.macro-diff.negative{color:var(--accent-danger);background:#ef44441a}.macro-diff.neutral{color:var(--text-secondary);background:var(--bg-tertiary)}.session-detail-skipped{padding:.3rem .8rem;font-size:.82rem;color:var(--text-muted)}.meal-schedule-popover{position:absolute;top:100%;right:0;z-index:30;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15));min-width:260px}.meal-schedule-popover .form-group{margin-bottom:.8rem}.meal-plan-detail-meals{display:flex;flex-direction:column;gap:.8rem}.meal-plan-detail-meal{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.meal-plan-detail-meal-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;background:var(--bg-tertiary);font-weight:600;font-size:.9rem}.meal-plan-detail-meal-header small{font-weight:400;color:var(--text-secondary);font-size:.78rem}.meal-plan-detail-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .8rem;border-bottom:1px solid var(--border-color);font-size:.85rem}.meal-plan-detail-item:last-child{border-bottom:none}@media (max-width: 640px){.meal-builder-basics-grid{grid-template-columns:1fr}.meal-builder-items-header,.meal-builder-item-row{grid-template-columns:1.5fr .6fr .6fr .6fr .6fr .6fr 28px;font-size:.75rem}.meal-manual-entry{grid-template-columns:1fr 1fr}.meal-session-daily-totals,.macro-comparison-grid{grid-template-columns:repeat(2,1fr)}.meal-session-items-header,.meal-session-item-row{grid-template-columns:32px 1.5fr .8fr .8fr 32px 32px}}.meal-item-header{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.meal-item-row{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;margin-bottom:.7rem;background:var(--bg-secondary)}.meal-item-food-select{margin-bottom:.45rem}.meal-item-selected-food{border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem .6rem;background:var(--bg-tertiary)}.meal-item-row-actions{display:flex;justify-content:flex-end;margin-bottom:.35rem}.meal-item-search-wrapper,.food-search-input-wrapper{position:relative}.food-search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;z-index:1}.food-search-input-wrapper .form-group{margin-bottom:5px}.food-search-input-wrapper .form-control{padding-left:2rem}.food-search-dropdown{position:absolute;left:0;right:0;max-height:220px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .12));z-index:20}.food-search-option{width:100%;border:none;background:transparent;text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border-color);cursor:pointer}.food-search-option:last-child{border-bottom:none}.food-search-option:hover{background:var(--bg-tertiary)}.food-option-name{display:block;font-weight:600;font-size:.86rem}.food-option-macros{display:block;margin-top:.15rem;font-size:.74rem;color:var(--text-secondary)}.meal-item-or-divider{margin:.45rem 0;color:var(--text-secondary);font-size:.78rem}.meal-item-macros-row{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.55rem;align-items:end}.meal-item-macros-row .form-group{margin-bottom:0}.meal-item-computed{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.55rem;font-size:.8rem;color:var(--text-secondary)}@media (max-width: 640px){.meal-item-macros-row{grid-template-columns:1fr}}.meal-add-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-6{margin-right:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}
