@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;900&family=Roboto+Mono:wght@500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;900&display=swap);body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{-webkit-tap-highlight-color:transparent}.nav-item,[role=button],a,button,header,nav{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.friends-modal-overlay{align-items:flex-start;background:#000c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:2rem 1rem 1rem;position:fixed;right:0;top:0;z-index:999}.friends-modal-content{background-color:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);margin-top:60px;max-height:85vh;max-width:500px;overflow-y:auto;width:100%}@media (max-width:768px){.friends-modal-overlay{padding:1rem}.friends-modal-content{margin-top:100px;max-height:calc(100vh - 140px)}.friends-tabs-container{margin-bottom:1rem}.friends-tabs{gap:.25rem;grid-template-columns:repeat(2,1fr)}.friends-tab{font-size:.75rem;min-height:40px;padding:.6rem .4rem}.friends-modal-body{padding:1rem}}.friends-modal-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.friends-modal-header h2{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin:0}.friends-modal-body{padding:1.5rem}.friends-tabs-container{border-radius:8px;margin-bottom:1.5rem;overflow:hidden;position:relative}.friends-tabs{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);isolation:isolate;margin-bottom:0;padding-bottom:0;position:relative;touch-action:manipulation}.friends-tabs:after,.friends-tabs:before{bottom:.5rem;content:"";opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease;width:20px;z-index:1}.friends-tabs:before{background:linear-gradient(to right,var(--card-bg),#0000);left:0}.friends-tabs:after{background:linear-gradient(to left,var(--card-bg),#0000);right:0}.friends-tabs.scrollable-left:before,.friends-tabs.scrollable-right:after{opacity:1}.friends-tab{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--bg-color);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;justify-content:center;min-height:44px;padding:.75rem .5rem;text-align:center;touch-action:manipulation;transition:all .3s ease;white-space:nowrap}.friends-tab.active{background-color:var(--highlight-color);color:#fff}.friends-tab:hover:not(.active){background-color:var(--accent-color);color:var(--primary-color)}.friends-tab-content{min-height:200px}.friends-list{display:flex;flex-direction:column;gap:1rem}.friend-item{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;gap:1rem;padding:1rem}.friend-avatar,.friend-item{align-items:center;display:flex}.friend-avatar{background-color:var(--accent-color);border-radius:50%;color:var(--primary-color);flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;overflow:hidden;width:40px}.avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.friend-info{flex:1 1;min-width:0}.friend-username{color:var(--primary-color);font-size:.95rem;font-weight:600;word-break:break-word}.friend-email{color:var(--text-secondary)}.friend-email,.friend-status{font-size:.75rem;margin-top:.25rem}.friend-status{color:var(--warning-color);font-style:italic}.friend-actions{display:flex;flex-shrink:0;gap:.5rem}.friends-empty{font-size:.95rem}.friends-empty,.friends-loading{color:var(--text-secondary);padding:2rem 1rem;text-align:center}.friends-search-box{display:flex;gap:.5rem;margin-bottom:1.5rem}.friends-search-input{background-color:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .3s ease}.friends-search-input:focus{border-color:var(--highlight-color);box-shadow:0 0 0 3px #2e7d501f;outline:none}.btn-small{font-size:.8rem}.btn-secondary:hover{background-color:var(--highlight-color);transform:translateY(-2px)}.steps-card{align-items:center;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;position:relative}.steps-card-close{background:#0000;border:none;border-radius:6px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:.95rem;line-height:1;padding:.25rem;position:absolute;right:.6rem;top:.5rem}.steps-card-close:hover{background:#ffffff0d;color:#dfeee4;color:var(--text-primary,#dfeee4)}.steps-card-show{align-items:center;background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:999px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:inline-flex;font-size:.82rem;gap:.4rem;margin:0 0 1rem;padding:.45rem .8rem}.steps-card-show:hover{color:#dfeee4;color:var(--text-primary,#dfeee4)}.steps-card-ring-wrap{flex-shrink:0;height:64px;position:relative;width:64px}.steps-card-ring{height:100%;transform:rotate(-90deg);width:100%}.steps-ring-track{fill:none;stroke:#ffffff29;stroke-width:3}.steps-ring-fill{fill:none;stroke:#2ecc71;stroke:var(--success-color,#2ecc71);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:100,100;stroke-dashoffset:100;transition:stroke-dashoffset .4s ease}.steps-card-ring-center{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.steps-card-icon{font-size:1.4rem;line-height:1}.steps-card-body{flex:1 1;min-width:0}.steps-card-count{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.steps-card-unit{font-size:.95rem;font-weight:500}.steps-card-sub,.steps-card-unit{color:#9aa79a;color:var(--text-secondary,#9aa79a)}.steps-card-sub{font-size:.8rem;margin-top:.2rem}.steps-card-sub--muted{font-style:italic;opacity:.85}.steps-card-edit-trigger{background:#0000;border:none;color:#2e7d50;color:var(--highlight-color,#2e7d50);cursor:pointer;font-size:.8rem;font-weight:600;margin-top:.45rem;padding:0;text-decoration:underline;text-underline-offset:2px}.steps-card-edit{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.steps-card-input{background:#1a1d1c;background:var(--bg-color,#1a1d1c);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;color:#dfeee4;color:var(--text-primary,#dfeee4);flex:1 1;font-size:.9rem;min-width:110px;padding:.4rem .6rem}.steps-card-btn{background:#2e7d50;background:var(--highlight-color,#2e7d50);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .7rem}.steps-card-btn--ghost{background:#0000;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);color:#9aa79a;color:var(--text-secondary,#9aa79a)}.toast-stack{display:flex;flex-direction:column;gap:.5rem;left:50%;max-width:420px;pointer-events:none;position:fixed;top:1rem;transform:translateX(-50%);width:calc(100% - 2rem);z-index:10000}.toast{align-items:center;animation:toastIn .22s cubic-bezier(.22,.61,.36,1);background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-left-width:4px;border-radius:12px;box-shadow:0 10px 28px #00000073,0 2px 6px #00000040;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;line-height:1.35;padding:.85rem 1rem;pointer-events:auto}.toast--leaving{animation:toastOut .2s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px)}}.toast-icon{align-items:center;border-radius:50%;color:#0d1f17;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:26px;justify-content:center;width:26px}.toast-message{flex:1 1;font-weight:500}.toast--success{border-left-color:#2ecc71;border-left-color:var(--success-color,#2ecc71)}.toast--success .toast-icon{background:#2ecc71;background:var(--success-color,#2ecc71)}.toast--error{border-left-color:#e74c3c}.toast--error .toast-icon{background:#e74c3c;color:#fff}.toast--info{border-left-color:#9aa79a;border-left-color:var(--text-secondary,#9aa79a)}.toast--info .toast-icon{background:#9aa79a;background:var(--text-secondary,#9aa79a);color:#242a28;color:var(--card-bg,#242a28)}.feed-page{display:flex;flex-direction:column;min-height:100vh}.feed-header{background-color:var(--bg-color);border-bottom:1px solid var(--border-color);left:0;padding:1.25rem 1rem 1rem;position:fixed;right:0;top:0;z-index:100}@media (min-width:768px){.feed-header{padding:1.5rem 3rem 1.25rem}}.feed-header-content{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin:0 auto;max-width:1400px;width:100%}.feed-header h1{color:var(--primary-color);flex:1 1;font-size:1.5rem;font-weight:700;margin:0;min-width:0;text-align:center}.btn-friends-icon{align-items:center;background-color:var(--secondary-color);border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;padding:.75rem;position:relative;transition:all .3s ease;width:44px}.btn-friends-icon:hover{background-color:var(--highlight-color);transform:translateY(-2px)}.friends-icon{height:24px;object-fit:contain;width:24px}.friends-badge{font-feature-settings:"tnum";animation:friends-badge-pulse 2.4s ease-in-out infinite;background:#e74c3c;border:2px solid #1a3026;border:2px solid var(--secondary-color,#1a3026);border-radius:999px;box-shadow:0 0 0 1px #e74c3c59;color:#fff;font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 5px;pointer-events:none;position:absolute;right:-4px;text-align:center;top:-4px}@keyframes friends-badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.btn-friends-icon:hover .friends-badge{border-color:var(--highlight-color)}.feed-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.feed-container{flex:1 1;margin:0 auto;max-width:1400px;padding:1.5rem;width:100%}@media (min-width:768px){.feed-container{padding:1.5rem}}.workouts-list{display:flex;flex-direction:column;gap:1.5rem}.workout-card{position:relative}.workout-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.avatar{font-size:18px;font-weight:700;height:48px;width:48px}.avatar,.avatar-small{align-items:center;background-color:var(--accent-color);background-position:50%;background-size:cover;border-radius:50%;color:var(--primary-color);display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.avatar-small{font-size:.875rem;font-weight:600;height:36px;width:36px}.workout-info{flex:1 1;min-width:0}.username{color:var(--primary-color);font-size:1rem;font-weight:600;margin:0;word-break:break-word}.workout-time{color:var(--text-secondary);font-size:.75rem;margin:.25rem 0 0}.session-image{border-radius:8px;display:block;margin:0 -1.5rem 1rem;width:calc(100% + 3rem)}.session-name{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.session-type{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.participants{font-size:.875rem;margin-bottom:.75rem;padding:.75rem 1rem}.notes,.participants{background-color:var(--bg-color);border-left:3px solid var(--highlight-color);border-radius:8px;color:var(--text-primary)}.notes{font-style:italic;margin-bottom:1rem;padding:1rem}.actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;padding-top:1rem}.action-btn{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.action-btn:hover{background-color:var(--bg-color);color:var(--highlight-color)}.action-btn.liked{color:var(--danger-color)}.action-btn:disabled{cursor:not-allowed;opacity:.5}.modal{-webkit-overflow-scrolling:touch;background:#000c;display:none;inset:0;overflow-y:auto;position:fixed;z-index:999}body.modal-open{overflow:hidden;position:fixed;width:100%}.modal.active{align-items:flex-start;display:flex;justify-content:center;padding:calc(2rem + 20px + env(safe-area-inset-top, 0px)) 1rem 1rem}.modal-content{background-color:var(--card-bg);border-radius:12px;box-shadow:var(--shadow);margin:auto;max-height:calc(100vh - 4rem);max-width:700px;overflow-y:auto;position:relative;width:100%}@media (max-width:768px){.modal.active{padding:calc(1rem + 20px + env(safe-area-inset-top, 0px)) .5rem .5rem}.modal-content{margin-top:0;max-height:calc(100vh - 6rem)}}.modal-header{align-items:center;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header h2{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin:0}.modal-body{padding:1.5rem}.close-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.close-btn:hover{color:var(--highlight-color)}.exercises-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.exercises-section h4{color:var(--primary-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.exercises-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.exercise-card{background-color:var(--bg-color);border-left:3px solid var(--highlight-color);border-radius:8px;padding:1rem}.exercise-name{color:var(--primary-color);margin-bottom:1rem}.exercise-sets{display:flex;flex-direction:column;gap:.5rem}.set-info{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;gap:1rem;justify-content:space-between;padding:.5rem 0}.set-label{color:var(--text-secondary);font-weight:500;min-width:80px}.set-value{color:var(--text-primary);flex:1 1;font-weight:500}.likes-section{display:flex;gap:1rem;margin-top:1rem;padding:1rem 0}.comments-section,.likes-section{border-top:1px solid var(--border-color)}.comments-section{margin-top:1.5rem;padding-top:1.5rem}.comments-section h4{color:var(--primary-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.comment{display:flex;gap:.75rem;margin-bottom:1rem}.comment-avatar{align-items:center;background-color:var(--accent-color);border:2px solid #2e7d5033;border-radius:50%;color:var(--primary-color);display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.comment-content{flex:1 1;min-width:0}.comment-username{color:var(--primary-color);font-weight:600;margin-right:.5rem;word-break:break-word}.comment-text{color:var(--text-primary);margin:.25rem 0;word-break:break-word}.comment-time{color:var(--text-secondary)}.comment-time,.delete-comment-btn{font-size:.75rem;margin-top:.25rem}.delete-comment-btn{background:none;border:none;color:var(--danger-color);cursor:pointer;padding:0;text-decoration:underline;transition:color .2s}.delete-comment-btn:hover{color:#c0392b}.comment-actions{align-items:center;display:flex;gap:.85rem;margin-top:.25rem}.comment--reply{border-left:2px solid #2ecc7140;margin-left:2.2rem;padding-left:.8rem}@media (max-width:480px){.comment--reply{margin-left:1.4rem;padding-left:.6rem}}.reply-btn{background:none;border:none;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline;transition:color .2s}.reply-btn:hover{color:#2ecc71;color:var(--success-color,#2ecc71)}.comment-form-wrap{margin-top:1rem}.reply-banner{align-items:center;background:#2ecc711a;border:1px solid #2ecc714d;border-radius:8px 8px 0 0;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;font-size:.85rem;gap:.6rem;justify-content:space-between;margin-bottom:.5rem;padding:.45rem .75rem}.reply-banner strong{color:#2ecc71;color:var(--success-color,#2ecc71);font-weight:600}.reply-banner-cancel{background:none;border:none;border-radius:4px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .4rem;transition:background-color .15s}.reply-banner-cancel:hover{background:#ffffff14;color:#dfeee4;color:var(--text-primary,#dfeee4)}.comment-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.comment-form .comment-input{flex:1 1 auto;min-width:0}.comment-form .btn{flex-shrink:0;white-space:nowrap}.comment-input{background-color:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.875rem;padding:.75rem 1rem;transition:all .3s ease}.comment-input:focus{border-color:var(--highlight-color);box-shadow:0 0 0 3px #2e7d501f;outline:none}.btn{background-color:var(--highlight-color);color:#fff}.btn:hover:not(:disabled){box-shadow:0 4px 12px #2e7d504d;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-secondary:hover:not(:disabled){background-color:var(--highlight-color)}.empty{color:var(--text-secondary);padding:3rem 1.5rem;text-align:center}.empty p{font-size:1rem;margin:0}.error-message{background-color:#e74c3c1a;border:1px solid #e74c3c4d;border-left:3px solid var(--danger-color);border-radius:8px;color:#ff7675;margin-bottom:1.5rem;padding:1rem}.load-more-container{display:flex;justify-content:center;padding:2rem 0}.loading{color:var(--text-secondary);font-size:1rem;padding:3rem 1.5rem;text-align:center}@media (max-width:768px){.card,.feed-container{padding:1rem}.session-image{height:150px}.actions{gap:.5rem}.action-btn{font-size:.75rem;padding:.5rem .75rem}}.exercise-item1{align-items:center;background-color:var(--bg-color);border-radius:8px;gap:1rem;margin-bottom:.5rem;padding:1rem;transition:background-color .2s ease}@media (min-width:768px){.workouts-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}}.workout-notes-section{background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:10px;padding:.75rem .9rem}.workout-notes-header{align-items:center;color:#9aa79a;color:var(--text-secondary,#9aa79a);display:flex;font-size:.92rem;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.workout-notes-header strong{color:#dfeee4;color:var(--text-primary,#dfeee4)}.workout-notes-edit-btn{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:.85rem;padding:2px 8px;transition:background .15s,color .15s,border-color .15s}.workout-notes-edit-btn:hover{background:#2ecc711a;border-color:#2ecc71;border-color:var(--success-color,#2ecc71);color:#2ecc71;color:var(--success-color,#2ecc71)}.workout-notes-empty{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.92rem;opacity:.7}.workout-notes-edit{display:flex;flex-direction:column;gap:.5rem}.workout-notes-textarea{background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;color:#dfeee4;color:var(--text-primary,#dfeee4);font-family:inherit;font-size:.95rem;min-height:70px;outline:none;padding:.6rem .75rem;resize:vertical;transition:border-color .15s;width:100%}.workout-notes-textarea:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.workout-notes-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.feed-superset-block{background:#2ecc710d;border:1px solid #2ecc7138;border-radius:10px;margin-bottom:.75rem;padding:.75rem}.feed-superset-header{align-items:center;color:#2ecc71;color:var(--success-color,#2ecc71);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.feed-superset-icon{font-size:.85rem}.exercise-item1--in-superset .exercise-name{align-items:center;display:flex;gap:.5rem}.feed-superset-letter{align-items:center;background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:50%;color:#0f2a22;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:800;height:22px;justify-content:center;width:22px}.android-app-link{align-items:center;background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:10px;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;gap:.75rem;padding:.7rem .9rem;text-decoration:none;transition:background-color .15s,border-color .15s,transform .1s}.android-app-link:hover{background:#2ecc7114;border-color:#2ecc7159}.android-app-link:active{transform:translateY(1px)}.android-app-link-icon{flex-shrink:0;font-size:1.5rem}.android-app-link-text{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.android-app-link-text strong{color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.95rem;font-weight:600}.android-app-link-text small{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.78rem}.android-app-link-chevron{color:#9aa79a;color:var(--text-secondary,#9aa79a);flex-shrink:0;font-size:1.2rem}.android-app-link--auth{margin-top:1rem}.android-app-link--card{margin-top:.25rem}.auth-container{align-items:center;background-color:#1a1d1c;display:flex;justify-content:center;padding:1rem;position:relative}.auth-card{background-color:#242a28;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;padding:2rem;width:100%}@media (min-width:768px){.auth-card{max-width:80%;padding:3rem;width:40%}}@media (max-width:768px){.auth-card{margin-top:5%}}.auth-header{margin-bottom:2rem;text-align:center}.auth-title{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);font-size:1rem}.auth-form{margin-bottom:1.5rem}.btn-block{margin-top:.5rem;width:100%}.auth-footer{border-top:1px solid var(--border-color);padding-top:1.5rem;text-align:center}.auth-link{color:var(--primary-color);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.share-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000a6;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.share-modal{animation:shareModalIn .22s ease;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;max-height:85vh;max-width:420px;width:100%}@keyframes shareModalIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.share-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.2rem 1.4rem .8rem}.share-modal-header h2{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.share-modal-close{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:background .15s,color .15s}.share-modal-close:hover{background:#ffffff12;color:var(--text-primary)}.share-modal-session{align-items:center;background:var(--accent-color);border-radius:10px;display:flex;gap:.6rem;margin:1rem 1.4rem 0;padding:.6rem 1rem}.share-session-icon{font-size:1.2rem}.share-session-name{color:var(--text-primary);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-modal-hint{color:var(--text-secondary);font-size:.82rem;line-height:1.5;padding:.8rem 1.4rem .4rem}.share-modal-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.8rem;padding:2rem 1.4rem}.share-spinner{animation:spin .7s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--highlight-color);flex-shrink:0;height:20px;width:20px}.share-modal-empty{color:var(--text-secondary);font-size:.88rem;line-height:1.6;padding:2rem 1.4rem;text-align:center}.share-friends-list{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:.5rem 0}.share-friend-item{align-items:center;cursor:pointer;display:flex;gap:.9rem;padding:.7rem 1.4rem;transition:background .15s;-webkit-user-select:none;user-select:none}.share-friend-item:hover{background:#ffffff0a}.share-friend-item.selected{background:#2e7d501f}.share-friend-avatar{align-items:center;background:var(--accent-color);border-radius:50%;color:var(--highlight-color);display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;overflow:hidden;width:40px}.share-friend-avatar img{height:100%;object-fit:cover;width:100%}.share-friend-name{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:500}.share-friend-check{align-items:center;border:2px solid var(--text-secondary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;transition:background .15s,border-color .15s;width:22px}.share-friend-check.checked{background:var(--highlight-color);border-color:var(--highlight-color)}.share-modal-error,.share-modal-success{border-radius:8px;font-size:.85rem;line-height:1.5;margin:.5rem 1.4rem 0;padding:.7rem 1rem}.share-modal-error{background:#e74c3c26;border:1px solid #e74c3c4d;color:#e74c3c}.share-modal-success{background:#2ecc711f;border:1px solid #2ecc7140;color:#2ecc71}.share-modal-footer{border-top:1px solid var(--border-color);display:flex;gap:.7rem;justify-content:flex-end;padding:1rem 1.4rem 1.2rem}.sessions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.session-card{position:relative;transition:all .3s ease}.session-card.with-background-image,.session-card.with-background-image .card-title{color:#fff}.session-card.with-background-image .card-subtitle{color:#ffffffe6}.qojim-certif-badge{height:50px;object-fit:contain;position:absolute;right:10px;top:10px;width:50px;z-index:1}.session-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.ml-1{margin-left:.5rem}@media (max-width:768px){.sessions-grid{grid-template-columns:1fr}.session-actions{flex-direction:column}.session-actions .btn{width:100%}}.btn-share{background-color:#1a6fa0;border:none;color:#fff}.btn-share:hover{background-color:#155c87}.btn-share-inbox{align-items:center;background-color:var(--accent-color);border:1px solid var(--highlight-color);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;gap:.35rem;padding:.45rem .9rem;position:relative;transition:background .2s}.btn-share-inbox:hover{background-color:var(--highlight-color);color:#fff}.share-inbox-badge{align-items:center;background:#e74c3c;border-radius:9px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px}.share-notification-banner{align-items:center;animation:bannerSlideIn .3s ease;background:linear-gradient(135deg,#1a3d2b,#254d37);border:1px solid var(--highlight-color);border-radius:10px;cursor:pointer;display:flex;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1.1rem;transition:opacity .2s}.share-notification-banner:hover{opacity:.88}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.share-notification-icon{flex-shrink:0;font-size:1.3rem}.share-notification-text{color:var(--text-primary);flex:1 1;font-size:.95rem}.share-notification-cta{color:var(--highlight-color);flex-shrink:0;font-size:.9rem;font-weight:600}.pending-shares-modal{max-width:540px;width:95%}.pending-shares-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;max-height:60vh;overflow-y:auto;padding:0 4px 0 0}.pending-share-item{grid-gap:.75rem;align-items:start;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;display:grid;gap:.75rem;grid-template-columns:48px 1fr auto;padding:.85rem}.pending-share-sender-avatar{align-items:center;background:var(--accent-color);border-radius:50%;color:var(--highlight-color);display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:48px;justify-content:center;overflow:hidden;width:48px}.pending-share-sender-avatar img{height:100%;object-fit:cover;width:100%}.pending-share-info{min-width:0}.pending-share-from{color:var(--text-primary);font-size:.88rem;margin:0 0 .5rem}.pending-share-session-box{align-items:center;background:#ffffff0f;border-radius:8px;display:flex;gap:.6rem;padding:.55rem .75rem}.pending-share-session-img{border-radius:6px;flex-shrink:0;height:48px;object-fit:cover;width:48px}.pending-share-session-name{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-share-exercise-count,.pending-share-session-type{color:#ffffff8c;font-size:.78rem;margin:.15rem 0 0}.pending-share-actions{display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}@media (max-width:480px){.pending-share-item{grid-template-columns:40px 1fr;grid-template-rows:auto auto}.pending-share-actions{flex-direction:row;grid-column:1/-1}.pending-share-actions .btn{flex:1 1}.share-notification-text{font-size:.85rem}}.empty-workout-cta{align-items:center;background:linear-gradient(135deg,#2ecc7126,#2ecc710d);border:1px solid #2ecc7166;border-radius:14px;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;display:flex;gap:.9rem;margin:0 0 1rem;padding:.95rem 1rem;text-align:left;transition:transform .15s ease,background .15s ease,border-color .15s ease;width:100%}.empty-workout-cta:hover:not(:disabled){background:linear-gradient(135deg,#2ecc7138,#2ecc7114);border-color:#2ecc7199;transform:translateY(-1px)}.empty-workout-cta:disabled{cursor:progress;opacity:.6}.empty-workout-cta-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.empty-workout-cta-text{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.empty-workout-cta-text strong{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:1rem;font-weight:700}.empty-workout-cta-text small{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.8rem}.empty-workout-cta-arrow{color:#2ecc71;color:var(--success-color,#2ecc71);flex-shrink:0;font-size:1.2rem}.qojim-cta{align-items:center;background:linear-gradient(135deg,#ffffff0a,#ffffff03);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:14px;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;display:flex;gap:.9rem;margin:1rem 0 0;padding:.95rem 1rem;text-align:left;transition:transform .15s ease,background .15s ease,border-color .15s ease;width:100%}.qojim-cta:hover{background:linear-gradient(135deg,#2ecc711f,#2ecc710a);border-color:#2ecc7180;transform:translateY(-1px)}.qojim-cta-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.qojim-cta-text{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.qojim-cta-text strong{color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1rem;font-weight:700}.qojim-cta-text small{font-size:.8rem}.qojim-cta-arrow,.qojim-cta-text small{color:#9aa79a;color:var(--text-secondary,#9aa79a)}.qojim-cta-arrow{flex-shrink:0;font-size:1.2rem;transition:color .15s,transform .15s}.qojim-cta:hover .qojim-cta-arrow{color:#2ecc71;color:var(--success-color,#2ecc71);transform:translateX(2px)}.superset-block{background-color:#2ecc710f;border:1px solid #2ecc7133;border-radius:10px;margin-bottom:.75rem;padding:.75rem}.superset-block-header{align-items:center;color:#2ecc71;color:var(--success-color,#2ecc71);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.superset-block-icon{font-size:.85rem}.superset-connector-mini{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:.85rem;opacity:.7;pointer-events:none;position:absolute;right:.6rem;top:50%;transform:translateY(-50%)}.superset-block .exercise-item{position:relative}.superset-block .exercise-item--in-superset{background-color:initial;border-left:none;padding-left:1rem}.superset-block .exercise-item--in-superset:hover{background-color:#2ecc710d}.rtp-overlay{align-items:center;animation:rtp-fade .15s ease-out;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}@keyframes rtp-fade{0%{opacity:0}to{opacity:1}}.rtp-modal{animation:rtp-slide .2s ease-out;background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:18px;box-shadow:0 16px 48px #0000008c;color:#dfeee4;color:var(--text-primary,#dfeee4);max-width:280px;padding:1rem 1rem .75rem;width:100%}@keyframes rtp-slide{0%{opacity:.5;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.rtp-title{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.95rem;font-weight:600;letter-spacing:.02em;margin-bottom:.5rem;text-align:center}.rtp-wheel{height:220px;margin:0 auto;overflow:hidden;position:relative}.rtp-window{background:#2ecc711a;border-bottom:1px solid #2ecc7159;border-radius:6px;border-top:1px solid #2ecc7159;height:44px;left:0;pointer-events:none;position:absolute;right:0;top:88px}.rtp-list{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.rtp-list::-webkit-scrollbar{display:none}.rtp-spacer{flex-shrink:0;height:44px}.rtp-item{font-feature-settings:"tnum";background:#0000;border:0;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:block;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:500;height:44px;line-height:44px;padding:0;scroll-snap-align:center;scroll-snap-stop:always;text-align:center;transition:color .15s,font-weight .15s,transform .15s;width:100%}.rtp-item--selected{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:1.2rem;font-weight:700}.rtp-actions{display:flex;gap:.5rem;margin-top:.75rem}.rtp-btn{border:1px solid #0000;border-radius:10px;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:.6rem 0;transition:all .15s}.rtp-btn--ghost{background:#0000;border-color:#ffffff1a;border-color:var(--border-color,#ffffff1a);color:#9aa79a;color:var(--text-secondary,#9aa79a)}.rtp-btn--ghost:hover{background:#ffffff0a;color:#dfeee4;color:var(--text-primary,#dfeee4)}.rtp-btn--primary{background:#2ecc71;background:var(--success-color,#2ecc71);color:#0d1f17}.rtp-btn--primary:hover{filter:brightness(1.05)}.exercise-params{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.exercise-item{align-items:center;background-color:var(--bg-color);border-radius:8px;display:flex;gap:1rem;margin-bottom:.5rem;padding:1rem;transition:background-color .2s ease}.exercise-item:hover{background-color:#1c201f}.exercise-grip{color:var(--text-secondary);cursor:grab;font-size:1.5rem;-webkit-user-select:none;user-select:none}.exercise-item:active .exercise-grip{cursor:grabbing}.exercise-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.exercise-info strong{color:var(--text-primary)}.text-secondary{color:var(--text-secondary);font-size:.875rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.checkbox-label{align-items:center;cursor:pointer;display:flex}.checkbox-label input[type=checkbox]{margin-right:.5rem;width:auto}@media (max-width:768px){.exercise-params{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.rest-picker-trigger{font-feature-settings:"tnum";align-items:center;cursor:pointer;display:inline-flex;font-variant-numeric:tabular-nums;font-weight:500;gap:.4rem;justify-content:flex-start;text-align:left}.rest-picker-trigger:hover{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.superset-header{gap:.4rem;margin-bottom:.25rem;margin-top:.5rem;padding-left:.25rem}.superset-header-icon{font-size:.85rem}.exercise-item--in-superset{background-color:#2ecc710a;border-left:3px solid #2ecc71;border-left:3px solid var(--success-color,#2ecc71);padding-left:.75rem}.exercise-item--in-superset:hover{background-color:#2ecc7112}.exercise-item--superset-first{border-top-left-radius:8px;border-top-right-radius:8px}.exercise-item--superset-last{border-bottom-left-radius:8px;border-bottom-right-radius:8px;margin-bottom:.5rem}.exercise-superset-letter{align-items:center;background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:50%;color:#0f2a22;display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:26px;justify-content:center;width:26px}.superset-connector{font-weight:600;margin-bottom:.1rem;margin-top:-.25rem;opacity:.85;padding:.25rem 0}.exercise-actions{align-items:center;display:flex;flex-shrink:0;gap:.4rem}.btn-icon{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.95rem;height:32px;transition:all .15s;width:32px}.btn-icon:hover{background:#2ecc7114;border-color:#2ecc71;border-color:var(--success-color,#2ecc71);color:#2ecc71;color:var(--success-color,#2ecc71)}.btn-icon--unlink:hover{background:#e74c3c14;border-color:#e74c3c;border-color:var(--danger-color,#e74c3c);color:#e74c3c;color:var(--danger-color,#e74c3c)}.qojim-description{background-color:var(--card-bg);border-left:4px solid gold;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.qojim-card{border:2px solid gold;position:relative}.qojim-card.with-background-image{border:2px solid #ffd700b3;color:#fff}.qojim-card.with-background-image .card-title{color:#fff}.qojim-card.with-background-image .card-subtitle{color:#ffffffe6}.qojim-card.with-background-image .qojim-creator{color:#fffc}.qojim-badge-wrapper{margin-bottom:.75rem}.qojim-creator{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin-top:.5rem}.qojim-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}@media (max-width:768px){.qojim-actions{flex-direction:column}.qojim-actions .btn{width:100%}}.confirm-overlay{align-items:center;animation:confirmFadeIn .18s ease-out;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10500}.confirm-overlay--leaving{animation:confirmFadeOut .18s ease forwards}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmFadeOut{to{opacity:0}}.confirm-modal{animation:confirmSlideIn .22s cubic-bezier(.22,.61,.36,1);background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:16px;box-shadow:0 18px 50px #0000008c,0 4px 12px #0000004d;color:#dfeee4;color:var(--text-primary,#dfeee4);max-width:380px;padding:1.25rem 1.25rem 1rem;width:100%}@keyframes confirmSlideIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.confirm-title{color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.08rem;font-weight:700;margin-bottom:.5rem}.confirm-message{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.95rem;line-height:1.45;margin-bottom:1.1rem;white-space:pre-line}.confirm-actions{display:flex;gap:.6rem;justify-content:flex-end}.confirm-btn{border:1px solid #0000;border-radius:10px;cursor:pointer;flex:0 0 auto;font-size:.92rem;font-weight:600;min-width:100px;padding:.6rem 1rem;transition:filter .15s,background .15s,border-color .15s,color .15s}.confirm-btn--ghost{background:#0000;border-color:#ffffff1f;border-color:var(--border-color,#ffffff1f);color:#9aa79a;color:var(--text-secondary,#9aa79a)}.confirm-btn--ghost:hover{background:#ffffff0a;color:#dfeee4;color:var(--text-primary,#dfeee4)}.confirm-btn--primary{background:#2ecc71;background:var(--success-color,#2ecc71);color:#0d1f17}.confirm-btn--primary:hover{filter:brightness(1.05)}.confirm-btn--danger{background:#e74c3c;color:#fff}.confirm-btn--danger:hover{filter:brightness(1.07)}@media (max-width:480px){.confirm-actions{flex-direction:column-reverse}.confirm-btn{padding:.75rem 1rem;width:100%}}.workout-page{margin:calc(170px + env(safe-area-inset-top, 0px)) auto 0;max-width:800px;padding:1rem}.workout-header{margin-bottom:1.5rem}.workout-minimize-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:50%;color:#ffffffbf;cursor:pointer;display:flex;font-size:1.3rem;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:calc(28px + env(safe-area-inset-top, 0px));transition:background .15s,color .15s,transform .1s;width:36px;z-index:2}.workout-minimize-btn:focus-visible,.workout-minimize-btn:hover{background:#ffffff24;color:#fff;outline:none}.workout-minimize-btn:active{transform:scale(.94)}.workout-minimize-icon{display:block;height:18px;width:18px}.workout-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.workout-subtitle{color:var(--text-secondary);font-size:.875rem}.workout-timer{background:var(--secondary-color);box-shadow:0 4px 15px #0003;color:#fff;left:0;margin-bottom:1.5rem;padding:calc(1.5rem + 20px + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem;position:fixed;right:0;text-align:center;top:0;z-index:999}.timer-display{font-feature-settings:"tnum" 1,"tnum";color:#eafff3;font-family:Roboto Mono,Orbitron,Courier New,monospace;font-size:3rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:2px;margin-bottom:1rem;text-shadow:0 0 12px #2ecc7173,0 2px 4px #0000004d}.timer-controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.timer-controls .btn{min-width:80px}.rest-ring{-webkit-tap-highlight-color:transparent;align-items:center;animation:ring-pop .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer;display:flex;height:44px;justify-content:center;left:8px;position:absolute;top:calc(28px + env(safe-area-inset-top, 0px));width:44px;z-index:2}@keyframes ring-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.rest-ring-svg{height:100%;inset:0;position:absolute;transform:rotate(-90deg);width:100%}.rest-ring-track{fill:none;stroke:#ffffff2e;stroke-width:3}.rest-ring-fill{fill:none;stroke:#2ecc71;stroke:var(--success-color,#2ecc71);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:100,100;stroke-dashoffset:0;transition:stroke-dashoffset .25s linear,stroke .3s}.rest-ring-label{font-feature-settings:"tnum";color:#fffffff2;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1;pointer-events:none;position:relative;z-index:1}.rest-ring--finished .rest-ring-fill{stroke:#2ecc71;stroke:var(--success-color,#2ecc71)}.rest-ring--finished .rest-ring-label{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:1.1rem}.rest-ring--finished{animation:ring-pulse .6s ease-out 0s 3}@keyframes ring-pulse{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.workout-exercises{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.workout-exercise{background-color:var(--card-bg)}.exercise-name{font-size:1.25rem;margin-bottom:.5rem}.exercise-details{color:var(--text-secondary);font-size:.875rem}.last-performance{background-color:var(--bg-color);border-radius:6px;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.sets-container{display:flex;flex-direction:column;gap:.5rem}.set-row{grid-gap:.5rem;align-items:center;border-radius:8px;box-sizing:border-box;display:grid;gap:.5rem;grid-template-columns:80px 1fr 1fr 44px;padding:.25rem 0;transition:background-color .3s ease;width:100%}.set-row--validated{background-color:#22c55e1a}.set-row--validated .set-label{color:#16a34a}.set-label{font-weight:600;transition:color .3s ease}.set-input,.set-label{color:var(--text-primary)}.set-input{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;font-size:1rem;padding:.5rem;transition:border-color .3s ease;width:100%}.set-input:focus{border-color:var(--secondary-color);outline:none}.set-row--validated .set-input{background-color:#22c55e0a;border-color:#22c55e66}.set-validate-btn{align-items:center;background:#0000;border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.set-validate-btn:hover{background:#22c55e14;border-color:#22c55e;color:#22c55e}.set-validate-btn--done{animation:pop-in .25s cubic-bezier(.175,.885,.32,1.275);background:#22c55e;border-color:#22c55e;color:#fff;font-weight:700}.set-validate-btn--done:hover{background:#16a34a;border-color:#16a34a;color:#fff}@keyframes pop-in{0%{opacity:.5;transform:scale(.6)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.workout-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;padding:1rem 0}.workout-actions .btn{font-size:1.125rem;padding:1rem;width:100%}.workout-minimized{background:var(--secondary-color);bottom:70px;box-shadow:0 -2px 10px #0003;color:#fff;cursor:pointer;left:0;padding:1rem;position:fixed;right:0;z-index:998}.minimized-content{align-items:center;display:flex;font-weight:600;justify-content:space-between;margin:0 auto;max-width:1200px}@media (max-width:768px){.workout-page{padding:.75rem .5rem}.set-row{gap:.35rem;grid-template-columns:55px 1fr 1fr 36px}.set-input{font-size:.9rem;padding:.35rem .25rem}.set-label{font-size:.85rem}.timer-display{font-size:2.5rem}.set-validate-btn{font-size:.9rem;height:32px;width:32px}.rest-countdown__time{font-size:1.2rem}}@media (min-width:769px){.workout-actions{flex-direction:row;justify-content:center}.workout-actions .btn{min-width:200px;width:auto}.workout-minimized{bottom:0}}.friends-selector{display:flex;flex-direction:column;gap:.75rem}.friend-checkbox{align-items:center;border-radius:8px;cursor:pointer;display:flex;padding:.75rem;transition:background-color .2s ease}.friend-checkbox:hover{background-color:var(--surface-secondary)}.friend-checkbox input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;height:20px;margin-right:.75rem;width:20px}.friend-checkbox span{color:var(--text-primary);font-size:.95rem;font-weight:500}.no-friends-message{color:var(--text-secondary);font-size:.9rem;font-style:italic;padding:.5rem 0}.exercise-header-row{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.75rem}.exercise-header-info{flex:1 1;min-width:0}.exercise-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.exercise-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.exercise-meta-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;margin-top:.2rem}.exercise-custom-badge{background:#2e7d50;background:var(--secondary-color,#2e7d50);border-radius:999px;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:1px 6px;text-transform:uppercase}.exercise-remove-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:28px;justify-content:center;margin-top:2px;transition:all .2s;width:28px}.exercise-remove-btn:hover{background:#ef444414;border-color:#ef4444;color:#ef4444}.drag-handle{align-items:center;border-radius:6px;color:var(--text-secondary);cursor:grab;display:flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;margin-top:2px;touch-action:none;transition:background .15s;-webkit-user-select:none;user-select:none;width:28px}.drag-handle:active{background:#0000000d;background:var(--surface-secondary,#0000000d);cursor:grabbing}.exercise--dragging{opacity:.45;transform:scale(.98)}.exercise--drag-over{outline:2px dashed #2e7d50;outline:2px dashed var(--secondary-color,#2e7d50);outline-offset:2px}.rest-badge{align-items:center;background:#f5f5f5;background:var(--bg-color,#f5f5f5);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;gap:.2rem;padding:2px 8px;transition:all .2s;white-space:nowrap}.rest-badge--modified,.rest-badge:hover{border-color:#2e7d50;border-color:var(--secondary-color,#2e7d50);color:#2e7d50;color:var(--secondary-color,#2e7d50)}.rest-badge--modified{background:#2e7d5014}.rest-edit-inline{align-items:center;display:inline-flex;gap:4px}.rest-edit-input{background:var(--card-bg);border:1px solid #2e7d50;border:1px solid var(--secondary-color,#2e7d50);border-radius:6px;color:var(--text-primary);font-size:.85rem;padding:2px 6px;width:60px}.rest-edit-input:focus{outline:none}.rest-edit-unit{color:var(--text-secondary);font-size:.78rem}.rest-edit-ok{align-items:center;background:#2e7d50;background:var(--secondary-color,#2e7d50);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:24px;justify-content:center;width:24px}.set-actions-row{display:flex;gap:.5rem;margin-top:.75rem}.set-action-btn{background:#0000;border:1px dashed;border-radius:8px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.4rem 0;transition:all .2s}.set-action-btn--add{border-color:#2ecc71;border-color:var(--success-color,#2ecc71);color:#2ecc71;color:var(--success-color,#2ecc71)}.set-action-btn--add:hover{background:#2ecc711f}.set-action-btn--remove{border-color:#ef4444;color:#ef4444}.set-action-btn--remove:hover{background:#ef444412}.btn-add-exercise{background:#0000;border:2px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:600;margin-top:.25rem;padding:.85rem;transition:all .2s;width:100%}.btn-add-exercise:hover{background:#2e7d500a;border-color:#2e7d50;border-color:var(--secondary-color,#2e7d50);color:#2e7d50;color:var(--secondary-color,#2e7d50)}.add-exercise-modal{display:flex;flex-direction:column;max-height:85vh}.add-exercise-modal .modal-body{overflow-y:auto;padding:1rem 1.25rem 1.5rem}.add-exo-section-label{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.add-exo-search{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:1rem;margin-bottom:.5rem;padding:.6rem .85rem;width:100%}.add-exo-search:focus{border-color:#2e7d50;border-color:var(--secondary-color,#2e7d50);outline:none}.add-exo-results{border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:2px;margin-bottom:.5rem;max-height:220px;overflow-y:auto}.add-exo-result-item{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.65rem .85rem;text-align:left;transition:background .15s}.add-exo-result-item:last-child{border-bottom:none}.add-exo-result-item:hover{background:#0000000a;background:var(--surface-secondary,#0000000a)}.add-exo-name{color:var(--text-primary);font-size:.95rem;font-weight:500}.add-exo-meta{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.add-exo-empty{color:var(--text-secondary);font-size:.9rem;padding:.75rem;text-align:center}.add-exo-divider{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.75rem;margin:1rem 0 .75rem}.add-exo-divider:after,.add-exo-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.add-exo-custom{display:flex;flex-direction:column;gap:.75rem}.add-exo-sets-row{align-items:center;display:flex;gap:.75rem}.add-exo-sets-label{color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.add-exo-sets-stepper{align-items:center;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:0;overflow:hidden}.stepper-btn{align-items:center;background:#f5f5f5;background:var(--bg-color,#f5f5f5);border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;transition:background .15s;width:36px}.stepper-btn:hover{background:var(--border-color)}.stepper-val{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-weight:700;line-height:36px;text-align:center;width:36px}.reorder-overlay{align-items:flex-end;animation:reorder-fade-in .2s ease;background:#0000008c;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}@keyframes reorder-fade-in{0%{opacity:0}to{opacity:1}}.reorder-panel{animation:reorder-slide-up .25s cubic-bezier(.32,.72,0,1);background:#fff;background:var(--card-bg,#fff);border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #00000040;display:flex;flex-direction:column;max-height:80vh;max-width:560px;padding:0 0 env(safe-area-inset-bottom,16px);width:100%}@keyframes reorder-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.reorder-panel:before{background:#ddd;background:var(--border-color,#ddd);border-radius:2px;content:"";display:block;flex-shrink:0;height:4px;margin:12px auto 0;width:36px}.reorder-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 16px 4px}.reorder-title{color:var(--text-primary);font-size:1rem;font-weight:700}.reorder-done-btn{background:#2e7d50;background:var(--secondary-color,#2e7d50);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:6px 14px;transition:opacity .15s}.reorder-done-btn:active{opacity:.8}.reorder-hint{color:var(--text-secondary);flex-shrink:0;font-size:.78rem;margin:0;padding:0 16px 8px}.reorder-list{display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto;padding:4px 12px 16px}.reorder-row{align-items:center;background:#f6f6f6;background:var(--bg-color,#f6f6f6);border:1.5px solid #0000;border-radius:12px;cursor:grab;display:flex;gap:10px;padding:12px 14px;touch-action:none;transition:background .15s,border-color .15s,opacity .15s,transform .15s;-webkit-user-select:none;user-select:none}.reorder-row:active{cursor:grabbing}.reorder-row--dragging{opacity:.35;transform:scale(.97)}.reorder-row--target{background:#2e7d5014;border-color:#2e7d50;border-color:var(--secondary-color,#2e7d50)}.reorder-grip{color:var(--text-secondary);flex-shrink:0;font-size:1.1rem;letter-spacing:-1px;opacity:.6}.reorder-num{align-items:center;background:#2e7d50;background:var(--secondary-color,#2e7d50);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;width:22px}.reorder-name{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-exercise{-webkit-user-select:none;user-select:none}.reorder-trigger-btn{align-items:center;background:#f5f5f5;background:var(--bg-color,#f5f5f5);border:1px solid var(--border-color);border-radius:7px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:30px;justify-content:center;touch-action:manipulation;transition:all .15s;width:30px}.reorder-trigger-btn:active,.reorder-trigger-btn:hover{background:#2e7d5014;border-color:#2e7d50;border-color:var(--secondary-color,#2e7d50);color:#2e7d50;color:var(--secondary-color,#2e7d50)}.superset-header{align-items:center;background:#2ecc710f;border:1px solid #2ecc7140;border-bottom:none;border-radius:12px 12px 0 0;color:#2ecc71;color:var(--success-color,#2ecc71);display:flex;font-size:.7rem;font-weight:700;gap:.5rem;letter-spacing:.06em;margin-bottom:-.5rem;padding:.4rem .6rem;text-transform:uppercase}.superset-header-icon{font-size:.9rem}.superset-header-hint{color:var(--text-secondary);font-size:.7rem;font-style:italic;font-weight:500;letter-spacing:0;margin-left:auto;text-transform:none}.workout-exercise--in-superset{background-color:#2ecc7108;border-left:3px solid #2ecc71;border-left:3px solid var(--success-color,#2ecc71)}.workout-exercise--superset-first{border-top-left-radius:0;border-top-right-radius:0}.superset-connector{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:.7rem;font-weight:700;letter-spacing:.04em;margin-bottom:-.5rem;margin-top:-.5rem;padding:.3rem 0;position:relative;text-align:center;text-transform:uppercase}.superset-connector:after,.superset-connector:before{background:#2ecc71;background:var(--success-color,#2ecc71);content:"";display:inline-block;height:1px;margin:0 .4rem;opacity:.5;vertical-align:middle;width:30px}.exercise-superset-letter--workout{background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:50%;color:#0f2a22;font-weight:800;height:26px;margin-right:.25rem;width:26px}.exercise-superset-letter--workout,.superset-toggle-btn{align-items:center;display:inline-flex;flex-shrink:0;font-size:.85rem;justify-content:center}.superset-toggle-btn{background:#0000;border:1px solid var(--border-color);border-radius:14px;color:var(--text-secondary);cursor:pointer;height:28px;touch-action:manipulation;transition:all .15s;width:30px}.superset-toggle-btn--link:active,.superset-toggle-btn--link:hover{background:#2ecc7114;border-color:#2ecc71;border-color:var(--success-color,#2ecc71);color:#2ecc71;color:var(--success-color,#2ecc71)}.superset-toggle-btn--unlink:active,.superset-toggle-btn--unlink:hover{background:#e74c3c14;border-color:#e74c3c;border-color:var(--danger-color,#e74c3c);color:#e74c3c;color:var(--danger-color,#e74c3c)}.workout-saving-overlay{align-items:center;animation:workout-saving-fadein .12s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}@keyframes workout-saving-fadein{0%{opacity:0}to{opacity:1}}.workout-saving-card{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:16px;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;gap:.75rem;max-width:90vw;min-width:220px;padding:1.75rem 2rem}.workout-saving-spinner{animation:workout-saving-spin .9s linear infinite;border:3px solid #2ecc7133;border-radius:50%;border-top:3px solid var(--success-color,#2ecc71);height:44px;width:44px}@keyframes workout-saving-spin{to{transform:rotate(1turn)}}.workout-saving-label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1rem;font-weight:700;letter-spacing:.02em}.workout-saving-hint{color:#666;color:var(--text-secondary,#666);font-size:.8rem;font-style:italic;text-align:center}.wdm-overlay{-webkit-overflow-scrolling:touch;align-items:flex-start;animation:wdm-fade .18s ease-out;background:#000000b3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:calc(2rem + env(safe-area-inset-top, 0px)) 1rem 1rem;position:fixed;z-index:9500}@keyframes wdm-fade{0%{opacity:0}to{opacity:1}}.wdm-modal{animation:wdm-slide .22s cubic-bezier(.22,.61,.36,1);background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:14px;box-shadow:0 16px 48px #0000008c;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:640px;overflow:hidden;width:100%}@keyframes wdm-slide{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:768px){.wdm-overlay{padding:calc(1rem + env(safe-area-inset-top, 0px)) .5rem .5rem}.wdm-modal{max-height:calc(100vh - 2rem)}}.wdm-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);display:flex;flex-shrink:0;gap:.75rem;justify-content:space-between;padding:1rem 1.1rem}.wdm-title{color:#dfeee4;color:var(--text-primary,#dfeee4);flex:1 1;font-size:1.15rem;font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wdm-close{align-items:center;background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;height:32px;justify-content:center;transition:background .15s,color .15s,border-color .15s;width:32px}.wdm-close:hover{background:#ffffff0f;color:#dfeee4;color:var(--text-primary,#dfeee4)}.wdm-body{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:1rem 1.1rem 1.25rem}.wdm-loading{display:flex;justify-content:center;padding:2rem 0}.wdm-meta{grid-gap:.5rem .75rem;display:grid;gap:.5rem .75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1rem}.wdm-meta-item{background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem}.wdm-meta-label{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.wdm-meta-value{color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.92rem;font-weight:500}.wdm-section-title{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.92rem;font-weight:700;letter-spacing:.05em;margin:1rem 0 .5rem;text-transform:uppercase}.wdm-exercise{background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;margin-bottom:.55rem;padding:.7rem .85rem}.wdm-exercise-name{color:#dfeee4;color:var(--text-primary,#dfeee4);font-weight:600;margin-bottom:.4rem}.wdm-sets{display:flex;flex-wrap:wrap;gap:.4rem}.wdm-set{font-feature-settings:"tnum";align-items:baseline;background:#2ecc711a;border:1px solid #2ecc7140;border-radius:999px;display:inline-flex;font-size:.85rem;font-variant-numeric:tabular-nums;gap:.3rem;padding:.2rem .65rem}.wdm-set-num{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:.78rem;font-weight:700}.wdm-set-val{color:#dfeee4;color:var(--text-primary,#dfeee4)}.wdm-notes{background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;margin-top:1rem;padding:.75rem .9rem}.wdm-notes-header{align-items:center;color:#9aa79a;color:var(--text-secondary,#9aa79a);display:flex;font-size:.92rem;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.wdm-notes-header strong{color:#dfeee4;color:var(--text-primary,#dfeee4)}.wdm-notes-edit{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:6px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:.85rem;padding:2px 8px;transition:background .15s,color .15s,border-color .15s}.wdm-notes-edit:hover{background:#2ecc711a;border-color:#2ecc71;border-color:var(--success-color,#2ecc71);color:#2ecc71;color:var(--success-color,#2ecc71)}.wdm-notes-text{color:#dfeee4;color:var(--text-primary,#dfeee4);font-style:italic}.wdm-notes-empty{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.92rem;opacity:.7}.wdm-notes-textarea{background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-sizing:border-box;color:#dfeee4;color:var(--text-primary,#dfeee4);font-family:inherit;font-size:.95rem;min-height:70px;outline:none;padding:.6rem .75rem;resize:vertical;width:100%}.wdm-notes-textarea:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.wdm-notes-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.wdm-superset-block{background:#2ecc710d;border:1px solid #2ecc7138;border-radius:10px;margin-bottom:.75rem;padding:.75rem}.wdm-superset-header{align-items:center;color:#2ecc71;color:var(--success-color,#2ecc71);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.wdm-superset-icon{font-size:.85rem}.wdm-exercise--in-superset{padding-left:.5rem}.wdm-exercise--in-superset .wdm-exercise-name{align-items:center;display:flex;gap:.5rem}.wdm-superset-letter{align-items:center;background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:50%;color:#0f2a22;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:800;height:22px;justify-content:center;width:22px}.steps-section .card-description{margin-bottom:.9rem}.steps-today{align-items:center;display:flex;gap:.6rem;margin-bottom:.4rem}.steps-today-value{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700}.steps-today-unit{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.9rem;font-weight:500}.steps-source-badge{border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.15rem .45rem;text-transform:uppercase}.steps-source-badge--native{background:#2ecc7129;color:#2ecc71;color:var(--success-color,#2ecc71)}.steps-source-badge--manual{background:#ffffff14;color:#9aa79a;color:var(--text-secondary,#9aa79a)}.steps-manual-trigger{background:#0000;border:none;color:#2e7d50;color:var(--highlight-color,#2e7d50);cursor:pointer;font-size:.82rem;font-weight:600;margin-bottom:1rem;padding:0;text-decoration:underline;text-underline-offset:2px}.steps-manual-row{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.steps-input{background:#1a1d1c;background:var(--bg-color,#1a1d1c);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;color:#dfeee4;color:var(--text-primary,#dfeee4);flex:1 1;font-size:.9rem;min-width:120px;padding:.45rem .6rem}.steps-goal-row{align-items:center;border-top:1px solid #ffffff0f;border-top:1px solid var(--border-color,#ffffff0f);display:flex;flex-wrap:wrap;gap:.55rem;padding-top:.9rem}.steps-goal-row .kcal-target-input{width:110px}.steps-goal-msg{color:#2ecc71;color:var(--success-color,#2ecc71);font-size:.8rem;margin-top:.5rem}.steps-history-head{align-items:center;display:flex;justify-content:space-between;margin:1.2rem 0 .6rem}.steps-history-title{color:#dff3e8;color:var(--primary-color,#dff3e8);font-size:.95rem;margin:0}.steps-range-tabs{display:flex;gap:.3rem}.steps-range-tab{background:#0000;border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:999px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;font-size:.76rem;padding:.3rem .6rem}.steps-range-tab.is-active{background:#2e7d50;background:var(--highlight-color,#2e7d50);border-color:#2e7d50;border-color:var(--highlight-color,#2e7d50);color:#fff}.steps-stats-row{display:flex;gap:.5rem;margin-bottom:.6rem}.steps-stat{background:#1a1d1c;background:var(--bg-color,#1a1d1c);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;flex:1 1;padding:.55rem .4rem;text-align:center}.steps-stat-val{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:700}.steps-stat-lbl{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.68rem;margin-top:.1rem}.steps-chart{margin-top:.4rem}.steps-chart-empty,.steps-chart-loading{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.85rem;padding:2rem 0;text-align:center}.profile-info{display:flex;flex-direction:column;gap:1rem}.info-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 0}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-secondary);font-weight:600}.info-value{color:var(--text-primary);font-weight:500}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-card{background-color:var(--bg-color);border-radius:8px;padding:1.5rem;text-align:center}.stat-value{color:var(--primary-color);font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-item{align-items:center;background-color:var(--bg-color);border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.history-item--clickable{border:1px solid #0000;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}.history-item--clickable:hover{background-color:#2ecc710f;border-color:#2ecc7140}.history-item--clickable:active{transform:translateY(1px)}.history-item--clickable:focus-visible{border-color:#2ecc71;border-color:var(--success-color,#2ecc71);box-shadow:0 0 0 3px #2ecc712e;outline:none}.history-load-more{display:flex;justify-content:center;margin-top:.85rem}.history-load-more .btn{min-width:240px}@media (max-width:480px){.history-load-more .btn{min-width:0;width:100%}}.history-info{display:flex;flex-direction:column;gap:.25rem}.history-stats{gap:.5rem}.card-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.message{border-radius:8px;font-size:.95rem;margin-bottom:1rem;padding:.75rem 1rem}.message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.privacy-options{display:flex;flex-direction:column;gap:.75rem}.privacy-option{align-items:flex-start;background-color:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;padding:1rem;transition:all .2s ease}.privacy-option.selected,.privacy-option:hover{border-color:var(--primary-color)}.privacy-option.selected{background-color:#2f7d5014}.privacy-option input[type=radio]{accent-color:var(--primary-color);cursor:pointer;height:20px;margin-right:.75rem;margin-top:.25rem;width:20px}.privacy-option-content{flex:1 1}.privacy-option-title{color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.privacy-option-desc{color:var(--text-secondary);font-size:.875rem}.profile-picture-section{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem}.profile-picture-display{flex:0 0 200px}.profile-picture-preview{border:2px solid var(--border-color);border-radius:8px;height:200px;object-fit:cover;width:100%}.profile-picture-placeholder{align-items:center;background-color:var(--bg-color);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.95rem;height:200px;justify-content:center;width:100%}.profile-picture-upload{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-width:200px}.file-input-label{cursor:pointer}.file-input-label .btn{cursor:pointer;display:block;text-align:center}.history-stats{align-items:center;display:flex;gap:.75rem}.btn-small{font-size:.75rem;min-height:auto;padding:.4rem .6rem}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.history-item{align-items:flex-start;flex-direction:column;gap:.75rem}.profile-picture-section{flex-direction:column;gap:1rem}.profile-picture-display{flex:1 1}}@media (min-width:769px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.monthly-reports-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.monthly-report-item{margin:0;padding:0}.monthly-report-link{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;display:flex;font-size:.95rem;gap:.6rem;padding:.7rem .9rem;text-align:left;transition:background .15s,border-color .15s,transform .15s;width:100%}.monthly-report-link:hover{background:#2ecc7114;border-color:#2ecc7166;transform:translateY(-1px)}.monthly-report-period{flex:1 1;font-weight:500}.monthly-report-arrow{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:1.05rem}.monthly-report-badge{background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:999px;color:#0d1f17;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.15rem .5rem;text-transform:uppercase}.info-value-with-action{align-items:center;display:inline-flex;gap:.75rem;min-width:0}.info-edit-link{background:#0000;border:0;color:#2ecc71;color:var(--success-color,#2ecc71);cursor:pointer;flex-shrink:0;font-size:.88rem;font-weight:600;padding:0;text-decoration:none;transition:color .15s,opacity .15s}.info-edit-link:focus-visible,.info-edit-link:hover{color:#dfeee4;color:var(--text-primary,#dfeee4);outline:none;text-decoration:underline}.info-row.info-row--editing{align-items:stretch;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 0}.username-edit-label{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.92rem;font-weight:600}.username-edit-input{background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-sizing:border-box;color:#dfeee4;color:var(--text-primary,#dfeee4);font-family:inherit;font-size:1rem;outline:none;padding:.7rem .9rem;transition:border-color .15s,box-shadow .15s;width:100%}.username-edit-input:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71);box-shadow:0 0 0 3px #2ecc7126}.username-edit-input:disabled{opacity:.6}.username-edit-hint{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.78rem;opacity:.85}.username-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}@media (max-width:480px){.username-edit-actions{justify-content:stretch}.username-edit-actions .btn{flex:1 1}}.targets-grid{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.75rem}.targets-save-row{display:flex;justify-content:flex-end}@media (max-width:480px){.targets-save-row .btn{width:100%}}.target-label{color:#9aa79a;color:var(--text-secondary,#9aa79a);flex:0 0 100px;font-size:.9rem;font-weight:500}@media (max-width:480px){.target-label{flex-basis:80px;font-size:.85rem}}.kcal-target-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.kcal-target-input{font-feature-settings:"tnum";background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;color:#dfeee4;color:var(--text-primary,#dfeee4);flex:1 1;font-size:.95rem;font-variant-numeric:tabular-nums;min-width:80px;outline:none;padding:.6rem .8rem}.kcal-target-input:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.kcal-target-unit{color:#9aa79a;color:var(--text-secondary,#9aa79a);flex:0 0 auto;font-size:.9rem;min-width:32px;white-space:nowrap}@media (max-width:480px){.kcal-target-row .btn{flex-basis:100%}}.flm-overlay{-webkit-overflow-scrolling:touch;align-items:flex-start;animation:flm-fade .18s ease-out;background:#000000b3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:calc(3.5rem + env(safe-area-inset-top, 0px)) 1rem 1rem;position:fixed;z-index:9500}@keyframes flm-fade{0%{opacity:0}to{opacity:1}}.flm-modal{animation:flm-slide .22s cubic-bezier(.22,.61,.36,1);background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:14px;box-shadow:0 16px 48px #0000008c;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;flex-direction:column;max-height:calc(100vh - 4rem);max-width:640px;overflow:hidden;width:100%}@keyframes flm-slide{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:768px){.flm-overlay{padding:calc(2.25rem + env(safe-area-inset-top, 0px)) .5rem .5rem}.flm-modal{max-height:calc(100vh - 3rem)}}.flm-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);display:flex;flex-shrink:0;gap:.75rem;justify-content:space-between;padding:1rem 1.1rem}.flm-title{flex:1 1;font-size:1.1rem;font-weight:700;margin:0;min-width:0}.flm-close{align-items:center;background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:flex;font-size:.95rem;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.flm-close:hover{background:#ffffff0f;color:#dfeee4;color:var(--text-primary,#dfeee4)}.flm-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:1rem 1.1rem}.flm-search{background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-sizing:border-box;color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.95rem;margin-bottom:.75rem;outline:none;padding:.65rem .85rem;width:100%}.flm-search:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.flm-add-btn{margin-bottom:.75rem;width:100%}.flm-form{background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;margin-bottom:1rem;padding:.85rem}.flm-form-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}.flm-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.flm-field--name{grid-column:1/-1}.flm-field--qty{flex:1 1}.flm-field span{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.flm-field input{font-feature-settings:"tnum";background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;box-sizing:border-box;color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.95rem;font-variant-numeric:tabular-nums;outline:none;padding:.55rem .7rem;width:100%}.flm-field input:focus{border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.flm-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.flm-list{display:flex;flex-direction:column;gap:.4rem}.flm-loading{display:flex;justify-content:center;padding:2rem 0}.flm-empty{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.95rem;padding:1.5rem 0;text-align:center}.flm-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;display:flex;gap:.5rem;padding:.65rem .8rem;transition:border-color .15s,background .15s}.flm-item-main{cursor:default;flex:1 1;min-width:0}.flm-item-main[role=button]{cursor:pointer}.flm-item:has(.flm-item-main[role=button]):hover{background:#2ecc710f;border-color:#2ecc71;border-color:var(--success-color,#2ecc71)}.flm-item-name{color:#dfeee4;color:var(--text-primary,#dfeee4);font-weight:600;margin-bottom:.15rem}.flm-item-stats{font-feature-settings:"tnum";color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.82rem;font-variant-numeric:tabular-nums}.flm-item-per{margin-left:.25rem;opacity:.6}.flm-item-actions{display:flex;gap:.25rem}.flm-icon-btn{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;cursor:pointer;font-size:.95rem;padding:.25rem .45rem;transition:background .15s,border-color .15s}.flm-icon-btn:hover{background:#ffffff0f}.flm-icon-btn--danger:hover{background:#e74c3c1f;border-color:#e74c3c66}.flm-picker-footer{background:#2ecc710d;border-top:1px solid #ffffff14;border-top:1px solid var(--border-color,#ffffff14);flex-shrink:0;padding:.85rem 1.1rem}.flm-picker-summary{align-items:baseline;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.flm-picker-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width:480px){.flm-picker-row .btn{flex:1 1}.flm-picker-row .flm-field{flex-basis:100%}}.flm-item-unit-tag{font-feature-settings:"tnum";background:#2ecc711a;border:1px solid #2ecc7140;border-radius:999px;color:#2ecc71;color:var(--success-color,#2ecc71);display:inline-block;font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.01em;margin-left:.5rem;padding:.1rem .45rem;vertical-align:middle}.flm-checkbox-field{align-items:center;background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #ffffff1f;border:1px solid var(--border-color,#ffffff1f);border-radius:8px;cursor:pointer;flex-direction:row!important;gap:.55rem!important;padding:.55rem .7rem;-webkit-user-select:none;user-select:none}.flm-checkbox-field input[type=checkbox]{accent-color:#2ecc71;accent-color:var(--success-color,#2ecc71);cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.flm-checkbox-field span{color:#dfeee4!important;color:var(--text-primary,#dfeee4)!important;font-size:.9rem!important;font-weight:500!important;letter-spacing:0!important;margin:0!important;text-transform:none!important}.nutrition-page{padding-bottom:2rem}.nut-date-nav{gap:.75rem;justify-content:space-between;padding:.6rem .85rem}.nut-date-btn,.nut-date-nav{align-items:center;display:flex}.nut-date-btn{background:#ffffff0d;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:50%;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;flex-shrink:0;font-size:1.25rem;height:36px;justify-content:center;line-height:1;transition:background .15s,color .15s;width:36px}.nut-date-btn:hover:not(:disabled){background:#2ecc711f;color:#2ecc71;color:var(--success-color,#2ecc71)}.nut-date-btn:disabled{cursor:not-allowed;opacity:.3}.nut-date-label{flex:1 1;min-width:0;text-align:center}.nut-date-name{color:#dfeee4;color:var(--text-primary,#dfeee4);display:block;font-size:1.05rem;font-weight:700;text-transform:capitalize}.nut-date-today{background:#0000;border:0;color:#2ecc71;color:var(--success-color,#2ecc71);cursor:pointer;font-size:.78rem;margin-top:.15rem;padding:0;text-decoration:underline}.nut-summary{align-items:center;display:flex;gap:1.25rem;padding:1.1rem 1.25rem}@media (max-width:600px){.nut-summary{align-items:stretch;flex-direction:column;gap:1rem}}.nut-ring-wrap{align-self:center;flex-shrink:0;height:130px;position:relative;width:130px}.nut-ring{height:100%;transform:rotate(-90deg);width:100%}.nut-ring-track{fill:none;stroke:#ffffff14;stroke-width:3}.nut-ring-fill{fill:none;stroke:#2ecc71;stroke:var(--success-color,#2ecc71);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:100,100;transition:stroke-dashoffset .4s ease}.nut-ring-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.nut-ring-kcal{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.7rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.nut-ring-target{font-feature-settings:"tnum";color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.8rem;font-variant-numeric:tabular-nums;margin-top:.15rem}.nut-no-target{flex-shrink:0;text-align:center}.nut-kcal-big{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:2rem;font-variant-numeric:tabular-nums;font-weight:700}.nut-no-target-hint{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.8rem;margin-left:auto;margin-right:auto;margin-top:.4rem;max-width:220px}.nut-macros{display:flex;flex:1 1;flex-direction:column;gap:.55rem;min-width:0}.nut-macro-head{color:#9aa79a;color:var(--text-secondary,#9aa79a);display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.2rem}.nut-macro-head strong{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-variant-numeric:tabular-nums}.nut-macro-bar{background:#ffffff0d;border-radius:999px;height:8px;overflow:hidden}.nut-macro-fill{border-radius:999px;height:100%;transition:width .4s ease}.nut-macro-fill--prot{background:#3498db}.nut-macro-fill--carbs{background:#f39c12}.nut-macro-fill--fat{background:#e74c3c}.nut-macro-target{font-feature-settings:"tnum";color:#9aa79a;color:var(--text-secondary,#9aa79a);font-variant-numeric:tabular-nums;font-weight:400}.nut-summary--guest{justify-content:center}.nut-summary--guest .nut-kcal-big{font-size:2.4rem;line-height:1}.nut-guest-cta{text-align:center}.nut-guest-cta-text{color:#9aa79a;color:var(--text-secondary,#9aa79a);margin-bottom:1rem}.nut-guest-cta-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.nut-guest-cta-actions .btn{min-width:180px}@media (max-width:480px){.nut-guest-cta-actions{flex-direction:column}.nut-guest-cta-actions .btn{min-width:0;width:100%}}.nut-add-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.nut-add-row .btn{flex:1 1;min-width:160px}.nut-entries{display:flex;flex-direction:column;gap:.45rem}.nut-entry{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:10px;display:flex;gap:.5rem;padding:.7rem .85rem}.nut-entry-main{flex:1 1;min-width:0}.nut-entry-name{color:#dfeee4;color:var(--text-primary,#dfeee4);font-weight:600;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nut-entry-stats{font-feature-settings:"tnum";color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.82rem;font-variant-numeric:tabular-nums;margin-bottom:.2rem}.nut-entry-qty{display:flex}.nut-qty-btn{font-feature-settings:"tnum";background:#2ecc711a;border:1px solid #2ecc7140;border-radius:999px;color:#2ecc71;color:var(--success-color,#2ecc71);cursor:pointer;font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.18rem .7rem;transition:background .15s}.nut-qty-btn:hover{background:#2ecc712e}.nut-entry-edit{align-items:center;display:flex;gap:.35rem;margin-top:.2rem}.nut-entry-edit input{font-feature-settings:"tnum";background:#0d1f17;background:var(--bg-color,#0d1f17);border:1px solid #2ecc71;border:1px solid var(--success-color,#2ecc71);border-radius:6px;color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.9rem;font-variant-numeric:tabular-nums;outline:none;padding:.3rem .5rem;width:80px}.nut-entry-delete{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;cursor:pointer;flex-shrink:0;font-size:.95rem;padding:.3rem .5rem;transition:background .15s,border-color .15s}.nut-entry-delete:hover{background:#e74c3c1f;border-color:#e74c3c66}.adh-overlay{align-items:flex-start;background:#000000b3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:calc(3.5rem + env(safe-area-inset-top, 0px)) 1rem 1rem;position:fixed;z-index:9500}@media (max-width:768px){.adh-overlay{padding:calc(2.25rem + env(safe-area-inset-top, 0px)) .5rem .5rem}}.adh-modal{background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:14px;box-shadow:0 16px 48px #0000008c;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;flex-direction:column;max-width:520px;width:100%}.adh-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color,#ffffff14);display:flex;justify-content:space-between;padding:1rem 1.1rem}.adh-title{font-size:1.1rem;font-weight:700;margin:0}.adh-close{align-items:center;background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:8px;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.adh-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem}.adh-checkbox{align-items:center;color:#9aa79a;color:var(--text-secondary,#9aa79a);cursor:pointer;display:flex;font-size:.88rem;gap:.5rem}.adh-checkbox input{cursor:pointer;height:18px;width:18px}.adh-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}@media (max-width:480px){.adh-actions .btn{flex:1 1}}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.5rem}.tab{background-color:var(--bg-color);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.tab.active{background-color:var(--secondary-color);color:#fff}.tab:hover:not(.active){background-color:#e0e0e0;color:var(--secondary-color)}.table-responsive{overflow-x:auto}.admin-table{border-collapse:collapse;margin-top:1rem;width:100%}.admin-table th{background-color:var(--bg-color);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:.75rem;text-align:left}.admin-table td{border-bottom:1px solid var(--border-color);padding:.75rem}.admin-table tr:hover{background-color:var(--bg-color)}.badge-secondary{background-color:var(--text-secondary);color:#fff}.badge-warning{background-color:var(--warning-color);color:#fff}.types-list{display:flex;flex-direction:column;gap:.75rem}.type-item{align-items:center;background-color:var(--bg-color);border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.qojim-list{display:flex;flex-direction:column;gap:1rem}.qojim-item{background-color:var(--bg-color);border-left:4px solid gold;border-radius:8px;padding:1rem}@media (max-width:768px){.admin-table{font-size:.875rem}.admin-table td,.admin-table th{padding:.5rem}}.form-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:14px;margin-bottom:20px;padding:12px}.security-info{border-top:1px solid #e0e0e0;margin-top:30px;padding-top:20px}.security-info h4{color:#1a1a2e;font-size:16px;margin:0 0 15px}.security-info ul{color:#7f8c8d;font-size:14px;margin:0;padding-left:20px}.security-info li{margin:8px 0}.user-profile-page{padding-bottom:2rem}.profile-hero{align-items:center;display:flex;gap:1.25rem;margin-bottom:1.5rem}.profile-hero-avatar{align-items:center;background-color:var(--accent-color);border:3px solid var(--highlight-color);border-radius:50%;color:var(--primary-color);display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:80px;justify-content:center;overflow:hidden;width:80px}.profile-hero-avatar img{height:100%;object-fit:cover;width:100%}.profile-hero-info{flex:1 1;min-width:0}.profile-hero-username{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.profile-hero-joined{color:var(--text-secondary);font-size:.8rem;margin:0}.friendship-banner{align-items:center;border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 1.25rem}.friendship-banner.not-friend{background-color:var(--bg-color);border:1px solid var(--border-color)}.friendship-banner.pending{background-color:#ffc1071a;border:1px solid #ffc10766}.friendship-banner.friend{background-color:#2e7d5014;border:1px solid #2e7d5040}.friendship-banner-text{color:var(--text-secondary);font-size:.9rem;margin:0}.friendship-banner.friend .friendship-banner-text{color:var(--highlight-color);font-weight:600}.profile-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}@media (min-width:480px){.profile-stats-grid{grid-template-columns:repeat(4,1fr)}}.profile-stat-card{background-color:var(--card-bg);border:1px solid #0000;border-radius:10px;box-shadow:var(--shadow);padding:1rem;text-align:center}.profile-stat-value{color:var(--highlight-color);font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.profile-stat-label{color:var(--text-secondary);font-size:.75rem;line-height:1.3}.profile-history-title{color:var(--primary-color);font-size:1rem;font-weight:600;margin:0 0 1rem}.profile-workout-card{align-items:center;background-color:var(--bg-color);border-radius:8px;display:flex;gap:1rem;margin-bottom:.5rem;padding:.875rem 1rem;transition:background-color .2s}.profile-workout-card:hover{background-color:var(--accent-color);cursor:pointer}.profile-workout-image{object-fit:cover}.profile-workout-image,.profile-workout-image-placeholder{background-color:var(--accent-color);border-radius:8px;flex-shrink:0;height:48px;width:48px}.profile-workout-image-placeholder{align-items:center;display:flex;font-size:1.25rem;justify-content:center}.profile-workout-info{flex:1 1;min-width:0}.profile-workout-name{color:var(--primary-color);font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-workout-date{color:var(--text-secondary);font-size:.75rem;margin-top:.15rem}.profile-workout-badges{display:flex;flex-shrink:0;gap:.5rem}.profile-workout-badge{color:var(--text-secondary);font-size:.7rem;white-space:nowrap}.profile-history-load-more{display:flex;justify-content:center;margin-top:.85rem;padding-top:.5rem}.profile-history-load-more .btn{min-width:240px}@media (max-width:480px){.profile-history-load-more .btn{min-width:0;width:100%}}.private-notice{color:var(--text-secondary);padding:2.5rem 1rem;text-align:center}.private-notice-icon{font-size:2.5rem;margin-bottom:.75rem}.private-notice-text{font-size:.95rem;margin:0}.btn-back:hover{color:var(--highlight-color)}.mr-container{margin:0 auto;max-width:900px}.mr-card,.mr-kpi-grid{margin-bottom:1rem}.mr-kpi-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.mr-kpi{background:#242a28;background:var(--card-bg,#242a28);border:1px solid #ffffff0f;border:1px solid var(--border-color,#ffffff0f);border-radius:12px;padding:.9rem .95rem}.mr-kpi-value{font-feature-settings:"tnum";color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:1.6rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.mr-kpi-label{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.82rem;margin-top:.2rem}.mr-kpi-delta{align-items:center;display:flex;font-size:.78rem;gap:.4rem;margin-top:.5rem}.mr-kpi-prev{color:#9aa79a;color:var(--text-secondary,#9aa79a);opacity:.7}.mr-delta{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.mr-delta--up{color:#2ecc71}.mr-delta--down{color:#e74c3c}.mr-delta--neutral{color:#9aa79a;color:var(--text-secondary,#9aa79a)}.mr-chart{margin-top:.5rem;width:100%}.mr-cal{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-top:.4rem}.mr-cal-dow{font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:4px 0;text-align:center;text-transform:uppercase}.mr-cal-cell,.mr-cal-dow{color:#9aa79a;color:var(--text-secondary,#9aa79a)}.mr-cal-cell{font-feature-settings:"tnum";align-items:center;aspect-ratio:1/1;background:#ffffff08;border:1px solid #0000;border-radius:6px;display:flex;font-size:.85rem;font-variant-numeric:tabular-nums;justify-content:center;position:relative}.mr-cal-cell--blank{background:#0000}.mr-cal-cell--trained{background:linear-gradient(135deg,#2ecc718c,#2ecc714d);border-color:#2ecc7199;color:#fff;font-weight:700}.mr-cal-day{-webkit-user-select:none;user-select:none}.mr-pr-list{list-style:none;margin:0;padding:0}.mr-pr-item{align-items:baseline;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-color,#ffffff0f);display:flex;justify-content:space-between;padding:.55rem 0}.mr-pr-item:last-child{border-bottom:0}.mr-pr-name{color:#dfeee4;color:var(--text-primary,#dfeee4);font-weight:500}.mr-pr-values strong{font-feature-settings:"tnum";color:#2ecc71;color:var(--success-color,#2ecc71);font-variant-numeric:tabular-nums;font-weight:700}.mr-pr-prev{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.85rem;margin-left:.4rem}.mr-types{display:flex;flex-direction:column;gap:.25rem}.mr-type-row{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-color,#ffffff0f);display:flex;justify-content:space-between;padding:.45rem 0}.mr-type-row:last-child{border-bottom:0}.mr-type-name{color:#dfeee4;color:var(--text-primary,#dfeee4)}.mr-type-count{font-feature-settings:"tnum";color:#9aa79a;color:var(--text-secondary,#9aa79a);font-variant-numeric:tabular-nums}@media (max-width:480px){.mr-kpi-value{font-size:1.35rem}.mr-cal-cell{font-size:.75rem}}.swipe-shell{flex:1 1;min-height:0;overflow:hidden;overscroll-behavior-x:none;position:relative;touch-action:pan-y;width:100%}.swipe-shell-track{display:flex;height:100%;transition:none;will-change:transform}.swipe-shell-track.animating{transition:transform .28s cubic-bezier(.22,.61,.36,1)}.swipe-shell-slide{flex:1 0;height:100%;overflow-x:hidden;position:relative}.swipe-shell-overlay,.swipe-shell-slide{-webkit-overflow-scrolling:touch;overflow-y:auto}.swipe-shell-overlay{animation:shellOverlayIn .18s ease-out;background:#15201a;background:var(--bg-color,#15201a);inset:0;position:absolute}.swipe-shell-overlay.hidden{animation:none;display:none}@keyframes shellOverlayIn{0%{opacity:.85;transform:translateY(2px)}to{opacity:1;transform:none}}.swipe-shell.desktop .swipe-shell-track{transition:transform .28s cubic-bezier(.22,.61,.36,1)}.swipe-shell-slide .page-header{left:auto;position:-webkit-sticky;position:sticky;right:auto;top:0;width:auto;z-index:10}.swipe-shell-slide .page-container{margin-top:0}@media (max-width:768px){.swipe-shell{flex:none;height:calc(100vh - 70px);height:calc(100dvh - 70px)}.swipe-shell-overlay{padding-bottom:70px}}@media (min-width:768px){.swipe-shell{grid-column:2;grid-row:2;height:100%;overflow-y:auto}}.ptr-overlay{background:linear-gradient(180deg,#1a1d1c,#1a1d1c00);background:linear-gradient(180deg,var(--bg-color,#1a1d1c) 0,#1a1d1c00 100%);height:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .15s ease;z-index:1200}.ptr-overlay,.ptr-spinner{align-items:center;display:flex;justify-content:center}.ptr-spinner{color:#2ecc71;color:var(--success-color,#2ecc71);will-change:transform,opacity}.ptr-spinner-track{stroke:#ffffff1f;stroke:var(--border-color,#ffffff1f)}.ptr-spinner-arc{stroke:#2ecc71;stroke:var(--success-color,#2ecc71)}.ptr-overlay--refreshing .ptr-spinner{animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mini-workout{-webkit-tap-highlight-color:transparent;align-items:center;animation:miniWorkoutSlideUp .3s cubic-bezier(.22,.61,.36,1);background:linear-gradient(135deg,#1a3d2b,#254d37);border:1px solid #2ecc7180;border-radius:14px;bottom:70px;box-shadow:0 -4px 24px #0006,0 2px 8px #0000004d;color:#dfeee4;color:var(--text-primary,#dfeee4);cursor:pointer;display:flex;gap:.75rem;left:50%;max-width:480px;padding:.5rem .85rem .6rem;position:fixed;transform:translateX(-50%);transition:transform .15s ease,filter .15s ease;user-select:none;-webkit-user-select:none;width:calc(100% - 1rem);z-index:900}.mini-workout--pressing{filter:brightness(1.05);transform:translateX(-50%) scale(.98)}@keyframes miniWorkoutSlideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.mini-workout-grip{align-items:center;display:flex;height:4px;justify-content:center;left:50%;position:absolute;top:4px;transform:translateX(-50%);width:36px}.mini-workout-handle{background:#ffffff40;border-radius:2px;display:block;height:4px;width:36px}.mini-workout-body{flex:1 1;margin-top:4px;min-width:0}.mini-workout-name{color:#dfeee4;color:var(--text-primary,#dfeee4);font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-workout-meta{align-items:center;color:#ffffffd9;display:flex;font-size:.8rem;gap:.75rem;margin-top:.15rem}.mini-workout-timer{font-feature-settings:"tnum";align-items:center;color:#2ecc71;color:var(--success-color,#2ecc71);display:inline-flex;font-family:Orbitron,Courier New,monospace;font-variant-numeric:tabular-nums;font-weight:700;gap:.35rem;letter-spacing:1px}.mini-workout-pulse{animation:miniWorkoutPulse 1.4s ease-out infinite;background:#2ecc71;background:var(--success-color,#2ecc71);border-radius:50%;box-shadow:0 0 0 0 #2ecc71b3;display:inline-block;height:8px;width:8px}@keyframes miniWorkoutPulse{0%{box-shadow:0 0 0 0 #2ecc71b3}70%{box-shadow:0 0 0 10px #2ecc7100}to{box-shadow:0 0 0 0 #2ecc7100}}.mini-workout-paused{color:#ffffff80;display:inline-block;font-size:.75rem}.mini-workout-stats{color:#ffffffb3}.mini-workout-arrow{color:#2ecc71;color:var(--success-color,#2ecc71);flex-shrink:0;font-size:1.1rem;margin-left:auto;margin-top:4px;opacity:.85}@media (min-width:768px){.mini-workout{bottom:1rem;left:auto;max-width:380px;right:1rem;transform:none;width:auto}.mini-workout--pressing{transform:scale(.98)}@keyframes miniWorkoutSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}.update-banner{align-items:center;animation:update-banner-slide-in .3s ease-out;background:linear-gradient(135deg,#2ecc712e,#2ecc710f);border:1px solid #2ecc7166;border-radius:10px;box-shadow:0 4px 14px #00000040;color:#dfeee4;color:var(--text-primary,#dfeee4);display:flex;gap:.75rem;margin:0 .75rem;padding:.7rem .9rem;position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top, 0px) + 2rem);z-index:1000}@keyframes update-banner-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.update-banner--mandatory{background:linear-gradient(135deg,#e74c3c38,#e74c3c14);border-color:#e74c3c80}.update-banner--legacy{background:linear-gradient(135deg,#3498db38,#3498db14);border-color:#3498db80}.update-banner-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.update-banner-text{display:flex;flex:1 1;flex-direction:column;gap:.1rem;min-width:0}.update-banner-text strong{font-size:.92rem;font-weight:600}.update-banner-text small{color:#9aa79a;color:var(--text-secondary,#9aa79a);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-banner-actions{display:flex;flex-shrink:0;gap:.4rem}.update-banner-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .7rem;transition:background-color .15s,border-color .15s;white-space:nowrap}.update-banner-btn--primary{background:#2ecc71;background:var(--success-color,#2ecc71);color:#fff}.update-banner-btn--primary:hover{filter:brightness(1.05)}.update-banner-btn--primary:active{filter:brightness(.95)}.update-banner-btn--ghost{background:#0000;color:#9aa79a;color:var(--text-secondary,#9aa79a)}.update-banner-btn--ghost:hover{background:#ffffff0d}@media (max-width:480px){.update-banner-btn--ghost,.update-banner-text small{display:none}.update-banner-btn--primary{padding:.4rem .5rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-color:#1a1d1c;--card-bg:#242a28;--primary-color:#dff3e8;--text-primary:#dfeee4;--text-secondary:#9aa79a;--secondary-color:#0f2a22;--accent-color:#254d37;--highlight-color:#2e7d50;--success-color:#2ecc71;--danger-color:#e74c3c;--warning-color:#f39c12;--border-color:#ffffff0f;--shadow:0 2px 8px #000000b3;--shadow-hover:0 4px 16px #2e7d501f}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1d1c;background-color:var(--bg-color);color:#dfeee4;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1 1;overflow-y:auto;padding-bottom:70px}@media (min-width:768px){.app-authenticated{display:grid;grid-template-columns:250px 1fr;grid-template-rows:60px 1fr;height:100vh}.app-authenticated .app-content{grid-column:2;grid-row:2;overflow-y:auto;padding-bottom:0}.app-public{display:grid;grid-template-columns:250px 1fr;grid-template-rows:60px 1fr;height:100vh}.app-public .app-content{grid-column:2;grid-row:2;overflow-y:auto;padding-bottom:0}}.loading-screen{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff0f;border-top:4px solid #2e7d50;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--highlight-color);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.page-container{margin:75px auto 0;max-width:1400px;padding:1.5rem}@media (min-width:768px){.page-container{margin-top:60px;max-width:1400px;padding:2rem 3rem}}.page-header{align-items:center;background-color:#1a1d1c;background-color:var(--bg-color);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:space-between;left:0;padding:1rem 1rem .85rem;position:fixed;right:0;top:0;transform:translateZ(0);z-index:1000}.page-header>*{min-width:0}@media (min-width:768px){.page-header{gap:1.25rem;left:250px;padding:1.5rem 2rem 1.25rem;right:0;width:auto}}@media (max-width:768px){.page-header{left:0;width:100%}}.page-header:after{content:"";margin:0 auto;max-width:1400px}.page-title{color:#dff3e8;color:var(--primary-color);flex:1 1 auto;font-size:1.5rem;font-weight:700;margin:0;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.page-title{font-size:1.25rem}}.header-buttons{align-items:center;display:flex;flex-shrink:0;gap:.5rem}@media (min-width:768px){.header-buttons{gap:.75rem}}@media (max-width:768px){.page-header .btn{font-size:.9rem;padding:.5rem .85rem}}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#2e7d50;background-color:var(--highlight-color);box-shadow:0 4px 12px #2e7d504d;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #2e7d5066;transform:translateY(-2px)}.btn-success{background-color:#2e7d50;background-color:var(--highlight-color);color:#fff}.btn-success:hover{background-color:#1f5c39;transform:translateY(-2px)}.btn-danger{background-color:#e74c3c;background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c0392b}.btn-secondary{background-color:#0f2a22;background-color:var(--secondary-color);color:#fff}.btn-secondary:hover{background-color:#dff3e8;background-color:var(--primary-color);color:#0f2a22;color:var(--secondary-color)}.btn-outline{background-color:initial;border:2px solid #2e7d50;border:2px solid var(--highlight-color);color:#2e7d50;color:var(--highlight-color)}.btn-outline:hover{background-color:#2e7d50;background-color:var(--highlight-color);color:#fff}.btn-small{font-size:.875rem;padding:.5rem 1rem}.btn-back{align-items:center;background:none;border:none;color:#9aa79a;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:.4rem;margin-bottom:1.25rem;padding:.25rem 0;transition:color .2s}.btn-back:hover{color:#dfeee4;color:var(--text-primary)}.btn-icon{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;padding:.5rem;width:40px}.card{background-color:#242a28;background-color:var(--card-bg);border:1px solid #0000;border-radius:12px;box-shadow:0 2px 8px #000000b3;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.card:hover{border-color:#2e7d5014;box-shadow:0 4px 16px #2e7d501f;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.card-title{color:#dff3e8;color:var(--primary-color);font-size:1.25rem;font-weight:600}.card-subtitle{color:#9aa79a;color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.form-group{margin-bottom:1.25rem}.form-label{color:#dfeee4;color:var(--text-primary);display:block;font-weight:600;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{background-color:#242a28;background-color:var(--card-bg);border:2px solid #ffffff0f;border:2px solid var(--border-color);border-radius:8px;color:#dfeee4;color:var(--text-primary);font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2e7d50;border-color:var(--highlight-color);box-shadow:0 0 0 3px #2e7d501f;outline:none}.form-textarea{min-height:100px;resize:vertical}.form-error{background-color:#e74c3c1a;border-left:3px solid #e74c3c;border-left:3px solid var(--danger-color);border-radius:6px;color:#e74c3c;color:var(--danger-color);font-size:.875rem;margin-top:.5rem;padding:.75rem}.badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.35rem .75rem;text-transform:uppercase}.badge-certified{align-items:center;background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 2px 8px #ffd7004d;color:#1a1a2e;display:inline-flex;gap:.25rem}.badge-info{background-color:#254d37;background-color:var(--accent-color);color:#fff}.badge-success{background-color:#2ecc71;background-color:var(--success-color);color:#fff}.empty-state{color:#9aa79a;color:var(--text-secondary);padding:4rem 1rem;text-align:center}.empty-state-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.3}.empty-state-text{font-size:1.125rem;margin-bottom:2rem}.bottom-nav{background:#1a1f1d;bottom:0;box-shadow:0 -2px 20px #0003;display:flex;justify-content:space-around;left:0;padding:.5rem 0;position:fixed;right:0;z-index:1000}.nav-item{align-items:center;color:#fff9;display:flex;flex:1 1;flex-direction:column;padding:.35rem;text-decoration:none;transition:all .3s ease}.nav-item.active{color:#2e7d50;color:var(--highlight-color)}.nav-item:hover{color:#fff}.nav-icon{display:block;filter:brightness(.7) saturate(1);height:24px;margin-bottom:.15rem;object-fit:contain;transition:transform .3s ease,filter .3s ease;width:24px}.nav-icon--emoji{filter:none!important;font-size:22px;line-height:24px;text-align:center}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{filter:brightness(1) saturate(1);transform:scale(1.1)}.nav-label{font-size:.6rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (min-width:768px){.bottom-nav{flex-direction:column;grid-column:1;grid-row:1/3;height:100vh;overflow-y:auto;padding:1.5rem 0;position:static}.nav-item{border-left:3px solid #0000;flex-direction:row;gap:1rem;justify-content:flex-start;padding:1rem 1.5rem}.nav-item.active{border-left-color:#2e7d50;border-left-color:var(--highlight-color)}.nav-item:hover{background-color:#ffffff0d}.nav-icon{display:block;height:28px;margin-bottom:0;margin-right:.75rem;object-fit:contain;width:28px}.nav-label{font-size:.875rem}.app-content{padding-bottom:0}}.desktop-header{display:none}@media (min-width:768px){.desktop-header{align-items:center;background:#1a1f1d;box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;grid-column:2;grid-row:1;justify-content:space-between;padding:1rem 2rem}.desktop-header h1{font-size:1.5rem;font-weight:700}}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}@media (min-width:768px){.qojim-list,.sessions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.session-image{border-radius:12px 12px 0 0;height:200px;margin:-1.5rem auto 1rem;object-fit:cover;width:100%}@media (max-width:768px){.session-image{height:150px}}.nav-label{display:none}@media (min-width:768px){.nav-label{display:block;font-size:.85rem;margin-top:4px}}.swipe-container{height:100%;overflow:hidden;position:relative;touch-action:pan-y;width:100%;will-change:transform}.swipe-container.stack-view{perspective:1000px}.page-stack{border-radius:0;height:100%;left:0;overflow:hidden;position:absolute;top:0;transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease;width:100%}.page-stack.current{background:#1a1d1c;background:var(--bg-color);position:relative;z-index:2}.page-stack.next,.page-stack.previous{background:#242a28;background:var(--card-bg);border:1px solid #ffffff0f;border:1px solid var(--border-color)}.page-preview{background:#242a28;background:var(--card-bg);height:100%;overflow:hidden;position:relative;width:100%}.preview-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f2a22;background:var(--secondary-color);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-color);padding:1rem}.preview-nav-info{align-items:center;display:flex;gap:.5rem}.preview-nav-icon{filter:brightness(.8);height:20px;opacity:.7;width:20px}.preview-nav-title{color:#9aa79a;color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.preview-content{height:calc(100% - 60px);overflow:hidden;padding:1rem}.preview-placeholder{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.preview-skeleton{max-width:300px;width:100%}.skeleton-header{background:#254d37;background:var(--accent-color);border-radius:4px;height:20px;margin-bottom:1rem;opacity:.3}.skeleton-cards{display:flex;flex-direction:column;gap:.75rem}.skeleton-card{background:#254d37;background:var(--accent-color);border-radius:8px;height:80px;opacity:.2}.page-preview.preview{filter:blur(1px);opacity:.8}.swipe-indicators{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.swipe-indicator{align-items:center;background:#2e7d50e6;border-radius:50%;color:#fff;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease;width:50px}.swipe-container.dragging .swipe-indicator{animation:swipe-pulse .6s ease-in-out infinite;opacity:.8}.swipe-indicator.swipe-right{left:20px}.swipe-indicator.swipe-left{right:20px}@keyframes swipe-pulse{0%,to{opacity:.8;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.1)}}@media (max-width:768px){.swipe-container{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.page-stack{-webkit-backface-visibility:hidden;backface-visibility:hidden}.swipe-container.dragging{overflow-x:hidden}}.page-transition-enter{opacity:0;transform:translateX(100px)}.page-transition-enter-active{transition:opacity .3s ease,transform .3s ease}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateX(0)}.page-transition-exit-active{opacity:0;transform:translateX(-100px);transition:opacity .3s ease,transform .3s ease}
/*# sourceMappingURL=main.ff011fbe.css.map*/