:root{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-input: #2c2c2c;--text-primary: #ffffff;--text-secondary: #aaaaaa;--accent: #2b5278;--accent-light: #3a6b99;--danger: #ff4444;--border: #333333;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;color:var(--text-primary);background-color:var(--bg-primary);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box;margin:0;padding:0}body{height:100%;overscroll-behavior:none}button{font:inherit;border:none;cursor:pointer;padding:10px 16px;border-radius:10px;font-weight:500;min-height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--accent);color:#fff;transition:opacity .2s}button:active{opacity:.7}input[type=text],input[type=email],input[type=password]{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font:inherit;outline:none}input[type=file]{display:none}a{color:var(--accent);text-decoration:none}.auth-container{display:flex;flex-direction:column;min-height:100dvh}.auth-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;max-width:400px;margin:0 auto;width:100%}.auth-card h2{margin-bottom:1.5rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:8px;width:100%}.auth-form input{padding:.5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary)}.auth-form input:disabled{opacity:.6}.auth-form button{padding:.7rem;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:500}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-success{color:#4ade80;text-align:center;margin-bottom:.5rem}.auth-error{color:#f44;text-align:center;margin-bottom:.5rem}.auth-link{text-align:center;margin-top:1rem}.auth-link a{color:var(--accent-light)}.chat-layout{display:flex;height:100vh;height:100dvh;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.chat-main{flex:1;display:flex;overflow:hidden}.sidebar{width:100%;max-width:360px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.chat-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.chat-item{display:flex;flex-direction:column;padding:14px 16px;gap:8px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.chat-item:active{background:#ffffff0d}.chat-item.active{background:#4a9eff1a}.chat-item-title{font-weight:600;margin-bottom:4px}.chat-item-preview{color:var(--text-secondary);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-badge{align-self:flex-start;background:var(--accent);color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700;margin-left:12px}.message-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.message{max-width:80%;padding:10px 14px;border-radius:16px;background:#2c2c2c;align-self:flex-start;word-break:break-word;color:#e0e0e0}.message.own{background:var(--accent);align-self:flex-end;color:#fff}.message.own .message-file a{color:#7bafe3}.message.own .message-time{color:#ffffffb3}.message img,.message video{max-width:200px;border-radius:10px;margin-top:6px}.message-file{display:flex;align-items:center;gap:8px}.message-file a{color:#6198cc}.message-actions{display:flex;gap:8px;margin-top:6px}.message-actions button{min-height:32px;padding:4px 10px;font-size:12px;background:#ffffff26}.message-time{font-size:11px;color:var(--text-secondary);margin-top:4px;text-align:right}.input-area{display:flex;align-items:center;gap:8px;padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);touch-action:none}.input-area input[type=text]{flex:1}.input-area .attach-btn{background:transparent;color:var(--text-secondary);font-size:20px}.chat-header{position:relative;display:flex;align-items:center;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);min-height:56px}.chat-header strong{font-size:18px}.call-buttons{display:flex;gap:6px}.call-buttons button{min-height:36px;padding:6px 12px;font-size:14px}.typing-indicator{position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.call-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.call-modal-videos{display:flex;gap:16px;margin:16px 0}.call-modal button{margin:8px}@media(max-width:600px){.chat-main{flex-direction:column}.sidebar{max-width:none;border-right:none;flex:1;overflow-y:auto}.chat-area{position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;background:var(--bg-primary)}.sidebar.hidden-mobile,.chat-area.hidden-mobile{display:none}}@media(min-width:601px)and (max-width:900px){.sidebar{flex:0 0 260px;max-width:260px;overflow-y:auto}.chat-area{flex:1;min-width:0}.sidebar.hidden-mobile,.chat-area.hidden-mobile{display:flex!important}}@media(min-width:901px){.sidebar{flex:0 0 320px;max-width:320px;overflow-y:auto}.chat-area{flex:1;min-width:0}.sidebar.hidden-mobile,.chat-area.hidden-mobile{display:flex!important}}.mobile-call-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0b0b0e;z-index:9999;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.remote-video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.remote-video-fullscreen{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;z-index:2}.avatar-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:5;width:100%;padding:0 20px;box-sizing:border-box;pointer-events:none}.avatar-circle{width:100px;height:100px;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;margin:0 auto 16px;box-shadow:0 8px 24px #0006}.local-video-pip{position:absolute;top:20px;right:20px;width:110px;height:160px;border-radius:12px;overflow:hidden;box-shadow:0 10px 25px #00000080;border:2px solid rgba(255,255,255,.2);z-index:10;background-color:#1a1a1a;transition:all .3s ease}.local-video-pip video{width:100%;height:100%;object-fit:cover}.call-controls-bar{position:absolute;bottom:0;left:0;width:100%;padding:30px 20px calc(40px + env(safe-area-inset-bottom));background:linear-gradient(to top,#000c,#0000);z-index:20;display:flex;flex-direction:column;align-items:center;gap:20px}.call-info{text-align:center;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6)}.call-info h4{margin:0 0 4px;font-size:20px}.call-info p{margin:0;font-size:14px;opacity:.8}.btn-hangup{width:64px;height:64px;background-color:#ef4444;border:none;border-radius:50%;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ef444466;transition:transform .1s ease}.btn-hangup:active{transform:scale(.9)}.mobile-incoming-call-toast{position:fixed;top:calc(16px + env(safe-area-inset-top));left:16px;right:16px;background:#1c1c23f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:16px 20px;border-radius:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 15px 35px #00000080;z-index:10000;animation:slideDown .3s cubic-bezier(.16,1,.3,1);animation:toastPulse 1s infinite}@keyframes slideDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastPulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.02);box-shadow:0 0 0 10px #3b82f600}}.toast-header{display:flex;align-items:center;gap:12px;width:100%}.toast-avatar{width:48px;height:48px;min-width:48px;min-height:48px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:20px;flex-shrink:0;line-height:1;overflow:hidden}.toast-body{flex:1;min-width:0;overflow:hidden}.toast-body h5{margin:0 0 4px;color:#fff;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-body p{margin:0;color:#9ca3af;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-actions{display:flex;justify-content:center;gap:32px;padding-top:4px}.toast-actions button{width:64px;height:64px;border:none;border-radius:50%;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s ease}.toast-actions button:active{transform:scale(.92)}.btn-toast-decline{background-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.btn-toast-accept{background-color:#22c55e;box-shadow:0 4px 12px #22c55e4d}.video-preview-clickable{position:relative;display:inline-block;background-color:#000;box-shadow:0 4px 12px #00000026}.video-preview-clickable:active{opacity:.9}.video-play-center-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);pointer-events:none;z-index:3}.video-play-center-btn svg{margin-left:2px}.video-preview-clickable:hover .video-play-center-btn{background:#000c}.file-preview-floating-bar{position:absolute;bottom:100%;left:0;width:100%;background:var(--bg-primary, #1e1e24);padding:8px 14px;border-top:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;align-items:center;box-shadow:0 -4px 12px #00000026;animation:slideUp .2s ease-out;z-index:10}.file-preview-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-secondary, #2a2a35);color:#fff;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);max-width:85%}.file-preview-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-close-btn{background:#ffffff26!important;border:none;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;padding:0;font-weight:700;transform:none!important}.file-preview-close-btn:hover{background:#ffffff4d!important}.send-message-btn{flex-shrink:0;width:34px;height:34px;min-height:36px;min-width:36px;border-radius:50%;background-color:var(--button-bg, #3b82f6);color:var(--button-text, #fff);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:2px;padding:0 0 0 2px;transition:background-color .2s,transform .1s,box-shadow .2s,opacity .2s;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1) forwards}.send-message-btn:hover{background-color:#4ade80!important;color:#0f172a!important;transform:scale(1.1);opacity:1;box-shadow:0 0 14px #4ade80cc,0 0 28px #4ade8066}.send-message-btn:active{transform:scale(.92)}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.send-message-btn[disabled]{background:#4ade80!important;background-color:#4ade80!important;color:#0f172a!important;opacity:1!important}.send-message-btn.sending,.send-message-btn[disabled]{animation:pulseFlash .5s cubic-bezier(.19,1,.22,1)}@keyframes pulseFlash{0%{box-shadow:0 0 #4ade80;filter:brightness(1);transform:scale(.95)}30%,60%{background:#4ade80!important;color:#0f172a!important;opacity:1!important;box-shadow:0 0 25px #4ade80,0 0 50px #4ade80b3;filter:brightness(1.2);transform:scale(1.15)}to{background:#3b82f6!important;background-color:#3b82f6!important;color:#fff!important;box-shadow:0 0 #4ade80;filter:brightness(1);transform:scale(1)}}.image-lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10002;display:flex;align-items:center;justify-content:center;animation:fadeInLightbox .2s ease-out}@keyframes fadeInLightbox{0%{opacity:0}to{opacity:1}}.close-lightbox-btn{position:absolute;top:20px;right:20px;background:#ffffff1a;border:none;color:#fff;font-size:20px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s}.close-lightbox-btn:active{background:#ffffff4d}.lightbox-content{max-width:95vw;max-height:85vh;display:flex;align-items:center;justify-content:center;animation:scaleImage .25s cubic-bezier(.16,1,.3,1)}@keyframes scaleImage{0%{transform:scale(.9)}to{transform:scale(1)}}.lightbox-image-fullscreen{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #000c}.clickable-chat-image:active{opacity:.8}.forward-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10001;display:flex;align-items:center;justify-content:center;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.forward-bottom-sheet{width:100%;max-width:400px;max-height:70vh;background:var(--bg-primary, #1c1c24);border-radius:24px;padding:20px;display:flex;flex-direction:column;animation:scaleIn .2s cubic-bezier(.16,1,.3,1);box-shadow:0 -10px 30px #0000004d;border:1px solid rgba(255,255,255,.1);overflow:hidden}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#fff}.sheet-header h3{margin:0;font-size:18px}.close-sheet-btn{background:transparent;border:none;color:#888;font-size:20px;cursor:pointer}.sheet-body{overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:50vh}.action-sheet-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:#0006;z-index:4000;display:flex;align-items:center;justify-content:center;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.action-sheet-body{width:100%;max-width:400px;background:var(--bg-secondary, #1e1e24);border-radius:20px;padding:16px;box-shadow:0 -4px 24px #0000004d;max-height:70vh;overflow-y:auto}.forward-chat-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;cursor:pointer;background:#ffffff08;transition:background .2s ease}.forward-chat-item:strong-active,.forward-chat-item:hover{background:#ffffff14}.forward-chat-avatar{width:40px;height:40px;background:#4f46e5;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.forward-chat-name{flex:1;color:#fff;font-size:15px}.btn-send-forward{background:transparent;border:none;color:#4f46e5;font-size:18px}.chat-date-divider-container{display:flex;justify-content:center;align-items:center;margin:24px 0 16px;width:100%}.chat-date-divider-text{background:var(--bg-secondary, rgba(255, 255, 255, .08));color:var(--text-secondary, #8e8e93);font-size:12px;font-weight:500;padding:4px 14px;border-radius:12px;box-shadow:0 1px 2px #0000000d;text-transform:lowercase}.chat-date-divider-text:first-letter{text-transform:uppercase}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}textarea{overflow:hidden;-webkit-overflow-scrolling:auto;scrollbar-color:var(--border) transparent}textarea::-webkit-scrollbar{width:4px}textarea::-webkit-scrollbar-thumb{background:var(--border)}.input-area textarea{scrollbar-width:none;overflow-y:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.input-area textarea::-webkit-scrollbar{width:3px}.input-area textarea::-webkit-scrollbar-thumb{background:transparent}.input-area textarea:focus::-webkit-scrollbar-thumb{background:var(--border)}.attach-btn,button{transition:opacity .2s,background-color .2s,transform .1s}.attach-btn:hover{opacity:.8;cursor:pointer}button:hover{opacity:.9;transform:scale(1.03)}button[type=button]:hover,button[type=submit]:hover{background-color:var(--accent-light);opacity:1}.message-actions button:hover{transform:none;opacity:.8}.workout-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.workout-loading,.workout-empty,.workout-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--text-secondary)}.workout-loading{font-size:18px}.workout-empty .btn-primary,.workout-error .btn-primary{margin-top:16px}.workout-empty a,.workout-error a{font:inherit;border:none;cursor:pointer;padding:10px 16px;border-radius:10px;font-weight:500;min-height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--accent);color:#fff}.workout-empty a:hover,.workout-error a:hover{opacity:.9;transform:scale(1.03);transition:all .2s}.workout-link{font:inherit;border:none;cursor:pointer;padding:10px 16px;border-radius:10px;font-weight:500;min-height:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--accent);color:#fff;transition:opacity .2s}.workout-link:active{opacity:.7}.workout-link:hover{opacity:.9;transform:scale(1.03)}.workout-link-chat:hover{background-color:#4ade80!important;color:#0f172a!important;opacity:.85;box-shadow:0 0 14px #4ade80cc,0 0 28px #4ade8066}.workout-tracker{width:100%;padding:16px;max-width:800px;margin:0 auto}.workout-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.workout-header h2{margin:0;line-height:1}.workout-meta{display:flex;gap:12px;align-items:baseline;line-height:1;font-size:14px;color:var(--text-secondary)}.workout-start{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 0}.workout-actions{margin-top:20px;display:flex;justify-content:center}.workout-summary{background:var(--bg-secondary);border-radius:12px;padding:20px;text-align:center;border:1px solid var(--border);margin:0 auto}.workout-summary p{margin:8px 0}.workout-completed{color:#4ade80;font-weight:600}.workout-1rm-link{margin-top:24px;text-align:center}.workout-1rm-link button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.workout-1rm-link button:hover{background:var(--bg-secondary)}.workout-day{display:flex;flex-direction:column;gap:10px}.set-row{display:flex;flex-direction:column;gap:6px;padding:20px 24px;background:var(--bg-secondary);border-radius:10px;border:1px solid rgba(255,255,255,.06);margin-bottom:8px}.set-top-row{display:flex;margin-bottom:16px;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.set-number{font-weight:600;color:var(--text-secondary);font-size:14px}.set-status{font-size:14px;margin-right:4px}.set-target{font-size:14px;color:var(--text-primary)}.set-target .source-badge{font-size:12px;color:var(--text-secondary);margin-left:2px}.set-actual-row{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.set-actual-row input{flex:1;min-width:60px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:13px;text-align:center}.set-actual-row input:focus{border-color:var(--accent);outline:none}.saved-indicator-space{display:inline-block;width:24px;height:24px;align-self:center;text-align:center;flex-shrink:0}.saved-indicator{text-align:center;color:#4ade80;animation:fadeOut 2s forwards}.set-timed{font-style:italic;color:var(--accent-light);font-size:14px}.set-action-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:8px;flex-wrap:wrap}.action-left{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.action-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.action-right button{padding:8px 24px;font-size:12px;border-radius:6px;min-height:28px;background:var(--accent);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all .2s}.action-right button:hover{background:var(--accent-light);color:#fff;border-color:var(--accent)}.set-timer{font-size:16px;color:var(--text-primary)}.set-done{color:#4ade80;font-weight:500;font-size:15px}.rest-timer-wrapper{margin-top:2px}.rest-timer-wrapper .rest-timer{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:6px}.rest-timer-wrapper .rest-timer button{padding:4px 12px;font-size:12px;border-radius:4px;min-height:28px;background:var(--accent);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all .2s}.rest-timer-wrapper .rest-timer button:hover{background:var(--accent-light);color:#fff;border-color:var(--accent)}.rest-timer-wrapper .rest-timer .rest-done{color:#4ade80}.rest-timer-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:6px;margin-top:2px;flex-wrap:wrap}.rest-left{display:flex;align-items:center;gap:6px}.rest-left_timer-remaining{color:var(--text-primary);font-size:14px}.rest-left_timer-target{color:var(--text-primary)}.rest-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rest-right button{padding:8px 24px;font-size:12px;border-radius:4px;min-height:28px;background:var(--accent);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all .2s}.rest-right button:hover{background:var(--accent-light);color:#fff;border-color:var(--accent)}.set-notes{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border);padding-top:6px;margin-top:2px}.program-note{font-size:14px;color:var(--accent-light);font-style:italic}.user-note{display:flex;align-items:center;gap:6px}.set-note-input{flex:1;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:12px;resize:vertical;min-height:28px}.set-note-input:focus{border-color:var(--accent);outline:none}.delete-set-btn{align-self:flex-start;background:transparent;border:1px solid var(--border);color:var(--danger);font-size:13px;padding:10px 12px;min-height:unset;margin-top:12px;cursor:pointer;opacity:80%;transition:background .2s}.delete-set-btn:hover{background:#ff44441a;border-radius:4px}.exercise-block{display:flex;flex-direction:column}.exercise-block>*:not(:last-child){margin-bottom:8px}.exercise-block>*:nth-last-child(2){margin-bottom:0}.sets-list{display:flex;flex-direction:column;gap:8px}.exercise-actions{margin-top:8px;display:flex;gap:8px}.btn-add-set{padding:4px 12px;font-size:12px;background:transparent;border:1px dashed var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.modal-content{width:100%;max-width:400px;max-height:90vh;background:var(--bg-primary);border-radius:20px;padding:24px;display:flex;flex-direction:column;border:1px solid var(--border);box-shadow:0 20px 40px #00000080;overflow-y:auto}.modal-content h3{margin:0 0 16px;font-size:20px;text-align:center;color:var(--text-primary)}.one-rm-list{margin-bottom:16px;max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:4px 0;background:var(--bg-secondary)}.one-rm-empty{text-align:center;color:var(--text-secondary);padding:20px 0;margin:0;font-size:14px}.one-rm-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.one-rm-item:last-child{border-bottom:none}.one-rm-name{flex:1;font-weight:500;color:var(--text-primary);font-size:14px}.one-rm-group{display:flex;gap:18px}.one-rm-weight{font-size:14px;color:var(--text-secondary);min-width:60px}.one-rm-edit-form{display:flex;align-items:center;gap:6px;flex:1}.one-rm-edit-form input{flex:1;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:14px;width:70px}.one-rm-edit-form input:focus{border-color:var(--accent);outline:none}.one-rm-edit-form button{padding:4px 8px;font-size:14px;border-radius:6px;min-height:28px;background:transparent;border:none;cursor:pointer;transition:background .2s}.one-rm-edit-form .save-btn{color:#4ade80}.one-rm-edit-form .save-btn:hover{background:#4ade801a}.one-rm-edit-form .cancel-btn{color:#ef4444}.one-rm-edit-form .cancel-btn:hover{background:#ef44441a}.edit-btn,.delete-btn{background:transparent;border:none;cursor:pointer;font-size:16px;padding:4px 6px;min-height:unset;transition:background .2s;border-radius:4px}.edit-btn:hover{background:#3b82f61a}.delete-btn:hover{background:#ef44441a}.one-rm-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.form-input{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:14px;width:100%}.form-input:focus{border-color:var(--accent);outline:none}.form-submit{padding:10px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .2s}.form-submit:hover{opacity:.85}.modal-close{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px;border-radius:10px;font-size:14px;cursor:pointer;transition:background .2s}.modal-close:hover{background:var(--bg-secondary)}@media(max-width:600px){.modal-content{padding:16px;max-height:95vh}.one-rm-item{flex-wrap:wrap;gap:6px}.one-rm-name{flex-basis:100%}.one-rm-edit{flex-basis:100%;justify-content:flex-start}}.workout-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;gap:8px}.nav-back{background:transparent;border:none;color:var(--text-secondary);font-size:16px;padding:4px 8px;min-height:unset;cursor:pointer}.nav-back:hover{color:var(--text-primary)}.nav-links-desktop{display:flex;gap:6px;align-items:center}.nav-link{color:var(--accent-light);text-decoration:none;font-size:14px;padding:6px 12px;border-radius:6px;background:#ffffff0d;border:none;cursor:pointer;font-family:inherit;transition:background .2s;white-space:nowrap}.nav-link:hover{background:#ffffff1a}.nav-1rm{color:var(--accent-light)}.nav-hamburger{display:none;flex-direction:column;justify-content:space-between;width:24px;height:20px;background:transparent;border:none;padding:0;cursor:pointer;min-height:unset}.hamburger-line{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:background .2s}.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.nav-menu{width:280px;max-width:80%;height:100%;background:var(--bg-primary);padding:20px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:-4px 0 20px #0000004d;animation:slideIn .25s ease}.nav-close{align-self:flex-end;background:transparent;border:none;color:var(--text-secondary);font-size:24px;padding:4px 8px;cursor:pointer;min-height:unset}.nav-menu-item{padding:12px 16px;font-size:18px;color:var(--text-primary);text-decoration:none;border-radius:8px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .2s}.nav-menu-item:hover{background:#ffffff0d}.nav-1rm{align-self:flex-start}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.nav-links-desktop{display:none}.nav-hamburger{display:flex}}@media(min-width:601px){.nav-hamburger{display:none!important}}.workout-program{width:100%;padding:16px;max-width:800px;margin:0 auto}.workout-program-header{margin-bottom:16px}.workout-program-header h2{font-size:20px;margin-bottom:16px;text-align:center}.week-block{margin-bottom:20px}.week-block h3{font-size:18px;margin:0 0 12px;color:var(--accent-light);border-bottom:1px solid var(--border);padding-bottom:6px}.day-block{background:var(--bg-secondary);border-radius:10px;margin-bottom:12px;padding:18px 36px;border:1px solid var(--border)}.day-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;margin-bottom:12px}.day-header span:first-child{font-weight:500;font-size:14px;color:var(--text-secondary)}.day-actions{display:flex;align-items:center;cursor:pointer;gap:8px;padding:4px 0}.exercise-count{font-size:13px;color:var(--text-secondary);margin-left:auto}.toggle-icon{font-size:12px;color:var(--text-secondary);margin-left:8px;cursor:pointer}.day-exercises{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.exercise-detail{margin-bottom:14px}.exercise-detail h4{font-size:15px;margin:0 0 6px;color:var(--accent-light)}.exercise-sets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:8px}.set-detail{position:relative;background:var(--bg-primary);padding:8px 10px;border-radius:12px;font-size:14px;border:1px solid var(--border);display:inline-flex;flex-direction:column;align-items:center;gap:6px}.set-note-display{font-size:12px;color:var(--accent-light);font-style:italic;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-detail .source-badge{font-size:11px;color:var(--text-secondary);margin-left:4px}.btn-start-workout{padding:6px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:opacity .2s}.btn-start-workout:hover{opacity:.85}.btn-start-workout:disabled{opacity:.4;cursor:not-allowed}.btn-start-workout:disabled:hover{opacity:.4}.btn-set-current{margin-left:8px;padding:4px 12px;font-size:12px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;cursor:pointer}.btn-set-current:hover{background:var(--bg-primary)}.btn-set-current:disabled{opacity:.4;cursor:not-allowed}.btn-set-current:disabled:hover{opacity:.4}.btn-next{background:var(--accent);color:#fff;margin-right:8px}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-primary)}.summary-actions{display:flex;gap:6px;margin-top:20px;flex-wrap:wrap;justify-content:center}.set-notes{grid-column:1 / -1;display:flex;flex-direction:column;justify-content:center;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.set-note-input{width:90%;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:12px;resize:vertical;min-height:28px}.my-programs{padding:16px;max-width:800px;margin:0 auto}.my-programs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-create-program{background:var(--accent);color:#fff;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;transition:opacity .2s}.btn-create-program:hover{opacity:.85}.btn-copy-global{background:var(--accent);color:#fff;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;transition:opacity .2s}.btn-copy-global:disabled{opacity:.6;cursor:not-allowed}.program-list{display:flex;flex-direction:column;gap:16px}.program-card{background:var(--bg-secondary);border-radius:12px;padding:10px 20px;border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.program-info{flex:1}.program-info h3{margin:0 0 4px;font-size:18px;color:var(--text-primary)}.program-info p{margin:2px 0;font-size:14px;color:var(--text-secondary)}.program-description{font-style:italic}.program-actions{display:flex;gap:8px}.program-actions button{padding:6px 12px;font-size:14px;border-radius:6px;border:none;background:var(--accent);color:var(--text-primary);cursor:pointer;transition:background .2s}.program-actions button:hover{background:var(--accent);color:#fff}.program-actions .delete-btn:hover{background:var(--danger)}.empty-message{text-align:center;color:var(--text-secondary);font-size:16px;padding:40px 0}.global-programs-section{margin-top:30px;padding-top:20px;border-top:1px solid var(--border)}.global-programs-section h3{margin-bottom:12px;color:var(--text-primary)}.program-card.global{background:var(--bg-secondary);border-color:var(--border);opacity:.85}.btn-copy{background:var(--accent);color:#fff;padding:6px 14px;border-radius:6px;border:none;cursor:pointer}.btn-copy:disabled{opacity:.5;cursor:not-allowed}.create-program-form{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;gap:16px;align-items:center}.form-row label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.form-row input{width:60px;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:14px;text-align:center}.create-program-form .form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.program-editor{padding:16px;max-width:800px;margin:0 auto;width:100%}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.program-metadata{display:flex;flex-direction:column;gap:4px;background:var(--bg-secondary);padding:16px;border-radius:12px;margin-bottom:20px;border:1px solid var(--border)}.meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.meta-row-labels{display:flex;align-items:center;justify-content:space-between;gap:12px}.meta-row label{display:flex;flex-wrap:wrap;max-width:150px;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.days-editor{display:flex;flex-direction:column;gap:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.day-editor{background:var(--bg-secondary);padding:12px 16px;border-radius:12px;border:1px solid var(--border)}.day-editor .day-header{padding:4px 8px}.day-editor .day-header_input{display:flex;align-items:center;gap:12px}.day-header_input_week,.day-header_input_day{display:flex;gap:6px}.day-header .rest-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);cursor:pointer}.exercises-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:8px}.exercise-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--bg-primary);border-radius:6px;border:1px solid rgba(255,255,255,.05)}.exercise-name{font-size:14px}.exercise-actions{display:flex;gap:6px}.btn-add-exercise{background:transparent;border:1px dashed var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn-add-exercise:hover{border-color:var(--accent);color:var(--accent-light)}.exercise-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.exercise-form{background:var(--bg-primary);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:20px;border:1px solid var(--border);box-shadow:0 20px 40px #00000080}.form-header{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:20px}.form-body{display:flex;flex-direction:column;gap:12px}.exercise-form .checkbox-label{display:flex;gap:6px;align-items:center;line-height:1}.form-body h4{margin-top:10px}.sets-table{display:flex;flex-direction:column;gap:6px}.sets-header{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;font-size:12px;color:var(--text-secondary);padding:4px 0}.set-row-editor{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;align-items:center}.form-input-small{padding:4px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:13px;width:100%}.form-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.btn-add-set{padding:4px 12px;font-size:12px;background:transparent;border:1px dashed var(--border);color:var(--text-secondary);border-radius:4px;cursor:pointer;margin-top:4px}.btn-add-set:hover{border-color:var(--accent);color:var(--accent-light)}.workout-statistics{padding:16px;max-width:800px;margin:0 auto;width:100%}.stats-header{margin-bottom:20px}.stats-summary{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:24px;border:1px solid var(--border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary)}.stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.stats-days h3{margin-bottom:12px}.pr-summary{margin-bottom:24px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);overflow:hidden}.pr-header{padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.pr-header:hover{background:#ffffff08}.pr-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.pr-list{padding:0 16px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.pr-item{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:var(--bg-primary);border-radius:8px;border:1px solid rgba(255,255,255,.05)}.pr-name{font-size:14px;color:var(--text-primary)}.pr-weight{font-size:14px;font-weight:600;color:var(--accent-light)}.no-data{grid-column:1 / -1;text-align:center;color:var(--text-secondary);padding:12px 0;font-size:14px}.day-stat-block{background:var(--bg-secondary);border-radius:10px;margin-bottom:12px;border:1px solid var(--border);padding:10px 20px}.day-stat-header{display:flex;justify-content:space-between;align-items:baseline;cursor:pointer}.day-stat-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.day-stat-meta{display:flex;gap:12px;font-size:13px;color:var(--text-secondary);margin-left:12px}.meta-item{display:inline-flex;gap:4px}.exercise-stat{margin-bottom:12px}.exercise-stat h4{font-size:14px;margin-bottom:6px;color:var(--accent-light)}.exercise-stat-sets{display:flex;flex-direction:column;gap:4px;padding-left:12px}.set-stat{display:flex;gap:12px;font-size:13px;color:var(--text-secondary);padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03)}.set-stat span:first-child{font-weight:500;color:var(--text-primary);min-width:36px}.no-data{color:var(--text-secondary);font-size:13px;font-style:italic}@media(max-width:600px){.workout-tracker,.workout-program{padding:20px}.day-block{padding:10px 20px}.day-header{margin-bottom:8px}.day-actions{justify-content:space-between}.set-row{padding:10px 12px}.set-top-row{gap:4px}.set-actual-row{align-items:stretch}.set-actual-row input{width:100%}.user-note{align-items:stretch}.sets-header,.set-row-editor{grid-template-columns:1fr 1fr;gap:4px}.sets-header span:last-child,.set-row-editor .btn-delete{grid-column:1 / -1}.my-programs{padding:20px}.my-programs-header{gap:20px;margin-bottom:10px}.program-card{padding:12px 24px}.meta-row-labels{width:100%}.meta-row .btn-save{margin:0 auto}.day-editor .day-header_input{flex-direction:column;align-items:flex-end}.sets-header{display:none}.set-row-editor{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid var(--border)}.set-row-editor .form-input-small{width:100%}.set-row-editor .btn-delete{align-self:flex-end;margin-top:4px}.exercise-form{padding:16px;max-height:95vh}.workout-statistics{padding:20px}.day-stat-date{padding-right:14px;font-size:14px}.day-stat-meta{gap:4px;margin-left:0}.meta-item{gap:2px}}
