*{margin:0;padding:0;box-sizing:border-box}:root{--card-border: rgba(255, 255, 255, .12);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--accent: #6c63ff;--accent-hover: #5a52e0;--error: #ff6b6b;--success: #4ecdc4;--input-border: rgba(255, 255, 255, .2)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#0f0c29;color:var(--text-primary);min-height:100vh;min-height:100dvh;line-height:1.5}.auth-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1;background-image:url(/assets/purple-background-Ct_AG1Q8.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:0px}.auth-logo{width:100%;max-width:400px;height:auto;object-fit:contain;margin-top:-50px}.auth-form{width:100%;display:flex;flex-direction:column;gap:16px;margin-top:-25px;background:#ffffff14;padding:32px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.auth-form-header{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:4px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.form-group input{padding:14px 16px;font-size:1rem;border:1px solid var(--input-border);border-radius:8px;background:#fffffff2;color:#000;transition:border-color .2s,background .2s,box-shadow .2s}.form-group input::placeholder{color:#0006}.form-group input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #6c63ff1a}.btn-primary{padding:14px;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;margin-top:8px;box-shadow:0 4px 12px #6c63ff4d}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 16px #6c63ff66;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-links{display:flex;justify-content:center;gap:24px;margin-top:8px;flex-wrap:wrap}.auth-links a{color:#ffffffd9;text-decoration:none;font-size:.9rem;transition:color .2s;font-weight:500}.auth-links a:hover{color:#fff;text-decoration:underline}.auth-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);text-align:left;margin:-25px 0 4px}.auth-title+.auth-form{margin-top:0}.error-message{background:#ff6b6b26;border:1px solid var(--error);color:var(--error);padding:12px 16px;border-radius:8px;font-size:.875rem;text-align:center}.success-message{background:#4ecdc426;border:1px solid var(--success);color:var(--success);padding:16px;border-radius:8px;font-size:.95rem;text-align:center;line-height:1.6}.loading-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:3px solid var(--input-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.app-shell{height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative;z-index:1;background-image:url(/assets/purple-background-Ct_AG1Q8.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.app-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-around;background:#0f0c29d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(108,99,255,.15);padding-bottom:env(safe-area-inset-bottom,0px);z-index:100}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;border-radius:12px;text-decoration:none;color:var(--text-secondary);font-size:.7rem;font-weight:500;transition:color .2s,background .2s;-webkit-tap-highlight-color:transparent}.bottom-nav-item.active{color:var(--accent);background:#6c63ff1f}.bottom-nav-item.active svg{filter:drop-shadow(0 0 6px rgba(108,99,255,.5))}.bottom-nav-item.disabled{opacity:.35;pointer-events:none}.bottom-nav-center{position:relative;padding:0;gap:0}.bottom-nav-center-btn{width:56px;height:56px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;margin-top:-28px;box-shadow:0 4px 16px #6c63ff66;border:3px solid rgba(15,12,41,.9);transition:transform .2s,box-shadow .2s}.bottom-nav-center:hover .bottom-nav-center-btn{transform:scale(1.05);box-shadow:0 6px 20px #6c63ff80}.bottom-nav-center.active .bottom-nav-center-btn{background:var(--accent-hover);box-shadow:0 4px 20px #6c63ff99}.bottom-nav-center-logo{width:32px;height:32px;filter:brightness(10)}.bottom-nav-center span{font-size:.65rem;margin-top:2px}.page-content{padding:24px 20px;max-width:600px;margin:0 auto;width:100%}.page-greeting{font-size:1.5rem;font-weight:600;margin-bottom:24px}.page-title{font-size:1.25rem;font-weight:600;margin-bottom:20px}.dashboard-grid{display:flex;flex-direction:column;gap:12px}.dashboard-card{background:#ffffff0f;border:1px solid var(--card-border);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-card h3{font-size:1rem;font-weight:600;margin-bottom:6px}.text-muted{color:var(--text-secondary);font-size:.875rem}.charts-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--text-secondary)}.chart-metric-list{display:flex;gap:10px;margin-top:16px}.chart-metric-btn{flex:1;padding:12px;border-radius:8px;border:1px solid var(--card-border);background:#ffffff0f;color:var(--text-secondary);font-size:.875rem;cursor:not-allowed}.charts-page{padding-bottom:100px}.charts-controls{display:flex;flex-direction:column;gap:12px;position:sticky;top:0;z-index:10;background:#0f0c29eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);margin:0 -20px 20px;padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.charts-range-row{display:flex;gap:8px}.range-chip{flex:1;padding:10px 0;font-size:.85rem;font-weight:600;border:1px solid var(--card-border);border-radius:8px;background:#ffffff0f;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.range-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px #6c63ff59}.range-chip:not(.active):hover{background:#ffffff1a}.charts-search-row{display:flex}.charts-search-input{flex:1;position:relative;display:flex;align-items:center}.charts-search-icon{position:absolute;left:12px;color:var(--text-secondary);font-size:.9rem;pointer-events:none}.charts-search-input input{width:100%;padding:10px 12px 10px 36px;font-size:.875rem;border:1px solid var(--card-border);border-radius:8px;background:#ffffff0f;color:var(--text-primary);outline:none;transition:border-color .2s}.charts-search-input input::placeholder{color:var(--text-secondary)}.charts-search-input input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #6c63ff1f}.charts-filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.charts-checkbox{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.charts-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.charts-expand-btns{display:flex;gap:6px}.btn-ghost{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:.75rem;font-weight:500;border:1px solid var(--card-border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.btn-ghost:hover{background:#ffffff14;color:var(--text-primary)}.charts-error{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:var(--error);padding:12px 16px;border-radius:10px;font-size:.85rem;margin-bottom:16px}.retry-btn{border-color:#ff6b6b4d!important;color:var(--error)!important;white-space:nowrap}.charts-loading{display:flex;align-items:center;justify-content:center;padding:60px 0}.charts-empty-state{text-align:center;padding:48px 20px}.charts-card-list{display:flex;flex-direction:column;gap:10px}.chart-card{background:#ffffff0f;border:1px solid var(--card-border);border-radius:12px;overflow:hidden;transition:border-color .2s}.chart-card:has(.chart-card-body){border-color:#6c63ff33}.chart-card-header{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.chart-card-title{flex:1;min-width:0}.chart-card-name{font-size:.9rem;font-weight:600;display:flex;align-items:baseline;gap:5px}.chart-card-unit{font-size:.75rem;font-weight:400;color:var(--text-secondary)}.chart-card-summary{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.chart-card-latest{font-size:.85rem;font-weight:600;color:var(--text-primary)}.chart-card-delta{font-size:.7rem;font-weight:500}.chart-card-delta.positive{color:var(--success)}.chart-card-delta.negative{color:var(--error)}.chart-card-body{padding:4px 8px 16px}.chart-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:.85rem}.chart-stats-row{display:flex;justify-content:space-around;padding:10px 12px 2px;border-top:1px solid rgba(255,255,255,.06);margin-top:4px}.chart-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.chart-stat-label{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.chart-stat-value{font-size:.8rem;font-weight:600;color:var(--text-primary)}.workout-list{display:flex;flex-direction:column;gap:1px}.workout-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.workout-item:last-child{border-bottom:none}.workout-item-main{display:flex;align-items:baseline;gap:6px;min-width:0}.workout-item-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-item-type{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.workout-item-stats{display:flex;gap:8px;font-size:.75rem;color:var(--text-secondary);justify-self:end;align-self:center;grid-row:1 / 3;grid-column:2}.workout-item-date{font-size:.7rem;color:var(--text-secondary);opacity:.7}.workout-sync-row{display:flex;justify-content:center;padding:8px 0 4px}.workout-badge{display:inline-block;font-size:.6rem;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:6px;vertical-align:middle}.workout-badge.rpe{background:#6c63ff26;color:var(--accent)}.workout-badge.doms{background:#ff9f4326;color:#ff9f43}.powered-by-strava{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px 12px 8px;font-size:.65rem;color:var(--text-secondary);opacity:.6}.powered-by-strava svg{color:#fc4c02}.per-workout-sliders{display:flex;flex-direction:column;gap:20px;width:100%;text-align:left}.per-workout-slider-item{display:flex;flex-direction:column;gap:6px}.per-workout-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-text{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.8rem;padding:4px 8px}.btn-text:hover{text-decoration:underline}.btn-text:disabled{opacity:.5;cursor:not-allowed}.btn-sm{font-size:.8rem;padding:6px 14px}.chart-tooltip{background:#0f0c29f2;border:1px solid rgba(108,99,255,.3);border-radius:8px;padding:8px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chart-tooltip-date{font-size:.7rem;color:var(--text-secondary);margin-bottom:2px}.chart-tooltip-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.profile-card{display:flex;align-items:center;gap:16px;background:#ffffff0f;border:1px solid var(--card-border);border-radius:12px;padding:20px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:#6c63ff26;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.profile-info h2{font-size:1.125rem;font-weight:600}.btn-logout-full{width:100%;padding:14px;font-size:1rem;font-weight:500;border:1px solid rgba(255,107,107,.4);border-radius:8px;background:#ff6b6b1a;color:var(--error);cursor:pointer;transition:background .2s}.btn-logout-full:hover{background:#ff6b6b33}.legal-container{min-height:100vh;min-height:100dvh;padding:24px 16px 48px;max-width:680px;margin:0 auto}.legal-card h1{font-size:1.5rem;font-weight:700;margin-bottom:4px}.legal-updated{font-size:.8rem;color:var(--text-secondary);margin-bottom:28px}.legal-card section{margin-bottom:24px}.legal-card h2{font-size:1.05rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.legal-card h3{font-size:.95rem;font-weight:600;margin:12px 0 6px;color:var(--text-secondary)}.legal-card p{font-size:.9rem;line-height:1.65;color:#fffc;margin-bottom:8px}.legal-card ul{margin:8px 0 8px 20px;font-size:.9rem;line-height:1.65;color:#fffc}.legal-card li{margin-bottom:4px}.legal-card a{color:var(--accent);text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.9rem;margin-bottom:20px;transition:color .2s}.legal-back:hover{color:var(--text-primary)}.legal-section{margin-bottom:24px}.legal-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.legal-link-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff0f;border:1px solid var(--card-border);border-radius:10px;margin-bottom:8px;color:var(--text-primary);text-decoration:none;font-size:.9rem;transition:background .2s}.legal-link-row:hover{background:#ffffff1a}.legal-link-row svg{color:var(--accent);flex-shrink:0}.consent-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;line-height:1.4}.consent-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.consent-checkbox a{color:var(--accent);text-decoration:none}.consent-checkbox a:hover{text-decoration:underline}.auth-legal-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;flex-wrap:wrap}.auth-legal-footer a{color:#ffffff73;text-decoration:none;font-size:.75rem;transition:color .2s}.auth-legal-footer a:hover{color:#ffffffb3}.auth-legal-dot{color:#ffffff4d;font-size:.75rem}.accordion{background:#ffffff0f;border:1px solid var(--card-border);border-radius:12px;margin-bottom:12px;overflow:hidden}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.accordion-chevron{transition:transform .2s}.accordion-chevron.rotated{transform:rotate(180deg)}.accordion-body{padding:0 20px 20px}.metric-inputs{display:flex;flex-direction:column;gap:12px}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-row label{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.metric-row input{width:100px;padding:10px 12px;font-size:.95rem;border:1px solid var(--input-border);border-radius:8px;background:#fffffff2;color:#000;text-align:right}.metric-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff1a}.metric-row input:disabled{background:#ffffff14;color:var(--text-secondary);cursor:not-allowed}.metric-row.locked label{color:#fff6}.lock-icon{color:#ffffff59}.btn-upgrade{padding:12px;font-size:.875rem;font-weight:600;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent);cursor:pointer;transition:background .2s;margin-top:4px}.btn-upgrade:hover{background:#6c63ff1a}.report-toast{background:#4ecdc426;border:1px solid var(--success);color:var(--success);padding:10px 16px;border-radius:8px;font-size:.875rem;text-align:center;margin-bottom:16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.metric-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-left:4px;cursor:help}.metric-help-icon{font-size:.8rem;color:var(--text-secondary);transition:color .2s;flex-shrink:0}.metric-tooltip-wrap:hover .metric-help-icon,.metric-tooltip-wrap:focus-within .metric-help-icon{color:var(--accent)}.metric-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#0f0c29f2;border:1px solid rgba(108,99,255,.3);border-radius:8px;padding:8px 12px;font-size:.75rem;font-weight:400;color:var(--text-primary);white-space:normal;width:max-content;max-width:220px;line-height:1.4;text-align:center;z-index:200;pointer-events:none;transition:opacity .15s,visibility .15s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0006}.metric-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(108,99,255,.3) transparent transparent transparent}.metric-tooltip-wrap:hover .metric-tooltip,.metric-tooltip-wrap:focus-within .metric-tooltip{visibility:visible;opacity:1}@media(max-width:480px){.auth-form{padding:24px}.form-group input{padding:12px 14px}.btn-primary{padding:12px}}.wellness-card{cursor:pointer;transition:border-color .2s,transform .1s;-webkit-tap-highlight-color:transparent}.wellness-card:hover{border-color:#6c63ff4d}.wellness-card:active{transform:scale(.99)}.wellness-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.wellness-card-header h3{font-size:1rem;font-weight:600;margin-bottom:2px}.wellness-date{font-size:.75rem;color:var(--text-secondary)}.wellness-add-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--accent);background:#6c63ff1f;color:var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;flex-shrink:0}.wellness-add-btn:hover{background:#6c63ff40}.wellness-loading{display:flex;justify-content:center;padding:16px 0}.wellness-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.wellness-badge{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:60px}.wellness-badge-label{font-size:.65rem;color:var(--text-secondary);text-align:center;line-height:1.2}.wellness-badge-value{width:36px;height:36px;border-radius:50%;background:#6c63ff26;border:2px solid var(--accent);color:var(--accent);font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center}.wellness-completed-tag{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--success);font-weight:500}.wizard-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));animation:fadeIn .2s ease}.wizard-modal{width:100%;max-width:440px;background:#1a1540;border:1px solid rgba(108,99,255,.2);border-radius:20px 20px 12px 12px;overflow:hidden;display:flex;flex-direction:column;max-height:85vh;max-height:85dvh}.wizard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}.wizard-step-count{font-size:.8rem;color:var(--text-secondary);font-weight:500}.wizard-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;transition:color .2s}.wizard-close:hover{color:var(--text-primary)}.wizard-progress{height:3px;background:#ffffff14;margin:0 20px 8px;border-radius:2px;overflow:hidden}.wizard-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.wizard-body{padding:24px 24px 20px;text-align:center;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.wizard-title{font-size:1.4rem;font-weight:700;margin-bottom:8px;color:var(--text-primary)}.wizard-question{font-size:.95rem;color:var(--text-secondary);margin-bottom:28px;line-height:1.5}.wizard-chips{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.wizard-chip{width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text-secondary);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.wizard-chip:hover{border-color:#6c63ff66;background:#6c63ff1a}.wizard-chip.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 2px 12px #6c63ff66;transform:scale(1.08)}.wizard-scale-labels{display:flex;justify-content:space-between;padding:4px 8px 0;font-size:.7rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.05em}.wizard-notes{width:100%;margin-top:18px;padding:12px 14px;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0a;color:var(--text-primary);font-family:inherit;font-size:.9rem;line-height:1.5;resize:none;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;box-sizing:border-box}.wizard-notes::placeholder{color:#ffffff40;font-style:italic}.wizard-notes:focus{border-color:#6c63ff80;background:#6c63ff0a;box-shadow:0 0 0 3px #6c63ff1a}.wizard-error{background:#ff6b6b1a;border-top:1px solid rgba(255,107,107,.3);color:var(--error);padding:10px 20px;font-size:.85rem;text-align:center}.wizard-footer{display:flex;flex-shrink:0;gap:10px;padding:12px 20px 20px;border-top:1px solid rgba(255,255,255,.06)}.wizard-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;font-size:.9rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.wizard-btn:disabled{opacity:.4;cursor:not-allowed}.wizard-btn-back{background:#ffffff14;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.wizard-btn-back:not(:disabled):hover{background:#ffffff1f;color:var(--text-primary)}.wizard-btn-next,.wizard-btn-save{background:var(--accent);color:#fff}.wizard-btn-next:not(:disabled):hover,.wizard-btn-save:not(:disabled):hover{background:var(--accent-hover);box-shadow:0 2px 12px #6c63ff59}.stepper-input{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:16px}.stepper-btn{width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.stepper-btn:not(:disabled):hover{border-color:#6c63ff66;background:#6c63ff1a;color:var(--text-primary)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-value{font-size:2.4rem;font-weight:700;color:var(--text-primary);min-width:60px;text-align:center}.score-slider{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.score-slider-value{font-size:2.4rem;font-weight:700;color:var(--text-primary)}.score-slider-track-row{display:flex;align-items:center;gap:12px;width:100%}.score-slider-emoji{font-size:1.4rem;flex-shrink:0}.score-slider-range{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--success) 0%,#f7c948 50%,var(--error) 100%);outline:none}.score-slider-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);cursor:pointer;box-shadow:0 1px 6px #0000004d}.score-slider-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);cursor:pointer;box-shadow:0 1px 6px #0000004d}.score-slider-labels{display:flex;justify-content:space-between;width:100%;padding:0 36px;font-size:.7rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.05em}.premium-radar{position:relative}.premium-compare-btn{padding:6px 14px;border-radius:8px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.premium-compare-btn:not(:disabled):hover{border-color:#6c63ff66;color:var(--text-primary)}.premium-compare-btn.active{border-color:var(--accent);background:#6c63ff26;color:var(--text-primary)}.premium-compare-btn:disabled{opacity:.35;cursor:not-allowed}.premium-radar-chart-wrap{position:relative}.premium-radar-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;color:#fff6;z-index:2;pointer-events:none}.premium-radar-hint{text-align:center;font-size:.8rem;color:#ffffff4d;margin-top:4px}.premium-radar-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:8px}.premium-compare-wrap{position:relative}.premium-date-picker{position:absolute;bottom:calc(100% + 6px);left:0;min-width:180px;background:#1e1e32f5;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 0;z-index:20;box-shadow:0 8px 24px #0006}.premium-date-picker-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:.82rem;color:var(--text-primary);cursor:pointer;transition:background .15s}.premium-date-picker-item:hover{background:#ffffff0f}.premium-date-picker-item.disabled{opacity:.35;cursor:not-allowed}.premium-date-picker-item input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:inherit}.premium-date-labels{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:flex-end}.premium-date-label{font-size:.78rem;font-weight:500;color:var(--text-secondary)}.app-header{display:flex;justify-content:center;align-items:center;padding:12px 16px 0;z-index:10}.segmented-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#0f0c29a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(108,99,255,.15)}.segmented-toggle-btn{display:flex;align-items:center;gap:5px;padding:6px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.segmented-toggle-btn:hover{color:var(--text-primary);background:#6c63ff1a}.segmented-toggle-btn.active{background:#6c63ff40;color:var(--accent)}.premium-lookup-card{background:#ffffff0f;border:1px solid var(--card-border);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.premium-lookup-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:10px}.premium-lookup-row{display:flex;gap:8px}.premium-lookup-input{flex:1;padding:10px 14px;border-radius:8px;border:1px solid var(--card-border);background:#ffffff0d;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s}.premium-lookup-input:focus{border-color:var(--accent)}.premium-lookup-input::placeholder{color:var(--text-secondary);opacity:.5}.premium-lookup-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;border:none;background:var(--accent);color:#fff;cursor:pointer;transition:opacity .2s;flex-shrink:0}.premium-lookup-btn:disabled{opacity:.4;cursor:not-allowed}.premium-lookup-error{color:var(--danger);font-size:.85rem;margin-top:12px}.premium-lookup-result{margin-top:16px;padding-top:16px;border-top:1px solid var(--card-border)}.premium-lookup-name{font-size:1rem;font-weight:500;margin-bottom:12px}.premium-lookup-continue{width:100%}.premium-entry-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;font-size:.85rem}.premium-entry-user{font-size:.95rem;color:var(--text-secondary);margin-bottom:8px}.premium-entry-status{font-size:.82rem;color:var(--accent);margin-bottom:16px;font-style:italic}.premium-entry-error{color:var(--danger);margin-bottom:12px}.premium-entry-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.premium-entry-metric{background:#ffffff0f;border:1px solid var(--card-border);border-radius:10px;padding:14px}.premium-entry-metric-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.premium-entry-metric-header label{font-size:.9rem;font-weight:500}.premium-entry-tooltip{font-size:.78rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.4}.premium-entry-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--card-border);background:#ffffff0d;color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color .2s;box-sizing:border-box}.premium-entry-input:focus{border-color:var(--accent)}.premium-entry-input::placeholder{color:var(--text-secondary);opacity:.5}.premium-entry-notes{width:100%;padding:8px 12px;margin-top:6px;border-radius:8px;border:1px solid var(--card-border);background:#ffffff08;color:var(--text-primary);font-size:.82rem;outline:none;transition:border-color .2s;box-sizing:border-box}.premium-entry-notes:focus{border-color:var(--accent)}.premium-entry-notes::placeholder{color:var(--text-secondary);opacity:.4}.premium-entry-save{width:100%;margin-top:4px}.premium-entry-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:#0f0c29eb;color:var(--text-primary);padding:10px 20px;border-radius:8px;font-size:.85rem;z-index:200;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pt-search-cta{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px}.pt-empty{margin-top:32px}.pt-back-btn{margin-bottom:8px}.pt-trainee-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.pt-trainee-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;cursor:pointer;transition:border-color .2s}.pt-trainee-item:hover,.pt-trainee-item:focus-visible{border-color:#ffffff40;outline:none}.pt-trainee-avatar{width:40px;height:40px;border-radius:50%;background:#6c63ff26;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.pt-trainee-info{display:flex;flex-direction:column;gap:2px;text-align:left}.pt-trainee-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.pt-trainee-email{font-size:.8rem;color:var(--text-secondary)}.wellness-card-readonly{cursor:default;pointer-events:none}.social-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.social-header .page-title{margin-bottom:0}.social-search-toggle{background:none;border:none;color:var(--accent);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.social-search-toggle:hover{background:#6c63ff26}.social-section{margin-bottom:24px}.social-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.social-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.social-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px}.social-card-avatar{width:40px;height:40px;border-radius:50%;background:#6c63ff26;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}.social-card-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;text-align:left}.social-card-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.social-card-meta{font-size:.8rem;color:var(--text-secondary)}.social-card-actions{display:flex;gap:8px;flex-shrink:0}.social-action-btn{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s}.social-action-btn:hover{opacity:.85}.social-action-btn--accept{background:#34d39933;color:#34d399}.social-action-btn--reject{background:#f8717133;color:#f87171}.card-menu{position:relative;flex-shrink:0}.card-menu-trigger{background:none;border:none;padding:6px;cursor:pointer;color:var(--text-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.card-menu-trigger:hover{background:#ffffff14}.card-menu-dropdown{position:absolute;right:0;top:100%;z-index:20;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:4px 0;min-width:160px;list-style:none;margin:0;box-shadow:0 4px 16px #0000004d}:root{--body-map-none: rgba(255, 255, 255, .06);--body-map-mild: rgba(251, 191, 36, .45);--body-map-severe: rgba(239, 68, 68, .55);--body-map-mild-stroke: #f59e0b;--body-map-severe-stroke: #ef4444;--body-map-zone-stroke: rgba(255, 255, 255, .2);--body-map-silhouette: rgba(255, 255, 255, .08);--body-map-silhouette-stroke: rgba(255, 255, 255, .15)}.body-map-container{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.body-map-views{display:flex;gap:8px;justify-content:center;width:100%}.body-map-view{display:flex;flex-direction:column;align-items:center;flex:1;max-width:180px}.body-map-view-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.body-map-svg{width:100%;height:auto}.body-map-silhouette{fill:var(--body-map-silhouette);stroke:var(--body-map-silhouette-stroke);stroke-width:1;pointer-events:none}.body-map-zone{cursor:pointer;transition:opacity .15s ease}.body-map-zone:hover{opacity:.85}.body-map-zone.disabled{cursor:default;pointer-events:none}.body-map-zone:focus-visible path{stroke-width:2;outline:none}.body-map-joint path{stroke-dasharray:3 2;stroke-width:1.5}.body-map-joint .body-map-label{font-size:5.5px}.body-map-label{font-size:7px;fill:var(--text-primary);font-weight:500;-webkit-user-select:none;user-select:none}.body-map-legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.body-map-legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary)}.body-map-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2)}.body-map-swatch-none{background:var(--body-map-none)}.body-map-swatch-mild{background:var(--body-map-mild);border-color:var(--body-map-mild-stroke)}.body-map-swatch-severe{background:var(--body-map-severe);border-color:var(--body-map-severe-stroke)}.card-menu-item{display:block;width:100%;padding:8px 16px;border:none;background:#ffffff0a;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s}.card-menu-item:hover{background:#ffffff1a}.card-menu-item--danger{color:#f87171}.confirm-dialog{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:24px;color:var(--text-primary);max-width:340px;width:90%}.confirm-dialog::backdrop{background:#0009}.confirm-dialog-title{font-size:1.1rem;font-weight:600;margin:0 0 8px}.confirm-dialog-message{font-size:.9rem;color:var(--text-secondary);margin:0 0 20px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.btn-secondary{padding:8px 16px;border-radius:8px;border:1px solid var(--card-border);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.875rem}.btn-danger{padding:8px 16px;border-radius:8px;border:none;background:#ef4444;color:#fff;cursor:pointer;font-size:.875rem}.trainee-action-row{display:flex;gap:12px;margin-top:20px}.trainee-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.trainee-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.trainee-header-row .page-title{margin-bottom:0}.soreness-btn{font-size:.75rem;font-weight:600;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.soreness-btn:hover{background:#ffffff1f}.soreness-btn-mild{background:#ffc10726;border-color:#ffc10780;color:#ffc107}.soreness-btn-mild:hover{background:#ffc10740}.soreness-btn-severe{background:#f4433626;border-color:#f4433680;color:#f44336}.soreness-btn-severe:hover{background:#f4433640}.soreness-dialog{background:#1a1540;border:1px solid rgba(108,99,255,.2);border-radius:16px;padding:0;max-width:480px;width:90vw;color:var(--text-primary)}.soreness-dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.soreness-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}.soreness-dialog-title{font-size:1rem;font-weight:600;margin:0}.soreness-dialog-body{padding:0 16px 20px;overflow-y:auto;max-height:70vh}.greeting-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.greeting-row .page-greeting{margin-bottom:0}.streak-bubble-wrapper{position:relative}.streak-bubble{display:flex;align-items:center;justify-content:center;gap:2px;background:#ff980026;border:1px solid rgba(255,152,0,.4);border-radius:50px;padding:6px 14px;font-size:1rem;font-weight:600;color:#ffb74d;cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap}.streak-bubble:hover{background:#ff980040;transform:scale(1.05)}.streak-detail-popup{position:absolute;top:calc(100% + 8px);right:0;background:#1e1b3cf2;border:1px solid var(--card-border);border-radius:12px;padding:14px 18px;min-width:220px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;box-shadow:0 8px 24px #0006}.streak-detail-title{font-size:.95rem;font-weight:600;margin-bottom:6px;color:#ffb74d}.streak-detail-stats{font-size:.85rem;color:#ffffffb3}.connection-streak-badge{display:inline-flex;align-items:center;gap:2px;font-size:.8rem;font-weight:700;color:#ffb74d;background:#ffb74d1f;border-radius:12px;padding:2px 8px;margin-left:6px;white-space:nowrap;flex-shrink:0}.nickname-card{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}.nickname-label{font-size:.8rem;font-weight:500;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.nickname-display-row,.nickname-edit-row{display:flex;align-items:center;width:100%;gap:10px}.nickname-value{font-size:1rem;flex:1}.nickname-edit-btn,.nickname-save-btn{background:#6c63ff26;border:1px solid rgba(108,99,255,.3);border-radius:8px;color:var(--accent);padding:6px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.nickname-edit-btn:hover,.nickname-save-btn:hover{background:#6c63ff4d}.nickname-input{flex:1;padding:8px 12px;background:#ffffff0f;border:1px solid var(--card-border);border-radius:8px;color:#fff;font-size:1rem;outline:none}.nickname-input:focus{border-color:var(--accent)}.linked-accounts-section{margin-bottom:24px}.linked-accounts-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.linked-accounts-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:12px}.account-provider-tile{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:#ffffff0f;border:1px solid var(--card-border);border-radius:10px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:background .2s,border-color .2s}.account-provider-tile:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent)}.account-provider-tile.linked{border-color:#4caf5066;cursor:default}.provider-icon.strava{color:#fc4c02}.provider-name{font-weight:500;flex:1;text-align:left}.provider-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:#4caf50;background:#4caf501f;padding:3px 8px;border-radius:12px}.callback-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-primary)}.callback-card{text-align:center;max-width:360px;width:100%}.callback-card p{margin-top:16px;font-size:1rem;color:var(--text-primary)}.callback-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.callback-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto}.callback-success{background:#4caf5026;color:#4caf50}.callback-error{background:#ff6b6b26;color:var(--error)}.callback-card .btn-primary{margin-top:20px}.page-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.page-title-row .page-title{margin-bottom:0}.btn-icon{background:none;border:none;color:var(--accent);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-icon:hover{background:#6c63ff26}.workout-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px;line-height:1.5}.workout-sections{display:flex;flex-direction:column;gap:16px}.workout-section-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.workout-section-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.workout-section-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workout-section-type-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#ffffff14;color:var(--text-secondary)}.workout-section-name{font-weight:600;font-size:1rem;color:var(--text-primary)}.workout-section-scoring{display:flex;align-items:center;font-size:.85rem;color:var(--accent);font-weight:500}.workout-section-notes{padding:10px 16px;font-size:.82rem;color:var(--text-secondary);border-bottom:1px solid var(--border);font-style:italic;line-height:1.4}.workout-section-body{padding:12px 16px}.workout-exercises-list{display:flex;flex-direction:column;gap:8px}.workout-exercise-row{display:flex;align-items:baseline;gap:8px;font-size:.9rem;padding:4px 0}.workout-exercise-reps{font-weight:700;color:var(--accent);min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.workout-exercise-name{color:var(--text-primary);font-weight:500;flex:1}.workout-exercise-load{color:var(--text-secondary);font-size:.82rem;white-space:nowrap}.workout-exercise-notes{color:var(--text-secondary);font-size:.78rem;font-style:italic}.workout-rest-note{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-secondary)}.workout-exercise-blocks{display:flex;flex-direction:column;gap:12px}.workout-exercise-block{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px;background:#ffffff08;border-left:3px solid var(--accent)}.workout-block-header{font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:lowercase;margin-bottom:2px}.workout-exercises-list--compact{gap:2px}.workout-exercises-list--compact .workout-exercise-row{padding:1px 0}.workout-grouped{display:flex;flex-direction:column;gap:8px}.workout-grouped-header{font-size:1.5rem;font-weight:800;color:var(--accent);letter-spacing:1px;text-align:center;padding:4px 0 8px}.workout-grouped-exercises{display:flex;flex-direction:column;gap:6px}.workout-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;color:var(--text-primary)}.workout-empty p{margin:4px 0}
