:root{--brand:#3b5ccc;--brand2:#6e42d6;--ink:#172033;--muted:#6b7280;--line:#e8ebf2;--bg:#f5f7fb;--success:#1c9c68}
*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.page-wrap{max-width:1480px}.app-navbar{background:linear-gradient(100deg,#17244d,#3b5ccc 55%,#6e42d6);box-shadow:0 8px 30px rgba(31,45,90,.12)}.brand-mark{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.16);display:inline-grid;place-items:center}.brand-mark-lg{width:58px;height:58px;border-radius:18px;font-size:1.6rem;background:rgba(255,255,255,.18)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--brand)}.panel-card{border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 38px rgba(42,55,92,.055)}.metric-card{height:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(42,55,92,.045)}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;font-size:1.65rem;margin:.35rem 0}.metric-card a{text-decoration:none}.today-plan{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,#fafbff)}.chart-box{height:320px}.history-mini,.plan-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.empty-state{text-align:center;padding:48px 20px;color:var(--muted)}.empty-state>i{font-size:2.5rem;color:var(--brand);display:block;margin-bottom:12px}.empty-state h3{color:var(--ink);font-size:1.15rem}.exercise-card{display:block;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;height:100%;transition:.18s ease;box-shadow:0 10px 25px rgba(42,55,92,.04)}.exercise-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(42,55,92,.1)}.exercise-image{height:180px;background:#eef2fb;position:relative;overflow:hidden}.exercise-image img,.detail-image img,.workout-image img{width:100%;height:100%;object-fit:cover}.category-badge{position:absolute;left:12px;top:12px;background:rgba(23,32,51,.78);backdrop-filter:blur(6px)}.detail-image{height:340px;background:#edf1fa}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.detail-meta>div{border:1px solid var(--line);border-radius:14px;padding:12px}.detail-meta i{color:var(--brand);margin-right:7px}.detail-meta span{display:block;color:var(--muted);font-size:.75rem;margin-top:5px}.detail-meta strong{font-size:.9rem}.instruction-text{line-height:1.75}.tip-box{display:flex;gap:12px;background:#fff8df;border:1px solid #f1de93;padding:16px;border-radius:14px}.tip-box i{color:#d39b00}.timer-card{border:0;border-radius:20px;color:#fff;background:linear-gradient(135deg,#243f98,#6b3fd6);box-shadow:0 20px 45px rgba(55,64,157,.25)}.timer-display{text-align:center;font-size:4rem;font-weight:800;line-height:1}.tiny-label{font-size:.7rem;color:var(--muted);font-weight:700}.plan-item{display:grid;grid-template-columns:110px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.plan-item>img{width:110px;height:100%;min-height:170px;object-fit:cover;background:#eef2fb}.plan-item-main{padding:16px}.plan-item h3 a{text-decoration:none;color:var(--ink)}.workout-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.workout-clock{background:#17244d;color:white;border-radius:16px;padding:12px 18px;text-align:right}.workout-clock span{display:block;font-size:.72rem;opacity:.7}.workout-clock strong{font-size:1.5rem}.workout-exercise{overflow:hidden;border:1px solid var(--line);border-radius:20px;transition:.2s ease}.workout-exercise.completed{opacity:.66;border-color:#80cfae;background:#f2fff8}.workout-image{min-height:300px;background:#eef2fb;position:relative}.workout-number{position:absolute;top:15px;left:15px;width:42px;height:42px;border-radius:14px;background:#17244d;color:#fff;display:grid;place-items:center;font-weight:800}.workout-exercise h2 a{text-decoration:none;color:var(--ink)}.mini-timer{background:linear-gradient(105deg,#20356f,#3b5ccc);color:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-timer strong{font-size:1.6rem;margin:0 5px}.mini-timer.timer-done{animation:timerPulse .35s ease 3}.note-strip{background:#f5f6fa;border-radius:10px;padding:10px 12px;color:var(--muted)}@keyframes timerPulse{50%{transform:scale(1.015);filter:brightness(1.35)}}.admin-tile{height:100%;display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;text-decoration:none;color:var(--ink);box-shadow:0 10px 28px rgba(42,55,92,.05)}.admin-tile>i{font-size:1.7rem;color:var(--brand)}.admin-tile span{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}.table>:not(caption)>*>*{padding:14px 16px;border-bottom-color:var(--line)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 10%,#dce4ff,transparent 30%),radial-gradient(circle at 90% 90%,#eadcff,transparent 30%),#f7f8fc}.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.05fr 1fr;border-radius:28px;overflow:hidden;background:#fff}.login-side{padding:52px;min-height:560px;color:#fff;background:linear-gradient(145deg,#17244d,#3b5ccc 55%,#7141d7);display:flex;flex-direction:column;justify-content:space-between}.login-form{padding:52px;display:flex;flex-direction:column;justify-content:center}.form-control,.form-select{border-color:#dfe3ec;border-radius:12px;padding:.65rem .8rem}.btn{border-radius:11px}.btn-primary{background:var(--brand);border-color:var(--brand)}.btn-primary:hover{background:#304eb4;border-color:#304eb4}
@media(max-width:767.98px){.login-card{grid-template-columns:1fr}.login-side{min-height:240px;padding:32px}.login-form{padding:32px}.exercise-image{height:155px}.detail-image{height:260px}.detail-meta{grid-template-columns:1fr}.plan-item{grid-template-columns:82px 1fr}.plan-item>img{width:82px}.workout-header{align-items:flex-start;flex-direction:column}.workout-image{min-height:220px}.mini-timer{align-items:flex-start;flex-direction:column}.chart-box{height:250px}}

/* PWA / mobile app shell */
body{min-height:100vh}.mobile-appbar,.mobile-bottom-nav{display:none}.pwa-install-sheet[hidden]{display:none!important}.pwa-install-sheet{position:fixed;inset:0;background:rgba(10,18,42,.5);z-index:2000;display:grid;place-items:end center;padding:18px}.pwa-install-card{position:relative;width:min(430px,100%);background:#fff;border-radius:24px;padding:26px;box-shadow:0 28px 80px rgba(16,24,50,.3)}.pwa-install-close{position:absolute;right:14px;top:14px;border:0;background:#f1f3f8;width:36px;height:36px;border-radius:50%}.pwa-install-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-size:1.5rem;margin-bottom:16px}.pwa-install-card h2{font-size:1.2rem;font-weight:800}.pwa-install-card p{color:var(--muted)}

/* Walking tracker */
.walk-hero{border:0;border-radius:24px;color:#fff;background:linear-gradient(135deg,#10204d,#315ac6 58%,#6841d4);box-shadow:0 18px 50px rgba(31,55,130,.2);overflow:hidden}.walk-hero .walk-hero-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:1.35rem}.walk-map-shell{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#e8edf5}.walk-map{height:min(58vh,610px);min-height:420px;width:100%;z-index:1}.walk-map-overlay{position:absolute;z-index:500;left:14px;right:14px;top:14px;display:flex;gap:8px;justify-content:space-between;pointer-events:none}.walk-map-overlay>*{pointer-events:auto}.gps-pill{border:0;border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.92);box-shadow:0 7px 25px rgba(25,36,67,.14);font-size:.78rem;font-weight:700;color:var(--ink);backdrop-filter:blur(12px)}.gps-pill.good i{color:#17a56b}.gps-pill.medium i{color:#d69b09}.gps-pill.bad i{color:#d54b4b}.map-action{width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 7px 25px rgba(25,36,67,.15);display:grid;place-items:center;color:var(--ink)}.walk-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}.walk-start-btn{min-width:180px;border-radius:999px;padding:.85rem 1.25rem;font-weight:800}.walk-control-btn{width:50px;height:50px;border-radius:50%;display:grid;place-items:center}.walk-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.walk-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;min-width:0}.walk-stat span{display:block;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.walk-stat strong{display:block;font-size:1.45rem;line-height:1.2;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walk-stat small{color:var(--muted)}.walk-live-card{border:1px solid var(--line);border-radius:22px;background:#fff}.walk-status{display:flex;align-items:center;gap:10px}.walk-status-dot{width:11px;height:11px;border-radius:50%;background:#8d96aa}.walk-status.recording .walk-status-dot{background:#e74848;box-shadow:0 0 0 7px rgba(231,72,72,.12);animation:recordPulse 1.2s infinite}.walk-status.paused .walk-status-dot{background:#e4a11b}.walk-status.saved .walk-status-dot{background:#1c9c68}.walk-split{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.walk-split:last-child{border-bottom:0}@keyframes recordPulse{50%{box-shadow:0 0 0 12px rgba(231,72,72,0)}}.walk-history-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;transition:.18s}.walk-history-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(42,55,92,.08)}.route-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.route-mini-stats div{background:#f5f7fb;border-radius:12px;padding:9px}.route-mini-stats small{display:block;color:var(--muted);font-size:.68rem}.route-mini-stats strong{font-size:.88rem}.permission-note{border:1px solid #dfe7ff;background:#f2f6ff;border-radius:14px;padding:13px 14px;font-size:.84rem;color:#415078}.permission-note i{color:var(--brand)}.walk-saving-overlay{position:absolute;inset:0;z-index:700;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);display:grid;place-items:center}.walk-saving-overlay[hidden]{display:none}.leaflet-control-attribution{font-size:10px!important}

@media(max-width:991.98px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom));background:#f5f7fb}.desktop-navbar{display:none!important}.mobile-appbar{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1050;background:linear-gradient(105deg,#17244d,#3b5ccc);box-shadow:0 6px 22px rgba(31,45,90,.15)}.mobile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.mobile-brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.mobile-brand strong{font-size:1rem}.mobile-brand small{font-size:.65rem;opacity:.72;margin-top:3px}.mobile-icon-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff;border-radius:13px;width:39px;height:39px;display:grid;place-items:center;text-decoration:none}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;z-index:1100;height:calc(68px + env(safe-area-inset-bottom));padding:4px 5px env(safe-area-inset-bottom);background:rgba(255,255,255,.96);border-top:1px solid #e5e8ef;box-shadow:0 -10px 35px rgba(30,43,75,.08);backdrop-filter:blur(18px)}.mobile-bottom-nav>a{position:relative;text-decoration:none;color:#7a8293;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.64rem;font-weight:700}.mobile-bottom-nav>a>i{font-size:1.28rem}.mobile-bottom-nav>a.active{color:var(--brand)}.mobile-bottom-nav .walk-tab{margin-top:-20px}.walk-tab-icon{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#315ac6,#7141d7);color:#fff;display:grid;place-items:center;font-size:1.35rem;border:4px solid #f5f7fb;box-shadow:0 8px 20px rgba(55,75,180,.24)}.mobile-bottom-nav .walk-tab.active .walk-tab-icon{transform:translateY(-2px)}.page-wrap,.container.page-wrap,.container-fluid.page-wrap{padding-left:14px!important;padding-right:14px!important}.panel-card,.metric-card,.today-plan,.exercise-card{border-radius:18px}.metric-card{padding:15px}.metric-card strong{font-size:1.35rem}.pwa-install-sheet{padding:0;align-items:end}.pwa-install-card{border-radius:26px 26px 0 0;padding:26px 22px calc(26px + env(safe-area-inset-bottom));width:100%}.walk-stat-grid{grid-template-columns:repeat(2,1fr)}.walk-map{height:46vh;min-height:330px}.walk-map-shell{border-radius:20px}.walk-controls{position:sticky;bottom:84px;z-index:800;background:rgba(245,247,251,.9);backdrop-filter:blur(10px);margin:0 -4px;padding:10px 4px}.walk-start-btn{min-width:150px}.route-mini-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:575.98px){.walk-stat strong{font-size:1.25rem}.walk-map{height:42vh;min-height:310px}.walk-hero{border-radius:20px}.chart-box{height:230px}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.mobile-appbar{position:sticky}.pwa-web-only{display:none!important}}
@media(max-width:767.98px){.login-shell{padding:0;display:block;background:#fff;min-height:100dvh}.login-card{min-height:100dvh;border-radius:0!important;box-shadow:none!important}.login-side{min-height:210px;padding:calc(30px + env(safe-area-inset-top)) 26px 26px}.login-side .display-6{font-size:2rem}.login-side .lead{font-size:1rem}.login-form{padding:30px 24px calc(30px + env(safe-area-inset-bottom))}}

/* Outdoor activity selector: walking + running + cycling */
.activity-chooser{border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px}.activity-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.activity-choice{display:block;cursor:pointer;margin:0}.activity-choice input{position:absolute;opacity:0;pointer-events:none}.activity-choice-card{min-height:84px;border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;align-items:center;gap:12px;background:#f8f9fc;transition:.18s;position:relative}.activity-choice-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.activity-choice-card strong{font-size:1rem}.activity-choice-card small{color:var(--muted);font-size:.75rem;margin-top:2px}.activity-choice-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#e9efff;color:var(--brand);font-size:1.25rem;flex:0 0 auto}.activity-check{margin-left:auto;color:var(--brand);opacity:0;transform:scale(.85);transition:.18s}.activity-choice input:checked+.activity-choice-card{border-color:#8ba5ff;background:#f2f5ff;box-shadow:0 8px 24px rgba(49,90,198,.08)}.activity-choice input:checked+.activity-choice-card .activity-check{opacity:1;transform:scale(1)}.activity-choice input:focus-visible+.activity-choice-card{outline:3px solid rgba(49,90,198,.18);outline-offset:2px}.activity-chooser.locked{opacity:.82}.activity-chooser.locked .activity-choice{cursor:not-allowed}.activity-lock-note{font-size:.72rem;color:var(--muted);margin-top:10px}.activity-mini-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef2ff;color:var(--brand);flex:0 0 auto}.activity-type-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef2ff;color:#344eaa;padding:6px 10px;font-size:.75rem;font-weight:800}
@media(max-width:767.98px){.activity-chooser{padding:12px;border-radius:18px}.activity-choice-grid{grid-template-columns:1fr;gap:8px}.activity-choice-card{padding:11px;min-height:76px}.activity-choice-icon{width:40px;height:40px}.activity-choice-card small{font-size:.68rem}}

/* Interactive 3D exercise demonstrations */
.exercise-3d-viewer{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 14px 40px rgba(30,44,92,.08)}
.exercise-3d-stage{position:relative;height:510px;min-height:360px;background:linear-gradient(145deg,#f8faff,#edf2ff);overflow:hidden;touch-action:none}
.exercise-3d-stage canvas{display:block;width:100%;height:100%;cursor:grab}.exercise-3d-stage canvas:active{cursor:grabbing}
.exercise-3d-loading,.exercise-3d-error{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;text-align:center;padding:24px;background:linear-gradient(145deg,rgba(248,250,255,.96),rgba(237,242,255,.96));color:var(--ink)}
.exercise-3d-error{color:#8b3341;background:#fff4f5}.exercise-3d-error[hidden],.exercise-3d-loading[hidden]{display:none!important}
.exercise-3d-topbar{position:absolute;z-index:4;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}
.exercise-3d-live,.exercise-3d-motion{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(34,50,100,.12);border-radius:999px;padding:8px 11px;font-size:.75rem;font-weight:800;color:#27365f}
.exercise-3d-live i{color:#6647db;font-size:1rem}.exercise-3d-motion i{color:#315ac6}
.exercise-3d-hint{position:absolute;z-index:4;left:50%;bottom:13px;transform:translateX(-50%);white-space:nowrap;border-radius:999px;padding:7px 11px;background:rgba(30,42,76,.8);color:#fff;font-size:.7rem;backdrop-filter:blur(8px);pointer-events:none}
.exercise-3d-controls{padding:14px 16px;background:#fff;border-top:1px solid var(--line)}
.exercise-3d-control-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exercise-3d-control-row .btn{min-height:38px;border-radius:11px}.exercise-3d-control-row>.btn-primary{min-width:110px}
.exercise-3d-speedbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);font-weight:700}.exercise-3d-speedbar .btn.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.exercise-3d-disclaimer{display:flex;align-items:flex-start;gap:8px;padding:11px 16px;background:#f8f9fc;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted)}.exercise-3d-disclaimer i{color:var(--brand);margin-top:1px}
.exercise-3d-compact{border-radius:18px;box-shadow:none}.exercise-3d-compact .exercise-3d-stage{height:350px;min-height:300px}.exercise-3d-compact .exercise-3d-controls{padding:10px 12px}.exercise-3d-compact .exercise-3d-hint{display:none}.exercise-3d-compact .exercise-3d-topbar{left:10px;right:10px;top:10px}.exercise-3d-compact .exercise-3d-motion{display:none}
.exercise-3d-viewer:fullscreen{background:#f4f7ff;display:flex;flex-direction:column}.exercise-3d-viewer:fullscreen .exercise-3d-stage{height:auto;min-height:0;flex:1}.exercise-3d-viewer:fullscreen .exercise-3d-controls{flex:0 0 auto}
.technique-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.technique-step{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.technique-step-number{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef2ff;color:var(--brand);font-weight:900;margin-bottom:10px}.technique-step strong{display:block;margin-bottom:5px}.technique-step p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.55}
.technique-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.technique-info-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.technique-info-card h3{font-size:.9rem;font-weight:800;display:flex;gap:8px;align-items:center}.technique-info-card p{font-size:.83rem;color:var(--muted);margin:0;white-space:pre-line}.technique-info-card.warning{background:#fffaf0;border-color:#f2d99d}.technique-info-card.breath{background:#f4fbff;border-color:#bfe5f3}
.workout-3d-demo{margin:14px 0 4px;border:1px solid var(--line);border-radius:18px;background:#f8f9fc;overflow:hidden}.workout-3d-demo>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:800;color:#344eaa;display:flex;align-items:center;gap:8px}.workout-3d-demo>summary::-webkit-details-marker{display:none}.workout-3d-demo>summary:after{content:'+';margin-left:auto;font-size:1.15rem}.workout-3d-demo[open]>summary:after{content:'−'}.workout-3d-demo .exercise-3d-viewer{border:0;border-top:1px solid var(--line);border-radius:0}
.demo-3d-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;background:#eeeaff;color:#5c3cca;font-size:.67rem;font-weight:800}.admin-3d-status{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:#5b45ba}
@media(max-width:991.98px){.exercise-3d-stage{height:430px}.exercise-3d-control-row .btn-group{order:3;width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.exercise-3d-control-row .btn-group .btn{border-radius:10px!important}.exercise-3d-control-row>.ms-auto{margin-left:0!important}.technique-grid{grid-template-columns:1fr}.technique-info-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.exercise-3d-viewer{border-radius:20px}.exercise-3d-stage{height:390px;min-height:330px}.exercise-3d-topbar{left:9px;right:9px;top:9px}.exercise-3d-live,.exercise-3d-motion{font-size:.65rem;padding:7px 9px}.exercise-3d-motion{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-3d-hint{font-size:.62rem;bottom:9px}.exercise-3d-controls{padding:12px}.exercise-3d-control-row>.btn-primary{flex:1}.exercise-3d-speedbar{align-items:flex-start;flex-direction:column}.exercise-3d-speedbar .btn-group{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.exercise-3d-compact .exercise-3d-stage{height:330px}}
.technique-info-card.posture{background:#f7f5ff;border-color:#d8cff9}.technique-info-card.variants{background:#f7fff9;border-color:#cbe9d4}.technique-info-card p strong{color:var(--ink)}

/* v1.5 Advanced 3D */
.exercise-3d-gear{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(34,50,100,.12);border-radius:999px;padding:8px 11px;font-size:.75rem;font-weight:800;color:#27365f}.exercise-3d-gear i{color:#6844db}.exercise-3d-topbar{justify-content:flex-start;flex-wrap:wrap}.exercise-3d-motion{margin-left:auto}.exercise-3d-control-row [data-3d-action="trail"].active{background:#eef1ff;border-color:#8b77ea;color:#5038bd}
.exercise-image img{object-fit:cover;width:100%;height:100%}
@media(max-width:991.98px){.exercise-3d-control-row .btn-group{grid-template-columns:repeat(5,1fr)}}
@media(max-width:575.98px){.exercise-3d-gear{display:none}.exercise-3d-motion{margin-left:auto;max-width:52%}}

/* v1.6 security, goals, progress and route upgrades */
.activity-svg-icon{width:1.5rem;height:1.5rem;display:block;object-fit:contain}.activity-choice-icon .activity-svg-icon{width:2rem;height:2rem}.activity-mini-icon .activity-svg-icon{width:1.15rem;height:1.15rem}.route-switch{padding:1rem;border:1px solid var(--bs-border-color);border-radius:1rem;display:flex;gap:.7rem;align-items:center;margin:0}.route-switch .form-check-label{display:flex;flex-direction:column}.route-switch small{color:var(--bs-secondary-color);font-size:.72rem}.settings-locked{opacity:.75}.goal-progress-box{background:rgba(255,255,255,.86);border-radius:1rem;padding:.9rem;color:#17244d}.twofa-qr{width:min(240px,100%);border-radius:1rem;border:1px solid #e5e7eb;background:#fff;padding:.5rem}.backup-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.backup-code-grid code{display:block;padding:.65rem;background:#fff;border:1px dashed #d19b00;border-radius:.5rem;text-align:center;font-weight:700}.security-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem;border:1px solid #e7eaf0;border-radius:.8rem;background:#fff}.notification-unread{background:#f2f6ff;border-left:4px solid #4169e1}.notification-icon{width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:.8rem;background:#eef2ff;color:#3152c9;font-size:1.2rem;flex:0 0 auto}.achievement-card{border:1px solid #e8eaf2;border-radius:1rem;padding:1rem;background:#fff}.achievement-card.unlocked{box-shadow:0 10px 25px rgba(46,68,160,.08);border-color:#cdd6ff}.progress-record{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid #eef0f4}.progress-record:last-child{border-bottom:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-day{min-height:115px;border:1px solid #e6e9ef;border-radius:.85rem;padding:.6rem;background:#fff}.calendar-day.muted{opacity:.45}.calendar-day .day-number{font-weight:800;font-size:.9rem}.calendar-event{display:block;margin-top:.35rem;padding:.25rem .4rem;border-radius:.45rem;font-size:.7rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.workout{background:#eef2ff;color:#304cb2}.calendar-event.route{background:#ecfdf3;color:#14783e}.recovery-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}.recovery-scale input{display:none}.recovery-scale label{padding:.55rem;border:1px solid #dfe3ec;border-radius:.6rem;text-align:center;cursor:pointer}.recovery-scale input:checked+label{background:#3152c9;color:#fff;border-color:#3152c9}.favorite-btn{position:absolute;top:.65rem;right:.65rem;z-index:3;border:0;border-radius:999px;width:2.1rem;height:2.1rem;display:grid;place-items:center;background:rgba(255,255,255,.9);box-shadow:0 4px 15px rgba(0,0,0,.08)}.exercise-card-wrap{position:relative}.plan-phase-badge{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.admin-stat-mini{border:1px solid #e8eaf0;border-radius:.9rem;padding:1rem;background:#fff}.update-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:2000;max-width:92vw;width:420px;background:#17244d;color:#fff;border-radius:1rem;padding:1rem;box-shadow:0 20px 60px rgba(0,0,0,.25)}
@media(max-width:767px){.backup-code-grid{grid-template-columns:1fr}.calendar-grid{gap:.2rem}.calendar-day{min-height:84px;padding:.35rem}.calendar-event{font-size:.62rem}.security-row{align-items:flex-start}.goal-progress-box{padding:.75rem}}

/* v1.6 security, favorites, grouped workouts, reminders and 3D technique controls */
.exercise-favorite-form{position:absolute;top:.65rem;right:.65rem;z-index:5}.exercise-favorite-form .btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 16px rgba(17,24,39,.16)}
.alternative-exercise-card{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--bs-border-color);border-radius:16px;text-decoration:none;color:inherit;background:#fff;height:100%;transition:.18s ease}.alternative-exercise-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(24,34,70,.08)}.alternative-exercise-card img{width:72px;height:58px;object-fit:cover;border-radius:12px;background:#f2f4ff}.alternative-exercise-card div{min-width:0;flex:1}.alternative-exercise-card strong,.alternative-exercise-card span{display:block}.alternative-exercise-card span{font-size:.78rem;color:var(--bs-secondary-color)}
.security-icon{width:54px;height:54px;border-radius:18px;background:rgba(79,102,223,.12);display:grid;place-items:center;color:#4157ce;font-size:1.5rem}.security-event-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem .8rem;border-radius:12px;background:#f7f8fc}.rank-badge{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e8ecff;color:#4057cc;font-weight:800}.reminder-icon{width:40px;height:40px;border-radius:12px;background:#eef1ff;display:grid;place-items:center;color:#435ad3;flex:0 0 auto}
.previous-performance{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;margin:.15rem 0 .8rem;border-radius:12px;background:#f3f5fb;color:#64708b;font-size:.82rem}.previous-performance i{color:#4d63da}.previous-performance strong{color:#273452}
.workout-group-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-radius:18px;color:#fff;background:linear-gradient(135deg,#3449b8,#6844db);box-shadow:0 12px 26px rgba(61,69,180,.18)}.workout-group-banner.circuit{background:linear-gradient(135deg,#087b76,#23a596)}.workout-group-banner>div:first-child{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.workout-group-banner strong{font-size:1.05rem}.workout-group-banner small{width:100%;opacity:.8}.workout-group-banner .badge{background:rgba(255,255,255,.18);color:#fff}.group-timer{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.group-timer>strong{font-size:1.35rem}.group-timer.timer-done,.workout-group-banner.group-completed{outline:3px solid rgba(100,255,180,.55)}.workout-phase-warmup{border-left:4px solid #e7a818}.workout-phase-cooldown{border-left:4px solid #1ca8bc}.phase-badge{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:8px;background:#fff1bf;color:#765600;font-weight:800}.workout-phase-cooldown .phase-badge{background:#dff7fa;color:#08727f}
.exercise-3d-technique-cue{position:absolute;left:1rem;right:1rem;bottom:3.35rem;display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .85rem;border-radius:14px;background:rgba(20,30,56,.91);color:#fff;font-size:.83rem;line-height:1.35;backdrop-filter:blur(8px);z-index:5;box-shadow:0 12px 28px rgba(10,16,35,.24)}.exercise-3d-technique-cue[hidden]{display:none}.exercise-3d-technique-cue i{color:#8fa4ff;font-size:1rem;margin-top:.1rem}
.activity-svg-icon{width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.2em}.route-type-card .activity-svg-icon{width:2.15rem;height:2.15rem}.activity-mini-icon .activity-svg-icon{width:1.45rem;height:1.45rem}
@media(max-width:767.98px){.workout-group-banner{align-items:flex-start;flex-direction:column}.group-timer{width:100%;justify-content:space-between}.exercise-3d-control-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.exercise-3d-control-row .btn{white-space:nowrap}.exercise-favorite-form{top:.5rem;right:.5rem}}
.exercise-3d-technique-cue strong,.exercise-3d-technique-cue span,.exercise-3d-technique-cue small{display:block}.exercise-3d-technique-cue strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#a9b8ff}.exercise-3d-technique-cue small{margin-top:.25rem;color:#ffd7a6}

/* v1.7 calendar rebuild */
.calendar-page{max-width:1540px}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calendar-toolbar-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.calendar-view-switch{display:flex;gap:.45rem}.calendar-shell{overflow:hidden}.calendar-shell-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.75rem;padding:1rem 1.15rem .65rem}.calendar-nav-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;color:var(--ink);text-decoration:none;background:#fff;box-shadow:0 5px 18px rgba(37,49,91,.05)}.calendar-nav-btn:hover{background:#f5f7ff;color:var(--brand)}.calendar-period{text-align:center}.calendar-period strong{display:block;font-size:1.2rem;text-transform:capitalize}.calendar-period small{display:block;color:var(--muted);font-size:.75rem;margin-top:.1rem}.calendar-legend{display:flex;gap:.9rem;align-items:center;justify-content:center;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.calendar-legend span{display:inline-flex;align-items:center;gap:.35rem}.legend-dot{width:9px;height:9px;border-radius:999px;display:inline-block}.legend-dot.plan{background:#6b4edb}.legend-dot.workout{background:#3659d0}.legend-dot.walking{background:#1c9c68}.legend-dot.running{background:#ef6b35}.legend-dot.cycling{background:#1594bd}.legend-dot.reminder{background:#d5a11d}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f9fd}.calendar-weekdays>div{padding:.68rem .7rem;text-align:center;font-size:.74rem;font-weight:800;color:#68728a;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--line)}.calendar-weekdays>div:last-child{border-right:0}.activity-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;background:#fff}.activity-calendar-day{position:relative;min-height:150px;padding:.68rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-width:0}.activity-calendar-day:nth-child(7n){border-right:0}.activity-calendar-day.outside{background:#fafbfe;color:#9aa2b3}.activity-calendar-day.today{background:linear-gradient(180deg,#f4f7ff,#fff)}.activity-calendar-day.today:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--brand),var(--brand2))}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.calendar-day-name{display:none;font-size:.68rem;color:var(--muted);text-transform:capitalize}.calendar-day-number{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:.82rem;font-weight:800}.activity-calendar-day.today .calendar-day-number{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(59,92,204,.22)}.calendar-day-events{display:flex;flex-direction:column;gap:.36rem}.calendar-activity{display:flex;align-items:center;gap:.42rem;min-width:0;padding:.42rem .48rem;border-radius:10px;text-decoration:none;border:1px solid transparent;transition:.16s ease}.calendar-activity:hover{transform:translateY(-1px);filter:brightness(.98)}.calendar-activity-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;flex:0 0 auto;font-size:.77rem}.calendar-activity-icon img{width:15px;height:15px;display:block;object-fit:contain}.calendar-activity-copy{min-width:0;display:block}.calendar-activity-copy strong,.calendar-activity-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-activity-copy strong{font-size:.72rem;line-height:1.25}.calendar-activity-copy small{font-size:.62rem;opacity:.78;margin-top:.08rem}.calendar-activity.plan{background:#f2efff;color:#5636b6;border-color:#e2dafd}.calendar-activity.workout{background:#edf2ff;color:#2f4db4;border-color:#dbe3ff}.calendar-activity.walking{background:#ecfbf4;color:#157347;border-color:#d5f3e4}.calendar-activity.running{background:#fff1e9;color:#b64b1f;border-color:#ffdfcd}.calendar-activity.cycling{background:#eaf8fd;color:#087397;border-color:#d3eff8}.calendar-activity.reminder{background:#fff9e5;color:#8b6710;border-color:#f7e9af}.calendar-activity.plan .calendar-activity-icon{background:#e6dfff}.calendar-activity.workout .calendar-activity-icon{background:#dce5ff}.calendar-activity.walking .calendar-activity-icon{background:#d5f4e4}.calendar-activity.running .calendar-activity-icon{background:#ffe0d1}.calendar-activity.cycling .calendar-activity-icon{background:#d8f1f9}.calendar-activity.reminder .calendar-activity-icon{background:#faedb8}.calendar-more{font-size:.66rem;font-weight:800;color:var(--brand);text-decoration:none;padding:.2rem .1rem}.calendar-empty-day{font-size:.67rem;color:#b0b6c4;padding:.35rem .15rem}.activity-calendar-grid.week-mode .activity-calendar-day{min-height:320px}.activity-calendar-grid.week-mode .calendar-day-name{display:inline}.calendar-agenda{max-width:1100px;margin-inline:auto}.calendar-agenda-list{display:flex;flex-direction:column;gap:.8rem}.calendar-agenda-day{display:grid;grid-template-columns:64px 1fr;gap:.9rem;align-items:start}.agenda-date{width:60px;height:64px;border:1px solid var(--line);background:#fff;border-radius:16px;display:grid;place-items:center;align-content:center;box-shadow:0 7px 20px rgba(37,49,91,.04)}.agenda-date strong{font-size:1.2rem;line-height:1}.agenda-date span{font-size:.65rem;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:.2rem}.agenda-date.today{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}.agenda-date.today span{color:rgba(255,255,255,.78)}.agenda-day-content{min-width:0}.agenda-day-title{display:flex;gap:.5rem;align-items:baseline;margin:.15rem 0 .45rem}.agenda-day-title strong{text-transform:capitalize}.agenda-day-title span{font-size:.75rem;color:var(--muted)}.agenda-event-list{display:grid;gap:.42rem}.agenda-event{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;border:1px solid var(--line);background:#fff;border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:0 6px 18px rgba(37,49,91,.035)}.agenda-event>span:nth-child(2){min-width:0}.agenda-event strong,.agenda-event small{display:block}.agenda-event strong{font-size:.86rem}.agenda-event small{font-size:.72rem;color:var(--muted);margin-top:.08rem}.agenda-event.plan{border-left:4px solid #6b4edb}.agenda-event.workout{border-left:4px solid #3659d0}.agenda-event.walking{border-left:4px solid #1c9c68}.agenda-event.running{border-left:4px solid #ef6b35}.agenda-event.cycling{border-left:4px solid #1594bd}.agenda-event.reminder{border-left:4px solid #d5a11d}
@media(max-width:991.98px){.activity-calendar-day{min-height:126px;padding:.45rem}.calendar-activity{padding:.34rem}.calendar-activity-icon{display:none}.calendar-activity-copy strong{font-size:.67rem}.calendar-activity-copy small{font-size:.58rem}}
@media(max-width:767.98px){.calendar-toolbar{align-items:flex-start}.calendar-toolbar-actions{width:100%;justify-content:space-between}.calendar-view-switch{flex:1}.calendar-view-switch .btn{flex:1}.calendar-shell{border-radius:18px}.calendar-shell-head{padding:.85rem}.calendar-legend{justify-content:flex-start;padding-top:.15rem}.calendar-desktop{display:none!important}.calendar-agenda{margin-top:1.2rem!important}.calendar-agenda-day{grid-template-columns:52px 1fr;gap:.65rem}.agenda-date{width:50px;height:54px;border-radius:14px}.agenda-date strong{font-size:1.05rem}.agenda-event{padding:.62rem .68rem}.calendar-page{padding-left:.9rem!important;padding-right:.9rem!important}}

/* v1.8 Route planner & live activity mini-player */
.route-planner-card{overflow:visible}.route-mode-switch{display:flex;gap:.4rem;padding:.35rem;border:1px solid var(--line);border-radius:999px;background:#f6f8fc}.route-mode-switch label{margin:0;cursor:pointer}.route-mode-switch input{position:absolute;opacity:0;pointer-events:none}.route-mode-switch span{display:block;padding:.55rem .9rem;border-radius:999px;font-size:.82rem;font-weight:800;color:var(--muted)}.route-mode-switch input:checked+span{background:#fff;color:var(--brand);box-shadow:0 5px 16px rgba(35,56,120,.12)}
.route-distance-chips{display:flex;flex-wrap:wrap;gap:.45rem}.route-distance-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.48rem .8rem;font-size:.78rem;font-weight:800;color:var(--ink)}.route-distance-chip.active{background:#edf2ff;border-color:#8ba5ff;color:#3152c9}.route-planner-status{border-radius:.85rem;background:#f5f7fb;border:1px solid #e2e7f0;padding:.72rem .9rem;font-size:.78rem;color:#58627a}.route-planner-status.success{background:#effbf5;border-color:#bfe8d1;color:#16663d}.route-planner-status.danger{background:#fff3f3;border-color:#f0c4c4;color:#a33333}
.route-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.route-suggestion-card{border:1px solid var(--line);border-radius:1rem;background:#fff;padding:.9rem;text-align:left;display:flex;gap:.8rem;align-items:center;color:var(--ink);transition:.16s}.route-suggestion-card:hover{border-color:#9eb2ff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(40,62,150,.08)}.route-suggestion-letter{width:2.1rem;height:2.1rem;border-radius:.7rem;background:#eef2ff;color:#3152c9;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.route-suggestion-copy{display:flex;flex-direction:column;min-width:0;flex:1}.route-suggestion-copy small{color:var(--muted);margin-top:.15rem;line-height:1.35}.selected-route-card{border:1px solid #cfd9ff;border-radius:1rem;background:linear-gradient(135deg,#f8faff,#f4f0ff);padding:1rem}.route-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.favorite-route-card{border:1px solid var(--line);border-radius:.9rem;background:#fff;display:flex;align-items:stretch;overflow:hidden}.favorite-route-main{border:0;background:transparent;display:flex;gap:.65rem;text-align:left;align-items:center;padding:.75rem;flex:1;color:var(--ink)}.favorite-route-main>i{color:#e24b6b}.favorite-route-main span{display:flex;flex-direction:column;min-width:0}.favorite-route-main small{color:var(--muted);font-size:.72rem}.favorite-route-delete{width:2.7rem;border:0;border-left:1px solid var(--line);background:#fafbfe;color:var(--muted)}
.turn-guidance{position:absolute;z-index:510;left:14px;bottom:14px;right:14px;max-width:560px;margin:auto;background:rgba(16,27,62,.94);color:#fff;border-radius:1rem;padding:.8rem .9rem;display:flex;gap:.8rem;align-items:center;box-shadow:0 12px 30px rgba(10,20,50,.28);backdrop-filter:blur(12px)}.turn-guidance[hidden]{display:none!important}.turn-guidance-icon{width:2.6rem;height:2.6rem;border-radius:.8rem;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.2rem;flex:0 0 auto}.turn-guidance small,.turn-guidance span{display:block;opacity:.75;font-size:.7rem}.turn-guidance strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planned-progress-box{border:1px solid #dce3ff;border-radius:1rem;padding:.9rem;background:#f7f9ff}
.live-activity-bar{position:fixed;left:50%;transform:translateX(-50%);top:74px;z-index:1450;width:min(920px,calc(100% - 28px));display:flex;align-items:stretch;background:rgba(18,31,70,.97);color:#fff;border-radius:1rem;box-shadow:0 16px 44px rgba(9,20,55,.3);overflow:hidden;backdrop-filter:blur(14px)}.live-activity-bar[hidden]{display:none!important}.live-activity-main{border:0;background:transparent;color:inherit;display:flex;gap:.8rem;align-items:center;text-align:left;padding:.72rem .9rem;flex:1;min-width:0}.live-activity-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:1.1rem;flex:0 0 auto}.live-activity-icon .activity-svg-icon{filter:brightness(0) invert(1)}.live-activity-copy{display:block;min-width:0;flex:1}.live-activity-topline,.live-activity-metrics,.live-activity-bottom{display:flex;align-items:center;gap:.8rem;min-width:0}.live-activity-topline{font-size:.75rem}.live-activity-topline span{opacity:.65}.live-activity-metrics{font-size:.78rem;margin:.12rem 0}.live-activity-metrics>b{font-size:1rem}.live-activity-progress{height:5px;border-radius:99px;background:rgba(255,255,255,.16);display:block;overflow:hidden}.live-activity-progress>span{height:100%;background:#8eabff;display:block;border-radius:inherit;transition:width .3s}.live-activity-bottom{justify-content:space-between;font-size:.67rem;opacity:.7;margin-top:.2rem}.live-activity-pause{width:3.6rem;border:0;border-left:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:1.1rem}.map-action.active,#pickDestination.active{background:#3152c9;color:#fff}
@media(max-width:991.98px){.live-activity-bar{top:auto;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100% - 20px);border-radius:1rem}.route-suggestions{grid-template-columns:1fr}.route-favorites-grid{grid-template-columns:1fr}.route-mode-switch{width:100%;justify-content:stretch}.route-mode-switch label{flex:1}.route-mode-switch span{text-align:center}.turn-guidance{bottom:10px}.live-activity-metrics{gap:.55rem;flex-wrap:wrap}.live-activity-metrics span:nth-of-type(2){display:none}}
@media(max-width:575.98px){.live-activity-main{padding:.58rem .7rem}.live-activity-icon{width:2.2rem;height:2.2rem}.live-activity-topline{display:none}.live-activity-metrics{font-size:.7rem}.live-activity-metrics>b{font-size:.9rem}.live-activity-bottom{font-size:.62rem}.live-activity-pause{width:3rem}.route-distance-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}.route-distance-chip{white-space:nowrap}.turn-guidance{left:8px;right:8px}}

/* v1.8.1 GPS/share fixes */
.walk-detail-summary .walk-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.walk-detail-summary .walk-stat strong{white-space:normal;overflow:visible;text-overflow:clip;font-size:clamp(1.15rem,1.6vw,1.42rem)}
.activity-share-actions .btn{white-space:nowrap}.activity-share-stage{position:fixed;left:-14000px;top:0;width:1080px;z-index:-10;pointer-events:none}.activity-share-card{width:1080px;background:#f5f7fb;color:#172033;padding:42px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.activity-share-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:26px}.activity-share-kicker{display:block;color:#315ac6;font-size:15px;font-weight:850;letter-spacing:.12em}.activity-share-header h2{font-size:42px;line-height:1.05;margin:8px 0 8px;font-weight:850}.activity-share-header p{font-size:19px;color:#68738c;margin:0}.activity-share-logo{font-size:27px;font-weight:900;color:#fff;background:linear-gradient(135deg,#17244d,#315ac6 58%,#6841d4);border-radius:18px;padding:15px 22px}.activity-share-map{height:540px;width:996px;border-radius:26px;overflow:hidden;border:1px solid #dce2ee;background:#e7edf5}.activity-share-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.activity-share-stats>div{background:#fff;border:1px solid #dfe4ed;border-radius:18px;padding:17px 18px}.activity-share-stats span{display:block;color:#758096;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.045em}.activity-share-stats strong{display:block;margin-top:6px;font-size:20px;line-height:1.2}.activity-share-footer{display:flex;justify-content:space-between;align-items:center;color:#7a8498;font-size:14px;margin-top:24px;padding:0 4px}.activity-share-card .leaflet-control-attribution{font-size:9px!important}.activity-share-card .leaflet-control-container{font-size:12px}
@media(max-width:767.98px){.activity-share-actions{width:100%}.activity-share-actions .btn{flex:1 1 calc(50% - .5rem)}.walk-detail-summary .walk-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.validated-technique-viewer{background:#fff}
.validated-technique-hero{padding:1.25rem 1.25rem .75rem;background:linear-gradient(135deg,#f7f9ff 0%,#eef3ff 100%)}
.validated-technique-badge{display:inline-flex;align-items:center;gap:.5rem;background:#eaf0ff;color:#3552c8;border:1px solid #cfdbff;border-radius:999px;padding:.45rem .8rem;font-weight:700;font-size:.86rem;margin-bottom:1rem}
.validated-technique-hero-grid{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(240px,.95fr);gap:1rem;align-items:stretch}
.validated-technique-art{background:#fff;border:1px solid #e4eaf5;border-radius:1.25rem;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:320px}
.validated-technique-art img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}
.validated-technique-summary{background:#fff;border:1px solid #e4eaf5;border-radius:1.25rem;padding:1.1rem 1.1rem 1rem}
.validated-technique-summary h3{font-size:1.1rem;font-weight:800;margin-bottom:.6rem}
.validated-technique-points{display:grid;gap:.8rem}
.validated-technique-points div{border:1px solid #edf1f7;border-radius:1rem;padding:.85rem .95rem;background:#fbfcff}
.validated-technique-points span{display:block;color:#6d7a96;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}
.validated-technique-points strong{display:block;font-size:.98rem;line-height:1.45}
.validated-technique-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.1rem 1.25rem 1.25rem}
.validated-technique-steps article{border:1px solid #e8edf7;border-radius:1rem;padding:1rem;background:#fff}
.validated-technique-steps article.warning{background:#fff8f1;border-color:#f4dbb2}
.validated-step-number{width:2rem;height:2rem;border-radius:999px;background:#eff3ff;color:#3552c8;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:.75rem}
.validated-technique-steps h4{font-size:1rem;font-weight:800;margin-bottom:.35rem}
.validated-technique-steps p{margin:0;color:#374154;line-height:1.55}
.validated-technique-note{display:flex;gap:.65rem;align-items:flex-start;padding:0 1.25rem 1.25rem;color:#5c6883}
.validated-technique-note i{color:#3552c8}
@media (max-width: 991.98px){.validated-technique-hero-grid{grid-template-columns:1fr}.validated-technique-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 575.98px){.validated-technique-steps{grid-template-columns:1fr;padding:1rem}.validated-technique-hero{padding:1rem}.validated-technique-summary{padding:1rem}}
.activity-share-map-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;border:1px solid #e3e8f5;background:#fff}

/* v2.0.1 premium validated technique coach */
.premium-technique-viewer{border:1px solid #dfe6f4;box-shadow:0 18px 48px rgba(28,45,91,.10);background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.premium-technique-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem 1.35rem;background:linear-gradient(120deg,#eef3ff 0%,#f7f4ff 55%,#fff 100%);border-bottom:1px solid #e6ebf5}
.premium-technique-kicker{display:inline-flex;align-items:center;gap:.45rem;color:#3854c9;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:.4rem}
.premium-technique-topbar h3{font-size:1.35rem;font-weight:850;margin:0 0 .2rem;color:#17233c}.premium-technique-topbar p{margin:0;color:#6a7690}
.premium-technique-status{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border-radius:999px;background:#fff;border:1px solid #dfe7f6;color:#2d405f;font-size:.82rem;font-weight:750;white-space:nowrap;box-shadow:0 5px 16px rgba(41,58,102,.06)}
.premium-technique-status span{width:.55rem;height:.55rem;border-radius:50%;background:#28b775;box-shadow:0 0 0 4px rgba(40,183,117,.12)}
.premium-technique-compare{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:1rem;align-items:center;padding:1.2rem 1.35rem .75rem}
.premium-pose-card{margin:0;border:1px solid #e2e8f3;border-radius:1.25rem;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(31,48,86,.06)}
.premium-pose-card img{width:100%;height:clamp(300px,31vw,460px);display:block;object-fit:contain;object-position:center;background:linear-gradient(135deg,#eef2fb,#f8f9fd);padding:.35rem}
.premium-pose-label{display:flex;align-items:center;gap:.55rem;padding:.8rem .9rem .65rem}.premium-pose-label span{width:1.8rem;height:1.8rem;border-radius:999px;display:grid;place-items:center;background:#eaf0ff;color:#3654cd;font-weight:850}.premium-pose-label strong{font-size:.95rem;color:#1e2b45}
.premium-pose-card.end .premium-pose-label span{background:#e9f9f1;color:#188d59}.premium-pose-card figcaption{padding:.75rem .9rem 1rem;color:#5b6881;font-size:.9rem;line-height:1.5;border-top:1px solid #edf1f7;min-height:5.3rem}
.premium-technique-flow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:#687593;text-align:center;font-size:.76rem;font-weight:700}.premium-technique-flow .flow-line{width:100%;height:2px;background:linear-gradient(90deg,#5270dc,#7656df);border-radius:2px}.premium-technique-flow .flow-icon{width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3e64d9,#7350dc);margin-top:-1.7rem;box-shadow:0 6px 18px rgba(74,83,198,.22)}
.premium-technique-coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:.35rem 1.35rem 1.2rem}.coach-card{display:flex;gap:.75rem;align-items:flex-start;padding:.95rem;border:1px solid #e5eaf4;border-radius:1rem;background:#fff}.coach-card .coach-icon{width:2.15rem;height:2.15rem;flex:0 0 2.15rem;border-radius:.75rem;display:grid;place-items:center;background:#eef3ff;color:#3f5dd1}.coach-card span{display:block;color:#78839a;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-bottom:.18rem}.coach-card strong{display:block;color:#27344e;font-size:.88rem;line-height:1.45}.coach-card.warning{background:#fffaf3;border-color:#f0dfbf}.coach-card.warning .coach-icon{background:#fff0d9;color:#bd7600}.coach-card.control .coach-icon{background:#ecf9f3;color:#218b5d}
.premium-technique-mobile-tabs,.premium-technique-mobile-stage{display:none}
.experimental-3d-panel{border-top:1px solid #e5eaf4;background:#f9fbff}.experimental-3d-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.35rem}.experimental-3d-panel>summary::-webkit-details-marker{display:none}.experimental-3d-panel>summary span{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center}.experimental-3d-panel>summary i.bi-badge-3d{grid-row:1/3;color:#7152d8;font-size:1.2rem}.experimental-3d-panel>summary strong{font-size:.95rem}.experimental-3d-panel>summary small{color:#7a8499}.experimental-3d-panel[open]>summary>.bi-chevron-down{transform:rotate(180deg)}.experimental-3d-warning{display:flex;gap:.7rem;margin:0 1.35rem 1rem;padding:.85rem 1rem;border-radius:1rem;background:#fff5df;border:1px solid #f0d49a;color:#5d4a25}.experimental-3d-warning>i{color:#d38c00}.experimental-3d-warning strong,.experimental-3d-warning span{display:block}.experimental-3d-warning span{font-size:.84rem;margin-top:.18rem;line-height:1.45}.experimental-3d-body{padding:0 1.35rem 1.35rem}
@media (max-width:991.98px){.premium-technique-compare{grid-template-columns:1fr}.premium-technique-flow{display:none}.premium-technique-coach-grid{grid-template-columns:1fr}.premium-pose-card{display:none}.premium-technique-mobile-tabs{display:flex;gap:.45rem;padding:1rem 1rem .55rem;overflow-x:auto}.premium-technique-mobile-tabs button{border:1px solid #dfe6f3;background:#fff;color:#53617b;border-radius:999px;padding:.55rem .85rem;font-weight:750;white-space:nowrap}.premium-technique-mobile-tabs button.active{background:#3e5ed0;color:#fff;border-color:#3e5ed0}.premium-technique-mobile-stage{display:block;padding:0 1rem 1rem}.premium-technique-mobile-stage img{width:100%;height:min(72vh,520px);display:block;object-fit:contain;object-position:center;border-radius:1rem;border:1px solid #e2e8f3;background:linear-gradient(135deg,#eef2fb,#f8f9fd);padding:.35rem}.premium-technique-topbar{padding:1rem;flex-direction:column}.premium-technique-status{align-self:flex-start}.premium-technique-coach-grid{padding:0 1rem 1rem}.experimental-3d-panel>summary{padding:1rem}.experimental-3d-warning{margin:0 1rem 1rem}.experimental-3d-body{padding:0 1rem 1rem}}

.media-admin-list{max-height:78vh;overflow:hidden}.media-admin-list .list-group{max-height:calc(78vh - 72px);overflow:auto}.media-current-match{display:flex;gap:1rem;justify-content:space-between;align-items:center;border:1px solid #e4eaf5;background:#f8faff;border-radius:1rem;padding:1rem}.media-current-match span,.media-current-match small{display:block;color:#6d7891}.media-current-match strong{display:block;font-size:1.05rem}.media-current-pics{display:flex;gap:.5rem}.media-current-pics img{width:110px;height:92px;border-radius:.7rem;object-fit:contain;object-position:center;background:#f4f6fb;padding:.2rem;border:1px solid #dde5f5}.media-candidate-card{border:1px solid #e3e8f4;border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(35,55,105,.05)}.media-candidate-images{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dfe6f5}.media-candidate-images img{display:block;width:100%;height:260px;object-fit:contain;object-position:center;background:#f4f6fb;padding:.3rem}@media(max-width:575.98px){.media-current-match{align-items:flex-start;flex-direction:column}.media-current-pics img{width:46%;height:auto}}
.real-media-source{display:flex;gap:.55rem;align-items:center;margin:0 1.25rem 1rem;padding:.75rem .9rem;border-radius:.85rem;background:#eefaf4;border:1px solid #cdebd9;color:#276847;font-size:.88rem}.real-media-source.warning{background:#fff8ec;border-color:#f2d49b;color:#7a5a13}.real-media-source i{font-size:1rem}

/* v2.2.0: echte multi-source oefenfoto's volledig tonen, nooit croppen */
.premium-pose-card{display:flex;flex-direction:column}.premium-pose-card figcaption{margin-top:auto}
.real-exercise-media img{object-fit:contain!important;object-position:center!important;background:#f4f6fb!important}
@media(max-width:575.98px){.premium-pose-card img{height:min(68vh,440px)}.media-candidate-images img{height:220px}}

.exercise-media-credits{border-top:1px solid rgba(120,135,165,.18);background:#f8faff}.exercise-media-credits a{color:inherit;font-weight:700}.real-media-source>div{display:flex;flex-wrap:wrap;gap:.2rem .45rem;align-items:center}.real-media-source small{display:block;width:100%;opacity:.82}.real-media-source a{font-weight:700;color:inherit}

/* ========================================================================
   FitPlan v2.4.0 — PREMIUM UI SYSTEM
   ======================================================================== */
:root{
  --p-bg:#f3f5f9;
  --p-surface:#ffffff;
  --p-surface-2:#f8f9fc;
  --p-ink:#101828;
  --p-muted:#667085;
  --p-line:#e4e7ec;
  --p-navy:#0b1020;
  --p-navy-2:#111a33;
  --p-blue:#4f68ff;
  --p-violet:#7c4dff;
  --p-cyan:#43d5c8;
  --p-green:#2ebd85;
  --p-orange:#ff9d3d;
  --p-danger:#ee5d6c;
  --p-shadow:0 22px 55px rgba(16,24,40,.08);
  --p-shadow-soft:0 10px 28px rgba(16,24,40,.055);
  --p-radius:24px;
}

html{scroll-behavior:smooth}
body.fitplan-premium{
  background:
    radial-gradient(circle at 8% 5%,rgba(79,104,255,.10),transparent 28rem),
    radial-gradient(circle at 92% 8%,rgba(124,77,255,.08),transparent 30rem),
    linear-gradient(180deg,#f7f8fb 0%,#f2f4f8 42%,#f6f7fa 100%);
  color:var(--p-ink);
  min-height:100vh;
  letter-spacing:-.01em;
}
body.fitplan-premium::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.22;
  background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.4),transparent 65%);
}
body.fitplan-premium .page-wrap{max-width:1560px;padding-top:2rem!important;padding-bottom:3rem!important}
body.fitplan-premium h1,body.fitplan-premium h2,body.fitplan-premium h3,body.fitplan-premium h4,body.fitplan-premium h5{letter-spacing:-.035em}
body.fitplan-premium .text-secondary{color:var(--p-muted)!important}
body.fitplan-premium .eyebrow{font-size:.68rem;letter-spacing:.18em;color:#5264df;font-weight:900}

/* Desktop top navigation */
.premium-desktop-nav{
  background:rgba(8,13,28,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 40px rgba(8,13,28,.18);
  backdrop-filter:blur(22px);
  min-height:76px;
  z-index:1035;
}
.premium-nav-inner{width:100%;display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.35rem;max-width:1920px;margin:0 auto}
.premium-brand{display:flex;align-items:center;gap:.72rem;text-decoration:none;min-width:max-content;color:#fff}
.premium-brand-mark{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:1.18rem;background:linear-gradient(145deg,var(--p-blue),var(--p-violet));box-shadow:0 8px 24px rgba(79,104,255,.32),inset 0 1px 0 rgba(255,255,255,.28)}
.fitnova-mark-img{display:block;width:100%;height:100%;padding:4px;object-fit:contain}
.premium-brand-copy{display:flex;flex-direction:column;line-height:1.05}.premium-brand-copy strong{font-size:1.08rem;letter-spacing:-.03em}.premium-brand-copy small{font-size:.52rem;letter-spacing:.17em;color:#9ca8c6;margin-top:.28rem;font-weight:800}
.premium-nav-links{display:flex;align-items:center;gap:.25rem;flex:1;justify-content:center;min-width:0}
.premium-nav-links>a{height:44px;padding:0 .78rem;border-radius:13px;display:flex;align-items:center;gap:.48rem;color:#9da8c3;text-decoration:none;font-size:.86rem;font-weight:650;transition:.18s ease;white-space:nowrap}
.premium-nav-links>a i{font-size:.93rem}.premium-nav-links>a:hover{color:#fff;background:rgba(255,255,255,.065)}
.premium-nav-links>a.active{color:#fff;background:linear-gradient(135deg,rgba(79,104,255,.28),rgba(124,77,255,.25));box-shadow:inset 0 0 0 1px rgba(125,142,255,.24)}
.premium-nav-actions{display:flex;align-items:center;gap:.48rem;min-width:max-content}.premium-icon-action{position:relative;width:42px;height:42px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.055);color:#d7deef;display:grid;place-items:center;text-decoration:none;transition:.18s ease}.premium-icon-action:hover{background:rgba(255,255,255,.11);color:#fff;transform:translateY(-1px)}.premium-icon-action.logout{border:0;background:rgba(238,93,108,.12);color:#ff94a0}.premium-nav-actions form{margin:0}
.premium-notification-badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef5364;color:#fff;border:2px solid #0b1020;font-size:.64rem;display:grid;place-items:center;font-weight:800}
.premium-user-chip{display:flex;align-items:center;gap:.62rem;text-decoration:none;color:#fff;padding:.34rem .65rem .34rem .38rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.055);min-width:150px}.premium-user-chip:hover{color:#fff;background:rgba(255,255,255,.09)}.premium-user-avatar,.premium-mobile-avatar{display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#5d70ff,#8752ff);color:#fff;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}.premium-user-avatar{width:34px;height:34px}.premium-user-chip>span:nth-child(2){display:flex;flex-direction:column;line-height:1.15;flex:1}.premium-user-chip strong{font-size:.78rem}.premium-user-chip small{font-size:.64rem;color:#98a4c2;margin-top:.15rem}.premium-user-chip>i{font-size:.7rem;color:#7f8cab}

/* Mobile chrome */
.premium-mobile-appbar{position:sticky;top:0;z-index:1035;height:70px;padding:calc(.55rem + env(safe-area-inset-top)) 1rem .55rem;background:rgba(10,15,31,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px);align-items:center;justify-content:space-between}
.premium-mobile-brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none}.premium-mobile-brand .premium-brand-mark{width:38px;height:38px;border-radius:13px}.premium-mobile-brand>span:last-child{display:flex;flex-direction:column}.premium-mobile-brand strong{font-size:1rem;line-height:1.05}.premium-mobile-brand small{font-size:.66rem;color:#8f9bb9;margin-top:.18rem}
.premium-mobile-action{width:39px;height:39px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.055);color:#fff;display:grid;place-items:center}.premium-mobile-avatar{width:39px;height:39px;text-decoration:none}
.premium-mobile-bottom{position:fixed;z-index:1040;left:.65rem;right:.65rem;bottom:calc(.55rem + env(safe-area-inset-bottom));height:68px;border-radius:22px;background:rgba(9,14,29,.96);box-shadow:0 18px 55px rgba(7,13,30,.34);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(24px);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:.3rem .35rem}.premium-mobile-bottom>a{position:relative;height:56px;color:#7f8dab;text-decoration:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.15rem;border-radius:16px;font-size:.64rem;font-weight:750}.premium-mobile-bottom>a>i{font-size:1.12rem}.premium-mobile-bottom>a.active{color:#fff;background:rgba(96,112,255,.12)}.premium-route-action{transform:translateY(-9px)!important;background:transparent!important}.premium-route-orb{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#536aff,#8750f5);box-shadow:0 10px 28px rgba(93,93,240,.42);color:#fff;font-size:1.25rem;border:4px solid #10162b}.premium-route-action>span:last-child{color:#b6c0d8;margin-top:.08rem}
@media(max-width:991.98px){body.fitplan-premium{padding-bottom:92px}.page-wrap{padding-left:1rem!important;padding-right:1rem!important}}

/* Global card language */
body.fitplan-premium .card,body.fitplan-premium .panel-card,body.fitplan-premium .metric-card,body.fitplan-premium .today-plan,body.fitplan-premium .admin-tile,body.fitplan-premium .history-mini,body.fitplan-premium .plan-row{
  border:1px solid rgba(214,220,232,.88);
  background:rgba(255,255,255,.94);
  box-shadow:var(--p-shadow-soft);
}
body.fitplan-premium .panel-card,body.fitplan-premium .card{border-radius:var(--p-radius)}
body.fitplan-premium .card-body{position:relative}
body.fitplan-premium .panel-card:hover{box-shadow:0 18px 44px rgba(16,24,40,.08)}

/* Keep the exercise countdown readable over the premium card defaults. */
body.fitplan-premium .card.timer-card{border:0!important;background:linear-gradient(135deg,#1d347e,#4c35a7 58%,#6336bd)!important;color:#fff!important;box-shadow:0 18px 42px rgba(39,48,121,.24)}
body.fitplan-premium .timer-card .eyebrow{color:#e1e8ff!important}
body.fitplan-premium .timer-card h2,body.fitplan-premium .timer-card [data-timer-display],body.fitplan-premium .timer-card [data-timer-display]+.small,body.fitplan-premium .timer-card> .card-body> .d-flex:last-child>span{color:#fff!important}
body.fitplan-premium .timer-card [data-timer-display]{text-shadow:0 2px 12px rgba(10,18,55,.22)}
body.fitplan-premium .timer-card .btn-light{min-height:44px;color:#17244d!important;background:#fff!important;border:1px solid #fff!important}
body.fitplan-premium .timer-card .btn-outline-light{min-width:44px;min-height:44px;color:#fff!important;background:rgba(15,23,42,.16)!important;border:1px solid rgba(255,255,255,.82)!important}
body.fitplan-premium .timer-card .btn-outline-light:hover{color:#17244d!important;background:#fff!important}
body.fitplan-premium .timer-card hr{border-color:rgba(255,255,255,.55)!important;opacity:1}

/* Buttons */
body.fitplan-premium .btn{border-radius:13px;font-weight:750;padding:.65rem 1rem;transition:.18s ease;letter-spacing:-.01em}
body.fitplan-premium .btn-sm{border-radius:11px;padding:.46rem .75rem}
body.fitplan-premium .btn-lg{border-radius:15px;padding:.82rem 1.2rem}
body.fitplan-premium .btn-primary{border:0;background:linear-gradient(135deg,#4e67ff,#754de8);box-shadow:0 9px 22px rgba(79,104,255,.22)}
body.fitplan-premium .btn-primary:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 12px 28px rgba(79,104,255,.28)}
body.fitplan-premium .btn-outline-primary{border-color:#d6ddff;color:#4d61cf;background:#f7f8ff}body.fitplan-premium .btn-outline-primary:hover{background:#4f68ff;color:#fff;border-color:#4f68ff}
body.fitplan-premium .btn-outline-secondary{border-color:#e0e4eb;color:#4f596c;background:#fff}.btn-outline-secondary:hover{background:#f2f4f7;color:#101828!important;border-color:#d0d5dd!important}
body.fitplan-premium .btn-success{border:0;background:linear-gradient(135deg,#22a978,#38c391)}

/* Inputs */
body.fitplan-premium .form-control,body.fitplan-premium .form-select{border-radius:14px;border:1px solid #dde2ea;background:#fbfcfe;min-height:48px;padding:.72rem .9rem;color:#1d2939;box-shadow:inset 0 1px 1px rgba(16,24,40,.015);transition:.18s ease}
body.fitplan-premium textarea.form-control{min-height:auto}
body.fitplan-premium .form-control:focus,body.fitplan-premium .form-select:focus{border-color:#7b8cff;background:#fff;box-shadow:0 0 0 4px rgba(79,104,255,.10)}
body.fitplan-premium .form-label{font-size:.82rem;font-weight:750;color:#344054;margin-bottom:.42rem}
body.fitplan-premium .form-text{color:#8a94a7}

/* Heading groups */
body.fitplan-premium main>.d-flex:first-of-type h1,body.fitplan-premium main>div:first-child h1{font-weight:850}
body.fitplan-premium main>.d-flex:first-of-type{padding:1.15rem 1.25rem;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(246,247,255,.88));border:1px solid rgba(222,226,238,.85);box-shadow:0 14px 34px rgba(16,24,40,.045)}

/* Dashboard */
body.fitplan-premium .metric-card{border-radius:20px;padding:1.15rem 1.2rem;overflow:hidden;position:relative;min-height:132px}
body.fitplan-premium .metric-card::after{content:"";position:absolute;width:88px;height:88px;border-radius:50%;right:-28px;top:-28px;background:linear-gradient(135deg,rgba(79,104,255,.14),rgba(124,77,255,.06))}
body.fitplan-premium .metric-card span{font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:#7a8497}
body.fitplan-premium .metric-card strong{font-size:1.8rem;font-weight:850;color:#111827}
body.fitplan-premium .metric-card small{font-size:.76rem;color:#98a2b3}
body.fitplan-premium .progress{height:9px;border-radius:999px;background:#edf0f5;overflow:hidden}body.fitplan-premium .progress-bar{border-radius:999px;background:linear-gradient(90deg,#4f68ff,#7d4ef0)}
body.fitplan-premium .walk-hero{border:0!important;border-radius:26px!important;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(67,213,200,.22),transparent 25%),linear-gradient(120deg,#111a33,#1c2a57 50%,#4b3e9d)!important;box-shadow:0 22px 50px rgba(21,30,67,.22)!important;overflow:hidden}
body.fitplan-premium .walk-hero-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;font-size:1.35rem;background:linear-gradient(145deg,#47d8cb,#5882ff);box-shadow:0 12px 30px rgba(67,213,200,.22)}
body.fitplan-premium .today-plan{border-radius:20px;padding:1.15rem;transition:.2s ease}body.fitplan-premium .today-plan:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(16,24,40,.09)}
body.fitplan-premium .history-mini{border-radius:15px;padding:.85rem .95rem}
body.fitplan-premium .chart-box{background:linear-gradient(180deg,#fff,#fbfcff);border-radius:18px;padding:.6rem}

/* Exercise library */
body.fitplan-premium .exercise-card{border-radius:22px;border:1px solid rgba(218,223,234,.9);box-shadow:0 13px 34px rgba(15,23,42,.06);background:#fff;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
body.fitplan-premium .exercise-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(15,23,42,.12);border-color:#ccd4e9}
body.fitplan-premium .exercise-image{height:230px;background:#eef1f7}
body.fitplan-premium .exercise-image::after{content:"";position:absolute;inset:auto 0 0;height:55px;background:linear-gradient(to top,rgba(9,14,29,.26),transparent);pointer-events:none}
body.fitplan-premium .exercise-image img{object-fit:cover;transition:transform .35s ease}body.fitplan-premium .exercise-card:hover .exercise-image img{transform:scale(1.025)}
body.fitplan-premium .category-badge{left:14px;top:14px;border-radius:999px!important;background:rgba(10,15,30,.80)!important;color:#fff;padding:.45rem .65rem;backdrop-filter:blur(12px);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}
body.fitplan-premium .demo-3d-badge{border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#5f4ad2!important;border:1px solid rgba(255,255,255,.65);padding:.42rem .62rem;backdrop-filter:blur(10px);font-size:.68rem;font-weight:800;z-index:2}
body.fitplan-premium .exercise-card h2{font-size:1rem!important;color:#111827!important;line-height:1.25}
body.fitplan-premium .exercise-favorite-form{position:absolute;right:12px;top:12px;z-index:6}body.fitplan-premium .exercise-favorite-form .btn{width:40px;height:40px;padding:0;border-radius:13px;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.12)}
body.fitplan-premium .pagination{gap:.25rem}.pagination .page-link{border:0;border-radius:11px!important;color:#596579;background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.04)}.pagination .page-item.active .page-link{background:linear-gradient(135deg,#5068ff,#754fe8);color:#fff}

/* Plans / workout */
body.fitplan-premium .plan-item{border-radius:20px;border:1px solid #e1e5ed;box-shadow:var(--p-shadow-soft)}body.fitplan-premium .plan-item>img{width:125px;min-height:190px}.plan-item-main{padding:1.1rem 1.2rem!important}
body.fitplan-premium .workout-header{padding:1.25rem 1.3rem;border-radius:24px;background:linear-gradient(135deg,#fff,#f6f7ff);border:1px solid #e2e6f0;box-shadow:var(--p-shadow-soft)}
body.fitplan-premium .workout-clock{border-radius:17px;background:linear-gradient(135deg,#0f1832,#31417d);box-shadow:0 12px 24px rgba(20,32,72,.18)}
body.fitplan-premium .workout-exercise{border-radius:24px;box-shadow:var(--p-shadow-soft)}body.fitplan-premium .workout-number{background:linear-gradient(145deg,#4f68ff,#734de7);border-radius:14px;box-shadow:0 8px 22px rgba(79,104,255,.28)}
body.fitplan-premium .mini-timer{border-radius:17px;background:linear-gradient(125deg,#111b36,#394da0);box-shadow:0 12px 28px rgba(25,39,85,.17)}

/* Technique viewer */
body.fitplan-premium .premium-technique-viewer{border-radius:26px!important;border:1px solid #dfe4ee!important;box-shadow:0 22px 55px rgba(16,24,40,.08)!important;overflow:hidden}
body.fitplan-premium .premium-technique-topbar{background:radial-gradient(circle at 100% 0,rgba(124,77,255,.12),transparent 35%),linear-gradient(135deg,#f7f9ff,#fff)!important;padding:1.4rem!important}
body.fitplan-premium .premium-pose-card{border-radius:20px!important;box-shadow:0 12px 26px rgba(16,24,40,.06)!important}.premium-pose-card img{background:#f5f7fb!important}
body.fitplan-premium .coach-card{border-radius:17px!important;box-shadow:0 7px 18px rgba(16,24,40,.035)}

/* Route/map */
body.fitplan-premium .walk-map,body.fitplan-premium #walkMap,body.fitplan-premium #savedWalkMap{border-radius:24px!important;overflow:hidden;box-shadow:0 18px 45px rgba(16,24,40,.09);border:1px solid #dfe3ec}
body.fitplan-premium .leaflet-control-zoom a{border-radius:10px!important;margin:2px;background:#fff!important;color:#111827!important;border:0!important;box-shadow:0 5px 14px rgba(16,24,40,.12)}
body.fitplan-premium .activity-share-actions{padding:.35rem;border-radius:16px}

/* Admin */
body.fitplan-premium .admin-tile{border-radius:20px;padding:1.15rem 1.2rem;transition:.18s ease}body.fitplan-premium .admin-tile:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(16,24,40,.09);border-color:#d1d8e9}.admin-tile>i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eef2ff;color:#5367df!important;font-size:1.1rem!important}
body.fitplan-premium .table-responsive{border-radius:18px;border:1px solid #e1e5ed;overflow:hidden}body.fitplan-premium .table{margin-bottom:0}body.fitplan-premium .table thead th{background:#f7f8fb;color:#667085;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;border-bottom-color:#e4e7ec;padding:.9rem}.table tbody td{padding:.9rem;vertical-align:middle;border-color:#eef0f3}

/* Alerts / badges */
body.fitplan-premium .alert{border:0;border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.055)}
body.fitplan-premium .badge{border-radius:999px;font-weight:750}
body.fitplan-premium .empty-state{padding:3.25rem 1.4rem;border:1px dashed #d7dce6;border-radius:20px;background:linear-gradient(180deg,#fff,#fafbfc)}
body.fitplan-premium .empty-state>i{width:58px;height:58px;margin:0 auto 1rem;border-radius:18px;display:grid;place-items:center;background:#eef2ff;color:#5367df;font-size:1.35rem}

/* Footer attribution */
body.fitplan-premium .exercise-media-credits{margin:2rem auto 1rem;max-width:760px;border:1px solid #e2e6ef!important;background:rgba(255,255,255,.75)!important;border-radius:999px;color:#8490a5!important;box-shadow:0 8px 22px rgba(16,24,40,.035)}

/* Login becomes an entirely different, premium entrance */
body.fitplan-premium .login-shell{min-height:100dvh;padding:2rem;background:radial-gradient(circle at 12% 12%,rgba(79,104,255,.24),transparent 31rem),radial-gradient(circle at 86% 75%,rgba(67,213,200,.14),transparent 30rem),#080d1c;display:grid;place-items:center}
body.fitplan-premium .login-card{width:min(1080px,100%);min-height:620px;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr;background:#fff;box-shadow:0 36px 100px rgba(0,0,0,.32)!important;border:1px solid rgba(255,255,255,.12)}
body.fitplan-premium .login-side{position:relative;padding:3rem;color:#fff;background:radial-gradient(circle at 15% 15%,rgba(89,122,255,.4),transparent 15rem),radial-gradient(circle at 75% 75%,rgba(65,218,199,.2),transparent 18rem),linear-gradient(145deg,#101a36,#151c3c 50%,#3d2d79);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-side::after{content:"";position:absolute;right:-80px;bottom:-110px;width:330px;height:330px;border-radius:50%;border:60px solid rgba(255,255,255,.05)}
body.fitplan-premium .login-side .brand-mark-lg{width:64px;height:64px;border-radius:21px;background:linear-gradient(145deg,#5974ff,#8b55ff);box-shadow:0 14px 30px rgba(80,91,230,.34)}body.fitplan-premium .login-side h1{font-size:3.3rem;letter-spacing:-.06em}.login-side .lead{max-width:460px;line-height:1.55}
body.fitplan-premium .login-form{padding:3rem 3.2rem;display:flex;justify-content:center;flex-direction:column;background:linear-gradient(180deg,#fff,#fbfcff)}body.fitplan-premium .login-form h2{font-size:2rem;font-weight:850}
@media(max-width:767.98px){body.fitplan-premium .login-shell{padding:0;background:#fff}.login-card{min-height:100dvh!important;border-radius:0!important;display:block!important;box-shadow:none!important}.login-side{min-height:240px;padding:2rem 1.4rem!important}.login-side h1{font-size:2.5rem!important}.login-form{padding:2rem 1.35rem 7rem!important}}

/* Profile/security forms */
body.fitplan-premium .security-card,body.fitplan-premium .recovery-card{border-radius:22px}

/* PWA install */
body.fitplan-premium .pwa-install-sheet{background:rgba(7,11,24,.68);backdrop-filter:blur(14px)}body.fitplan-premium .pwa-install-card{border-radius:28px!important;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 80px rgba(0,0,0,.28)}body.fitplan-premium .pwa-install-icon{background:linear-gradient(145deg,#5068ff,#7c4dff)!important;color:#fff!important}

/* Small-screen density */
@media(max-width:575.98px){
  body.fitplan-premium .page-wrap{padding-top:1.1rem!important}
  body.fitplan-premium main>.d-flex:first-of-type{padding:1rem;border-radius:20px}
  body.fitplan-premium main>.d-flex:first-of-type h1{font-size:1.65rem}
  body.fitplan-premium .metric-card{min-height:118px;padding:1rem}.metric-card strong{font-size:1.45rem!important}
  body.fitplan-premium .exercise-image{height:205px}
  body.fitplan-premium .exercise-card{border-radius:19px}
  body.fitplan-premium .panel-card,body.fitplan-premium .card{border-radius:20px}
  body.fitplan-premium .card-body{padding:1.1rem!important}
  body.fitplan-premium .walk-hero .card-body{padding:1.15rem!important}
  body.fitplan-premium .exercise-media-credits{border-radius:18px;margin:1rem .8rem}
}
/* Never crop real exercise media in the premium theme. */
body.fitplan-premium .exercise-image img,
body.fitplan-premium .plan-item>img,
body.fitplan-premium .workout-image img,
body.fitplan-premium .detail-image img{
  object-fit:contain!important;
  object-position:center!important;
  background:linear-gradient(135deg,#eef1f6,#f8f9fc);
}
body.fitplan-premium .exercise-card:hover .exercise-image img{transform:none!important}
/* Respect Bootstrap desktop/mobile visibility utilities after premium overrides. */
.premium-mobile-bottom{display:none}
@media(max-width:991.98px){.premium-mobile-appbar{display:flex!important}.premium-mobile-bottom{display:grid!important}}
@media(min-width:992px){.premium-mobile-appbar,.premium-mobile-bottom{display:none!important}}

/* v2.4.1 – mobile Route icon hard-fix */
.premium-route-orb{position:relative;overflow:visible}
.premium-route-svg{display:block!important;width:24px!important;height:24px!important;color:#fff!important;fill:#fff!important;opacity:1!important;visibility:visible!important;position:relative;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.premium-route-action.active .premium-route-orb{box-shadow:0 10px 30px rgba(93,93,240,.52),0 0 0 2px rgba(255,255,255,.08)}

/* v2.5 Smartwatch & Health Hub */
.health-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;border-radius:1.75rem;background:linear-gradient(135deg,#101a36,#1c2d67 52%,#6047e8);color:#fff;overflow:hidden;box-shadow:0 24px 70px rgba(28,45,103,.25)}
.health-hero:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-80px;top:-140px;background:rgba(255,255,255,.08)}
.health-hero-orb{width:88px;height:88px;border-radius:28px;display:grid;place-items:center;font-size:2.4rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);z-index:1}
.health-stat{height:100%;padding:1.1rem 1.2rem;border:1px solid rgba(131,147,183,.18);border-radius:1.25rem;background:rgba(255,255,255,.88);box-shadow:0 12px 35px rgba(32,47,85,.08)}
.health-stat span,.health-stat small{display:block;color:#7a849b}.health-stat span{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.health-stat strong{display:block;font-size:1.75rem;margin:.25rem 0;color:#172039}.health-stat i{color:#5a52df;margin-right:.25rem}
.health-live-sensor{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.health-live-sensor>div{padding:1rem;border-radius:1rem;background:linear-gradient(180deg,#f9faff,#f1f4fb);border:1px solid #e3e8f3}.health-live-sensor span{display:block;color:#7d879d;font-size:.74rem;text-transform:uppercase;font-weight:800}.health-live-sensor strong{font-size:1rem;color:#16213d}
.provider-card{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1rem;border-radius:1.15rem;border:1px solid #e5e9f3;background:#fbfcff;height:100%}.provider-card>div:nth-child(2){flex:1;min-width:160px}.provider-card strong,.provider-card span{display:block}.provider-card span{font-size:.82rem;color:#7c869a}.provider-card form{display:inline-flex;margin:0 .25rem 0 0}.provider-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:1.3rem;color:#fff}.provider-icon.fitbit{background:#10a4a4}.provider-icon.polar{background:#e32d45}.provider-icon.android{background:#35a853}.provider-icon.apple{background:#171b26}
.wearable-activity-row{display:flex;align-items:center;gap:.85rem;padding:.85rem 0;border-bottom:1px solid #edf0f6}.wearable-activity-row:last-child{border-bottom:0}.wearable-source{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eff2ff;color:#554be3}.wearable-activity-row small{display:block}.sync-token-row,.device-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #edf0f6;border-radius:.9rem;background:#fbfcff}.sync-token-row>div,.device-row>div{flex:1}.sync-token-row strong,.sync-token-row small,.device-row strong,.device-row small{display:block}.sync-token-row small,.device-row small{color:#7b8498;font-size:.75rem}.device-row>i{color:#554be3;font-size:1.25rem}.hr-zones{display:grid;gap:.45rem}.hr-zones>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border-radius:.75rem;background:#f4f6fb;font-size:.82rem}.hr-zones strong{color:#293551}
.health-dashboard-strip{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:1.25rem;background:linear-gradient(120deg,#151f3e,#24376f);color:#fff;box-shadow:0 16px 45px rgba(31,49,103,.18)}.health-dashboard-strip:hover{color:#fff;transform:translateY(-1px)}.health-dashboard-icon{width:50px;height:50px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.4rem}.health-dashboard-copy{display:flex;flex-direction:column;min-width:180px}.health-dashboard-copy span,.health-dashboard-copy small,.health-dashboard-metric span{opacity:.7;font-size:.75rem}.health-dashboard-copy strong{font-size:1.05rem}.health-dashboard-metric{min-width:90px}.health-dashboard-metric span,.health-dashboard-metric strong{display:block}.health-dashboard-metric strong{font-size:1.05rem}
.health-workout-live{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:1rem;background:#111a34;color:#fff;margin-bottom:1rem}.health-workout-live .live-values{display:flex;gap:1rem;flex-wrap:wrap}.health-workout-live .live-values span{font-size:.8rem;color:#b6c1dc}.health-workout-live .live-values strong{color:#fff;margin-left:.25rem}
@media(max-width:991.98px){.health-live-sensor{grid-template-columns:repeat(2,minmax(0,1fr))}.health-dashboard-strip{flex-wrap:wrap}.health-dashboard-metric{flex:1}.health-hero{padding:1.4rem}.health-hero-orb{width:70px;height:70px}}
@media(max-width:575.98px){.health-live-sensor{grid-template-columns:1fr 1fr}.health-hero-orb{display:none}.provider-card{align-items:flex-start}.wearable-activity-row{align-items:flex-start;flex-wrap:wrap}.health-dashboard-copy{width:calc(100% - 70px)}}

/* v2.5.2 – one-tap smartwatch app pairing */
.health-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.health-app-button{appearance:none;border:1px solid #e2e8f3;background:linear-gradient(145deg,#fff,#f8faff);border-radius:1.15rem;min-height:92px;padding:.9rem 1rem;display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:.85rem;align-items:center;text-align:left;box-shadow:0 8px 24px rgba(16,24,40,.035);transition:.18s ease;color:inherit}
.health-app-button:hover{transform:translateY(-2px);border-color:#cdd7f4;box-shadow:0 14px 32px rgba(32,48,96,.09)}
.health-app-button:disabled{opacity:.65;transform:none}.health-app-button.connected{border-color:#a9e5ce;background:linear-gradient(145deg,#fff,#f1fff9)}
.health-app-logo{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:1.35rem;box-shadow:inset 0 1px rgba(255,255,255,.25)}
.health-app-button.android .health-app-logo{background:linear-gradient(145deg,#35a853,#1d8440)}
.health-app-button.apple .health-app-logo{background:linear-gradient(145deg,#2a3040,#080a0e)}
.health-app-button.fitbit .health-app-logo{background:linear-gradient(145deg,#14b8b3,#087e86)}
.health-app-button.polar .health-app-logo{background:linear-gradient(145deg,#f0445d,#ba1835)}
.health-app-button.garmin .health-app-logo{background:linear-gradient(145deg,#168bd2,#075e9b)}
.health-app-button.bluetooth .health-app-logo{background:linear-gradient(145deg,#536aff,#6541cf)}
.health-app-copy{min-width:0}.health-app-copy strong{display:block;font-weight:850;font-size:1rem}.health-app-copy small{display:block;color:#7a8599;margin-top:.18rem;line-height:1.35}
.health-app-state{font-size:.73rem;font-weight:850;padding:.35rem .55rem;border-radius:999px;background:#edf1ff;color:#435bd1;white-space:nowrap}.health-app-button.connected .health-app-state{background:#ddf8ec;color:#14835c}
.health-auto-pair-note{display:flex;gap:.65rem;align-items:flex-start;border-radius:1rem;background:#f4f7ff;border:1px solid #e1e8fb;padding:.8rem .9rem;color:#65718a;font-size:.86rem}.health-auto-pair-note i{color:#465fd7;font-size:1.05rem}
.health-pair-overlay[hidden]{display:none!important}.health-pair-overlay{position:fixed;inset:0;z-index:2200;background:rgba(7,12,28,.66);backdrop-filter:blur(8px);display:grid;place-items:center;padding:1rem}
.health-pair-modal{position:relative;width:min(430px,100%);background:#fff;border-radius:1.6rem;padding:1.5rem;box-shadow:0 32px 90px rgba(4,10,25,.35);text-align:center}
.health-pair-close{position:absolute;right:.8rem;top:.8rem;width:38px;height:38px;border:0;border-radius:50%;background:#f1f4f9;color:#536078}.health-pair-icon{width:66px;height:66px;border-radius:21px;margin:0 auto 1rem;display:grid;place-items:center;background:linear-gradient(145deg,#536aff,#8750f5);color:#fff;font-size:1.7rem;box-shadow:0 12px 28px rgba(81,87,220,.3)}
.health-pair-modal h2{font-weight:900;font-size:1.35rem}.health-pair-modal p{color:#6f7b91}.health-pair-loader{height:38px;display:flex;align-items:center;justify-content:center;gap:.35rem}.health-pair-loader[hidden]{display:none}.health-pair-loader span{width:8px;height:8px;border-radius:50%;background:#5e62e8;animation:healthPairPulse 1s infinite ease-in-out}.health-pair-loader span:nth-child(2){animation-delay:.15s}.health-pair-loader span:nth-child(3){animation-delay:.3s}@keyframes healthPairPulse{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-6px);opacity:1}}
.health-pair-qr{display:block;width:min(260px,75vw);height:auto;margin:.7rem auto;border-radius:1rem;border:1px solid #e4e9f4}.health-pair-fallback{display:grid;gap:.35rem;border-radius:1rem;background:#f7f9fc;padding:.85rem;color:#647085;font-size:.86rem}.health-pair-fallback strong{color:#202a3d}
@media(max-width:767.98px){.health-app-grid{grid-template-columns:1fr}.health-app-button{grid-template-columns:48px minmax(0,1fr) auto;min-height:82px;padding:.78rem .85rem}.health-app-logo{width:48px;height:48px}.health-app-copy small{font-size:.76rem}}
/* The mobile app has its own bottom navigation: do not render a website footer there. */
@media(max-width:991.98px){.fitplan-footer{display:none!important}}

/* v2.7.0 — Health connection stats + integrated Android companion */
.health-section-tabs{display:flex;gap:.55rem;padding:.4rem;margin:-.35rem 0 1.25rem;border:1px solid rgba(131,147,183,.16);border-radius:1.15rem;background:rgba(255,255,255,.8);box-shadow:0 10px 30px rgba(32,47,85,.06);width:max-content;max-width:100%;overflow:auto}.health-section-tabs a{display:flex;align-items:center;gap:.5rem;padding:.72rem 1rem;border-radius:.85rem;text-decoration:none;color:#67738c;font-size:.88rem;font-weight:800;white-space:nowrap}.health-section-tabs a.active{color:#fff;background:linear-gradient(135deg,#536aff,#7650eb);box-shadow:0 9px 22px rgba(83,106,255,.25)}
.health-apk-callout{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.9rem 1rem;border:1px solid #dfe7f4;border-radius:1.15rem;background:linear-gradient(135deg,#f8fbff,#f1f5ff)}.health-apk-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#35a853,#1d8440);color:#fff;font-size:1.4rem;box-shadow:0 9px 22px rgba(29,132,64,.18)}.health-apk-callout strong,.health-apk-callout small{display:block}.health-apk-callout small{color:#758099;margin-top:.2rem}
.health-pair-install[hidden]{display:none!important}.health-pair-install{display:grid;gap:.7rem;padding:1rem;border-radius:1.15rem;background:#f7f9fd;border:1px solid #e2e8f3;margin-top:.6rem}.health-pair-install-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin:0 auto;background:linear-gradient(145deg,#35a853,#1d8440);color:#fff;font-size:1.2rem}.health-pair-install strong{color:#1b2540}.health-pair-install span{color:#68758d;font-size:.87rem;line-height:1.45}.health-pair-install .btn small{opacity:.7}
.health-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.connection-kpi{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(131,147,183,.16);border-radius:1.25rem;background:rgba(255,255,255,.9);box-shadow:0 12px 34px rgba(32,47,85,.07)}.connection-kpi-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;flex:0 0 auto;background:#eaf0ff;color:#536aff;font-size:1.3rem}.connection-kpi-icon.good{background:#e4f8ef;color:#18865e}.connection-kpi-icon.purple{background:#efe9ff;color:#6a4ee6}.connection-kpi-icon.amber{background:#fff2db;color:#b46d06}.connection-kpi small,.connection-kpi span{display:block;color:#7a859a}.connection-kpi>div>small{font-weight:800;text-transform:uppercase;letter-spacing:.035em;font-size:.69rem}.connection-kpi strong{display:block;font-size:1.7rem;line-height:1.05;color:#172039;margin:.15rem 0}.connection-kpi>div>span{font-size:.77rem}
.connection-live-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border-radius:999px;background:#edf9f4;color:#1a825e;font-size:.75rem;font-weight:850}.connection-live-pill span{width:8px;height:8px;border-radius:50%;background:#24b47e;box-shadow:0 0 0 4px rgba(36,180,126,.12)}
.connection-week-chart{height:230px;display:grid;grid-template-columns:repeat(7,1fr);gap:.8rem;align-items:end;padding:1rem .2rem .3rem}.connection-day{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:.35rem;text-align:center}.connection-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:4px}.connection-bars span{width:min(16px,35%);min-height:5px;border-radius:8px 8px 3px 3px}.connection-bars .activity{background:linear-gradient(180deg,#536aff,#7357e9)}.connection-bars .metrics{background:linear-gradient(180deg,#31c79a,#168d6d)}.connection-day strong{font-size:.76rem;text-transform:capitalize;color:#3d4961}.connection-day small{font-size:.66rem;color:#8a94a8}.connection-chart-legend{display:flex;gap:1.2rem;justify-content:center;color:#6f7a90;font-size:.76rem}.connection-chart-legend span{display:flex;align-items:center;gap:.38rem}.connection-chart-legend i{width:9px;height:9px;border-radius:50%}.legend-activity{background:#5b64ef}.legend-metrics{background:#23a67e}
.connection-summary-list{display:grid;gap:.2rem}.connection-summary-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #edf0f5}.connection-summary-list>div:last-child{border-bottom:0}.connection-summary-list span{display:flex;align-items:center;gap:.5rem;color:#6f7a90}.connection-summary-list span i{color:#5c63e8}.connection-summary-list strong{color:#1c2740}
.connection-status-row,.connection-device-row{display:flex;align-items:center;gap:.75rem;padding:.8rem .85rem;border-radius:1rem;border:1px solid #e7ebf3;background:#fbfcff}.connection-provider-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#edf1ff;color:#5261d8;flex:0 0 auto}.connection-status-row strong,.connection-status-row small,.connection-device-row strong,.connection-device-row small{display:block}.connection-status-row small,.connection-device-row small{color:#7d879b;font-size:.74rem;margin-top:.12rem}.connection-status-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.34rem .55rem;font-size:.69rem;font-weight:850;text-transform:capitalize}.connection-status-badge i{width:7px;height:7px;border-radius:50%}.connection-status-badge.ok{background:#e5f8ef;color:#187c5a}.connection-status-badge.ok i{background:#24b47e}.connection-status-badge.warn{background:#fff1df;color:#a9680b}.connection-status-badge.warn i{background:#d8942a}.device-online-dot{width:10px;height:10px;border-radius:50%;background:#c8cfda;box-shadow:0 0 0 4px rgba(130,145,168,.08);flex:0 0 auto}.device-online-dot.online{background:#25b47e;box-shadow:0 0 0 4px rgba(37,180,126,.12)}.battery-pill{white-space:nowrap;font-size:.72rem;padding:.3rem .48rem;border-radius:999px;background:#f0f3f8;color:#59657b}
.source-stat-list{display:grid;gap:1rem}.source-stat-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:.86rem}.source-stat-head span{font-weight:750;color:#39445d}.source-stat-head i{color:#5963e5;margin-right:.3rem}.source-stat-track{height:8px;border-radius:99px;background:#edf0f6;overflow:hidden;margin:.42rem 0}.source-stat-track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5268f0,#7651eb)}.source-stat-list.metrics .source-stat-track span{background:linear-gradient(90deg,#22a67d,#43c9a0)}.source-stat-list small{color:#8790a2}
.connection-event-list{display:grid;gap:.1rem}.connection-event{display:flex;align-items:center;gap:.75rem;padding:.72rem 0;border-bottom:1px solid #edf0f5}.connection-event:last-child{border-bottom:0}.connection-event strong,.connection-event small{display:block}.connection-event small{color:#80899b;font-size:.74rem}.connection-event time{font-size:.7rem;color:#8a94a7;white-space:nowrap}.event-dot{width:10px;height:10px;border-radius:50%;background:#bbb;flex:0 0 auto}.event-dot.ok{background:#24b47e}.event-dot.bad{background:#e45067}.metric-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.metric-chip{padding:.75rem;border-radius:.9rem;background:#f7f9fd;border:1px solid #e9edf4}.metric-chip span{display:block;color:#737f94;font-size:.7rem;text-transform:capitalize}.metric-chip strong{display:block;font-size:1.05rem;color:#1d2841}.metric-chip small{color:#9aa2b1;font-size:.65rem}
.premium-mobile-action.active{background:rgba(96,112,255,.13);color:#6b62ef}
@media(max-width:1199.98px){.health-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.health-section-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.health-section-tabs a{justify-content:center;padding:.68rem .55rem;font-size:.79rem}.health-apk-callout{grid-template-columns:46px minmax(0,1fr)}.health-apk-icon{width:46px;height:46px}.health-apk-callout .btn{grid-column:1/-1;width:100%}.health-stats-grid{grid-template-columns:1fr 1fr;gap:.65rem}.connection-kpi{padding:.85rem;gap:.65rem}.connection-kpi-icon{width:42px;height:42px;border-radius:14px}.connection-kpi strong{font-size:1.35rem}.connection-kpi>div>small{font-size:.61rem}.connection-week-chart{height:190px;gap:.35rem}.connection-event{align-items:flex-start;flex-wrap:wrap}.connection-event time{width:100%;padding-left:1.4rem}.metric-chip-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.health-stats-grid{grid-template-columns:1fr}.connection-kpi{min-height:84px}.connection-week-chart{height:175px}.connection-bars span{width:9px}.connection-status-row{align-items:flex-start;flex-wrap:wrap}.connection-status-badge{margin-left:50px}.connection-device-row{align-items:flex-start}.battery-pill{margin-left:auto}}

/* v2.8.0 Android app gate */
.android-app-gate{position:fixed;inset:0;z-index:10990;display:grid;place-items:center;padding:1.25rem;background:rgba(8,12,24,.72);backdrop-filter:blur(14px)}
.android-app-gate[hidden]{display:none!important}
.android-app-gate-card{position:relative;width:min(100%,440px);border:1px solid rgba(99,102,241,.22);border-radius:28px;background:linear-gradient(155deg,#fff 0%,#f7f7ff 60%,#eef0ff 100%);box-shadow:0 30px 80px rgba(7,12,31,.28);padding:2rem;color:#10162a}
.android-app-gate-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;margin-bottom:1rem;background:linear-gradient(135deg,#5b5df6,#7c3aed);color:#fff;font-size:1.8rem;box-shadow:0 16px 36px rgba(91,93,246,.28)}
.android-app-gate-card h2{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;margin:.35rem 0 .65rem}
.android-app-gate-card p{color:#667085;line-height:1.55}
.android-app-gate-close{position:absolute;top:1rem;right:1rem;border:0;width:38px;height:38px;border-radius:50%;background:#eef0f7;color:#30384d}
html.android-install-gate-open{overflow:hidden}
@media(max-width:767.98px){.android-app-gate{align-items:end;padding:.75rem}.android-app-gate-card{border-radius:26px 26px 18px 18px;padding:1.5rem 1.2rem 1.2rem}.android-app-gate-icon{width:58px;height:58px;border-radius:18px}}

/* v2.10.0 unified activity history */
.activity-week-bars{height:132px;display:flex;align-items:end;justify-content:space-around;gap:12px;padding:4px 10px 0}.activity-week-day{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px}.activity-week-day>strong{font-size:.74rem;color:#6b7390}.activity-week-track{height:76px;width:min(100%,34px);display:flex;align-items:end;border-radius:9px;background:#f1f2f9;overflow:hidden}.activity-week-track i{display:block;width:100%;min-height:4px;border-radius:8px;background:linear-gradient(180deg,#05b18b,#5962e8)}.activity-week-day small{text-transform:capitalize;color:#818aa0;font-size:.72rem}.activity-filter-row{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:thin}.activity-filter{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;white-space:nowrap;border:1px solid var(--line,#e7e9f1);border-radius:30px;background:#fff;color:#65708a;text-decoration:none;font-size:.8rem;font-weight:720}.activity-filter span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:20px;background:#f1f2f8;color:#7c8498;font-size:.68rem}.activity-filter.active{border-color:#6262e5;background:#f0f0ff;color:#4c54d4}.activity-filter.active span{background:#605ee7;color:#fff}.activity-history-list{display:grid}.activity-history-row{display:flex;align-items:center;gap:14px;padding:16px 19px;text-decoration:none;color:inherit;border-bottom:1px solid #eff0f5}.activity-history-row:last-child{border-bottom:0}.activity-history-row:hover{background:#fafaff}.activity-history-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:14px;background:#f0f1ff;color:#555ee0;font-size:1.05rem}.activity-history-icon.walking,.activity-history-icon.running,.activity-history-icon.cycling{background:#eaf8f4;color:#0b9e7b}.activity-history-icon.health{background:#fff1ed;color:#df745f}.activity-history-main{flex:1;min-width:0}.activity-history-main strong,.activity-history-main small{display:block}.activity-history-main strong{font-size:.91rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-history-main small{margin-top:4px;color:#8790a3;font-size:.73rem;text-transform:capitalize}.activity-history-metrics{text-align:right;white-space:nowrap}.activity-history-metrics strong,.activity-history-metrics small{display:block}.activity-history-metrics strong{font-size:.84rem}.activity-history-metrics small{color:#8790a3;font-size:.71rem;margin-top:3px}.activity-chevron{color:#a2a9b9;font-size:.78rem}.fitplan-footer{display:block}
@media(max-width:575.98px){.activity-week-bars{height:112px;gap:5px;padding:0}.activity-week-track{height:64px;width:27px}.activity-history-row{gap:10px;padding:14px 12px}.activity-history-icon{width:37px;height:37px;flex-basis:37px;border-radius:12px}.activity-history-main strong{font-size:.83rem}.activity-history-main small{font-size:.65rem}.activity-history-metrics strong{font-size:.77rem}.activity-history-metrics small{font-size:.64rem}.activity-chevron{display:none}}
.coach-advice-card{border-color:#dce4ff;background:linear-gradient(120deg,#fff 45%,#f4f6ff)}.coach-advice-icon{width:54px;height:54px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:#eef0ff;color:#5b57e8;font-size:1.4rem}.offline-workout-status{font-size:.82rem;color:#62708a;margin-top:.45rem}.progress-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end;min-height:150px}.progress-week-column{display:flex;flex-direction:column;align-items:center;gap:.45rem;height:140px;justify-content:flex-end}.progress-week-bar{display:flex;align-items:flex-end;justify-content:center;width:min(100%,62px);height:100px;border-radius:14px;background:#f0f2fa;overflow:hidden}.progress-week-bar>span{display:block;width:100%;min-height:5px;border-radius:14px;background:linear-gradient(180deg,#7850ed,#4c6cff)}.progress-week-column strong{font-size:.75rem}.progress-week-column small{color:#79839a;font-size:.69rem;text-align:center}.push-settings-card{background:linear-gradient(120deg,#f9fbff,#f1f4ff);border-color:#dce4ff}
.progress-week-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:991.98px){.progress-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:575.98px){.coach-advice-card .card-body{align-items:flex-start!important}.coach-advice-icon{width:44px;height:44px}.coach-advice-card .btn{width:100%}.progress-week-grid{gap:.35rem}.progress-week-column{height:124px}.progress-week-bar{height:84px;width:42px}}
.public-profile-nav{min-height:68px;padding:.7rem max(1rem,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-bottom:1px solid #e8ebf2;box-shadow:0 4px 18px rgba(20,33,70,.04)}.public-profile-nav .premium-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#17213c}.public-profile-nav .premium-brand-copy{display:flex;flex-direction:column;line-height:1.1}.public-profile-nav .premium-brand-copy strong{font-size:1rem}.public-profile-nav .premium-brand-copy small{font-size:.62rem;letter-spacing:.09em;color:#72809b}.public-profile-page{max-width:1180px}.public-profile-cover{overflow:hidden;border:1px solid #e7eaf1;border-radius:1.25rem}.public-profile-cover-art{height:180px;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.23),transparent 23%),linear-gradient(120deg,#182754 0%,#344eb0 48%,#7954ed 100%)}.public-profile-identity{display:flex;align-items:center;gap:1.2rem;padding:0 1.6rem 1.35rem;min-height:112px}.public-profile-avatar-wrap{align-self:flex-start;margin-top:-54px;padding:5px;border-radius:50%;background:#fff;box-shadow:0 8px 28px rgba(19,31,69,.14);z-index:1}.public-profile-avatar{width:116px;height:116px;display:grid;place-items:center;object-fit:cover;border-radius:50%;border:1px solid #e5e9f0;background:#f0f2fa}.public-profile-avatar-fallback{background:linear-gradient(145deg,#586ef5,#8752eb);color:#fff;font-size:2.7rem;font-weight:800}.public-profile-title{min-width:0;flex:1;padding-top:.4rem}.public-profile-title h1{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;margin:0 0 .3rem;color:#17213c}.verified-badge{display:inline-flex;align-items:center;gap:.28rem;padding:.3rem .55rem;border-radius:999px;background:#e9f1ff;color:#2563d9;font-size:.73rem;font-weight:750;vertical-align:middle}.verified-badge i{font-size:.9rem}.public-profile-edit{white-space:nowrap}.public-profile-stat{height:100%;min-height:122px;padding:1.05rem 1.15rem;background:#fff;border:1px solid #e8ebf1;border-radius:1rem;box-shadow:0 8px 26px rgba(22,35,72,.035)}.public-profile-stat span{display:flex;align-items:center;gap:.4rem;color:#68748b;font-size:.8rem;font-weight:650}.public-profile-stat span i{color:#5368df}.public-profile-stat strong{display:block;font-size:1.8rem;line-height:1.15;margin:.5rem 0 .25rem;color:#17213c}.public-profile-stat small{color:#8791a4;font-size:.7rem}.public-profile-detail{display:flex;align-items:center;gap:.65rem;padding:.55rem 0;color:#59667c;font-size:.88rem}.public-profile-detail i{color:#5368df}.public-achievement-count{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:999px;background:#f1efff;color:#5b43cb;font-weight:750}.public-achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.public-achievement{display:flex;gap:.75rem;align-items:flex-start;padding:.95rem;border:1px solid #e9ebf2;border-radius:1rem;background:#fff}.public-achievement-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:#f1efff;color:#5b50d6;font-size:1.15rem}.public-achievement strong{display:block;color:#202b43;font-size:.91rem}.public-achievement p{margin:.25rem 0;color:#727e93;font-size:.78rem;line-height:1.4}.public-achievement small{color:#38835d;font-size:.7rem}@media(max-width:767.98px){.public-profile-cover-art{height:128px}.public-profile-identity{padding:0 1rem 1.1rem;gap:.8rem;align-items:flex-start;flex-wrap:wrap}.public-profile-avatar-wrap{margin-top:-43px}.public-profile-avatar{width:88px;height:88px}.public-profile-avatar-fallback{font-size:2rem}.public-profile-title{padding-top:.45rem}.public-profile-title h1{font-size:1.35rem}.public-profile-title>div{font-size:.77rem}.public-profile-edit{margin-left:auto}.public-profile-stat{min-height:108px;padding:.85rem}.public-profile-stat strong{font-size:1.45rem}.public-achievements-grid{grid-template-columns:1fr}.public-profile-page{padding-left:1rem;padding-right:1rem}}
.premium-user-avatar-image{display:block;object-fit:cover;border:1px solid rgba(255,255,255,.24)}.premium-mobile-avatar .premium-user-avatar-image{width:100%;height:100%;border-radius:inherit}
.verified-nav-badge{color:#77a8ff;font-size:.78rem}
.profile-settings-body,.public-profile-body{min-height:100vh;display:flex;flex-direction:column}.profile-settings-body>main,.public-profile-body>main{flex:1 0 auto;width:100%}.profile-settings-body .fitplan-footer,.public-profile-body .fitplan-footer{margin-top:auto}.public-profile-body .fitplan-footer{display:block!important;background:#fff;border-top:1px solid #e9ebf1}.profile-customization-card{padding:1rem 1.1rem;border:1px solid #e9ebf2;border-radius:1rem;background:linear-gradient(145deg,#fbfcff,#fff)}.profile-avatar-editor{display:flex;align-items:center;gap:1.15rem;min-width:0}.profile-avatar-preview{display:grid;place-items:center;width:88px;height:88px;flex:0 0 88px;max-width:88px;max-height:88px;object-fit:cover;overflow:hidden;border-radius:50%;border:3px solid #fff;box-shadow:0 5px 18px rgba(26,41,82,.13);background:#f0f2fa}.profile-avatar-fallback{background:linear-gradient(145deg,#586ef5,#8752eb);color:#fff;font-size:2rem;font-weight:800}.profile-banner-editor{display:flex;align-items:flex-start;gap:1rem}.profile-banner-preview{width:185px;height:76px;flex:0 0 185px;border-radius:.8rem;border:1px solid rgba(38,52,89,.12);background-color:var(--profile-banner-color,#344eb0);background-image:radial-gradient(circle at 78% 18%,rgba(255,255,255,.2),transparent 28%),linear-gradient(120deg,var(--profile-banner-color,#344eb0),color-mix(in srgb,var(--profile-banner-color,#344eb0),#6841d4 45%));background-size:cover;background-position:center;background-repeat:no-repeat}.profile-style-controls{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.8rem}.profile-color-control{display:flex;align-items:center;gap:.65rem;color:#536078;font-size:.82rem;font-weight:650}.profile-color-control input[type=color]{width:42px;height:34px;padding:3px;border:1px solid #dfe3ec;border-radius:.55rem;background:#fff;cursor:pointer}.profile-remove-banner{display:flex;align-items:center;gap:.45rem;margin:0}.image-crop-stage{position:relative;width:min(100%,440px);aspect-ratio:1/1;margin-inline:auto;overflow:hidden;border-radius:1rem;background:#11182a;touch-action:none;cursor:grab;user-select:none}.image-crop-stage.is-wide-crop{width:min(100%,560px);aspect-ratio:3/1}.image-crop-stage:active{cursor:grabbing}.image-crop-stage img{position:absolute;display:block;max-width:none;max-height:none;object-fit:fill;pointer-events:none;user-select:none}.profile-crop-modal{border:0;border-radius:1.15rem;overflow:hidden;box-shadow:0 24px 80px rgba(14,20,42,.3)}.profile-crop-modal .modal-header,.profile-crop-modal .modal-footer{border-color:#edf0f5}.profile-settings-body .page-wrap{padding-bottom:2rem}.profile-settings-body main>.row>.col-lg-4{align-self:flex-start}.profile-settings-body .admin-tile{height:auto;min-height:82px}@media(max-width:575.98px){.profile-customization-card{padding:.9rem}.profile-avatar-editor,.profile-banner-editor{align-items:flex-start;gap:.8rem}.profile-avatar-preview{width:70px;height:70px;flex-basis:70px;max-width:70px;max-height:70px}.profile-banner-preview{width:112px;height:66px;flex-basis:112px}.image-crop-stage{width:100%}.image-crop-stage.is-wide-crop{width:100%}.profile-style-controls{gap:.6rem}}
.public-profile-cover-art{background-color:var(--profile-banner-color,#344eb0);background-size:cover;background-position:center;background-repeat:no-repeat;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.23),transparent 23%),linear-gradient(120deg,var(--profile-banner-color,#344eb0),var(--profile-banner-color,#344eb0))}.profile-banner-preview{background-image:radial-gradient(circle at 78% 18%,rgba(255,255,255,.2),transparent 28%),linear-gradient(120deg,var(--profile-banner-color,#344eb0),var(--profile-banner-color,#344eb0))}

/* FitNova Profile Studio */
.profile-studio-card{padding:1.25rem;border:1px solid #dfe5f0;border-radius:1.1rem;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:0 12px 34px rgba(26,39,80,.045)}
.profile-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.profile-theme-option{position:relative;display:flex;align-items:center;gap:.55rem;min-height:48px;padding:.55rem .65rem;border:1px solid #e1e5ee;border-radius:.75rem;background:#fff;color:#43506a;font-size:.78rem;font-weight:650;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.profile-theme-option input{position:absolute;opacity:0;inset:0;cursor:pointer}
.profile-theme-option:has(input:checked){border-color:#5b57e8;background:#f5f5ff;box-shadow:0 0 0 2px rgba(91,87,232,.11)}
.profile-theme-option:has(input:focus-visible){outline:3px solid rgba(79,99,255,.25);outline-offset:2px}
.profile-theme-swatch{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px rgba(255,255,255,.48)}
.profile-studio-order-list{display:grid;gap:.35rem}
.profile-studio-order-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.42rem .6rem;border:1px solid #e7eaf1;border-radius:.65rem;background:#fff;color:#4b5870;font-size:.79rem}
.profile-studio-order-row>span{display:flex;align-items:center;gap:.45rem}.profile-studio-order-row>span i{color:#97a0b2}.profile-studio-order-row .btn{padding:.2rem .42rem}
.profile-studio-preview{--preview-accent:#5b57e8;--preview-tint:#f2f2ff;width:100%;max-width:100%;overflow:hidden;border:1px solid #e2e6ef;border-radius:1rem;background:#fff;color:#202b43;box-shadow:0 8px 24px rgba(24,37,74,.09);transition:max-width .2s,background .2s,color .2s}
.profile-studio-preview.is-mobile-preview{max-width:340px;margin-inline:auto}
.profile-studio-preview-banner{position:relative;height:72px;overflow:hidden;background:linear-gradient(120deg,var(--profile-banner-color,#344eb0),color-mix(in srgb,var(--profile-banner-color,#344eb0),#7954ed 45%))}
.profile-studio-preview-banner{background:linear-gradient(120deg,var(--preview-accent,#5b57e8),color-mix(in srgb,var(--preview-accent,#5b57e8),#7954ed 45%))}
.profile-studio-preview-banner>span{position:absolute;inset:0;background-size:cover;background-position:center}
.profile-studio-preview-body{position:relative;padding:.75rem}
.profile-studio-preview-identity{display:flex;align-items:center;gap:.65rem;margin-top:-1.8rem;position:relative}
.profile-studio-preview-identity>div{display:flex;flex-direction:column;padding-top:1.35rem;min-width:0}.profile-studio-preview-identity strong{font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-studio-preview-identity small{font-size:.66rem;color:#7c8799}
.profile-studio-preview-avatar{position:relative;display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:3px solid #fff;border-radius:50%;background:linear-gradient(145deg,#586ef5,#8752eb);color:#fff;font-size:1.25rem;font-weight:800;box-shadow:0 4px 14px rgba(25,37,76,.18)}
.profile-studio-preview-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-studio-preview-modules{display:grid;gap:.38rem;margin-top:.7rem}.profile-studio-preview-module{padding:.42rem .55rem;border:1px solid #edf0f5;border-radius:.55rem;background:#fff}.profile-studio-preview-module>span{display:block;font-size:.61rem;color:#7b8798}.profile-studio-preview-module strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:#33405a}.profile-studio-preview-module.is-private{border-style:dashed;background:#f6f7fa}.profile-studio-preview-module.is-private strong{color:#8c94a3}.profile-studio-preview-module small{font-size:.61rem;color:#8c6b13}
.profile-studio-preview[data-theme="ocean"],.public-profile-page.theme-ocean{--profile-accent:#087f8c;--profile-tint:#e7f7f8}
.profile-studio-preview[data-theme="forest"],.public-profile-page.theme-forest{--profile-accent:#258051;--profile-tint:#edf8f1}
.profile-studio-preview[data-theme="sunset"],.public-profile-page.theme-sunset{--profile-accent:#d65b45;--profile-tint:#fff1eb}
.profile-studio-preview[data-theme="midnight"],.public-profile-page.theme-midnight{--profile-accent:#7168d9;--profile-tint:#e9eaff}
.profile-studio-preview[data-theme="minimal"],.public-profile-page.theme-minimal{--profile-accent:#687386;--profile-tint:#f0f2f5}
.profile-studio-preview[data-theme="nova"],.public-profile-page.theme-nova{--profile-accent:#5b57e8;--profile-tint:#f0f0ff}
.profile-studio-preview .profile-studio-preview-avatar{outline:2px solid var(--preview-accent);outline-offset:2px}
.profile-studio-preview[data-theme="ocean"]{--preview-accent:#087f8c}.profile-studio-preview[data-theme="forest"]{--preview-accent:#258051}.profile-studio-preview[data-theme="sunset"]{--preview-accent:#d65b45}.profile-studio-preview[data-theme="midnight"]{--preview-accent:#7168d9}.profile-studio-preview[data-theme="minimal"]{--preview-accent:#687386}
.profile-studio-preview[data-theme="midnight"]{background:#17213a;color:#f3f5ff;border-color:#2b3958}.profile-studio-preview[data-theme="midnight"] .profile-studio-preview-module{background:#202d49;border-color:#364663}.profile-studio-preview[data-theme="midnight"] .profile-studio-preview-module strong,.profile-studio-preview[data-theme="midnight"] .profile-studio-preview-identity strong{color:#f3f5ff}
.public-profile-page{--profile-accent:#5b57e8;--profile-tint:#f0f0ff}
.public-profile-page .profile-social-stat-icon,.public-profile-page .profile-social-stat-copy strong,.public-profile-page .public-profile-stat span i,.public-profile-page .public-profile-detail i,.public-profile-page .profile-info-module .eyebrow{color:var(--profile-accent)}
.public-profile-page .profile-social-stat-icon{background:var(--profile-tint)}
.public-profile-cover-art{position:relative;isolation:isolate;overflow:hidden}.public-profile-banner-image{position:absolute;inset:0;background-position:center;background-size:cover;z-index:0}.public-profile-cover-art:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(11,19,42,.12),rgba(11,19,42,.18))}
.public-profile-cover-art.banner-style-aurora:after{background:radial-gradient(ellipse at 75% 5%,rgba(85,255,208,.52),transparent 42%),radial-gradient(ellipse at 25% 100%,rgba(160,113,255,.45),transparent 48%),linear-gradient(120deg,rgba(9,28,63,.16),rgba(16,107,114,.2))}
.public-profile-cover-art.banner-style-sunrise:after{background:linear-gradient(0deg,rgba(39,38,80,.42),transparent 78%),radial-gradient(ellipse at 70% 110%,rgba(255,181,113,.78),transparent 53%),linear-gradient(100deg,rgba(219,83,76,.25),rgba(255,216,137,.18))}
.public-profile-cover-art.banner-style-waves:after{background:repeating-linear-gradient(165deg,transparent 0 22px,rgba(255,255,255,.13) 23px 25px,transparent 26px 43px),linear-gradient(115deg,rgba(14,46,105,.18),rgba(7,135,146,.38))}
.public-profile-cover-art.banner-style-lines:after{background:repeating-linear-gradient(125deg,transparent 0 35px,rgba(255,255,255,.17) 36px 38px,transparent 39px 70px),linear-gradient(110deg,rgba(22,34,74,.15),rgba(84,68,190,.32))}
.public-profile-cover-art.banner-style-gradient:after{background:linear-gradient(120deg,rgba(19,28,67,.14),rgba(97,76,205,.22))}
.profile-public-module-value{color:#273551;font-size:1.05rem;font-weight:700;line-height:1.55;white-space:pre-line}.profile-public-bio{white-space:pre-line}.public-profile-page.theme-midnight .profile-public-module-value{color:#eef2ff}
.public-profile-avatar-wrap{position:relative}.public-profile-avatar-wrap:before{content:"";position:absolute;inset:-3px;border:2px solid var(--profile-accent,#5b57e8);border-radius:50%;pointer-events:none}.public-profile-avatar-wrap.avatar-decoration-glow{box-shadow:0 0 0 4px var(--profile-tint),0 0 30px color-mix(in srgb,var(--profile-accent),transparent 40%)}.public-profile-avatar-wrap.avatar-decoration-double:before{inset:-5px;border:2px solid var(--profile-accent);outline:2px solid #fff;outline-offset:2px}.public-profile-avatar-wrap.avatar-decoration-sport:after{content:"";position:absolute;right:-1px;bottom:4px;width:20px;height:20px;border:2px solid #fff;border-radius:50%;background:var(--profile-accent);box-shadow:inset 0 0 0 4px rgba(255,255,255,.28)}.public-profile-avatar-wrap.avatar-decoration-none:before{display:none}.public-profile-avatar-wrap.avatar-decoration-none{box-shadow:none}
.profile-studio-preview-avatar{outline-offset:2px}.profile-studio-preview[data-decoration="glow"] .profile-studio-preview-avatar{box-shadow:0 0 0 4px var(--profile-tint),0 0 18px color-mix(in srgb,var(--preview-accent),transparent 25%)}.profile-studio-preview[data-decoration="double"] .profile-studio-preview-avatar{outline:2px solid var(--preview-accent);outline-offset:3px;box-shadow:0 0 0 5px #fff}.profile-studio-preview[data-decoration="sport"] .profile-studio-preview-avatar:after{content:"";position:absolute;right:-3px;bottom:0;width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:var(--preview-accent)}.profile-studio-preview[data-decoration="none"] .profile-studio-preview-avatar{outline:0;box-shadow:none}
.profile-studio-preview-banner{position:relative;isolation:isolate}.profile-studio-preview-banner>span{z-index:0}.profile-studio-preview-banner:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.profile-studio-preview[data-banner-style="aurora"] .profile-studio-preview-banner:after{background:radial-gradient(ellipse at 75% 5%,rgba(85,255,208,.52),transparent 42%),radial-gradient(ellipse at 25% 100%,rgba(160,113,255,.45),transparent 48%)}.profile-studio-preview[data-banner-style="sunrise"] .profile-studio-preview-banner:after{background:radial-gradient(ellipse at 70% 110%,rgba(255,181,113,.78),transparent 53%),linear-gradient(100deg,rgba(219,83,76,.25),rgba(255,216,137,.18))}.profile-studio-preview[data-banner-style="waves"] .profile-studio-preview-banner:after{background:repeating-linear-gradient(165deg,transparent 0 12px,rgba(255,255,255,.18) 13px 15px,transparent 16px 28px)}.profile-studio-preview[data-banner-style="lines"] .profile-studio-preview-banner:after{background:repeating-linear-gradient(125deg,transparent 0 20px,rgba(255,255,255,.2) 21px 23px,transparent 24px 42px)}
.public-profile-page.theme-midnight{background:#10182a;color:#e9edf8}.public-profile-page.theme-midnight .public-profile-cover,.public-profile-page.theme-midnight .panel-card,.public-profile-page.theme-midnight .public-profile-stat{background:#18243a;border-color:#2b3954;color:#edf1fb}.public-profile-page.theme-midnight .public-profile-title h1,.public-profile-page.theme-midnight .profile-social-stat-copy strong,.public-profile-page.theme-midnight .public-profile-stat strong,.public-profile-page.theme-midnight .public-achievement strong{color:#f4f6ff}.public-profile-page.theme-midnight .text-secondary,.public-profile-page.theme-midnight .public-profile-stat span,.public-profile-page.theme-midnight .public-profile-stat small{color:#bac4d6!important}.public-profile-page.theme-midnight .profile-social-stat{background:#202d45;border-color:#34425d}.public-profile-page.theme-midnight .public-achievement{background:#202d45;border-color:#36445e}.public-profile-page.theme-midnight .community-post-compact{border-color:#35435b}
.public-profile-page.theme-ocean .profile-social-stat,.public-profile-page.theme-forest .profile-social-stat,.public-profile-page.theme-sunset .profile-social-stat,.public-profile-page.theme-minimal .profile-social-stat,.public-profile-page.theme-nova .profile-social-stat{border-color:color-mix(in srgb,var(--profile-accent),#fff 78%)}
@media(max-width:767.98px){.profile-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-studio-card{padding:1rem}.profile-studio-preview.is-mobile-preview{max-width:320px}.public-profile-page.theme-midnight .fitplan-footer{background:#10182a;border-color:#2b3954}}
@media(prefers-color-scheme:dark){.public-profile-nav{background:#18243a;border-color:#2b3954}.public-profile-nav .premium-brand{color:#f4f6ff}.public-profile-nav .premium-brand-copy small{color:#bac4d6}.public-profile-body .fitplan-footer{background:#10182a;border-color:#2b3954;color:#e9edf8}.public-profile-page:not(.theme-midnight){background:#10182a;color:#e9edf8}.public-profile-page:not(.theme-midnight) .public-profile-cover,.public-profile-page:not(.theme-midnight) .panel-card,.public-profile-page:not(.theme-midnight) .public-profile-stat{background:#18243a;border-color:#2b3954;color:#edf1fb}.public-profile-page:not(.theme-midnight) .public-profile-title h1,.public-profile-page:not(.theme-midnight) .profile-social-stat-copy strong,.public-profile-page:not(.theme-midnight) .public-profile-stat strong,.public-profile-page:not(.theme-midnight) .public-achievement strong,.public-profile-page:not(.theme-midnight) .profile-public-module-value{color:#f4f6ff}.public-profile-page:not(.theme-midnight) .text-secondary,.public-profile-page:not(.theme-midnight) .public-profile-stat span,.public-profile-page:not(.theme-midnight) .public-profile-stat small{color:#bac4d6!important}.public-profile-page:not(.theme-midnight) .profile-social-stat{background:#202d45;border-color:#34425d}.public-profile-page:not(.theme-midnight) .public-achievement{background:#202d45;border-color:#36445e}.public-profile-page:not(.theme-midnight) .community-post-compact{border-color:#35435b}.profile-studio-preview:not([data-theme="midnight"]){background:#18243a;color:#eef2ff;border-color:#2b3954}.profile-studio-preview:not([data-theme="midnight"]) .profile-studio-preview-module{background:#202d49;border-color:#364663}.profile-studio-preview:not([data-theme="midnight"]) .profile-studio-preview-module strong,.profile-studio-preview:not([data-theme="midnight"]) .profile-studio-preview-identity strong{color:#f3f5ff}}

/* Public profile activity cards stay legible in dark themes and on narrow screens. */
.public-profile-page .community-activity{min-width:0;align-items:flex-start;background:#202d45;border-color:#34425d;color:#edf1fb}
.public-profile-page .community-activity>div{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
.public-profile-page .community-activity strong{display:block;color:#f4f6ff;line-height:1.45;overflow-wrap:anywhere}
.public-profile-page .community-activity .text-secondary{color:#bac4d6!important}
.public-profile-page .community-activity p{color:#e1e7f2;overflow-wrap:anywhere}
.public-profile-page .community-post-actions{color:#d5deed}
.public-profile-page .community-post-actions .text-secondary{color:#bac4d6!important}
.public-profile-page .community-comments{border-color:#35435b}
.public-profile-page .community-comment{color:#d5deed;overflow-wrap:anywhere;word-break:break-word}
.public-profile-page .community-comment a{color:#f4f6ff}
.public-profile-page form[action*="/comments"]{min-width:0;flex-wrap:wrap}
.public-profile-page form[action*="/comments"] .form-control{min-width:0;flex:1 1 12rem;background:#10182a;border-color:#40506c;color:#f4f6ff}
.public-profile-page form[action*="/comments"] .form-control::placeholder{color:#aab6ca;opacity:1}
.public-profile-page form[action*="/comments"] .form-control:focus{border-color:#899bff;box-shadow:0 0 0 .2rem rgba(137,155,255,.2)}
.public-profile-page .row>*,.public-profile-page .card-body{min-width:0}

/* v6.3 public profile refresh: full-bleed page canvas and a redesigned profile card system. */
body.public-profile-body{min-height:100vh;background:#f1f4fa;color:#17213c}
body.public-profile-body.theme-midnight{background:#10182a;color:#e9edf8}
.public-profile-page{width:100%;max-width:1480px;margin-inline:auto;padding:clamp(1rem,3vw,2.75rem)!important}
.public-profile-cover{position:relative;isolation:isolate;border:0!important;border-radius:30px!important;overflow:hidden;background:#fff!important;box-shadow:0 18px 55px rgba(24,38,78,.12)!important}
.public-profile-cover-art{height:clamp(190px,23vw,300px)!important;background:radial-gradient(ellipse at 83% 4%,color-mix(in srgb,var(--profile-banner-color,#5269e8),#fff 25%),transparent 38%),linear-gradient(125deg,#14264c,#4259c5 58%,#8356e9)!important}
.public-profile-cover-art:after{background:linear-gradient(90deg,rgba(11,19,42,.08),rgba(11,19,42,.02) 55%,rgba(11,19,42,.18))}
.public-profile-identity{position:relative;min-height:150px!important;align-items:center!important;padding:1.35rem 1.6rem 1.5rem 174px!important;gap:1rem!important;background:#fff}
.public-profile-avatar-wrap{position:absolute!important;left:28px;bottom:22px;align-self:auto!important;margin:0!important;padding:6px!important;background:#fff!important;box-shadow:0 12px 34px rgba(18,28,56,.24)!important}
.public-profile-avatar{width:120px!important;height:120px!important;border:3px solid #fff!important}
.public-profile-title h1{color:#17213c!important;letter-spacing:-.035em}
.public-profile-title>div{color:#68758c!important}
.public-profile-actions{gap:.65rem!important}
.public-profile-actions .btn{min-height:46px;padding:.7rem 1rem;font-weight:750}
.profile-social-section{margin:0 0 1.35rem!important}
.profile-social-counts{gap:.8rem!important}
.profile-social-stat{min-width:172px;padding:.7rem 1rem!important;border-radius:17px!important;background:#fff!important;border:1px solid #e2e7f0!important;box-shadow:0 8px 24px rgba(24,38,78,.055);transition:transform .18s ease,box-shadow .18s ease}
.profile-social-stat:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,38,78,.11)}
.public-profile-stat{border-radius:20px!important;padding:1.25rem!important;background:linear-gradient(145deg,#fff,#f8faff)!important;border-color:#e3e8f1!important;box-shadow:0 10px 28px rgba(24,38,78,.055)!important}
.public-profile-stat strong{letter-spacing:-.04em}
.public-profile-page .panel-card,.public-profile-page .profile-info-module{border:1px solid #e1e7f0!important;border-radius:23px!important;background:#fff!important;box-shadow:0 12px 32px rgba(24,38,78,.055)!important;overflow:hidden}
.public-profile-page .panel-card>.card-body{padding:clamp(1.15rem,2.4vw,2rem)!important}
.public-profile-page .eyebrow{letter-spacing:.16em}
.public-profile-page .public-achievement{border-radius:16px!important;background:#f8f9fd!important}
.public-profile-page .community-activity{border-radius:17px!important}
.public-profile-page .community-post-compact{padding-block:1.25rem!important}
.public-profile-page .profile-info-module .profile-public-bio,.public-profile-page .profile-public-module-value{line-height:1.75}
body.public-profile-body.theme-midnight .public-profile-cover{background:#18243a!important}
body.public-profile-body.theme-midnight .public-profile-identity{background:#18243a}
body.public-profile-body.theme-midnight .public-profile-title h1{color:#f4f6ff!important}
body.public-profile-body.theme-midnight .public-profile-title>div{color:#bac4d6!important}
body.public-profile-body.theme-midnight .public-profile-page .panel-card,body.public-profile-body.theme-midnight .public-profile-page .profile-info-module{background:#18243a!important;border-color:#2b3954!important}
body.public-profile-body.theme-midnight .public-profile-stat{background:linear-gradient(145deg,#1c2943,#17243b)!important;border-color:#2b3954!important}
@media(prefers-color-scheme:dark){
  body.public-profile-body:not(.theme-midnight){background:#10182a;color:#e9edf8}
  body.public-profile-body:not(.theme-midnight) .public-profile-cover,body.public-profile-body:not(.theme-midnight) .public-profile-identity{background:#18243a!important}
  body.public-profile-body:not(.theme-midnight) .public-profile-page .panel-card,body.public-profile-body:not(.theme-midnight) .public-profile-page .profile-info-module{background:#18243a!important;border-color:#2b3954!important}
  body.public-profile-body:not(.theme-midnight) .public-profile-stat{background:linear-gradient(145deg,#1c2943,#17243b)!important;border-color:#2b3954!important}
  body.public-profile-body:not(.theme-midnight) .public-achievement{background:#202d45!important;border-color:#36445e!important}
  body.public-profile-body:not(.theme-midnight) .public-profile-title h1{color:#f4f6ff!important}
  body.public-profile-body:not(.theme-midnight) .public-profile-title>div{color:#bac4d6!important}
}
@media(max-width:767.98px){
  .public-profile-page{padding:1rem .8rem 1.5rem!important}
  .public-profile-cover{border-radius:22px!important}
  .public-profile-cover-art{height:150px!important}
  .public-profile-identity{display:grid!important;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"avatar title" "actions actions";align-items:start!important;gap:.75rem .85rem!important;padding:0 1rem 1rem!important}
  .public-profile-avatar-wrap{position:relative!important;left:auto;bottom:auto;grid-area:avatar;width:max-content;margin-top:-38px!important;padding:4px!important}
  .public-profile-avatar{width:76px!important;height:76px!important}
  .public-profile-title{grid-area:title;padding-top:.55rem!important}
  .public-profile-title h1{font-size:clamp(1.18rem,5vw,1.55rem)!important;line-height:1.2}
  .public-profile-actions{grid-area:actions;display:flex!important;flex-wrap:wrap;width:100%;margin:0!important}
  .public-profile-actions>*{flex:1 1 135px;min-width:0}
  .public-profile-actions .btn{width:100%;white-space:normal}
  .profile-social-stat{min-width:0;flex:1 1 140px}
  .public-achievements-grid{grid-template-columns:1fr}
}
@media(max-width:420px){.public-profile-cover-art{height:126px!important}.public-profile-actions>*{flex-basis:100%}.public-profile-page .panel-card>.card-body{padding:1rem!important}}

/* Avatar frame collection */
.public-profile-avatar-wrap.avatar-decoration-aurora{padding:7px!important;background:conic-gradient(from 30deg,#3ae3ce,#7458f1,#ff83c6,#ffe17b,#3ae3ce)!important;box-shadow:0 0 0 5px rgba(75,204,220,.16),0 12px 34px rgba(18,28,56,.24)!important}
.public-profile-avatar-wrap.avatar-decoration-neon{padding:6px!important;background:#15172a!important;box-shadow:0 0 0 3px #47f1d0,0 0 18px 7px rgba(71,241,208,.42),0 12px 34px rgba(18,28,56,.24)!important}
.public-profile-avatar-wrap.avatar-decoration-sparkle:after,.public-profile-avatar-wrap.avatar-decoration-starlight:after{content:'✦';position:absolute;right:-6px;top:-7px;display:grid;place-items:center;width:31px;height:31px;border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#6c5bf3,#e95ea8);color:#fff;font-size:18px;font-weight:900;box-shadow:0 4px 12px rgba(32,40,84,.24)}
.public-profile-avatar-wrap.avatar-decoration-crown:after{content:'♛';position:absolute;right:2px;top:-22px;color:#f2bd3d;font-size:34px;line-height:1;text-shadow:0 2px 5px rgba(38,28,7,.3);filter:drop-shadow(0 1px 0 #fff)}
.public-profile-avatar-wrap.avatar-decoration-laurel{padding:7px!important;background:conic-gradient(from 20deg,#a8e2a9,#338c62,#eddb8a,#338c62,#a8e2a9)!important;box-shadow:0 0 0 3px #fff,0 0 0 5px #4f9b70,0 12px 34px rgba(18,28,56,.2)!important}
.public-profile-avatar-wrap.avatar-decoration-flame:after{content:'🔥';position:absolute;right:-8px;bottom:-5px;display:grid;place-items:center;width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:#fff4ed;font-size:19px;box-shadow:0 4px 12px rgba(32,40,84,.2)}
.public-profile-avatar-wrap.avatar-decoration-pulse{box-shadow:0 0 0 4px rgba(255,87,119,.2),0 0 0 8px rgba(255,87,119,.08),0 12px 34px rgba(18,28,56,.24)!important}
.profile-studio-preview[data-decoration="aurora"] .profile-studio-preview-avatar{outline:4px solid #42d8ca;box-shadow:0 0 0 7px rgba(116,88,241,.28)}
.profile-studio-preview[data-decoration="neon"] .profile-studio-preview-avatar{outline:3px solid #47f1d0;box-shadow:0 0 15px 4px rgba(71,241,208,.55)}
.profile-studio-preview[data-decoration="sparkle"] .profile-studio-preview-avatar:after,.profile-studio-preview[data-decoration="starlight"] .profile-studio-preview-avatar:after{content:'✦';position:absolute;right:-8px;top:-8px;color:#fff;background:#8658e9;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}
.profile-studio-preview[data-decoration="crown"] .profile-studio-preview-avatar:after{content:'♛';position:absolute;right:3px;top:-20px;color:#e4ae28;font-size:25px}
.profile-studio-preview[data-decoration="laurel"] .profile-studio-preview-avatar{outline:3px solid #4f9b70;outline-offset:3px}
.profile-studio-preview[data-decoration="flame"] .profile-studio-preview-avatar:after{content:'🔥';position:absolute;right:-8px;bottom:-5px;font-size:16px}
.profile-studio-preview[data-decoration="pulse"] .profile-studio-preview-avatar{box-shadow:0 0 0 4px rgba(255,87,119,.28),0 0 0 8px rgba(255,87,119,.1)}

/* New banner overlays; these also appear in the live editor preview. */
.public-profile-cover-art.banner-style-confetti:after{background-image:radial-gradient(circle,#fff9 1.4px,transparent 2px),radial-gradient(circle,#ffc86a 2px,transparent 2.8px),linear-gradient(120deg,rgba(30,50,125,.2),rgba(136,57,162,.28))!important;background-size:39px 37px,61px 53px,cover!important;background-position:0 0,18px 15px,center!important}
.public-profile-cover-art.banner-style-geometry:after{background-image:linear-gradient(135deg,transparent 49.5%,rgba(255,255,255,.24) 50%,transparent 50.5%),linear-gradient(45deg,transparent 49.5%,rgba(48,247,210,.22) 50%,transparent 50.5%),linear-gradient(120deg,rgba(13,36,71,.14),rgba(85,62,179,.34))!important;background-size:62px 62px,88px 88px,cover!important}
.public-profile-cover-art.banner-style-starlight:after{background-image:radial-gradient(circle,rgba(255,255,255,.95) 1px,transparent 1.8px),radial-gradient(circle,rgba(172,221,255,.8) 1.5px,transparent 2px),linear-gradient(120deg,rgba(10,20,55,.2),rgba(65,54,151,.27))!important;background-size:43px 41px,71px 67px,cover!important;background-position:0 0,21px 14px,center!important}
.public-profile-cover-art.banner-style-speed:after{background-image:repeating-linear-gradient(155deg,transparent 0 18px,rgba(255,255,255,.22) 19px 21px,transparent 22px 47px),linear-gradient(115deg,rgba(15,31,73,.2),rgba(0,189,178,.26))!important}
.public-profile-cover-art.banner-style-mesh:after{background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px),radial-gradient(ellipse at 50% 50%,transparent 10%,rgba(21,35,86,.28))!important;background-size:34px 34px,34px 34px,cover!important}
.public-profile-cover-art.banner-style-floral:after{background-image:radial-gradient(ellipse at 15% 25%,rgba(255,208,227,.34) 0 7%,transparent 8%),radial-gradient(ellipse at 19% 25%,rgba(255,208,227,.25) 0 7%,transparent 8%),radial-gradient(ellipse at 84% 65%,rgba(255,220,156,.33) 0 8%,transparent 9%),radial-gradient(ellipse at 50% 50%,rgba(34,73,106,.06),rgba(18,28,73,.3))!important;background-size:60px 60px,60px 60px,82px 82px,cover!important}
.public-profile-cover-art.banner-style-spotlight:after{background:radial-gradient(ellipse at 50% -5%,rgba(255,255,255,.55),transparent 48%),radial-gradient(ellipse at 50% 120%,rgba(25,35,82,.5),transparent 66%),linear-gradient(110deg,rgba(65,81,181,.12),rgba(98,57,172,.2))!important}
.profile-studio-preview[data-banner-style="confetti"] .profile-studio-preview-banner:after{background-image:radial-gradient(circle,#fff9 1.4px,transparent 2px),radial-gradient(circle,#ffc86a 2px,transparent 2.8px);background-size:24px 24px,38px 36px;background-position:0 0,12px 8px}
.profile-studio-preview[data-banner-style="geometry"] .profile-studio-preview-banner:after{background:repeating-linear-gradient(135deg,transparent 0 15px,rgba(255,255,255,.22) 16px 17px,transparent 18px 30px)}
.profile-studio-preview[data-banner-style="starlight"] .profile-studio-preview-banner:after{background-image:radial-gradient(circle,#fff 1px,transparent 1.5px);background-size:23px 22px}
.profile-studio-preview[data-banner-style="speed"] .profile-studio-preview-banner:after{background:repeating-linear-gradient(155deg,transparent 0 10px,rgba(255,255,255,.24) 11px 12px,transparent 13px 25px)}
.profile-studio-preview[data-banner-style="mesh"] .profile-studio-preview-banner:after{background-image:linear-gradient(rgba(255,255,255,.19) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.19) 1px,transparent 1px);background-size:20px 20px}
.profile-studio-preview[data-banner-style="floral"] .profile-studio-preview-banner:after{background:radial-gradient(ellipse at 25% 45%,rgba(255,210,225,.5),transparent 24%),radial-gradient(ellipse at 75% 30%,rgba(255,238,174,.45),transparent 26%)}
.profile-studio-preview[data-banner-style="spotlight"] .profile-studio-preview-banner:after{background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.55),transparent 65%)}

/* Readable social counts and less wasted space above the profile statistics. */
.public-profile-page .profile-social-stat-copy strong{color:#182544!important;font-size:1.4rem;line-height:1.1}
.public-profile-page .profile-social-stat-copy>span{color:#4f5d77!important;font-size:.82rem;font-weight:750}
.public-profile-page .profile-info-module[data-profile-module="details"] .card-body{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem;padding-block:.85rem!important}
.public-profile-page .profile-info-module[data-profile-module="details"] .eyebrow{margin:0}
.public-profile-page .profile-info-module[data-profile-module="details"] .profile-social-tags{gap:.45rem}
.public-profile-page .profile-info-module[data-profile-module="details"] .profile-social-tags>span{padding:.38rem .68rem}
@media(max-width:575.98px){.public-profile-page .profile-info-module[data-profile-module="details"] .card-body{align-items:flex-start;flex-direction:column;gap:.45rem}.public-profile-page .profile-social-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the route auto-pause switch inside its control on every Bootstrap breakpoint. */
#routeSettings .route-switch{box-sizing:border-box;min-width:0;min-height:74px;gap:.7rem;padding:.8rem 1rem}
#routeSettings .route-switch>.form-check-input{float:none;margin:0!important;flex:0 0 1.05rem;width:1.05rem;height:1.05rem}
#routeSettings .route-switch>.form-check-label{min-width:0;overflow-wrap:anywhere}
#routeSettings .route-switch>.form-check-label strong{line-height:1.25}
#routeSettings .route-switch>.form-check-label small{line-height:1.35}

/* v3.3.1 responsive public-profile header and share actions */
.public-profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex:0 0 auto;margin-left:auto}.public-profile-actions .btn{width:auto;min-width:0;height:auto;white-space:nowrap}.public-profile-share{box-shadow:0 8px 18px rgba(83,99,221,.16)}
@media(max-width:767.98px){.public-profile-identity{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"avatar title" "actions actions";align-items:start;gap:.65rem .8rem;padding:0 1rem 1rem}.public-profile-avatar-wrap{grid-area:avatar;width:max-content;margin-top:-38px;padding:4px}.public-profile-avatar{width:72px;height:72px}.public-profile-avatar-fallback{font-size:1.75rem}.public-profile-title{grid-area:title;min-width:0;padding-top:.45rem}.public-profile-title h1{display:block;font-size:clamp(1.2rem,5vw,1.55rem);line-height:1.2;overflow-wrap:anywhere}.public-profile-title h1 .verified-badge{display:inline-flex;margin-top:.3rem}.public-profile-title>div{font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.public-profile-actions{grid-area:actions;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;margin:0;gap:.55rem}.public-profile-actions .btn{width:100%;min-height:44px;padding:.62rem .55rem;font-size:.85rem;white-space:normal}.public-profile-page{padding-left:.85rem!important;padding-right:.85rem!important}.public-profile-cover-art{height:112px}.public-profile-cover{border-radius:1.1rem}}
@media(max-width:380px){.public-profile-identity{grid-template-columns:64px minmax(0,1fr);gap:.55rem .65rem;padding-inline:.8rem}.public-profile-avatar-wrap{margin-top:-32px}.public-profile-avatar{width:62px;height:62px}.public-profile-actions .btn{font-size:.77rem}.public-profile-stat small{font-size:.63rem}}

/* v5.0 FitNova Community */
.community-page{max-width:1420px}.community-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.4rem,4vw,2.5rem);color:#fff;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg,#182650,#425fd0 62%,#774ad5);border:0;border-radius:24px;box-shadow:0 22px 55px rgba(48,66,152,.2)}.community-hero .eyebrow{color:#cbd4ff}.community-hero h1{font-size:clamp(1.7rem,4vw,2.65rem);font-weight:850;margin:.35rem 0}.community-hero p{margin:0;color:rgba(255,255,255,.78)}.community-post{overflow:hidden}.community-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:linear-gradient(135deg,#576cf3,#8a4fda);color:#fff;font-weight:800;text-decoration:none;overflow:hidden}.community-avatar img{width:100%;height:100%;object-fit:cover}.community-avatar.small-avatar{width:42px;height:42px;flex-basis:42px}.community-author{font-weight:750;color:var(--ink);text-decoration:none}.community-author:hover{text-decoration:underline;color:var(--brand)}.community-activity{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#f9faff,#fff)}.community-activity-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:#eef1ff;color:#4a61d2;font-size:1.35rem}.community-post-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}.community-post-actions form{margin:0}.community-comments{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.community-comment{padding:.25rem 0;font-size:.9rem;color:var(--muted)}.community-comment a{color:var(--ink);text-decoration:none}.community-suggestion{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.community-suggestion:last-child{border-bottom:0}.challenge-mini{display:block;text-decoration:none;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--line)}.challenge-mini:last-of-type{border-bottom:0}.challenge-mini strong,.challenge-mini span{display:block}.challenge-mini span{font-size:.8rem;color:var(--muted);margin-top:3px}.challenge-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;color:#3f51c4;background:#eef1ff;font-size:.78rem;font-weight:750}.challenge-target{font-size:.9rem;color:var(--muted)}.challenge-target strong{font-size:1.6rem;color:var(--ink)}.challenge-progress{height:9px;min-width:110px;border-radius:99px;background:#e9ecf5}.challenge-progress .progress-bar{border-radius:99px;background:linear-gradient(90deg,#5068e8,#8954d8)}.leaderboard-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef1ff;color:#4056c7;font-weight:800}.profile-social-counts{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.profile-social-counts strong{color:var(--ink)}.profile-public-bio{white-space:pre-line;line-height:1.75}.community-post-compact{padding:18px 0;border-bottom:1px solid var(--line)}.community-post-compact:last-child{border-bottom:0}.moderation-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--line)}.moderation-row:last-child{border-bottom:0}@media(max-width:767.98px){.community-hero{align-items:flex-start;flex-direction:column}.community-hero>div:last-child{width:100%}.community-hero>div:last-child .btn{flex:1}.community-post .card-body{padding:1rem!important}.community-activity{align-items:flex-start;padding:12px}.community-post-actions{gap:10px}.moderation-row{align-items:flex-start}}

/* Keep the community banner readable above the global premium card styling. */
body.fitplan-premium .community-page .community-hero{color:#fff!important;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg,#182650,#425fd0 62%,#774ad5)!important;border:0!important;box-shadow:0 22px 55px rgba(48,66,152,.2)!important}
body.fitplan-premium .community-page .community-hero .eyebrow{color:#e0e7ff!important}
body.fitplan-premium .community-page .community-hero h1{color:#fff!important}
body.fitplan-premium .community-page .community-hero p{color:rgba(255,255,255,.88)!important}
body.fitplan-premium .community-page .community-hero .btn-light{color:#26345c!important;background:#fff!important;border-color:#fff!important}
body.fitplan-premium .community-page .community-hero .btn-outline-light{color:#fff!important;background:rgba(18,27,58,.22)!important;border-color:rgba(255,255,255,.72)!important}
body.fitplan-premium .community-page .community-hero .btn-outline-light:hover{color:#26345c!important;background:#fff!important;border-color:#fff!important}

/* v5.0.1: make profile audience counts clear at a glance */
.profile-social-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.profile-social-counts{display:grid;grid-template-columns:repeat(2,minmax(150px,190px));gap:.8rem}.profile-social-stat{display:flex;align-items:center;gap:.85rem;min-height:76px;padding:.85rem 1rem;border:1px solid #e5e9f3;border-radius:18px;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:0 7px 22px rgba(30,45,90,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.profile-social-stat:hover{transform:translateY(-2px);border-color:#ccd5ff;box-shadow:0 12px 28px rgba(48,67,150,.1)}.profile-social-stat-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;color:#4b5fd4;background:#edf0ff;font-size:1.05rem}.profile-social-stat-icon.following{color:#6848c9;background:#f1edff}.profile-social-stat-copy{display:flex;flex-direction:column;line-height:1.15}.profile-social-stat-copy strong{font-size:1.35rem;font-weight:850;color:#182544;font-variant-numeric:tabular-nums}.profile-social-stat-copy>span{margin-top:.28rem;color:#6d7891;font-size:.77rem;font-weight:700;letter-spacing:.035em}.profile-social-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.profile-social-tags>span{display:inline-flex;align-items:center;gap:.4rem;padding:.52rem .78rem;border:1px solid #e6eaf2;border-radius:999px;background:#fff;color:#58647b;font-size:.8rem;font-weight:650}.profile-social-tags i{color:#5668d9}@media(max-width:575.98px){.profile-social-section{align-items:stretch;flex-direction:column}.profile-social-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.profile-social-stat{min-height:68px;padding:.7rem}.profile-social-stat-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px}.profile-social-stat-copy strong{font-size:1.2rem}.profile-social-stat-copy>span{font-size:.7rem}}

/* v5.0.2: give the desktop navigation room and group secondary destinations */
.premium-nav-inner{gap:1rem;padding:.72rem 1.15rem}.premium-nav-links{justify-content:flex-start;gap:.16rem}.premium-nav-links>a,.premium-nav-more-button{height:42px;padding:0 .62rem;border:0;border-radius:12px;display:flex;align-items:center;gap:.42rem;background:transparent;color:#aab4cb;text-decoration:none;font-size:.82rem;font-weight:680;white-space:nowrap;transition:background .18s ease,color .18s ease}.premium-nav-links>a:hover,.premium-nav-more-button:hover{color:#fff;background:rgba(255,255,255,.07)}.premium-nav-links>a.active,.premium-nav-more-button.active{color:#fff;background:linear-gradient(135deg,rgba(79,104,255,.25),rgba(124,77,255,.2));box-shadow:inset 0 0 0 1px rgba(125,142,255,.22)}.premium-nav-more{position:relative}.premium-nav-more-button{cursor:pointer}.premium-nav-more-button .premium-nav-chevron{font-size:.62rem;opacity:.7;margin-left:.05rem}.premium-nav-dropdown{min-width:220px;padding:.5rem;border:1px solid rgba(219,225,240,.9);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 18px 48px rgba(10,19,48,.2);margin-top:.55rem!important}.premium-nav-dropdown .dropdown-item{display:flex;align-items:center;gap:.72rem;padding:.65rem .75rem;border-radius:10px;color:#394661;font-size:.88rem;font-weight:650}.premium-nav-dropdown .dropdown-item i{width:18px;color:#596ce1;text-align:center}.premium-nav-dropdown .dropdown-item:hover,.premium-nav-dropdown .dropdown-item.active{color:#354bbb;background:#eef1ff}.premium-nav-dropdown .dropdown-divider{margin:.4rem .55rem}.premium-nav-actions{gap:.38rem}.premium-user-chip{min-width:136px;padding-right:.58rem}.premium-user-chip>i{margin-left:.1rem}@media(min-width:1200px) and (max-width:1399.98px){.premium-brand-copy small{display:none}.premium-nav-inner{gap:.7rem;padding-inline:.8rem}.premium-nav-links>a,.premium-nav-more-button{padding-inline:.48rem;font-size:.78rem}.premium-nav-links>a span,.premium-nav-more-button>span{letter-spacing:-.015em}.premium-user-chip{min-width:122px}.premium-nav-actions{gap:.28rem}}@media(max-width:1199.98px){body.fitplan-premium{padding-bottom:92px}.premium-mobile-appbar{display:flex!important}.premium-mobile-bottom{display:grid!important}.page-wrap{padding-left:1rem!important;padding-right:1rem!important}}

@media(max-width:575.98px){.premium-mobile-appbar{padding-left:.75rem;padding-right:.75rem}.premium-mobile-appbar>.d-flex{gap:.4rem!important}.premium-mobile-brand{gap:.5rem}.premium-mobile-brand .premium-brand-mark{width:36px;height:36px;flex-basis:36px}.premium-mobile-brand small{display:none}.premium-mobile-action,.premium-mobile-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:11px}}

/* Public FitNova pages, privacy information and consent controls */
.fn-info-main{max-width:1120px;margin:0 auto;padding:clamp(2rem,6vw,5rem) 1.25rem 4.5rem}.fn-multi-header{max-width:1120px}.fn-info-hero{max-width:850px;margin:0 auto 2.5rem;padding:clamp(1.5rem,5vw,3.2rem);border:1px solid #e3e8f1;border-radius:28px;background:radial-gradient(circle at 85% 15%,#d8faf0 0,transparent 34%),linear-gradient(140deg,#fff,#f7f9ff);box-shadow:0 22px 60px rgba(28,43,85,.07)}.fn-info-hero h1{margin:.85rem 0 .8rem;color:#17213b;font-size:clamp(2.1rem,5vw,3.8rem);font-weight:880;letter-spacing:-.06em;line-height:1.05}.fn-info-hero>p{max-width:730px;margin:0;color:#46536c;font-size:1.08rem;line-height:1.75}.fn-info-hero-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.3rem}.fn-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fn-info-card{position:relative;min-height:200px;padding:1.45rem 1.5rem;border:1px solid #e2e7f0;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(25,38,75,.045)}.fn-info-card-index{position:absolute;right:1.2rem;top:1rem;color:#9aa4b7;font-size:.72rem;font-weight:850;letter-spacing:.1em}.fn-info-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:.9rem;border-radius:13px;background:#eef2ff;color:#4359d0;font-size:1.1rem}.fn-info-card h2{margin:0 1.5rem .55rem 0;color:#17213b;font-size:1.15rem;font-weight:820;letter-spacing:-.025em}.fn-info-card p{margin:0;color:#43516a;font-size:.94rem;line-height:1.72;overflow-wrap:anywhere}.fn-info-card-links{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.95rem}.fn-info-card-links a{color:#354ec4;text-decoration:none;font-weight:750;font-size:.85rem}.fn-info-card-links a:hover{text-decoration:underline}.fn-info-related{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #dfe4ed}.fn-info-related h2{margin:0;color:#17213b;font-size:1.05rem;font-weight:800}.fn-info-related>div{display:flex;gap:.55rem;flex-wrap:wrap}.fn-info-related .fn-button{font-size:.82rem}.fn-cookie-page-callout{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 auto 1rem;max-width:850px;padding:1rem 1.15rem;border:1px solid #cbd7ff;border-radius:16px;background:#f3f6ff;color:#1d2b4c}.fn-cookie-page-callout p{margin:.2rem 0 0;color:#46536c}.fn-footer-links{display:flex;justify-content:center;align-items:center;gap:.55rem 1rem;flex-wrap:wrap;padding:0 1rem 1rem}.fn-footer-links a,.fn-footer-links button{padding:.35rem .2rem;border:0;background:transparent;color:#43516a;text-decoration:none;font-size:.8rem;font-weight:700}.fn-footer-links a:hover,.fn-footer-links button:hover{color:#354ec4;text-decoration:underline}.fn-footer-links button{cursor:pointer}.fitplan-footer .exercise-media-credits{color:#4e5a72!important}.fitplan-footer .exercise-media-credits a{color:#354ec4}

/* One consistent, clearly clickable cookie settings button across FitNova footers. */
.fn-footer-links .fn-cookie-settings-button,.fn-index-footer .fn-cookie-settings-button{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;padding:.58rem .88rem;border:1px solid #d6ddff;border-radius:999px;background:linear-gradient(180deg,#fff,#f3f5ff);color:#4054bd;text-decoration:none;font-size:.8rem;font-weight:780;line-height:1.2;box-shadow:0 3px 10px rgba(52,72,160,.08);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.fn-footer-links .fn-cookie-settings-button i,.fn-index-footer .fn-cookie-settings-button i{font-size:.9rem}
.fn-footer-links .fn-cookie-settings-button:hover,.fn-index-footer .fn-cookie-settings-button:hover{border-color:#aebcff;background:linear-gradient(135deg,#eef1ff,#e8eaff);color:#293fae;text-decoration:none;box-shadow:0 7px 16px rgba(52,72,160,.14);transform:translateY(-1px)}
.fn-footer-links .fn-cookie-settings-button:focus-visible,.fn-index-footer .fn-cookie-settings-button:focus-visible{outline:3px solid rgba(77,97,223,.35);outline-offset:3px}

/* Join the login password input and its reveal button into one control. */
body.fitplan-premium .fn-password-field .form-control{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
body.fitplan-premium .fn-password-field .fn-password-toggle{min-width:56px;border-top-left-radius:0!important;border-bottom-left-radius:0!important}
body.fitplan-premium .fn-password-field .fn-password-toggle:focus-visible{position:relative;z-index:3;outline:3px solid rgba(77,97,223,.35);outline-offset:2px}

/* Give the account list the full page width and prevent controls from collapsing. */
.admin-user-create{overflow:hidden}
.admin-user-create form{border-top:1px solid #e7eaf2;padding-top:1rem}
.admin-users-card{overflow:hidden}
.admin-users-heading{border-bottom:1px solid #e7eaf2}
.admin-users-scroll-hint{display:none}
.admin-users-table-wrap{max-height:min(72vh,900px)}
.admin-users-table{width:100%;min-width:1215px;table-layout:fixed}
.admin-users-table .user-col{width:245px}.admin-users-table .verified-col{width:170px}.admin-users-table .role-col{width:190px}.admin-users-table .twofa-col{width:105px}.admin-users-table .plans-col{width:100px}.admin-users-table .status-col{width:175px}.admin-users-table .actions-col{width:230px}
.admin-users-table thead th{position:sticky;top:0;z-index:2;background:#f8f9fc;color:#4c5870;font-size:.76rem;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.admin-users-table tbody td{padding:1rem .9rem;vertical-align:middle}
.admin-users-table .badge{white-space:nowrap;font-size:.75rem}
.admin-user-identity{overflow-wrap:anywhere}.admin-user-identity>strong{display:block;color:#192542;font-size:.98rem}.admin-user-email{overflow-wrap:anywhere;line-height:1.45}
.admin-user-cell-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.admin-user-cell-stack form{margin:0}
.admin-users-plan-count{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f0f3ff;color:#3046ae;font-weight:800}
.admin-user-actions{vertical-align:top!important}.admin-password-reset{display:flex;align-items:center;gap:.5rem;min-width:270px}.admin-password-reset>.fn-password-field{min-width:0;flex:1}.admin-password-reset>.btn{flex:0 0 auto;white-space:nowrap}
.admin-users-table .input-group-sm>.form-select{min-width:0}
@media(max-width:1199.98px){.admin-users-scroll-hint{display:block}.admin-users-table-wrap{max-height:70vh}.admin-users-table tbody td{padding:.85rem .75rem}}
@media(max-width:575.98px){.admin-user-create .btn{width:100%}.admin-users-heading{align-items:flex-start!important}.admin-users-table{min-width:1160px}.admin-users-table .user-col{width:225px}.admin-users-table .actions-col{width:245px}.admin-password-reset{min-width:280px}}
.fn-cookie-notice[hidden],.fn-cookie-overlay[hidden]{display:none!important}.fn-cookie-notice{position:fixed;z-index:12000;left:1rem;right:1rem;bottom:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:1080px;margin:auto;padding:1rem 1.1rem;border:1px solid #d5dcef;border-radius:18px;background:#fff;color:#17213b;box-shadow:0 20px 65px rgba(13,25,57,.25)}.fn-cookie-notice-copy{max-width:600px}.fn-cookie-notice-copy strong{display:block;color:#17213b;font-size:1rem;font-weight:850}.fn-cookie-notice-copy p{margin:.25rem 0;color:#43516a;font-size:.84rem;line-height:1.55}.fn-cookie-notice-copy a{color:#354ec4;font-size:.82rem;font-weight:750}.fn-cookie-notice-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.fn-cookie-primary,.fn-cookie-secondary{min-height:42px;padding:.62rem .82rem;border:1px solid #344ecb;border-radius:11px;font-size:.82rem;font-weight:780;cursor:pointer}.fn-cookie-primary{color:#fff;background:#364fca}.fn-cookie-primary:hover{background:#263fae}.fn-cookie-secondary{color:#263653;background:#fff;border-color:#bac5d8}.fn-cookie-secondary:hover{background:#f0f3fa}.fn-cookie-overlay{position:fixed;z-index:12010;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(13,20,40,.65);backdrop-filter:blur(5px)}.fn-cookie-dialog{position:relative;width:min(100%,660px);max-height:min(92vh,850px);overflow:auto;padding:clamp(1.2rem,4vw,2rem);border:1px solid #e1e6ef;border-radius:24px;background:#fff;color:#17213b;box-shadow:0 28px 100px rgba(0,0,0,.3)}.fn-cookie-dialog:focus{outline:0}.fn-cookie-dialog h2{margin:.55rem 2rem .45rem 0;color:#17213b;font-size:1.65rem;font-weight:850;letter-spacing:-.04em}.fn-cookie-dialog>p{color:#46536c;font-size:.9rem;line-height:1.65}.fn-cookie-close{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:38px;height:38px;border:1px solid #dfe4ed;border-radius:11px;background:#fff;color:#35415a}.fn-cookie-choice{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid #e7eaf1}.fn-cookie-choice>div{min-width:0}.fn-cookie-choice strong{display:block;color:#1b2945;font-size:.94rem;font-weight:800}.fn-cookie-choice p{max-width:520px;margin:.25rem 0 0;color:#4c5a73;font-size:.82rem;line-height:1.55}.fn-cookie-choice-locked{background:linear-gradient(90deg,#fff,#fafbfe)}.fn-cookie-off{padding:.3rem .55rem;border-radius:99px;background:#eef1f6;color:#4d5870;font-size:.75rem;font-weight:800}.fn-switch{position:relative;display:inline-flex;flex:0 0 48px;width:48px;height:28px}.fn-switch input{position:absolute;width:1px;height:1px;opacity:0}.fn-switch-slider{position:absolute;inset:0;border:1px solid #aeb8c9;border-radius:99px;background:#e5e9f0;cursor:pointer;transition:.18s}.fn-switch-slider:before{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #1b294533;content:"";transition:.18s}.fn-switch input:checked+.fn-switch-slider{border-color:#3d54c9;background:#3d54c9}.fn-switch input:checked+.fn-switch-slider:before{transform:translateX(20px)}.fn-switch input:focus-visible+.fn-switch-slider{outline:3px solid #a8b6ff;outline-offset:2px}.fn-switch input:disabled+.fn-switch-slider{cursor:not-allowed;opacity:.75}.fn-cookie-storage-note{margin:.9rem 0;padding:.75rem .9rem;border-left:3px solid #4a60d0;background:#f2f4ff;color:#3f4d67!important;font-size:.8rem!important}.fn-cookie-dialog-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e9f0}.fn-cookie-open{overflow:hidden}
@media(max-width:780px){.fn-info-grid{grid-template-columns:1fr}.fn-info-card{min-height:0}.fn-cookie-notice{left:.65rem;right:.65rem;bottom:.65rem;display:block;padding:.95rem}.fn-cookie-notice-actions{justify-content:stretch;margin-top:.65rem}.fn-cookie-notice-actions button{flex:1}.fn-cookie-dialog-actions button{flex:1}.fn-multi-header{gap:.45rem}.fn-multi-header .fn-index-actions{gap:.35rem}.fn-multi-header .fn-index-actions .fn-button{padding:.55rem .65rem;font-size:.75rem}}
@media(max-width:575.98px){.fn-info-main{padding:1.7rem .9rem 3rem}.fn-info-hero{margin-bottom:1.3rem;border-radius:21px}.fn-info-hero>p{font-size:.96rem}.fn-info-card{padding:1.15rem;border-radius:17px}.fn-info-card p{font-size:.9rem}.fn-info-related{align-items:flex-start;flex-direction:column}.fn-cookie-overlay{padding:.5rem}.fn-cookie-dialog{max-height:95vh;border-radius:19px}.fn-cookie-notice-actions{display:grid;grid-template-columns:1fr 1fr}.fn-cookie-notice-actions [data-cookie-accept]{grid-column:1/-1}.fn-cookie-choice{gap:.65rem}.fn-cookie-choice p{font-size:.78rem}.fn-footer-links{gap:.25rem .8rem}.fn-multi-header .fn-index-actions .fn-button-quiet{display:none}}

/* v5.0.3: readable, searchable follower and following directories */
.profile-social-stat{color:#182544;text-decoration:none}.profile-social-stat:focus-visible{outline:3px solid #465eea;outline-offset:3px}.profile-social-stat-copy>span{color:#4f5d77;font-size:.82rem;font-weight:750;letter-spacing:0}.community-follow-page{max-width:1000px}.community-follow-hero{padding:clamp(1.35rem,4vw,2.25rem);background:linear-gradient(135deg,#fff,#f6f8ff)}.community-follow-hero h1{margin:.35rem 0;font-size:clamp(1.55rem,4vw,2.2rem);font-weight:850;color:#182544}.community-follow-hero p{margin:0 0 1.1rem;color:#46536c;font-size:1rem}.community-follow-tabs{display:flex;gap:.5rem;border-bottom:1px solid #dce2ef}.community-follow-tabs a{padding:.7rem .95rem;margin-bottom:-1px;border-bottom:3px solid transparent;color:#3f4e69;text-decoration:none;font-weight:750}.community-follow-tabs a:hover,.community-follow-tabs a:focus-visible{color:#3c51cd;background:#f0f3ff}.community-follow-tabs a.active{color:#384ec6;border-bottom-color:#4d61df}.community-follow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid #e5e9f1}.community-follow-toolbar h2{margin:0;color:#182544;font-size:1.08rem;font-weight:800}.community-follow-toolbar p{margin:.28rem 0 0;color:#4f5d77;font-size:.88rem}.community-follow-search{width:min(100%,440px)}.community-follow-search .input-group-text{background:#fff;color:#4c5c79}.community-follow-search .form-control{color:#182544}.community-follow-search .form-control::placeholder{color:#64718a;opacity:1}.community-follow-list{display:grid}.community-follow-row{display:flex;align-items:center;gap:.85rem;min-height:78px;padding:.8rem .15rem;border-bottom:1px solid #e7eaf1}.community-follow-row:last-child{border-bottom:0}.community-follow-person{display:flex;flex:1;min-width:0;flex-direction:column;gap:.22rem}.community-follow-name{width:fit-content;max-width:100%;overflow:hidden;color:#182544;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.community-follow-name:hover{text-decoration:underline;color:#394fc7}.community-follow-person>span{overflow:hidden;color:#4f5d77;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.community-follow-row form{margin:0}.community-follow-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid #e7eaf1}.community-follow-pagination span{color:#3d4a63;font-size:.9rem;font-weight:700}@media(max-width:575.98px){.community-follow-hero{padding:1.2rem}.community-follow-row{gap:.65rem;min-height:72px}.community-follow-row .community-avatar{width:42px;height:42px;flex-basis:42px}.community-follow-row .btn{white-space:nowrap}.community-follow-search{width:100%}.community-follow-toolbar{align-items:stretch}}


/* v6.2 Route 2.0: clearer planning flow and a more legible live map */
body.fitplan-premium .route-page{--route-accent:#0a9e91;--route-violet:#5268ff}
body.fitplan-premium .route-page .walk-hero{position:relative;isolation:isolate;min-height:176px;background:radial-gradient(ellipse at 78% 15%,rgba(64,218,200,.26),transparent 32%),radial-gradient(ellipse at 92% 100%,rgba(121,102,255,.3),transparent 38%),linear-gradient(118deg,#101a34 0%,#192d61 55%,#3e3587 100%)!important}
body.fitplan-premium .route-page .walk-hero::after{content:"";position:absolute;z-index:-1;right:-40px;bottom:-130px;width:420px;height:260px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 65px rgba(255,255,255,.02);transform:rotate(-16deg)}
body.fitplan-premium .route-page .walk-hero>div{position:relative}
body.fitplan-premium .route-page .activity-chooser,body.fitplan-premium .route-page .route-planner-card,body.fitplan-premium .route-page #routeSettings{border:1px solid #e3e8f1;border-radius:23px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 13px 34px rgba(31,45,90,.055)}
body.fitplan-premium .route-page .activity-choice-card{background:#f8f9fc;border-color:#e7eaf1;border-radius:17px;min-height:86px}
body.fitplan-premium .route-page .activity-choice input:checked+.activity-choice-card{border-color:#899bff;background:linear-gradient(115deg,#f1f4ff,#f3fbfa);box-shadow:0 9px 23px rgba(65,91,190,.09)}
body.fitplan-premium .route-page .route-planner-card .card-body{padding:1.4rem 1.5rem!important}
body.fitplan-premium .route-page .route-planner-card .eyebrow{margin-bottom:.3rem}
body.fitplan-premium .route-page .route-distance-chip{padding:.55rem .9rem;border-radius:999px;transition:background .16s,border-color .16s,transform .16s}
body.fitplan-premium .route-page .route-distance-chip:hover{transform:translateY(-1px);border-color:#aab7ff}
body.fitplan-premium .route-page .route-distance-chip.active{color:#fff;background:linear-gradient(120deg,#5268ff,#7353df);border-color:transparent;box-shadow:0 7px 16px rgba(82,104,255,.2)}
body.fitplan-premium .route-page .route-planner-status{padding:.8rem 1rem;border-radius:14px;line-height:1.45}
body.fitplan-premium .route-page .route-stops-panel{padding:1rem;border-radius:16px;border:1px solid #e5e9f2;background:#f9faff}
body.fitplan-premium .route-page .route-stops-panel[hidden]{display:none!important}
.route-stops-list{display:flex;flex-wrap:wrap;gap:.5rem}
.route-stop-item{display:flex;align-items:center;gap:.55rem;min-width:190px;padding:.48rem .55rem .48rem .48rem;border:1px solid #e1e6f0;border-radius:14px;background:#fff}
.route-stop-number{display:grid;place-items:center;width:1.85rem;height:1.85rem;flex:0 0 auto;border-radius:10px;background:#edf2ff;color:#435dcc;font-weight:850;font-size:.78rem}
.route-stop-item.destination .route-stop-number{background:#e8f8f2;color:#078268}
.route-stop-copy{display:flex;flex-direction:column;min-width:0;flex:1}.route-stop-copy strong{font-size:.78rem}.route-stop-copy small{font-size:.66rem;color:#8590a4}
.route-stop-remove{width:1.8rem;height:1.8rem;display:grid;place-items:center;border:0;border-radius:8px;background:#f5f6f9;color:#7a8495}
.route-stop-remove:hover{background:#fff0f0;color:#c23d4f}
body.fitplan-premium .route-page .walk-map-shell{border:1px solid rgba(205,214,232,.9);border-radius:26px;background:#dfe8ed;box-shadow:0 22px 56px rgba(22,35,72,.14);isolation:isolate}
body.fitplan-premium .route-page .walk-map{height:min(68vh,690px);min-height:470px}
body.fitplan-premium .route-page .walk-map-overlay{left:16px;right:16px;top:16px;align-items:flex-start}
.map-overlay-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
body.fitplan-premium .route-page .gps-pill{padding:.58rem .82rem;border:1px solid rgba(255,255,255,.78);background:rgba(255,255,255,.94);box-shadow:0 7px 23px rgba(21,31,62,.17);font-size:.76rem}
.map-live-indicator{display:inline-flex;align-items:center;gap:.42rem;padding:.35rem .62rem;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(20,30,57,.84);backdrop-filter:blur(12px);color:#fff;font-size:.65rem;font-weight:750;letter-spacing:.025em}
.map-live-indicator i{width:7px;height:7px;border-radius:50%;background:#47dfaa;box-shadow:0 0 0 4px rgba(71,223,170,.15)}
body.fitplan-premium .route-page .map-action{width:auto;min-width:44px;height:44px;padding:0 .72rem;display:flex;align-items:center;justify-content:center;gap:.42rem;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 7px 23px rgba(21,31,62,.16);font-size:.86rem;font-weight:750;transition:transform .16s,background .16s,color .16s}
body.fitplan-premium .route-page .map-action:hover{transform:translateY(-2px)}
body.fitplan-premium .route-page .map-action span{font-size:.7rem}
body.fitplan-premium .route-page .map-action[aria-pressed="true"]{background:#182342;color:#fff}
.map-legend{position:absolute;z-index:500;bottom:15px;left:15px;display:flex;align-items:center;gap:.8rem;padding:.55rem .72rem;border:1px solid rgba(255,255,255,.75);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(20,30,60,.15);backdrop-filter:blur(12px);font-size:.66rem;font-weight:750;color:#465168}
.map-legend>span{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.legend-dot{width:9px;height:9px;border-radius:50%;background:#078268;border:2px solid #fff;box-shadow:0 0 0 1px #078268}.legend-line{width:18px;height:0;border-top:3px dashed #0a9e91}.legend-line-actual{border-color:#5268ff;border-top-style:solid}
.fitnova-map-pin{background:transparent!important;border:0!important}.fitnova-map-pin span{display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:10px 10px 10px 2px;transform:rotate(-45deg);background:#078268;color:#fff;box-shadow:0 5px 14px rgba(16,24,40,.3);font:850 11px/1 system-ui}.fitnova-map-pin.finish span{background:#dc4e65}.fitnova-map-pin.via span{background:#525fd2}
.route-page .leaflet-control-zoom{margin:0 14px 54px 0!important;padding:.28rem;border:1px solid rgba(255,255,255,.8)!important;border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 7px 20px rgba(20,30,60,.15);backdrop-filter:blur(10px)}
.route-page .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;margin:2px!important;border-radius:10px!important;color:#293650!important}
.route-page .walk-map.map-dark .leaflet-tile-pane{filter:invert(.88) hue-rotate(180deg) saturate(.68) brightness(.86) contrast(1.08)}
body.fitplan-premium .route-page .walk-live-card{border-radius:23px;border-color:#e3e8f1;box-shadow:0 14px 34px rgba(31,45,90,.06)}
body.fitplan-premium .route-page .walk-stat{border-color:#e7eaf0;border-radius:16px;background:linear-gradient(160deg,#fff,#fafbfe);padding:13px}
body.fitplan-premium .route-page .walk-stat strong{font-size:clamp(1.05rem,1.4vw,1.38rem)}
body.fitplan-premium .route-page .walk-split{padding:.8rem .75rem;border:1px solid #e9ecf2;border-radius:12px;margin-top:.45rem;background:#fff}
body.fitplan-premium .route-page .walk-controls{gap:.75rem}
body.fitplan-premium .route-page .walk-start-btn{min-height:54px;border-radius:17px;min-width:205px;background:linear-gradient(120deg,#5268ff,#7651e7);box-shadow:0 11px 25px rgba(82,104,255,.23)}
body.fitplan-premium .route-page .walk-control-btn{width:54px;height:54px;border-radius:17px;background:#fff}
body.fitplan-premium .route-page #routeSettings{padding:.1rem}
body.fitplan-premium .route-page .permission-note{border-radius:15px;background:linear-gradient(110deg,#f2f5ff,#f0fbf9);border-color:#e0e8f4;color:#4e5a70}
@media(max-width:991.98px){body.fitplan-premium .route-page .walk-map{height:58vh;min-height:390px}.map-legend{bottom:12px;left:12px}}
@media(max-width:575.98px){body.fitplan-premium .route-page .walk-map{height:53vh;min-height:340px}.map-legend{gap:.5rem;padding:.48rem .58rem;font-size:.59rem}.legend-line{width:14px}.route-stop-item{min-width:100%}.map-overlay-brand{gap:.35rem}body.fitplan-premium .route-page .map-action{min-width:40px;height:40px;padding:0 .58rem}.map-live-indicator{font-size:.6rem}body.fitplan-premium .route-page .route-planner-card .card-body{padding:1rem!important}}

.route-share-privacy{max-width:620px;padding:.8rem 1rem;border:1px solid #dfe6f1;border-radius:15px;background:linear-gradient(100deg,#f7f9ff,#f2fbf8);color:#263653}
.route-share-privacy small{display:block;padding-left:2.1rem;color:#66738a;font-size:.76rem;line-height:1.45}
.route-share-privacy .form-check-input{cursor:pointer}
.route-compare-card{padding:1.15rem;border:1px solid #dce5f4;border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(71,216,203,.1),transparent 36%),linear-gradient(140deg,#fff,#f7f9ff);box-shadow:0 12px 28px rgba(31,45,90,.055)}
.route-compare-head{display:flex;align-items:center;gap:.7rem}
.route-compare-icon{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:14px;background:#edf1ff;color:#5268d9;font-size:1.1rem}
.route-compare-head .eyebrow{font-size:.62rem}
.route-compare-head h2{margin:.12rem 0 0;color:#17233e;font-size:1rem;font-weight:850}
.route-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.route-compare-grid>div{padding:.7rem;border:1px solid #e7ebf2;border-radius:12px;background:rgba(255,255,255,.86);min-width:0}
.route-compare-grid span{display:block;color:#68758d;font-size:.67rem;font-weight:700}
.route-compare-grid strong{display:block;margin-top:.18rem;color:#223354;font-size:.87rem;white-space:nowrap}
.fitnova-map-pin span{transform:none;border-radius:10px 10px 10px 2px}
@media(max-width:575.98px){.route-compare-grid{gap:.35rem}.route-compare-grid>div{padding:.58rem}.route-compare-grid span{font-size:.61rem}.route-compare-grid strong{font-size:.75rem}}


/* v6.2.1 turn-by-turn follow camera */
.route-page #walkMap.navigation-active .leaflet-pane{transition:rotate .24s linear}
.fitnova-navigation-marker{background:transparent!important;border:0!important;pointer-events:none!important}
.navigation-arrow{display:grid;place-items:center;width:48px;height:48px;border:3px solid rgba(255,255,255,.98);border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 5px 18px rgba(18,36,71,.28);backdrop-filter:blur(4px);transform:rotate(var(--navigation-heading,0deg));transition:transform .24s linear}
.navigation-arrow i{display:block;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:25px solid #1688ed;filter:drop-shadow(0 2px 2px rgba(16,42,82,.3));transform:translateY(-1px)}
.route-page #walkMap.navigation-active .map-live-indicator i{animation:navigationPulse 1.6s ease-in-out infinite}
@keyframes navigationPulse{50%{box-shadow:0 0 0 7px rgba(71,223,170,0)}}

/* FitNova Next workspace */
.fn-next-page{max-width:1320px}.fn-next-back{display:inline-flex;align-items:center;gap:.45rem;color:#586ce0;text-decoration:none;font-weight:700;font-size:.88rem;margin-bottom:.9rem}.fn-next-back:hover{color:#3548b7}.fn-next-heading{margin:1rem 0 1.6rem}.fn-next-heading h1{font-size:clamp(2rem,4vw,3rem);font-weight:850;letter-spacing:-.045em;margin:.35rem 0}.fn-next-heading p{max-width:760px;color:var(--muted);font-size:1.02rem;margin:0}.fn-next-kicker{display:inline-flex;align-items:center;gap:.4rem;color:#5869dc;font-size:.7rem;letter-spacing:.14em;font-weight:850;text-transform:uppercase}.fn-next-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:310px;border-radius:28px;padding:clamp(1.5rem,5vw,4rem);color:#fff;background:radial-gradient(circle at 78% 5%,rgba(57,222,197,.38),transparent 30%),linear-gradient(115deg,#141b39 0%,#283d88 55%,#6245cc 100%);box-shadow:0 25px 70px rgba(41,52,124,.22)}.fn-next-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:14%;top:22%;box-shadow:0 0 0 40px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}.fn-next-hero>div:first-child{position:relative;z-index:1;max-width:700px}.fn-next-hero .fn-next-kicker{color:#bcefe9}.fn-next-hero h1{font-size:clamp(2.4rem,5vw,4.8rem);font-weight:900;letter-spacing:-.06em;line-height:.98;margin:1rem 0}.fn-next-hero h1 span{color:#8ee5d2}.fn-next-hero p{max-width:600px;color:rgba(255,255,255,.78);font-size:1.07rem;margin-bottom:1.3rem}.fn-next-hero-mark{position:relative;z-index:1;display:grid;place-items:center;width:200px;height:200px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);transform:rotate(-8deg)}.fn-next-hero-mark i{position:absolute;font-size:6.5rem;color:#8ee5d2;opacity:.82}.fn-next-hero-mark span{position:relative;text-align:center;font-size:.78rem;line-height:1.8;letter-spacing:.32em;font-weight:900}.fn-next-stat{height:100%;min-height:128px;padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(30,46,92,.045)}.fn-next-stat>span{display:block;color:var(--muted);font-size:.78rem;font-weight:700}.fn-next-stat>strong{display:block;margin:.28rem 0;font-size:1.75rem;line-height:1.15;font-weight:850;color:var(--ink)}.fn-next-stat>strong small{font-size:.95rem;color:var(--muted);font-weight:700}.fn-next-stat>small{display:block;color:var(--muted);font-size:.74rem}.fn-next-tile{display:flex;align-items:flex-start;gap:1rem;min-height:164px;height:100%;padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 10px 30px rgba(30,46,92,.04);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.fn-next-tile:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(30,46,92,.1);border-color:#c4ccff;color:var(--ink)}.fn-next-tile-icon{flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;font-size:1.2rem}.fn-next-tile-icon.purple{color:#7048cf;background:#f0ebff}.fn-next-tile-icon.blue{color:#3d68d8;background:#eaf0ff}.fn-next-tile-icon.orange{color:#ce761e;background:#fff1df}.fn-next-tile-icon.green{color:#159270;background:#e2f7ee}.fn-next-tile-icon.pink{color:#bf4c87;background:#fff0f7}.fn-next-tile-icon.slate{color:#465776;background:#eef1f8}.fn-next-tile>div{flex:1}.fn-next-tile strong{display:block;font-size:1.03rem;margin:.12rem 0 .4rem}.fn-next-tile p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.fn-next-tile>i{margin-left:auto;color:#6574d9}.fn-next-note{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;border:1px solid #dde3f0;border-radius:16px;background:#f8faff;color:#5a6680;font-size:.84rem}.fn-next-note>i{color:#5e6cdc;font-size:1.05rem}.fn-next-note span{flex:1}.fn-next-note a{white-space:nowrap;text-decoration:none;font-weight:750}.fn-next-side-card{padding:1.35rem;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 12px 38px rgba(42,55,92,.05)}.fn-next-side-card h2{font-size:1.18rem;font-weight:820;letter-spacing:-.02em;margin:.35rem 0 .7rem}.fn-next-empty{padding:1.35rem;border:1px dashed #d4dcec;border-radius:15px;color:var(--muted);background:#f9faff;font-size:.9rem}.fn-next-plan-link{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:13px;background:#fff;text-decoration:none;color:var(--ink)}.fn-next-plan-link>span{min-width:0}.fn-next-plan-link strong{display:block;overflow-wrap:anywhere}.fn-next-plan-link small{display:block;color:var(--muted);font-size:.76rem;margin-top:.15rem}.fn-next-plan-link>i{color:#6373de}.fn-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.fn-choice-grid label{position:relative;cursor:pointer}.fn-choice-grid input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.fn-choice-grid span{display:grid;place-items:center;min-height:48px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:12px;background:#fafbfe;color:#59667e;text-align:center;font-size:.8rem;font-weight:700;transition:.15s}.fn-choice-grid input:checked+span{border-color:#7382f0;background:#eef1ff;color:#4055c2;box-shadow:inset 0 0 0 1px #7382f0}.fn-choice-grid input:focus-visible+span{outline:3px solid rgba(79,104,255,.28);outline-offset:2px}.fn-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-week-chart{min-height:285px;display:grid;grid-template-columns:repeat(8,minmax(36px,1fr));gap:.65rem;align-items:end;padding:1rem .25rem .1rem;border-bottom:1px solid var(--line)}.fn-week-column{height:250px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.3rem;text-align:center}.fn-week-column>strong{font-size:.78rem;color:var(--ink);white-space:nowrap}.fn-week-column>strong small{font-size:.63rem;color:var(--muted)}.fn-week-bar{width:min(100%,48px);max-height:150px;min-height:6px;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#31c7a3,#5062e7);box-shadow:0 4px 12px rgba(75,99,221,.18);transition:height .3s}.fn-week-column>span{font-size:.72rem;font-weight:800;white-space:nowrap}.fn-week-column>small{font-size:.63rem;color:var(--muted);line-height:1.2}.fn-progress-track{height:8px;overflow:hidden;border-radius:99px;background:#ebeff8;margin-top:.7rem}.fn-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9d57,#ed637e)}.fn-progress-track.green i{background:linear-gradient(90deg,#16bd91,#51ca7f)}.fn-progress-track.blue i{background:linear-gradient(90deg,#38a9ed,#5964e9)}.fn-date-picker{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:16px;background:#fff}.fn-date-picker label{font-weight:750;white-space:nowrap}.fn-date-picker .form-control{max-width:210px}.fn-nutrition-tabs{gap:.4rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.fn-nutrition-tabs .nav-link{border-radius:999px;font-weight:750}.fn-entry-count{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border-radius:999px;background:#eef1ff;color:#485bd1;font-size:.77rem;font-weight:800;white-space:nowrap}.fn-nutrition-entry{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:#fff}.fn-entry-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#d8832c;background:#fff2df}.fn-entry-icon.water{color:#3188d3;background:#e8f5ff}.fn-nutrition-entry strong,.fn-nutrition-entry small{display:block}.fn-nutrition-entry small{color:var(--muted);font-size:.76rem;margin-top:.12rem}.fn-team-card{display:flex;align-items:center;gap:.8rem;padding:.85rem;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);text-decoration:none}.fn-team-card:hover{border-color:#bdc8ff;color:var(--ink)}.fn-team-mark{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#edf0ff;color:#5567d8;font-size:1.2rem}.fn-team-card strong,.fn-team-card small{display:block}.fn-team-card small{color:var(--muted);font-size:.76rem;margin-top:.1rem}.fn-team-card>i{color:#6978d7}.fn-team-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.4rem,4vw,2.6rem);border-radius:24px;color:white;background:linear-gradient(120deg,#17213f,#344d9d 60%,#6549cc);box-shadow:0 22px 55px rgba(35,50,111,.18)}.fn-team-hero .fn-next-kicker{color:#b8c6ff}.fn-team-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:880;letter-spacing:-.04em;margin:.55rem 0}.fn-team-hero p{max-width:640px;color:rgba(255,255,255,.76);margin-bottom:.8rem}.fn-team-goal{display:inline-flex;align-items:center;gap:.45rem;font-weight:750;color:#d8fbf1}.fn-team-code{flex:0 0 230px;padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:rgba(255,255,255,.08);text-align:center}.fn-team-code span,.fn-team-code small{display:block;color:rgba(255,255,255,.7);font-size:.69rem;letter-spacing:.08em}.fn-team-code strong{display:block;font-size:1.5rem;letter-spacing:.14em;margin:.3rem 0}.fn-team-code small{letter-spacing:0}.fn-team-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.fn-team-avatar-fallback{display:grid;place-items:center;background:#edf0ff;color:#4d5fcd;font-weight:800}.fn-team-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.fn-team-table td{font-size:.88rem}.fn-team-progress{margin-top:1.2rem;padding:1rem;border-radius:14px;background:#f7f9ff}.fn-team-progress>div:first-child{font-size:.86rem}.fn-team-progress small{color:var(--muted)}.fn-setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;border-bottom:1px solid #edf0f5;cursor:pointer}.fn-setting-row:last-child{border-bottom:0}.fn-setting-row span{flex:1}.fn-setting-row strong,.fn-setting-row small{display:block}.fn-setting-row small{margin-top:.16rem;color:var(--muted);font-size:.8rem;line-height:1.4}.fn-setting-row .form-check-input{width:2.6em;height:1.35em;flex:0 0 auto}.fn-setting-select{max-width:210px}.fn-settings-list{margin-top:.5rem}.fn-share-link,.fn-share-create{display:flex;align-items:center;gap:.35rem;min-width:290px}.fn-share-link input{min-width:160px}.fn-share-create input{max-width:240px}.fn-shared-header{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 max(1rem,calc((100vw - 1320px)/2));background:#fff;border-bottom:1px solid var(--line)}.fn-shared-hero{padding:clamp(1.5rem,4vw,3rem);border-radius:25px;color:#fff;background:linear-gradient(120deg,#141b36,#324c9a 60%,#6549cc)}.fn-shared-hero .fn-next-kicker{color:#c6d1ff}.fn-shared-hero h1{font-weight:900;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.05em;margin:.65rem 0}.fn-shared-hero>p{max-width:730px;color:rgba(255,255,255,.76)}.fn-shared-by{display:flex;align-items:center;gap:.7rem;margin-top:1.3rem}.fn-shared-by img,.fn-shared-by>span{width:42px;height:42px;border-radius:50%;object-fit:cover}.fn-shared-by>span{display:grid;place-items:center;background:#fff;color:#4255bf;font-weight:850}.fn-shared-by strong,.fn-shared-by small{display:block}.fn-shared-by small{color:rgba(255,255,255,.68);font-size:.78rem}.fn-shared-exercise{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--line);border-radius:15px}.fn-shared-number{width:36px;color:#6876dc;font-size:.78rem;font-weight:900}.fn-shared-exercise img{width:76px;height:66px;border-radius:11px;object-fit:cover;background:#eef1f8}.fn-shared-exercise>div strong,.fn-shared-exercise>div small,.fn-shared-exercise>div span{display:block}.fn-shared-exercise>div small{color:var(--muted);font-size:.77rem}.fn-shared-exercise>div span{margin-top:.2rem;font-size:.78rem;font-weight:700;color:#53618a}
body.theme-dark .fn-next-stat,body.theme-dark .fn-next-tile,body.theme-dark .fn-next-side-card,body.theme-dark .fn-date-picker,body.theme-dark .fn-team-card,body.theme-dark .fn-nutrition-entry,body.theme-dark .fn-plan-link,body.theme-dark .fn-shared-exercise{background:#18243a;border-color:#2b3954;color:#eef2ff}body.theme-dark .fn-next-note,body.theme-dark .fn-next-empty,body.theme-dark .fn-team-progress,body.theme-dark .fn-choice-grid span{background:#202d49;border-color:#354563;color:#c8d1e3}body.theme-dark .fn-next-stat>strong,body.theme-dark .fn-week-column>strong,body.theme-dark .fn-team-table{color:#eef2ff}body.theme-dark .fn-date-picker{color:#eef2ff}
@media(max-width:767.98px){.fn-next-hero{min-height:0;padding:1.5rem;border-radius:22px}.fn-next-hero-mark{width:95px;height:95px;flex:0 0 95px}.fn-next-hero-mark i{font-size:3rem}.fn-next-hero-mark span{font-size:.5rem}.fn-next-hero h1{font-size:2.45rem}.fn-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-team-hero{align-items:stretch;flex-direction:column;gap:1rem}.fn-team-code{flex-basis:auto}.fn-next-note{align-items:flex-start;flex-wrap:wrap}.fn-next-note span{flex-basis:calc(100% - 2rem)}.fn-next-note a{margin-left:1.85rem}.fn-week-chart{gap:.3rem;overflow-x:auto}.fn-week-column{height:230px}.fn-week-column>small{font-size:.55rem}.fn-date-picker{flex-wrap:wrap}.fn-date-picker label{width:100%}.fn-date-picker .form-control{flex:1}.fn-setting-row{align-items:flex-start}.fn-setting-select{max-width:145px}.fn-share-link,.fn-share-create{min-width:260px}.fn-next-page .table-responsive{margin-inline:-.2rem}.fn-shared-exercise img{width:56px;height:56px}}
@media(max-width:440px){.fn-next-hero-mark{display:none}.fn-next-stat{padding:.85rem;min-height:115px}.fn-next-stat>strong{font-size:1.45rem}.fn-next-tile{min-height:145px;padding:1rem}.fn-team-card{gap:.55rem}.fn-team-mark{flex-basis:38px;width:38px;height:38px}.fn-team-table td,.fn-team-table th{padding:.55rem .4rem;font-size:.75rem}}

/* Profile monthly step overview */
.profile-steps-card{--steps-accent:var(--profile-accent,var(--brand));overflow:hidden}.profile-steps-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.profile-step-month-nav{display:flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--line);border-radius:13px;background:#f8f9fc;white-space:nowrap}.profile-step-month-nav>span:not(.profile-step-month-btn){padding:0 .55rem;color:#5d6880;font-size:.72rem;font-weight:800;text-transform:capitalize}.profile-step-month-btn{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#52617c;text-decoration:none;transition:background .15s,color .15s,transform .15s}.profile-step-month-btn:hover{background:#fff;color:var(--steps-accent);transform:translateY(-1px)}.profile-step-month-btn.is-disabled{opacity:.35;cursor:default}.profile-step-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.profile-step-stat{min-width:0;display:flex;align-items:center;gap:.72rem;padding:.9rem;border:1px solid #e6eaf2;border-radius:16px;background:linear-gradient(155deg,#fff,#fafbfe);box-shadow:0 7px 22px rgba(34,48,91,.035)}.profile-step-stat.is-primary{border-color:color-mix(in srgb,var(--steps-accent),#fff 70%);background:linear-gradient(145deg,color-mix(in srgb,var(--steps-accent),#fff 94%),#fff)}.profile-step-stat-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef1ff;color:var(--steps-accent);font-size:1rem}.profile-step-stat>div{min-width:0}.profile-step-stat small,.profile-step-stat span:not(.profile-step-stat-icon){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-step-stat small{color:#7c8699;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.profile-step-stat strong{display:block;margin:.12rem 0;color:#172039;font-size:1.22rem;line-height:1.15;font-weight:850;overflow:hidden;text-overflow:ellipsis}.profile-step-stat>div>span{color:#7b8598;font-size:.67rem}.profile-step-stat .profile-step-source-name{font-size:.98rem;white-space:nowrap}.profile-step-chart{padding:1rem 1rem .75rem;border:1px solid #e6eaf2;border-radius:18px;background:#fff}.profile-step-chart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.profile-step-chart-head>div strong,.profile-step-chart-head>div span{display:block}.profile-step-chart-head>div strong{color:#24304a;font-size:.86rem}.profile-step-chart-head>div span{margin-top:.1rem;color:#8892a4;font-size:.68rem;text-transform:capitalize}.profile-step-chart-source{display:inline-flex;align-items:center;gap:.35rem;padding:.36rem .58rem;border-radius:999px;background:#f0f2ff;color:#5364c9;font-size:.67rem;font-weight:800;white-space:nowrap}.profile-step-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;align-items:end;min-height:170px;padding:.25rem 0 0}.profile-step-day{height:160px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.24rem;text-align:center}.profile-step-day-value{width:100%;color:#61708c;font-size:.65rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-step-bar-track{position:relative;width:min(100%,34px);height:102px;border-radius:11px;background:#eff1f7;overflow:hidden}.profile-step-bar{position:absolute;left:0;right:0;bottom:0;min-height:4px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#12b89a,#5868e9);box-shadow:0 4px 12px rgba(76,100,221,.17);transition:height .25s ease}.profile-step-day.is-best .profile-step-bar{background:linear-gradient(180deg,#16caa5,#4458e8)}.profile-step-day.is-best .profile-step-day-value{color:var(--steps-accent)}.profile-step-day.is-today .profile-step-day-name{color:var(--steps-accent)}.profile-step-day-name{color:#69758d;font-size:.69rem;font-weight:800;text-transform:capitalize}.profile-step-day small{color:#9aa2b2;font-size:.6rem}.profile-step-chart-empty{padding:2rem 1rem;text-align:center;color:#8892a4;font-size:.8rem}.profile-step-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.profile-step-source-row{display:flex;align-items:center;gap:.65rem;padding:.72rem .8rem;border:1px solid #e9ecf2;border-radius:14px;background:#fbfcfe;min-width:0}.profile-step-source-row.is-primary{border-color:color-mix(in srgb,var(--steps-accent),#fff 72%)}.profile-step-source-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.profile-step-source-icon.health{background:#eaf8f4;color:#10977c}.profile-step-source-icon.phone{background:#eef0ff;color:#5967d6}.profile-step-source-row>div{min-width:0}.profile-step-source-row small,.profile-step-source-row strong{display:block}.profile-step-source-row small{color:#7c8799;font-size:.67rem}.profile-step-source-row strong{margin-top:.04rem;color:#26334f;font-size:.9rem}.profile-step-source-badge{margin-left:auto;padding:.24rem .45rem;border-radius:999px;background:#eef1ff;color:#5364c9;font-size:.58rem;font-weight:850;white-space:nowrap}.profile-step-note{display:flex;align-items:flex-start;gap:.4rem;color:#7d8799;font-size:.68rem;line-height:1.45}.profile-step-note i{margin-top:.05rem;color:var(--steps-accent)}.profile-steps-private .profile-step-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-steps-private .profile-step-stat{padding:.72rem;gap:.55rem}.profile-steps-private .profile-step-stat-icon{width:34px;height:34px;flex-basis:34px}.profile-steps-private .profile-step-stat strong{font-size:1rem}.profile-steps-private .profile-step-chart{padding:.8rem .65rem .65rem}.profile-steps-private .profile-step-bars{gap:.18rem}.profile-steps-private .profile-step-bar-track{width:26px}.profile-steps-private .profile-step-day-value{font-size:.55rem}.profile-steps-private .profile-step-source-grid{grid-template-columns:1fr}.public-profile-page.theme-midnight .profile-step-month-nav,.public-profile-page.theme-midnight .profile-step-stat,.public-profile-page.theme-midnight .profile-step-chart,.public-profile-page.theme-midnight .profile-step-source-row{background:#202d45;border-color:#34425d}.public-profile-page.theme-midnight .profile-step-stat.is-primary,.public-profile-page.theme-midnight .profile-step-source-row.is-primary{border-color:#4d5d83;background:#1d2a43}.public-profile-page.theme-midnight .profile-step-stat strong,.public-profile-page.theme-midnight .profile-step-chart-head>div strong,.public-profile-page.theme-midnight .profile-step-source-row strong{color:#f4f6ff}.public-profile-page.theme-midnight .profile-step-stat small,.public-profile-page.theme-midnight .profile-step-stat>div>span,.public-profile-page.theme-midnight .profile-step-chart-head>div span,.public-profile-page.theme-midnight .profile-step-source-row small,.public-profile-page.theme-midnight .profile-step-note,.public-profile-page.theme-midnight .profile-step-day-value,.public-profile-page.theme-midnight .profile-step-day-name{color:#bac4d6}.public-profile-page.theme-midnight .profile-step-month-nav>span:not(.profile-step-month-btn),.public-profile-page.theme-midnight .profile-step-month-btn{color:#c6d0e1}.public-profile-page.theme-midnight .profile-step-month-btn:hover{background:#293852;color:#fff}.public-profile-page.theme-midnight .profile-step-bar-track{background:#2a3750}.public-profile-page.theme-midnight .profile-step-chart-source,.public-profile-page.theme-midnight .profile-step-source-badge{background:#29375b;color:#c4ccff}body.theme-dark .profile-step-month-nav,body.theme-dark .profile-step-stat,body.theme-dark .profile-step-chart,body.theme-dark .profile-step-source-row{background:#202d45;border-color:#34425d}body.theme-dark .profile-step-stat strong,body.theme-dark .profile-step-chart-head>div strong,body.theme-dark .profile-step-source-row strong{color:#f4f6ff}body.theme-dark .profile-step-bar-track{background:#2a3750}@media(max-width:767.98px){.profile-steps-head{align-items:stretch;flex-direction:column}.profile-step-month-nav{align-self:flex-start}.profile-step-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-step-stat{padding:.75rem}.profile-step-stat-icon{width:34px;height:34px;flex-basis:34px}.profile-step-stat strong{font-size:1rem}.profile-step-bars{gap:.2rem;min-height:155px}.profile-step-day{height:145px}.profile-step-bar-track{width:28px;height:90px}.profile-step-day-value{font-size:.56rem}.profile-step-source-grid{grid-template-columns:1fr 1fr}}@media(max-width:460px){.profile-step-stat-grid{gap:.45rem}.profile-step-stat{align-items:flex-start;flex-direction:column;gap:.45rem}.profile-step-stat-icon{width:31px;height:31px;flex-basis:31px}.profile-step-chart{padding:.8rem .55rem .6rem}.profile-step-chart-source{display:none}.profile-step-bars{gap:.12rem}.profile-step-bar-track{width:24px}.profile-step-source-grid{grid-template-columns:1fr}.profile-step-month-nav>span:not(.profile-step-month-btn){display:none}}
body.theme-dark .profile-step-stat.is-primary,body.theme-dark .profile-step-source-row.is-primary{border-color:#4d5d83;background:#1d2a43}body.theme-dark .profile-step-stat small,body.theme-dark .profile-step-stat>div>span,body.theme-dark .profile-step-chart-head>div span,body.theme-dark .profile-step-source-row small,body.theme-dark .profile-step-note,body.theme-dark .profile-step-day-value,body.theme-dark .profile-step-day-name{color:#bac4d6}body.theme-dark .profile-step-month-nav>span:not(.profile-step-month-btn),body.theme-dark .profile-step-month-btn{color:#c6d0e1}body.theme-dark .profile-step-month-btn:hover{background:#293852;color:#fff}body.theme-dark .profile-step-chart-source,body.theme-dark .profile-step-source-badge{background:#29375b;color:#c4ccff}


/* v4.2.5 public profile social polish */
.public-profile-page .profile-social-stat{background:linear-gradient(145deg,#1d2943,#22314f);border-color:#34435f;box-shadow:0 16px 34px rgba(4,10,24,.28)}
.public-profile-page .profile-social-stat:hover{transform:translateY(-2px);border-color:#4a5d81;box-shadow:0 20px 36px rgba(4,10,24,.34)}
.public-profile-page .profile-social-stat-copy strong{color:#f4f7ff}
.public-profile-page .profile-social-stat-copy>span{color:#c1cbe0}
.public-profile-page .profile-social-stat-icon{background:rgba(255,255,255,.08);color:#ff8a6c}
.public-profile-page .profile-social-stat-icon.following{background:rgba(140,116,255,.14);color:#b7a7ff}
.public-profile-page .public-profile-post-card{margin-top:1rem;padding:1.2rem!important;border:1px solid #33415b;border-radius:22px;background:linear-gradient(180deg,rgba(34,48,77,.82),rgba(24,35,59,.88))}
.public-profile-page .public-profile-post-card:first-child{margin-top:0}
.public-profile-page .community-post-actions{margin-top:1rem;gap:.7rem}
.community-meta-pill{display:inline-flex;align-items:center;gap:.42rem;padding:.46rem .8rem;border-radius:999px;background:#eef2ff;color:#4b60d3;font-size:.82rem;font-weight:750}
.public-profile-page .community-meta-pill{background:#243553;color:#d6def4}
.community-comments{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.public-profile-page .community-comments{border-top-color:#33415b}
.community-comments-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}
.community-comments-head strong{font-size:.96rem;color:var(--ink)}
.public-profile-page .community-comments-head strong{color:#f3f6ff}
.community-comments-empty{margin:0 0 1rem;color:var(--muted);font-size:.92rem}
.public-profile-page .community-comments-empty{color:#bac4d6}
.community-comments-list{display:flex;flex-direction:column;gap:.85rem}
.community-comment-card{display:block}
.community-comment-card.is-reply{margin-top:.75rem}
.community-comment-row{display:flex;gap:.75rem;align-items:flex-start}
.comment-avatar{width:38px;height:38px;flex-basis:38px;font-size:.86rem}
.community-comment-main{flex:1 1 auto;min-width:0}
.community-comment-bubble{padding:.85rem 1rem;border:1px solid #e5eaf4;border-radius:18px;background:linear-gradient(180deg,#fbfcff,#f5f7fc)}
.public-profile-page .community-comment-bubble{background:linear-gradient(180deg,#202f4d,#1a2740);border-color:#31415d}
.community-comment-meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.82rem;margin-bottom:.35rem}
.community-comment-meta a{color:var(--ink);text-decoration:none}
.community-comment-meta span{color:var(--muted)}
.public-profile-page .community-comment-meta a{color:#f2f6ff}
.public-profile-page .community-comment-meta span{color:#aeb9d2}
.community-comment-body{margin:0;white-space:pre-wrap;word-break:break-word;color:#33415f}
.public-profile-page .community-comment-body{color:#e7edf9}
.community-comment-tools{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.55rem}
.community-comment-tools form{margin:0}
.community-reply-toggle{display:inline-block}
.community-reply-toggle summary{list-style:none;cursor:pointer;color:#5568da;font-size:.88rem;font-weight:700}
.community-reply-toggle summary::-webkit-details-marker{display:none}
.public-profile-page .community-reply-toggle summary{color:#c5d1ff}
.community-inline-form,.community-compose-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}
.community-compose-form{margin-top:1rem}
.community-comment-replies{margin-left:1.35rem;padding-left:.95rem;border-left:2px solid #e5eaf4}
.public-profile-page .community-comment-replies{border-left-color:#334562}
@media(max-width:767.98px){.community-inline-form,.community-compose-form{grid-template-columns:1fr}.community-comment-replies{margin-left:.55rem;padding-left:.7rem}}


/* v4.2.5 achievements + personal referral invites */
.invite-page{max-width:1320px}
.invite-hero{overflow:hidden;position:relative}
.invite-hero:after{content:"";position:absolute;width:360px;height:360px;right:-160px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(91,105,235,.2),transparent 70%);pointer-events:none}
.invite-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#5369eb,#8256dc);color:#fff;font-size:1.45rem;box-shadow:0 14px 28px rgba(75,92,205,.25)}
.invite-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;margin-top:1.25rem}.invite-link-box .form-control{font-size:.9rem}
.invite-stats-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.invite-stat{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7f9ff)}.invite-stat span,.invite-stat small{display:block;color:var(--muted)}.invite-stat span{font-size:.75rem;font-weight:750}.invite-stat strong{display:block;margin:.25rem 0;font-size:1.8rem;color:var(--ink);letter-spacing:-.04em}.invite-stat small{font-size:.68rem}
.invite-next-achievement{display:flex;gap:.9rem;align-items:flex-start;padding:1rem;border:1px solid #dfe5ff;border-radius:18px;background:#f8f9ff}.invite-next-achievement p{margin:.25rem 0 .7rem;color:var(--muted);font-size:.82rem}
.invite-achievement-list{display:flex;flex-direction:column;gap:.6rem}.invite-achievement-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:15px}.invite-achievement-row>div small{display:block;color:var(--muted);font-size:.72rem}.invite-achievement-row>i{color:#a5adbc}.invite-achievement-row.is-done{background:#f3fbf7;border-color:#d4eee0}.invite-achievement-row.is-done>i{color:#28976b}.invite-achievement-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;background:#eef1ff;color:#5368df}
.invite-recent-list{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}.invite-recent-row{display:flex;align-items:center;gap:.7rem}.invite-recent-row>div{min-width:0}.invite-recent-row strong,.invite-recent-row small{display:block}.invite-recent-row small{color:var(--muted);font-size:.72rem}.invite-recent-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:#f3f0ff;color:#6a55ce}.invite-recent-icon.is-qualified{background:#e9f8f1;color:#17936b}
.invite-landing-shell{padding:1.5rem}.invite-landing-card{width:min(100%,980px)}.invite-landing-avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#5369eb,#8256dc);color:#fff;font-size:1.6rem;font-weight:850;margin-bottom:1rem}.invite-landing-avatar img{width:100%;height:100%;object-fit:cover}
.achievement-group{margin-top:1rem}.achievement-group+.achievement-group{margin-top:1.35rem}.achievement-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem;padding:.1rem .1rem .4rem;border-bottom:1px solid var(--line)}.achievement-group-head strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#69758d}.achievement-group-head span{font-size:.72rem;color:var(--muted);font-weight:750}
@media(prefers-color-scheme:dark){body:not(.public-profile-body) .invite-stat,body:not(.public-profile-body) .invite-next-achievement,body:not(.public-profile-body) .invite-achievement-row{background:#202d45;border-color:#34425d}body:not(.public-profile-body) .invite-stat strong{color:#f4f6ff}body:not(.public-profile-body) .invite-achievement-row.is-done{background:#1e3a34;border-color:#2d5a4d}}
@media(max-width:767.98px){.invite-link-box{grid-template-columns:1fr}.invite-link-box .btn{width:100%}.invite-landing-shell{padding:0}.invite-landing-card{border-radius:0;min-height:100vh}}

/* v4.2.5 live navigation speed badge */
.navigation-speed-badge{position:absolute;z-index:515;left:18px;top:78px;width:70px;height:70px;border:4px solid #17213c;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.97);color:#111827;box-shadow:0 8px 24px rgba(9,19,40,.24),inset 0 0 0 2px rgba(255,255,255,.9);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;pointer-events:none}
.navigation-speed-badge[hidden]{display:none!important}
.navigation-speed-badge strong{display:block;font-size:1.4rem;line-height:1;font-weight:900;letter-spacing:-.055em}
.navigation-speed-badge span{display:block;margin-top:.13rem;font-size:.62rem;line-height:1;font-weight:850;letter-spacing:.015em}
.route-page #walkMap.navigation-active~.navigation-speed-badge{animation:navigationSpeedIn .18s ease-out}
@keyframes navigationSpeedIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@media(max-width:575.98px){.navigation-speed-badge{left:12px;top:70px;width:62px;height:62px;border-width:3px}.navigation-speed-badge strong{font-size:1.22rem}.navigation-speed-badge span{font-size:.56rem}}


/* v4.2.5 full public profile banner visibility */
.public-profile-cover-art.has-custom-banner{
  background-color:#13213a!important;
  background-image:linear-gradient(135deg,color-mix(in srgb,var(--profile-banner-color,#344eb0),#10182a 58%),#10182a)!important;
}
.public-profile-cover-art.has-custom-banner .public-profile-banner-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
/* Keep the entire uploaded banner in frame on every breakpoint; uncovered space uses the profile background instead of cropping the image. */
@media(max-width:767.98px){
  .public-profile-cover-art.has-custom-banner{height:clamp(128px,26vw,190px)!important}
}
@media(max-width:420px){
  .public-profile-cover-art.has-custom-banner{height:clamp(112px,30vw,150px)!important}
}

/* v4.2.7 YYKY / H Band diagnostics */
.health-yyky-diagnostics{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#f8faff,#fff)}
.health-yyky-diagnostics pre{max-height:220px;overflow:auto;padding:.75rem;border-radius:12px;background:#111827;color:#d8e2ff;white-space:pre-wrap;word-break:break-all}
.health-app-button.yyky .health-app-logo{background:linear-gradient(145deg,#17284a,#384f98);color:#fff}
@media(prefers-color-scheme:dark){.health-yyky-diagnostics{background:#1b2942;border-color:#34425d;color:#eef2ff}}
