@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400..800&display=swap";:root{color-scheme:dark;font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#07101a;color:#edf6ff;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #07101a;--bg-soft: #0b1521;--panel: rgba(18, 29, 42, .92);--panel-strong: rgba(23, 36, 51, .96);--panel-soft: rgba(13, 24, 36, .72);--line: rgba(154, 186, 214, .14);--line-strong: rgba(154, 186, 214, .23);--text: #edf6ff;--muted: #92a8ba;--muted-strong: #b9c9d8;--cyan: #5ac8fa;--blue: #8ab4ff;--green: #7ee787;--yellow: #f0c15a;--red: #ff7684;--violet: #b79bff;--shadow: 0 18px 48px rgba(0, 0, 0, .26);--shadow-soft: 0 10px 26px rgba(0, 0, 0, .18)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);font-weight:400}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:0}.app-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 18% 0%,rgba(53,119,160,.16),transparent 30%),linear-gradient(180deg,#081522,#07101a 42%,#0b1118)}.app-header{position:relative;z-index:220;display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1480px;margin:0 auto 26px;padding:12px 14px;border:1px solid rgba(154,186,214,.1);border-radius:10px;background:#07101aa8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.brand{position:relative;z-index:230;display:flex;align-items:center;gap:14px;min-width:250px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:9px;color:var(--cyan);background:linear-gradient(180deg,#5ac8fa21,#5ac8fa0d);border:1px solid rgba(90,200,250,.22);box-shadow:inset 0 1px #ffffff0f}.brand-title-row{display:flex;align-items:center;gap:9px}h1{font-size:clamp(1.3rem,1.65vw,1.75rem);font-weight:700;line-height:1.16}.home-shortcut,.wind-shortcut,.weather-shortcut{width:31px;height:31px;border-radius:8px;display:inline-grid;place-items:center;cursor:pointer;transition:.18s ease;text-decoration:none}.home-shortcut{border:1px solid rgba(90,200,250,.28);background:#5ac8fa1a;color:var(--cyan)}.home-shortcut:hover{transform:translateY(-1px);background:#5ac8fa2e;border-color:#5ac8fa75}.wind-shortcut{border:1px solid rgba(235,55,72,.36);background:#c51c2c2e;color:#ff6b78}.wind-shortcut:hover{transform:translateY(-1px);background:#de283a47;border-color:#ff6c7994;color:#ffd9de}.weather-shortcut{border:1px solid rgba(92,224,255,.3);background:#5ce0ff1a;color:#f4c95d}.weather-shortcut:hover{transform:translateY(-1px);background:#5ce0ff2e;border-color:#5ce0ff85;color:#fff0a8}.brand span,.eyebrow{color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.hero-eyebrow{display:inline-flex;align-items:center;gap:7px}.hero-eyebrow svg{color:#5ce0ff;stroke-width:2.4}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}nav{display:flex;gap:4px;padding:5px;border:1px solid rgba(154,186,214,.13);background:#050c14b8;border-radius:9px}nav button,.month-controls button,.section-title button,.back-button,.axis-toggle button{border:0;color:var(--muted-strong);background:transparent;padding:9px 13px;border-radius:7px;cursor:pointer;font-weight:600;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}nav button.active,nav button:hover,.axis-toggle button.active{color:#fff;background:#5ac8fa21}.tdf-shortcut-wrap{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding-left:5px;border-left:1px solid rgba(240,193,90,.18)}.tdf-shortcut{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:7px 9px;border:1px solid rgba(240,193,90,.34);border-radius:7px;background:#f0c15a1a;color:#ffe39a;text-decoration:none;font-size:.78rem;font-weight:850;transition:background .16s ease,border-color .16s ease,transform .16s ease}.tdf-shortcut:hover{transform:translateY(-1px);border-color:#f0c15a94;background:#f0c15a2b}.tdf-shortcut svg{color:#f0c15a}nav .tdf-dismiss{width:22px;height:22px;min-height:22px;padding:0;border:1px solid rgba(255,118,132,.28);border-radius:999px;background:#ff768414;color:#ffb8c0;display:inline-grid;place-items:center}nav .tdf-dismiss:hover{background:#ff76842e;color:#ffdbe0}.upload-button,.icon-action,.danger-action{border:0;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;color:#f6fbff;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.upload-button{background:linear-gradient(180deg,#3687aeb8,#225f80d1);border:1px solid rgba(120,210,255,.24);box-shadow:0 10px 22px #1952702e;font-weight:700}.upload-button:hover{background:linear-gradient(180deg,#4197c0cc,#276a8ee0);transform:translateY(-1px);box-shadow:0 12px 26px #19527038}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.page-grid,.panel.full,.content-grid{max-width:1480px;margin:0 auto}.page-grid{display:grid;gap:22px}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.82fr);gap:22px}.hero-panel,.panel,.summary-card,.metric-tile,.day-cell,.route-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-soft)}.hero-panel{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:132px;padding:26px;border-radius:10px;background:linear-gradient(180deg,#182737eb,#101c29eb)}.hero-panel h2{max-width:760px;margin-top:8px;font-size:clamp(1.65rem,2.65vw,2.7rem);line-height:1.14;font-weight:740}.hero-copy{min-width:0}.hero-title-edit{display:flex;align-items:flex-start;gap:10px;max-width:820px}.hero-title-edit h2{margin:8px 0 0}.hero-title-edit-button{flex:0 0 auto;margin-top:13px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(90,200,250,.18);border-radius:8px;background:#5ac8fa14;color:#dff4ff;cursor:pointer}.hero-title-edit-button:hover{border-color:#5ac8fa6b;background:#5ac8fa24}.hero-title-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;max-width:780px}.hero-title-form input{flex:1 1 360px;min-width:220px;border:1px solid rgba(90,200,250,.34);border-radius:9px;background:#060f18d1;color:var(--text);padding:11px 12px;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:700;line-height:1.15;outline:none}.hero-title-form input:focus{border-color:#5ac8faa3;box-shadow:0 0 0 3px #5ac8fa17}.hero-title-form button{border:1px solid rgba(90,200,250,.2);border-radius:8px;background:#5ac8fa1a;color:#dff4ff;padding:10px 12px;cursor:pointer;font-weight:750}.hero-title-form button:hover{border-color:#5ac8fa6b;background:#5ac8fa29}.hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:0 0 auto}.hero-brand-logos{display:flex;align-items:center;justify-content:flex-end;gap:10px}.brand-logo-link{display:block;border-radius:9px;line-height:0;transition:transform .16s ease,filter .16s ease}.brand-logo-link:hover,.brand-logo-link:focus-visible{transform:translateY(-1px);filter:brightness(1.08);outline:none}.zwift-logo{display:block;width:38px;height:38px;border-radius:9px;object-fit:cover;box-shadow:0 12px 28px #f45b1829}.rouvy-logo{display:block;width:150px;height:38px;border-radius:9px;opacity:.96;object-fit:cover;object-position:center;border:1px solid rgba(154,112,255,.2);box-shadow:0 12px 28px #16052f3d}.hero-kpis{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero-kpis span{min-width:124px;padding:12px 13px;border-radius:8px;border:1px solid rgba(154,186,214,.13);background:#07101a8c;color:var(--muted);font-size:.84rem}.hero-kpis strong{display:block;color:var(--text);margin-top:4px;font-size:1.05rem;font-weight:650}.live-heart-card{min-width:160px;padding:12px 13px;border-radius:8px;border:1px solid rgba(255,100,120,.2);background:#07101a94;color:var(--muted);display:grid;gap:7px;box-shadow:inset 0 1px #ffffff06}.live-heart-card.connected{border-color:#ff64786b;box-shadow:0 0 0 3px #ff64780f,inset 0 1px #ffffff09}.live-heart-card.error{border-color:#ffb74d61}.live-heart-card.unsupported{opacity:.78}.live-heart-head{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:750;color:#ffc9d0}.live-heart-head svg{color:#ff6478}.live-heart-card strong{display:block;color:var(--text);font-size:1.35rem;line-height:1;font-weight:720}.live-heart-card strong small{color:var(--muted-strong);font-size:.78rem;font-weight:650}.live-heart-card em{min-height:1.05rem;color:var(--muted);font-size:.74rem;font-style:normal;line-height:1.25}.live-heart-battery{display:inline-flex;width:fit-content;align-items:center;padding:3px 7px;border:1px solid rgba(92,224,255,.18);border-radius:999px;background:#5ce0ff14;color:#cdeeff;font-size:.72rem;font-weight:750}.live-heart-actions{display:grid;gap:6px}.live-heart-actions button{width:100%;border:1px solid rgba(255,100,120,.26);border-radius:7px;background:#ff64781a;color:#ffd9de;padding:7px 9px;cursor:pointer;font:inherit;font-size:.78rem;font-weight:800}.live-heart-actions button:hover:not(:disabled){border-color:#ff647885;background:#ff647829}.live-heart-actions button:disabled{opacity:.55;cursor:not-allowed}.summary-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.summary-grid.compact{grid-template-columns:repeat(7,minmax(0,1fr));margin:20px 0;gap:8px}.summary-grid.compact .summary-card{min-height:116px;padding:14px}.summary-grid.compact .summary-card strong{font-size:clamp(1.18rem,1.55vw,1.72rem)}.summary-card{min-height:122px;padding:16px;border-radius:10px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#182634f0,#111d2af0);transition:transform .16s ease,border-color .16s ease,background .16s ease}.summary-card:hover{transform:translateY(-1px);border-color:#9abad638}.summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-card span,.metric-tile span{color:var(--muted);font-size:.82rem;font-weight:500;letter-spacing:.01em}.summary-card strong{font-size:clamp(1.3rem,1.9vw,1.9rem);line-height:1.08;font-weight:700;font-variant-numeric:tabular-nums}.summary-card small,.metric-tile strong small{color:var(--muted);font-size:.56em;font-weight:500}.dashboard-contact-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid rgba(154,186,214,.13);border-radius:10px;background:#0a182494;color:var(--muted);box-shadow:var(--shadow-soft)}.dashboard-contact-main{display:flex;align-items:center;gap:11px;flex-wrap:wrap;min-width:0}.dashboard-contact-button{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(90,200,250,.24);border-radius:8px;background:#5ac8fa1a;color:#dff4ff;padding:8px 10px;font-size:.84rem;font-weight:800;text-decoration:none}.dashboard-contact-button:hover{border-color:#5ac8fa75;background:#5ac8fa29}.dashboard-contact-main small{color:var(--muted-strong);font-weight:650;overflow-wrap:anywhere}.dashboard-visit-counter{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;color:var(--muted);font-size:.78rem}.dashboard-visit-counter strong{color:var(--text);font-size:1rem;font-variant-numeric:tabular-nums}@media(max-width:680px){.dashboard-contact-strip{align-items:flex-start;flex-direction:column}.dashboard-visit-counter{white-space:normal}}:root[data-theme=light] .dashboard-contact-strip,:root[data-theme=gray] .dashboard-contact-strip{background:#f4f8fbdb;border-color:#1e415b1f}:root[data-theme=light] .dashboard-contact-button,:root[data-theme=gray] .dashboard-contact-button{color:#123247;background:#cde9f8cc;border-color:#0a8fb847}.local-cardio-panel{display:grid;gap:14px;border-color:#ff768429;background:linear-gradient(180deg,#142230f0,#0c1925f0)}.local-cardio-head h3{display:inline-flex;align-items:center;gap:8px}.local-cardio-head h3 svg{color:var(--red)}.local-cardio-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.local-cardio-head-actions button{display:inline-flex;align-items:center;gap:7px}.local-cardio-message{margin:0;padding:10px 12px;border:1px solid rgba(90,200,250,.2);border-radius:9px;background:#5ac8fa14;color:var(--muted-strong);font-weight:750}.local-cardio-list{display:grid;gap:10px}.local-cardio-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px;border:1px solid rgba(154,186,214,.14);border-radius:10px;background:#0815218c}.local-cardio-main{display:grid;gap:5px;min-width:0}.local-cardio-date{color:var(--muted);font-size:.78rem;font-weight:750;letter-spacing:.02em;text-transform:uppercase}.local-cardio-item strong{color:var(--text);font-size:1.04rem}.local-cardio-metrics{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted-strong);font-size:.82rem;font-weight:760}.local-cardio-metrics span{border:1px solid rgba(154,186,214,.13);border-radius:999px;padding:4px 8px;background:#9abad60f}.local-cardio-item p{margin:2px 0 0;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.local-cardio-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.local-cardio-actions button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(90,200,250,.2);border-radius:8px;background:#5ac8fa14;color:#dff4ff;padding:7px 9px;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.local-cardio-actions .danger-action.compact{border-color:#ff526970;background:#a51c326b;color:#ffe4e8}.local-cardio-empty{margin:0;color:var(--muted)}.local-cardio-dialog textarea{width:100%;resize:vertical}.local-cardio-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cardio-calendar-card{width:100%;display:grid;gap:4px;margin-top:6px;padding:8px;border:1px solid rgba(255,118,132,.32);border-radius:8px;background:linear-gradient(135deg,#5f1c2e9e,#231424b8);color:#ffe4e8;text-align:left;cursor:pointer}.cardio-calendar-card:hover{border-color:#ff768494;background:linear-gradient(135deg,#76233ab8,#2a182bd1)}.cardio-calendar-card span{display:inline-flex;align-items:center;gap:5px;color:#ff9fac;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cardio-calendar-card strong{color:#fff3f5;font-size:.82rem;line-height:1.18}.cardio-calendar-card small{color:#ffd7dd;font-size:.72rem;line-height:1.25}.local-cardio-detail .detail-head h2{display:flex;align-items:center;gap:9px}.local-cardio-detail .detail-head h2 svg{color:var(--red)}.local-cardio-note{margin-top:16px;padding:16px;border:1px solid rgba(154,186,214,.13);border-radius:10px;background:#9abad60f}.local-cardio-note p{margin:6px 0 0;color:var(--text);line-height:1.5}:root[data-theme=light] .local-cardio-panel,:root[data-theme=gray] .local-cardio-panel{background:#f4f8fbe6;border-color:#842b3a29}:root[data-theme=light] .local-cardio-item,:root[data-theme=gray] .local-cardio-item{background:#ffffffa3;border-color:#1e415b1f}:root[data-theme=light] .local-cardio-actions button,:root[data-theme=gray] .local-cardio-actions button{color:#123247;background:#cde9f8b8;border-color:#0a8fb83d}:root[data-theme=light] .cardio-calendar-card,:root[data-theme=gray] .cardio-calendar-card{color:#5d1728;background:#ffe8ecdb;border-color:#a42d463d}:root[data-theme=light] .cardio-calendar-card strong,:root[data-theme=gray] .cardio-calendar-card strong{color:#3a101c}:root[data-theme=light] .cardio-calendar-card span,:root[data-theme=gray] .cardio-calendar-card span,:root[data-theme=light] .cardio-calendar-card small,:root[data-theme=gray] .cardio-calendar-card small{color:#7e283b}@media(max-width:720px){.local-cardio-item{flex-direction:column}.local-cardio-actions{justify-content:flex-start}.local-cardio-dialog-grid{grid-template-columns:1fr}}.icon-pill,.metric-tile-top .metric-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center}.tone-cyan{color:var(--cyan);background:#5ac8fa1f}.tone-green{color:var(--green);background:#7ee7871c}.tone-blue{color:var(--blue);background:#8ab4ff1c}.tone-violet{color:var(--violet);background:#b79bff1c}.tone-yellow{color:var(--yellow);background:#f0c15a1f}.tone-red{color:var(--red);background:#ff76841f}.tone-orange{color:#ffb45c;background:#ffb45c1f}.panel{min-width:0;padding:22px;border-radius:10px;background:var(--panel)}.panel.wide{min-width:0}.section-title,.calendar-head,.detail-head,.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-title h2,.calendar-head h2,.detail-head h2{font-size:clamp(1.2rem,1.8vw,1.72rem);line-height:1.22;font-weight:700}.section-title button,.month-controls button,.back-button{background:#5ac8fa1a;border:1px solid rgba(90,200,250,.16);color:#dff4ff}.section-title button:hover,.month-controls button:hover,.back-button:hover{transform:translateY(-1px);border-color:#5ac8fa52}.back-button{margin-bottom:18px}.videos-page{max-width:1480px}.videos-hero{min-height:112px}.video-add-panel{width:min(100%,520px)}.video-form{display:grid;gap:14px}.video-form label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:600}.video-form input,.video-form textarea{width:100%;border:1px solid rgba(154,186,214,.16);border-radius:8px;background:#08111db8;color:var(--text);padding:11px 12px;outline:none;resize:vertical}.video-form input:focus,.video-form textarea:focus{border-color:#5ac8fa85;box-shadow:0 0 0 3px #5ac8fa14}.video-form .upload-button{justify-self:start}.video-error{color:#ffd0d5;font-size:.9rem}.video-list{width:min(100%,520px);display:grid;gap:12px}.video-card{width:100%;display:grid;gap:10px;padding:14px}.video-card .section-title{margin-bottom:0}.video-frame{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:10px;border:1px solid rgba(154,186,214,.18);background:#07101a;box-shadow:inset 0 0 0 1px #ffffff05}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-note{display:grid;gap:4px;padding:9px 10px;border-radius:9px;border:1px solid rgba(154,186,214,.12);background:#08111d7a}.video-note span{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.video-note p{color:var(--muted-strong);line-height:1.55}@media(max-width:760px){.hero-side{align-items:flex-start;width:100%}.hero-brand-logos{justify-content:flex-start;gap:8px}.zwift-logo{width:34px;height:34px}.rouvy-logo{width:128px;height:34px}.video-list{width:100%}.video-card{gap:13px}}@media(max-width:1280px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}}@media(max-width:1180px){.summary-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.ride-list,.route-list,.attempt-list,.bar-grid{display:grid;gap:10px;margin-top:16px}.route-list{animation:routeListFade .18s ease}@keyframes routeListFade{0%{opacity:.72}to{opacity:1}}.route-filter-panel{display:grid;gap:10px;margin-top:14px;padding:11px;border:1px solid rgba(92,224,255,.2);border-radius:10px;background:#050d167a}.route-search-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.route-search-row input,.route-search-row select{min-height:36px;border:1px solid rgba(92,224,255,.22);border-radius:8px;background:#060f18db;color:var(--text);padding:8px 10px;outline:none;font:inherit;font-size:.86rem;font-weight:650}.route-search-row input{flex:1 1 180px;min-width:0}.route-search-row select{flex:0 1 170px}.route-search-row input:focus,.route-search-row select:focus{border-color:#5ce0ff9e;box-shadow:0 0 0 3px #5ce0ff17}.route-search-row input:disabled{opacity:.55;cursor:not-allowed}.route-country-filter{position:relative;flex:1 1 180px;min-width:180px}.route-country-button{width:100%;min-height:36px;display:flex;align-items:center;gap:8px;border:1px solid rgba(92,224,255,.28);border-radius:8px;background:#060f18db;color:var(--text);padding:8px 10px;cursor:pointer;font-size:.86rem;font-weight:750}.route-country-button svg{margin-left:auto;color:var(--muted-strong)}.route-country-button:hover,.route-country-button:focus{border-color:#5ce0ff9e;box-shadow:0 0 0 3px #5ce0ff17}.route-country-menu{position:absolute;z-index:70;top:calc(100% + 7px);left:0;width:min(380px,calc(100vw - 42px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px;border:1px solid rgba(92,224,255,.24);border-radius:10px;background:#050d16fa;box-shadow:0 18px 46px #00000061;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.route-country-menu button{min-height:32px;display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#dff4ff;padding:6px 8px;cursor:pointer;font-size:.8rem;font-weight:750;text-align:left}.route-country-menu button:hover{background:#5ce0ff1a;border-color:#5ce0ff33}.route-country-menu button.active{background:#5ce0ff29;border-color:#5ce0ff94;box-shadow:inset 0 0 0 1px #5ce0ff1f}.route-country-menu button.active:after{content:"✓";margin-left:auto;color:#5ce0ff;font-weight:900}.clear-route-filters{min-height:36px;border:1px solid rgba(154,186,214,.16);border-radius:8px;background:#9abad60f;color:var(--muted-strong);padding:8px 10px;cursor:pointer;font-size:.82rem;font-weight:750}.clear-route-filters:hover{border-color:#5ce0ff5c;color:#eaf8ff;background:#5ce0ff1a}.route-quick-filters{display:flex;flex-wrap:wrap;gap:7px}.route-quick-filters button{border:1px solid rgba(154,186,214,.14);border-radius:999px;background:#9abad60f;color:var(--muted-strong);padding:6px 10px;cursor:pointer;font-size:.78rem;font-weight:800}.route-quick-filters button.active{border-color:#5ce0ff94;background:#5ce0ff24;color:#e7fbff;box-shadow:inset 0 0 0 1px #5ce0ff1f}.route-performance-sort{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;padding-top:9px;border-top:1px solid rgba(154,186,214,.12)}.route-performance-sort label{display:grid;gap:6px}.route-performance-sort span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.route-performance-sort select{min-height:34px;border:1px solid rgba(92,224,255,.24);border-radius:8px;background:#060f18db;color:var(--text);padding:7px 10px;outline:none;font:inherit;font-size:.82rem;font-weight:750}.route-performance-sort select:focus{border-color:#5ce0ff99;box-shadow:0 0 0 3px #5ce0ff14}.route-elevation-visibility{width:fit-content;display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid rgba(92,224,255,.22);border-radius:8px;background:#07131fb8;color:var(--muted-strong);font-size:.82rem;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.route-elevation-visibility:hover{border-color:#5ce0ff6b;background:#0c2233d1;color:#e7fbff}.route-elevation-visibility input{width:16px;height:16px;margin:0;accent-color:#5ce0ff}.route-filter-hint{margin:8px 0 0;color:var(--muted);font-size:.82rem}.route-sort-note{color:#dff8ff!important;font-weight:800}.route-show-more{width:100%;margin-top:12px;border:1px solid rgba(92,224,255,.32);border-radius:10px;background:#5ce0ff1a;color:#e4fbff;padding:11px 12px;cursor:pointer;font-weight:850;letter-spacing:.01em}.route-show-more:hover{border-color:#5ce0ff94;background:#5ce0ff29;box-shadow:inset 0 0 0 1px #5ce0ff14}.route-list-extra{margin-top:10px}.route-scroll-top{position:fixed;right:22px;bottom:22px;z-index:35;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(92,224,255,.34);border-radius:999px;background:#050d16e0;color:#e4fbff;padding:10px 13px;cursor:pointer;font-weight:850;box-shadow:0 14px 36px #00000057,inset 0 0 0 1px #5ce0ff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.route-scroll-top:hover{border-color:#5ce0ffa3;background:#5ce0ff24}@media(max-width:760px){.route-scroll-top{right:14px;bottom:14px;width:42px;height:42px;justify-content:center;padding:0}.route-scroll-top span{display:none}}.route-no-results{margin-top:16px;padding:18px;border:1px dashed rgba(154,186,214,.18);border-radius:10px;color:var(--muted-strong);background:#060f185c}.recent-rides-head{align-items:flex-start}.sort-control{display:grid;gap:5px;min-width:210px;color:var(--muted);font-size:.76rem;font-weight:500}.sort-control select{width:100%;border:1px solid rgba(90,200,250,.24);background:#08111dc7;color:var(--text);border-radius:8px;padding:8px 10px;outline:none;font-weight:600}.sort-control select:focus{border-color:#5ac8fa8a;box-shadow:0 0 0 3px #5ac8fa14}.ride-chip{position:relative;width:100%;display:grid;gap:6px;text-align:left;border:1px solid rgba(154,186,214,.13);background:#0c1824c7;color:#eaf7ff;padding:12px 13px 12px 15px;border-radius:9px;cursor:pointer;overflow:hidden;transition:transform .16s ease,border-color .16s ease,background .16s ease}.type-picker-wrap{position:absolute;top:5px;right:5px;z-index:12}.type-picker-button{width:19px;height:19px;display:grid;place-items:center;border-radius:7px;color:var(--muted-strong);background:#07101ab8;border:1px solid rgba(154,186,214,.16);cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.type-picker-button:hover,.type-picker-button:focus{color:#fff;background:#5ac8fa1f;border-color:#5ac8fa57;outline:none}.type-picker-menu{position:absolute;top:28px;right:0;min-width:250px;display:grid;gap:4px;padding:8px;border-radius:10px;border:1px solid rgba(154,186,214,.2);background:#060e18fa;box-shadow:0 18px 42px #00000061;color:var(--text)}.type-picker-section-title{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 4px 2px}.type-picker-option{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;cursor:pointer;font-size:.78rem;font-weight:650;white-space:nowrap}.type-picker-option:hover,.type-picker-option:focus{background:#9abad617;outline:none}.country-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.country-picker-option{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:5px 6px;border-radius:7px;color:var(--muted-strong);font-size:.68rem;font-weight:650;white-space:nowrap;cursor:pointer;border:1px solid transparent}.country-picker-option:hover,.country-picker-option:focus{background:#9abad617;outline:none}.country-picker-option.active{color:#fff;background:#5ac8fa1f;border-color:#5ac8fa38}.ride-country-flag{display:inline-block;margin-right:5px;font-size:.92em;line-height:1;vertical-align:-.03em}.flag-icon{position:relative;display:inline-block;width:18px;height:12px;flex:0 0 18px;margin-right:6px;border-radius:2px;overflow:hidden;vertical-align:-1px;box-shadow:0 0 0 1px #ffffff38;background:#789}.country-picker-option .flag-icon{width:16px;height:11px;margin-right:1px}.flag-cz{background:linear-gradient(to bottom,#fff 0,#fff 50%,#d7141a 50%)}.flag-cz:before{content:"";position:absolute;left:0;top:0;width:56%;height:100%;background:#11457e;clip-path:polygon(0 0,100% 50%,0 100%)}.flag-de{background:linear-gradient(to bottom,#000 0,#000 33%,#d00 33%,#d00 66%,#ffce00 66%)}.flag-fr{background:linear-gradient(to right,#002395 0,#002395 33%,#fff 33%,#fff 66%,#ed2939 66%)}.flag-it{background:linear-gradient(to right,#009246 0,#009246 33%,#fff 33%,#fff 66%,#ce2b37 66%)}.flag-ch{background:#d52b1e}.flag-ch:before{content:"";position:absolute;left:7px;top:2px;width:4px;height:8px;background:#fff}.flag-ch:after{content:"";position:absolute;left:4px;top:4px;width:10px;height:4px;background:#fff}.flag-at{background:linear-gradient(to bottom,#ed2939 0,#ed2939 33%,#fff 33%,#fff 66%,#ed2939 66%)}.flag-se{background:linear-gradient(to right,transparent 0 31%,#fecc00 31% 43%,transparent 43%),linear-gradient(to bottom,transparent 0 38%,#fecc00 38% 56%,transparent 56%),#006aa7}.flag-dk{background:linear-gradient(to right,transparent 0 31%,#fff 31% 43%,transparent 43%),linear-gradient(to bottom,transparent 0 38%,#fff 38% 56%,transparent 56%),#c60c30}.flag-ca{background:linear-gradient(to right,#d52b1e 0,#d52b1e 25%,#fff 25%,#fff 75%,#d52b1e 75%)}.flag-ca:after{content:"";position:absolute;left:8px;top:4px;width:3px;height:4px;border-radius:50%;background:#d52b1e}.flag-us{background:repeating-linear-gradient(to bottom,#b22234 0,#b22234 1px,#fff 1px,#fff 2px)}.flag-us:before{content:"";position:absolute;left:0;top:0;width:8px;height:6px;background:#3c3b6e}.flag-kr{background:#fff}.flag-kr:before{content:"";position:absolute;left:6px;top:3px;width:6px;height:6px;border-radius:50%;background:linear-gradient(to bottom,#cd2e3a 0,#cd2e3a 50%,#0047a0 50%)}.flag-no{background:linear-gradient(to right,transparent 0 28%,#fff 28% 48%,transparent 48%),linear-gradient(to bottom,transparent 0 32%,#fff 32% 60%,transparent 60%),#ba0c2f}.flag-no:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,transparent 0 34%,#00205b 34% 42%,transparent 42%),linear-gradient(to bottom,transparent 0 41%,#00205b 41% 51%,transparent 51%)}.flag-es{background:linear-gradient(to bottom,#aa151b 0,#aa151b 25%,#f1bf00 25%,#f1bf00 75%,#aa151b 75%)}.flag-gb{background:linear-gradient(146deg,transparent 0 42%,#fff 42% 48%,#c8102e 48% 53%,#fff 53% 59%,transparent 59%),linear-gradient(34deg,transparent 0 42%,#fff 42% 48%,#c8102e 48% 53%,#fff 53% 59%,transparent 59%),linear-gradient(to right,transparent 0 40%,#fff 40% 60%,transparent 60%),linear-gradient(to bottom,transparent 0 35%,#fff 35% 65%,transparent 65%),#012169}.flag-gb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,transparent 0 45%,#c8102e 45% 55%,transparent 55%),linear-gradient(to bottom,transparent 0 41%,#c8102e 41% 59%,transparent 59%)}.flag-jp{background:#fff}.flag-jp:after{content:"";position:absolute;left:6px;top:3px;width:6px;height:6px;border-radius:50%;background:#bc002d}.flag-na{background:linear-gradient(146deg,#003580 0,#003580 42%,#fff 42%,#fff 48%,#d21034 48%,#d21034 58%,#fff 58%,#fff 64%,#009543 64%)}.flag-br{background:#009b3a}.flag-br:before{content:"";position:absolute;left:4px;top:1px;width:10px;height:10px;background:#ffdf00;transform:rotate(45deg)}.flag-br:after{content:"";position:absolute;left:6px;top:3px;width:6px;height:6px;border-radius:50%;background:#002776}.flag-fi{background:linear-gradient(to right,transparent 0 28%,#002f6c 28% 44%,transparent 44%),linear-gradient(to bottom,transparent 0 36%,#002f6c 36% 58%,transparent 58%),#fff}.flag-pt{background:linear-gradient(to right,#060 0,#060 42%,red 42%)}.flag-pt:after{content:"";position:absolute;left:6px;top:4px;width:4px;height:4px;border-radius:50%;background:#fc0;box-shadow:0 0 0 1px #ffffff73}.flag-sk{background:linear-gradient(to bottom,#fff 0,#fff 33%,#0b4ea2 33%,#0b4ea2 66%,#ee1c25 66%)}.flag-sk:after{content:"";position:absolute;left:3px;top:3px;width:5px;height:6px;border-radius:1px;background:#ee1c25;box-shadow:inset 0 0 0 1px #fff}.flag-za{background:linear-gradient(146deg,#007a4d 0 43%,#fff 43% 50%,#ffb612 50% 56%,transparent 56%),linear-gradient(34deg,#007a4d 0 43%,#fff 43% 50%,#de3831 50% 56%,transparent 56%),linear-gradient(to bottom,#de3831 0,#de3831 50%,#002395 50%)}.flag-za:before{content:"";position:absolute;left:0;top:0;width:45%;height:100%;background:#000;clip-path:polygon(0 0,86% 50%,0 100%)}.flag-pl{background:linear-gradient(to bottom,#fff 0,#fff 50%,#dc143c 50%)}.flag-gr{background:repeating-linear-gradient(to bottom,#0d5eaf 0,#0d5eaf 1.34px,#fff 1.34px,#fff 2.68px)}.flag-gr:before{content:"";position:absolute;left:0;top:0;width:8px;height:7px;background:linear-gradient(to right,transparent 0 38%,#fff 38% 62%,transparent 62%),linear-gradient(to bottom,transparent 0 38%,#fff 38% 62%,transparent 62%),#0d5eaf}.flag-hr{background:linear-gradient(to bottom,red 0,red 33%,#fff 33%,#fff 66%,#171796 66%)}.flag-hr:after{content:"";position:absolute;left:7px;top:3px;width:4px;height:6px;border-radius:1px;background:repeating-linear-gradient(45deg,red 0,red 2px,#fff 2px,#fff 4px);box-shadow:0 0 0 1px #00000029}.type-dot{width:9px;height:9px;border-radius:999px;display:inline-block}.type-dot.indoor{background:#57d899}.type-dot.outdoor{background:#4fd4ff}.type-dot.manual{background:#ae8bff}.type-dot.neutral{background:#6f9eca}.ride-chip.neutral:before{background:#6f9eca80}.ride-chip.neutral{border-color:#9abad621}.ride-chip.neutral .ride-type-badge{color:#c8d7e4;background:#9abad614;border-color:#9abad624}.ride-chip:before,.route-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:#5ac8fa8f}.route-card:before{left:8px;width:5px;top:14px;bottom:14px;z-index:1;pointer-events:none}.ride-chip.indoor:before,.ride-chip.rouvy:before{background:#57d899c7}.ride-chip.outdoor:before,.ride-chip.garmin:before{background:#4fd4fff2;box-shadow:0 0 12px #4fd4ff61}.ride-chip.manual:before,.ride-chip.demo:before{background:#ae8bffad}.route-card.indoor:before,.route-card.rouvy:before{background:#57d899f5;box-shadow:0 0 12px #57d8993d}.route-card.outdoor:before,.route-card.garmin:before{background:#4fd4ff;box-shadow:0 0 12px #4fd4ff57}.route-card.manual:before,.route-card.demo:before{background:#ae8bffdb;box-shadow:0 0 10px #ae8bff38}.ride-chip.indoor{border-color:#57d89929}.ride-chip.outdoor{border-color:#4fd4ff57}.ride-chip.manual{border-color:#ae8bff24}.ride-chip:hover,.metric-tile.clickable:hover{border-color:#5ac8fa61;background:#122231e6;transform:translateY(-1px)}.ride-date{color:var(--muted);font-size:.76rem;font-weight:500}.ride-title{color:#fff;font-weight:650;line-height:1.34}.ride-title-row{display:flex;align-items:center;gap:6px}.ride-type-badge{flex:0 0 auto;border-radius:999px;padding:2px 6px;color:var(--muted-strong);background:#9abad614;border:1px solid rgba(154,186,214,.12);font-size:.62rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ride-chip.indoor .ride-type-badge{color:#eafff3;background:#0d5e40eb;border-color:#67eda694;box-shadow:0 0 0 1px #67eda61f}.ride-chip.outdoor .ride-type-badge{color:#f1fbff;background:#105c8beb;border-color:#4fd4ff9e;box-shadow:0 0 0 1px #4fd4ff21}.ride-chip.manual .ride-type-badge{color:#f4edff;background:#52378ee6;border-color:#be9eff8a;box-shadow:0 0 0 1px #be9eff1f}.ride-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:3px 0;color:var(--muted-strong);font-size:.88rem;line-height:1.25}.ride-metric-group{display:inline-flex;align-items:center;min-width:fit-content}.ride-metric-value{color:#d8e9f7;font-weight:650}.ride-metric-separator{color:#b9c9d86b;margin:0 6px}.pr-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:4px 8px;border-radius:999px;background:#f0c15a29;color:#ffd978;border:1px solid rgba(240,193,90,.42);box-shadow:0 0 0 1px #f0c15a14,0 8px 18px #f0c15a14;font-weight:780;font-size:.72rem;letter-spacing:.04em}.calendar-panel{width:min(100%,1180px);max-width:1180px;padding:16px}.calendar-panel .calendar-head{margin-bottom:14px}.calendar-panel .calendar-head h2{font-size:clamp(1.15rem,1.55vw,1.55rem)}.week-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid{grid-auto-rows:112px}.week-row{color:var(--muted);margin-bottom:6px;text-align:center;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.day-cell{min-height:0;height:112px;overflow:visible;padding:6px;border-radius:8px;display:flex;flex-direction:column;gap:4px;border-color:#6f9eca2e;background:linear-gradient(180deg,#172a3ed1,#112132c7)}.day-cell.muted{opacity:.62;background:#1222347a}.day-cell.indoor{background:linear-gradient(180deg,#125f44c7,#0a4333bd);border-color:#57d89957}.day-cell.outdoor{background:linear-gradient(180deg,#1c70a6d1,#124e7ec7);border-color:#4fd4ff8f;box-shadow:inset 0 0 0 1px #4fd4ff29}.day-cell.manual{background:linear-gradient(180deg,#4c347cc2,#36275fb3);border-color:#ae8bff4d}.day-cell.mixed{background:linear-gradient(135deg,#183248d1,#164c3d8f 48%,#412e6894);border-color:#9abad63d}.day-cell.today{border-color:#5ac8fa94;box-shadow:inset 0 0 0 1px #5ac8fa2e,0 0 0 1px #5ac8fa14}.day-cell b{color:#d7ebfb;font-size:.78rem;line-height:1}.day-cell .ride-chip{padding:7px 8px;gap:2px;font-size:.72rem;border-radius:8px;box-shadow:none;overflow:hidden;min-height:0;max-height:calc(100% - 18px);align-content:start}.day-cell .ride-title{position:relative;display:block;min-width:0;max-width:none;width:100%;padding-right:21px;font-size:.74rem;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:760}.day-cell .ride-title-row{position:relative;display:block;min-width:0;width:100%;padding-right:0}.day-cell .ride-type-badge{position:absolute;right:0;top:17px;width:fit-content;max-width:none;overflow:visible;text-overflow:clip;padding:2px 5px;font-size:.54rem;line-height:1;letter-spacing:.02em;white-space:nowrap;pointer-events:none}.day-cell .ride-photo-indicator{position:absolute;right:0;top:34px;width:18px;height:18px;border-radius:6px;z-index:2}.day-cell .ride-photo-indicator svg{width:12px;height:12px}.day-cell .type-picker-menu{z-index:80}.day-cell .ride-title:hover,.day-cell .ride-title:focus{z-index:8}.day-cell .ride-title:hover:after,.day-cell .ride-title:focus:after,.day-cell .ride-title:active:after{content:attr(data-full-title);position:absolute;left:0;bottom:calc(100% + 8px);z-index:40;width:max-content;max-width:min(360px,42vw);padding:8px 10px;border-radius:8px;border:1px solid rgba(154,186,214,.24);background:#060e18f7;color:#fff;box-shadow:0 14px 34px #00000057;white-space:normal;line-height:1.35;font-size:.78rem;font-weight:650;pointer-events:none}.day-cell:nth-child(7n) .ride-title:hover:after,.day-cell:nth-child(7n) .ride-title:focus:after,.day-cell:nth-child(7n) .ride-title:active:after{left:auto;right:0}.day-cell:nth-child(7n+1) .ride-title:hover:after,.day-cell:nth-child(7n+1) .ride-title:focus:after,.day-cell:nth-child(7n+1) .ride-title:active:after{left:0;right:auto}.day-cell .ride-metrics{font-size:.76rem;line-height:1.22;gap:2px 0}.day-cell .ride-metric-value{color:#ecf7ff;font-weight:700}.day-cell .ride-metric-separator{color:#dcebf880;margin:0 5px}.day-cell .calendar-metrics{display:grid;gap:1px;color:#ecf7ff;font-size:.78rem;line-height:1.08}.calendar-metric-time{color:#fff;font-size:.88rem;font-weight:800;letter-spacing:.01em}.calendar-metric-line,.calendar-metric-power{display:flex;align-items:center;min-width:0;color:#d9f1ff;font-weight:700;white-space:normal;flex-wrap:wrap;row-gap:1px}.calendar-metric-power{color:#bfd8e9}.calendar-metric-line .ride-metric-separator{margin:0 3px}.calendar-metric-line .elevation-category-badge{flex:0 0 auto;padding:1px 4px;gap:0;font-size:.52rem;line-height:1;max-width:52px;overflow:hidden;text-overflow:clip;white-space:nowrap}.day-cell .pr-badge{align-self:flex-start;padding:3px 6px;font-size:.58rem;line-height:1;margin-top:1px}.day-cell .pr-badge svg{width:12px;height:12px}.pr-record-panel{border:1px solid rgba(240,193,90,.18);border-radius:10px;padding:14px;background:#0c1824b8;color:var(--muted-strong)}.pr-record-panel.new-record{display:grid;gap:14px;border-color:#f0c15a6b;background:linear-gradient(180deg,#533d166b,#12181fc7);box-shadow:0 14px 34px #00000038,inset 0 0 0 1px #f0c15a14}.pr-record-head{display:flex;align-items:center;gap:12px}.pr-record-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#ffd978;background:#f0c15a29;border:1px solid rgba(240,193,90,.38);box-shadow:0 10px 24px #f0c15a1a}.pr-record-kicker{display:inline-flex;align-items:center;gap:8px;color:#ffd978;font-size:.82rem;font-weight:800;letter-spacing:.05em}.pr-record-panel.new-record>div:first-child strong{display:block;margin-top:5px;color:#fff6d6;font-size:1.05rem}.pr-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pr-record-grid span,.subtle-record span{color:var(--muted)}.pr-record-grid strong,.subtle-record strong{display:block;margin-top:3px;color:#fff;font-weight:750}.pr-record-panel.subtle-record{display:flex;gap:14px;flex-wrap:wrap;border-color:#9abad61f;background:#08111d70}.detail-block{display:grid;gap:20px}.detail-title-area{min-width:0}.detail-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.detail-title .flag-icon{width:28px;height:19px;flex-basis:28px;margin-right:0;border-radius:3px;vertical-align:0}.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.icon-action{background:#5ac8fa1a;color:#dff4ff;border:1px solid rgba(90,200,250,.18)}.danger-action{background:#ff76841a;color:#ffc4cb;border:1px solid rgba(255,118,132,.24)}.icon-action:hover,.danger-action:hover{transform:translateY(-1px)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-tile{min-height:126px;border-radius:10px;padding:15px;color:var(--text);text-align:left;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#182634e6,#0f1b27f0);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.metric-tile.clickable{cursor:pointer}.metric-tile.clickable:hover{box-shadow:0 15px 34px #00000038}.metric-tile-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.metric-tile-top .metric-icon{padding:9px;background:#ffffff0b;border:1px solid rgba(255,255,255,.07)}.metric-tile strong{font-size:clamp(1.24rem,1.8vw,1.72rem);line-height:1.08;font-weight:700;font-variant-numeric:tabular-nums}.metric-tile strong.empty-value{color:#71879a}.metric-icon{color:currentColor}.metric-tile:nth-child(4n+1) .metric-icon{color:var(--green)}.metric-tile:nth-child(4n+2) .metric-icon{color:var(--blue)}.metric-tile:nth-child(4n+3) .metric-icon{color:var(--yellow)}.metric-tile:nth-child(4n+4) .metric-icon{color:var(--violet)}.source-chip{padding:3px 7px;border-radius:999px;color:#b7dff0;background:#5ac8fa14;border:1px solid rgba(90,200,250,.17);font-size:.68rem;font-weight:600}.metric-edit-button{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(154,186,214,.14);border-radius:7px;color:var(--muted-strong);background:#ffffff0b;cursor:pointer}.metric-edit-button:hover{color:var(--text);border-color:#5ac8fa52}.source-chip.subtle{opacity:.62}.metric-edit-modal{width:min(480px,94vw);border-radius:12px;padding:24px;position:relative;display:grid;gap:14px;background:#101b28;border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.metric-edit-modal h2{font-size:1.45rem;line-height:1.18}.metric-edit-modal p{color:var(--muted-strong)}.metric-edit-modal p strong{color:var(--text)}.metric-edit-modal label{display:grid;gap:6px;color:var(--muted);font-size:.86rem}.metric-edit-modal input{width:100%;border:1px solid rgba(154,186,214,.18);background:#07101ac2;color:var(--text);border-radius:8px;padding:11px 12px;outline:none}.metric-edit-modal input:focus{border-color:#5ac8fa8f;box-shadow:0 0 0 3px #5ac8fa14}.auto-value-note{font-size:.88rem}.metric-edit-actions{display:flex;gap:8px;flex-wrap:wrap}.metric-edit-actions button{border:1px solid rgba(154,186,214,.16);border-radius:8px;color:var(--muted-strong);background:#9abad614;padding:9px 12px;cursor:pointer;font-weight:650}.metric-edit-actions button:first-child{background:#2b8fbd;color:#f6fbff;border-color:#5ac8fa3d}.activity-info-line{color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:.02em;margin-top:-8px}.ride-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.ride-photo-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:7px;color:var(--cyan);background:#5ac8fa1a;border:1px solid rgba(90,200,250,.18)}.activity-photo-card{display:inline-grid;gap:9px;width:min(100%,420px);justify-self:start;border:1px solid rgba(154,186,214,.13);background:#09121c94;border-radius:10px;padding:12px}.activity-photo-frame{display:grid;place-items:center;width:min(100%,392px);height:clamp(180px,18vw,240px);border:1px solid rgba(154,186,214,.11);border-radius:9px;padding:8px;overflow:hidden;background:#06101a;cursor:zoom-in}.activity-photo-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:6px;object-fit:contain}.activity-photo-caption{color:var(--muted);font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.image-preview-modal{width:min(1320px,94vw);max-height:92vh;border-radius:12px;padding:14px;position:relative;background:#101b28;border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.image-preview-modal img{display:block;width:100%;max-height:calc(92vh - 28px);object-fit:contain;border-radius:8px}.route-card{position:relative;width:100%;display:grid;gap:8px;text-align:left;padding:0;border-radius:10px;color:#eaf7ff;overflow:hidden;background:#0d1b28d6;border-color:#5ccdeb52;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.route-card.indoor,.route-card.rouvy{background:linear-gradient(135deg,#11584e80,#0a2630e6);border-color:#5ce0ff94;box-shadow:inset 0 0 0 3px #5ce0ff47}.route-card.outdoor,.route-card.garmin{background:linear-gradient(135deg,#195b8880,#0a263ae6);border-color:#5ce0ffa3;box-shadow:inset 0 0 0 3px #5ce0ff52}.route-card.manual,.route-card.demo{background:linear-gradient(135deg,#4f35806b,#101d2fe0);border-color:#5ce0ff80;box-shadow:inset 0 0 0 3px #5ce0ff3d}.route-card.neutral{background:#101f2fdb;border-color:#5ce0ff75;box-shadow:inset 0 0 0 3px #5ce0ff38}.route-card.active{border-color:#5ce0ffdb;box-shadow:0 0 0 3px #5ce0ff6b inset,0 0 20px #5ce0ff24}.route-card.indoor.active,.route-card.rouvy.active{background:linear-gradient(135deg,#135e538a,#0a2832eb);border-color:#5ce0ffdb}.route-card.outdoor.active,.route-card.garmin.active{background:linear-gradient(135deg,#1c62918a,#0a283eeb);border-color:#5ce0ffe0}.route-card.manual.active,.route-card.demo.active{background:linear-gradient(135deg,#543a8975,#112034e6);border-color:#5ce0ffc7}.route-card:hover{transform:none;border-color:#5ce0ffdb;box-shadow:inset 0 0 0 3px #5ce0ff61,0 0 18px #5ce0ff1f}.route-card.indoor:hover,.route-card.rouvy:hover{background:linear-gradient(135deg,#107057a8,#093030f0)}.route-card.outdoor:hover,.route-card.garmin:hover{background:linear-gradient(135deg,#1f71a3a8,#09304cf0)}.route-card.manual:hover,.route-card.demo:hover{background:linear-gradient(135deg,#6546a194,#17253ef0)}.route-card.neutral:hover{background:#142a3ef0}.route-card-main{display:grid;gap:8px;width:100%;border:0;padding:14px 14px 4px 22px;color:inherit;background:transparent;text-align:left;cursor:pointer}.route-card-title,.route-detail-title,.attempt-list button>span{display:flex;align-items:center;gap:8px;font-weight:650;line-height:1.32}.route-card-title{color:#f4fbff;font-weight:780}.route-card.indoor .route-card-title,.route-card.rouvy .route-card-title{color:#d5fff0}.route-card.outdoor .route-card-title,.route-card.garmin .route-card-title{color:#d8f4ff}.route-card.manual .route-card-title,.route-card.demo .route-card-title{color:#efe6ff}.route-detail-title{flex-wrap:wrap}.route-detail-title .flag-icon{width:26px;height:18px;flex-basis:26px;margin-right:0}.route-card small,.route-card em,.attempt-list small{color:var(--muted)}.route-meta-line,.route-time-line,.route-time-date{display:inline-flex;align-items:center;gap:6px}.route-meta-line{color:#f2f8ff!important;font-weight:750}.route-meta-line svg{color:#5ce0ff;opacity:.9}.route-time-line svg,.route-time-date svg{color:#8ab4ff;opacity:.95}.route-performance-line{width:fit-content;padding:5px 8px;border-radius:999px;border:1px solid rgba(154,186,214,.16);background:#050d1647;color:#d6edf8!important;font-size:.8rem;font-weight:760;display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}.route-performance-item{display:inline-flex;align-items:center;gap:4px}.route-performance-item.power svg{color:#f0c15a}.route-performance-item.heart svg{color:#ff7684}.route-performance-item.cadence svg{color:#5ce0ff}.route-card.indoor .route-performance-line,.route-card.rouvy .route-performance-line{border-color:#5bd8b138;background:#1664522e}.route-card.outdoor .route-performance-line,.route-card.garmin .route-performance-line{border-color:#5cc8fa3d;background:#1a689c2e}.route-record-line{display:grid;gap:3px;color:#fff6d6}.route-time-line{color:#f2f8ff;font-weight:750}.route-record-line .route-record-label{color:#f5c95c;font-size:.74rem;letter-spacing:.03em;display:inline-flex;align-items:center;gap:5px}.route-record-line .route-time-date{color:#fff6d6;font-size:1rem;letter-spacing:0}.route-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 14px 13px 22px}.route-open-button,.route-history-toggle{border:1px solid rgba(90,200,250,.2);border-radius:8px;background:#5ac8fa17;color:#dff4ff;padding:7px 9px;cursor:pointer;font-size:.78rem;font-weight:750}.route-history-toggle{color:var(--muted-strong);background:#9abad60f}.route-open-button:hover,.route-history-toggle:hover{background:#5ac8fa29;border-color:#5ac8fa61}.route-history-list{display:grid;gap:7px;padding:0 14px 14px 22px}.route-history-row{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center;padding:10px;border-radius:8px;border:1px solid rgba(125,170,204,.16);background:#050d16ad;box-shadow:inset 0 1px #ffffff06}.route-history-row+.route-history-row{border-top-color:#9abad633}.route-history-row span{display:flex;align-items:center;gap:6px;color:#f5fbff;font-weight:650}.route-history-row strong{color:#fff;font-size:1rem;font-weight:820}.route-history-row small{grid-column:1 / -1;color:#abc6dc}.route-history-row button{justify-self:start;border:1px solid rgba(90,200,250,.2);border-radius:7px;background:#5ac8fa14;color:#dff4ff;padding:6px 8px;cursor:pointer}.route-history-row.record{border-color:#f5c95c61;background:linear-gradient(135deg,#f5b84b21,#07101ac2);box-shadow:inset 0 1px #ffe6a114}.route-history-row.record span,.route-history-row.record strong{color:#fff6d6}.compact-route-history{margin-top:16px}.text-flag{display:inline-block;margin-right:4px;line-height:1}.attempt-list button{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid rgba(125,170,204,.16);color:#eaf7ff;background:#050d16a8;padding:12px 13px;border-radius:9px;cursor:pointer;transition:background .16s ease,border-color .16s ease}.attempt-list button>span{color:#f5fbff;font-weight:700}.attempt-list button strong{color:#fff;font-size:1rem;font-weight:820}.attempt-list small{color:#abc6dc}.attempt-list button:hover{background:#122231e0;border-color:#5ac8fa47}.attempt-list button.record{border-color:#f5c95c5c;background:linear-gradient(135deg,#f5b84b1f,#07101ab8)}.attempt-list button.record>span,.attempt-list button.record strong{color:#fff6d6}.chart-wrap{margin-top:10px;padding:12px 8px 4px;border-radius:10px;background:#07101a57;border:1px solid rgba(154,186,214,.08)}.chart-wrap svg{width:100%;min-height:240px;display:block}.grid-line{stroke:#b4cde21c;stroke-width:1}.chart-axis,.chart-stats{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.84rem}.chart-axis{padding:0 4px 4px}.chart-stats{margin-top:16px;padding-top:16px;border-top:1px solid rgba(154,186,214,.12)}.chart-stats strong{color:#fff;font-variant-numeric:tabular-nums}.chart-empty,.map-empty{min-height:220px;display:grid;place-items:center;text-align:center;color:var(--muted-strong);border:1px dashed rgba(154,186,214,.22);background:#08111d75;border-radius:10px;padding:18px}.chart-hitbox{fill:transparent;cursor:crosshair;touch-action:none}.chart-cursor line{stroke:#edf6ff80;stroke-width:1.4;stroke-dasharray:5 5}.chart-cursor rect{fill:#07101aad;stroke:#5ac8fa7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chart-cursor text{fill:#bcd0e2;font-size:13px;font-weight:500}.chart-cursor .tooltip-value{fill:#fff;font-size:17px;font-weight:700}.training-progress-panel{display:grid;gap:14px;border:1px solid rgba(154,186,214,.13);border-radius:10px;padding:16px;background:#09121c94}.training-progress-panel .section-title{margin-bottom:0;align-items:center}.progress-axis-toggle{margin-right:0}.progress-chart-grid{display:grid;gap:12px}.progress-chart-card{display:grid;gap:8px;border:1px solid rgba(154,186,214,.11);border-radius:10px;padding:12px 12px 8px;background:#07101a8a;overflow:hidden}.progress-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:.82rem}.progress-chart-head strong{color:#f4fbff;font-size:.98rem;font-weight:750}.progress-chart-card svg{width:100%;min-height:180px;max-height:240px;display:block}.progress-chart-stage{position:relative;overflow:hidden;border-radius:8px}.progress-chart-stage svg{position:relative;z-index:1}.tooltip-cyclist{opacity:.96;pointer-events:none}.tooltip-speed-line{fill:none;stroke:#9abad66b;stroke-width:1.6;stroke-linecap:round}.tooltip-cyclist-road{fill:none;stroke:#daf6ff6b;stroke-width:2.2;stroke-linecap:round}.tooltip-wheel{fill:#07101ab8;stroke:#eef9fff0;stroke-width:2.3;stroke-dasharray:18 8;transform-box:fill-box;transform-origin:center;animation:tooltip-wheel-roll var(--pedal-speed, .8s) linear infinite}.tooltip-bike-frame,.tooltip-bike-bar{fill:none;stroke:#ff5b63;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}.tooltip-crank{transform-box:fill-box;transform-origin:center;animation:tooltip-crank-spin var(--pedal-speed, .8s) linear infinite}.tooltip-crank circle{fill:#f8fbff}.tooltip-crank path{fill:none;stroke:#f8fbff;stroke-width:1.8;stroke-linecap:round}.tooltip-rider-torso{fill:#ff4e5d;stroke:#ffd6da80;stroke-width:.8}.tooltip-rider-short{fill:#2f83c5;stroke:#daf6ff47;stroke-width:.7}.tooltip-rider-head{fill:#f0d0b8}.tooltip-rider-helmet{fill:#111925;stroke:#ff5b63;stroke-width:.95}.tooltip-rider-arm,.tooltip-rider-leg{fill:none;stroke:#f3dac7;stroke-width:2.55;stroke-linecap:round;stroke-linejoin:round}.tooltip-rider-shoe{fill:none;stroke:#7fdcff;stroke-width:2.3;stroke-linecap:round}.tooltip-arm-back{opacity:.76}.tooltip-leg-front{transform-box:fill-box;transform-origin:top;animation:tooltip-leg-front var(--pedal-speed, .8s) ease-in-out infinite}.tooltip-leg-back{transform-box:fill-box;transform-origin:top;animation:tooltip-leg-back var(--pedal-speed, .8s) ease-in-out infinite}@keyframes tooltip-wheel-roll{to{transform:rotate(360deg)}}@keyframes tooltip-crank-spin{to{transform:rotate(360deg)}}@keyframes tooltip-leg-front{50%{transform:rotate(-8deg)}}@keyframes tooltip-leg-back{50%{transform:rotate(8deg)}}@media(max-width:760px),(pointer:coarse){.tooltip-cyclist{display:none}}@media(prefers-reduced-motion:reduce){.tooltip-cyclist,.tooltip-cyclist *{animation:none!important}}.progress-chart-card .chart-axis{padding:0 4px}@media(max-width:760px){.training-progress-panel{padding:12px}.training-progress-panel .section-title{align-items:flex-start}.progress-axis-toggle{width:100%;margin-top:6px}.progress-axis-toggle button{flex:1}.progress-chart-head{display:grid;gap:3px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#02070dc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chart-modal{width:min(1120px,94vw);min-height:min(650px,88vh);border-radius:12px;padding:26px;position:relative;background:#101b28;border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.close-button{position:absolute;top:16px;right:16px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:8px;color:#eaf7ff;background:#fff1;cursor:pointer;transition:background .16s ease,transform .16s ease}.close-button:hover{background:#ffffff1c;transform:translateY(-1px)}.axis-toggle{display:flex;gap:4px;padding:4px;background:#050c14bd;border:1px solid rgba(154,186,214,.1);border-radius:9px;margin-right:54px}.share-modal{width:min(980px,94vw);max-height:92vh;overflow:auto;border-radius:12px;padding:24px;position:relative;display:grid;gap:16px;background:#101b28;border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.share-preview{display:block;width:100%;border-radius:10px;border:1px solid rgba(154,186,214,.16);background:#07111d}.share-loading{min-height:260px;display:grid;place-items:center;border:1px dashed rgba(154,186,214,.22);border-radius:10px;color:var(--muted-strong);background:#08111d75}.share-text-preview{white-space:pre-line;color:#dff4ff;border:1px solid rgba(154,186,214,.12);border-radius:9px;padding:12px;background:#07101a9e;font-weight:650}.share-status{color:var(--muted-strong);font-size:.88rem}.share-actions{display:flex;flex-wrap:wrap;gap:9px}.share-actions button{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(90,200,250,.2);border-radius:9px;color:#f6fbff;background:#5ac8fa1f;padding:10px 13px;cursor:pointer;font-weight:750}.share-actions button:hover:not(:disabled){background:#5ac8fa2e;transform:translateY(-1px)}.share-actions .facebook-share-button{background:#1877f229;border-color:#5b9dff61;color:#dcecff;font-weight:800}.share-actions .facebook-share-button:hover:not(:disabled){background:#1877f242}.share-actions button:disabled{opacity:.48;cursor:not-allowed}.share-facebook-note{color:var(--muted);font-size:.82rem;line-height:1.45;border-top:1px solid rgba(154,186,214,.1);padding-top:10px;margin:0}.stats-head{align-items:flex-start}.stats-heading-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.stats-period-toggle{display:inline-flex;gap:4px;margin-top:2px;padding:4px;border:1px solid rgba(154,186,214,.12);border-radius:9px;background:#050c14b8}.stats-period-toggle button{border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted-strong);padding:7px 11px;cursor:pointer;font-size:.82rem;font-weight:800}.stats-period-toggle button:hover{background:#9abad614;color:#e9f8ff}.stats-period-toggle button.active{border-color:#5ce0ff7a;background:#5ce0ff24;color:#e7fbff}.stats-type-toggle{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding:4px;border:1px solid rgba(154,186,214,.12);border-radius:9px;background:#050c14b8}.stats-type-toggle button{border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted-strong);padding:7px 10px;cursor:pointer;font-size:.82rem;font-weight:800}.stats-type-toggle button:hover{background:#9abad614;color:#e9f8ff}.stats-type-toggle button.active.all{border-color:#5ce0ff73;background:#5ce0ff21;color:#e7fbff}.stats-type-toggle button.active.indoor{border-color:#57d89973;background:#57d89924;color:#dcfff0}.stats-type-toggle button.active.outdoor{border-color:#4fd4ff80;background:#4fd4ff24;color:#e0f8ff}.stats-empty-state{margin-top:16px;padding:18px;border:1px dashed rgba(154,186,214,.18);border-radius:10px;color:var(--muted-strong);background:#060f185c}.bar-grid article{display:grid;gap:8px;padding:12px;border:1px solid rgba(154,186,214,.1);border-radius:9px;background:#09121c7a}.stats-ride-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stats-ride-head>span{min-width:0;color:#f5fbff;font-weight:700;line-height:1.25}.stats-ride-open{flex:0 0 auto;border:1px solid rgba(90,200,250,.28);border-radius:8px;padding:6px 9px;color:#e5f8ff;background:#5ac8fa1a;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease}.stats-ride-open:hover{background:#5ac8fa2e;border-color:#5ac8fa7a}.bar{height:10px;background:#9abad621;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#5ac8fa;border-radius:inherit;box-shadow:0 0 18px #5ac8fa38}.bar-grid small{color:var(--muted)}.stats-rides-toggle{width:100%;min-height:42px;border:1px solid rgba(92,224,255,.28);border-radius:9px;background:#091c2a94;color:#dff6ff;font:inherit;font-size:.92rem;font-weight:750;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.stats-rides-toggle:hover{border-color:#5ce0ff8a;background:#11364cad;box-shadow:0 0 0 3px #5ce0ff14}.year-month-overview{margin-top:22px;display:grid;gap:12px}.year-month-list{display:grid;gap:9px}.year-month-list article{display:grid;grid-template-columns:minmax(170px,.42fr) 1fr;align-items:center;gap:14px;padding:11px 12px;border:1px solid rgba(154,186,214,.11);border-radius:9px;background:#08131f75}.year-month-list strong{display:block;color:#eef8ff;font-size:.95rem;font-weight:780}.year-month-list small{display:block;margin-top:3px;color:var(--muted);font-size:.82rem}@media(max-width:720px){.year-month-list article{grid-template-columns:1fr;gap:8px}}.edit-title-row label,.manual-edit-grid label,.edit-row label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:740}.edit-title-row input,.manual-edit-grid input,.edit-row input{width:100%;border:1px solid rgba(154,186,214,.18);background:#07101ac2;color:var(--text);border-radius:8px;padding:10px 12px;outline:none}.edit-title-row input:focus,.manual-edit-grid input:focus,.edit-row input:focus{border-color:#5ac8fa8f;box-shadow:0 0 0 3px #5ac8fa14}.edit-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px;gap:10px;margin-top:8px;align-items:end}.manual-edit-panel,.fit-diagnostics,.route-map-panel{border:1px solid rgba(154,186,214,.13);background:#09121c94;border-radius:10px;padding:16px;display:grid;gap:12px}.manual-edit-panel p{color:#dff4ff}.manual-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fit-diagnostics{padding:0;gap:0;overflow:hidden;background:#09121c6b}.diagnostic-toggle{width:100%;min-height:54px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:0;background:transparent;color:var(--muted-strong);text-align:left;cursor:pointer}.diagnostic-toggle:hover{background:#9abad60b}.diagnostic-title{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-weight:650}.diagnostic-title svg{color:var(--cyan);opacity:.82}.diagnostic-status{justify-self:start;color:var(--muted);font-size:.84rem;font-weight:500}.diagnostic-status.success{color:#a8d7c2}.diagnostic-status.warning{color:#f1c6cc}.diagnostic-chevron{color:var(--muted);transition:transform .18s ease,color .18s ease}.fit-diagnostics.open .diagnostic-chevron{transform:rotate(180deg);color:var(--cyan)}.diagnostic-content{max-height:0;opacity:0;overflow:hidden;transition:max-height .22s ease,opacity .18s ease}.fit-diagnostics.open .diagnostic-content{max-height:520px;opacity:1}.diagnostic-content-inner{display:grid;gap:12px;padding:0 14px 14px}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagnostic-grid span{color:var(--muted);background:#08111d8a;border-radius:8px;padding:10px;border:1px solid rgba(154,186,214,.08)}.diagnostic-grid strong{display:block;color:var(--text);margin-top:4px}.diagnostic-lists{display:grid;gap:6px;color:var(--muted-strong);font-size:.9rem}.diagnostic-lists strong{color:var(--text)}.route-map-panel .section-title{margin-bottom:0}.stored-map-preview{display:block;overflow:hidden;border-radius:10px;border:1px solid rgba(154,186,214,.18);background:#0b1520}.stored-map-preview img{display:block;width:100%;max-height:420px;object-fit:cover}.route-map{width:100%;min-height:380px;border-radius:10px;overflow:hidden;border:1px solid rgba(154,186,214,.18);background:#0b1520;box-shadow:inset 0 0 0 1px #ffffff05}.leaflet-container{background:#0b1520;font:inherit}.leaflet-tooltip{border:1px solid rgba(90,200,250,.36);background:#07101af5;color:#edf6ff;border-radius:8px;box-shadow:0 14px 34px #0000004d;line-height:1.45}.leaflet-control-attribution,.leaflet-control-zoom a{color:#173047}.batch-import-panel{max-width:1480px;margin:0 auto 22px;border:1px solid rgba(154,186,214,.13);background:#09121cb8;border-radius:10px;padding:16px;display:grid;gap:14px;box-shadow:var(--shadow-soft)}.batch-import-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.batch-import-head h3{font-size:1.08rem;line-height:1.25;font-weight:700}.close-batch{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(154,186,214,.12);border-radius:8px;color:var(--muted-strong);background:#ffffff0a;cursor:pointer}.close-batch:disabled{opacity:.4;cursor:not-allowed}.batch-file-list{display:grid;gap:8px}.batch-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 12px;border:1px solid rgba(154,186,214,.1);border-radius:9px;background:#08111d7a}.batch-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600}.batch-status{justify-self:end;padding:3px 8px;border-radius:999px;color:var(--muted-strong);background:#9abad614;border:1px solid rgba(154,186,214,.12);font-size:.76rem;font-weight:600}.batch-file small{grid-column:1 / -1;color:var(--muted)}.batch-file.importováno .batch-status{color:#a8d7c2;background:#7ee78717;border-color:#7ee7872e}.batch-file.chyba .batch-status{color:#f1c6cc;background:#ff768417;border-color:#ff76842e}.batch-file.načítání .batch-status{color:#dff4ff;background:#5ac8fa1a;border-color:#5ac8fa33}.batch-file.přeskočeno .batch-status{color:#f5cf74;background:#f0c15a1a;border-color:#f0c15a33}.batch-import-button,.duplicate-box button{width:fit-content;border:1px solid rgba(90,200,250,.2);border-radius:8px;background:#2b8fbd;color:#f6fbff;padding:10px 14px;cursor:pointer;font-weight:700}.batch-summary{color:var(--muted-strong);padding:10px 12px;border-radius:8px;background:#7ee78712;border:1px solid rgba(126,231,135,.14)}.duplicate-box{display:grid;gap:8px;padding:12px;border:1px solid rgba(240,193,90,.22);border-radius:9px;background:#f0c15a12}.duplicate-box strong{color:#f5cf74;font-weight:700}.duplicate-box p{color:var(--muted-strong)}.duplicate-box div{display:flex;gap:8px;flex-wrap:wrap}.duplicate-box button:first-child{background:#9abad614;color:var(--muted-strong);border-color:#9abad629}@media(max-width:760px){.activity-photo-card{width:100%}.activity-photo-frame{width:100%;height:clamp(170px,52vw,230px)}}.rider-switcher{position:relative;z-index:240;width:max-content;margin-top:5px}.active-rider-label{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 8px;border:1px solid rgba(90,200,250,.22);border-radius:8px;background:#5ac8fa14;color:var(--cyan);font-size:.78rem;font-weight:750;letter-spacing:.01em;cursor:pointer}.active-rider-label b{color:#dff7ff;font-weight:800}.active-rider-label:hover{background:#5ac8fa24;border-color:#5ac8fa6b}.rider-switcher-menu{position:absolute;z-index:260;top:calc(100% + 7px);left:0;min-width:180px;max-height:min(320px,calc(100vh - 150px));overflow-y:auto;padding:7px;border:1px solid rgba(154,186,214,.18);border-radius:10px;background:#060f18fa;box-shadow:0 18px 46px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.rider-switcher-menu button{width:100%;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;border:0;border-radius:8px;padding:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-weight:700}.rider-switcher-menu button:hover,.rider-switcher-menu button.active{background:#5ac8fa1a}.rider-switcher-menu button strong{color:var(--cyan)}.switcher-avatar{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;overflow:hidden;color:#06111e;box-shadow:inset 0 0 0 1px #fff3}.switcher-avatar img{width:100%;height:100%;object-fit:cover;display:block}.riders-page{display:grid;gap:18px}.rider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.rider-card,.add-rider-card{border:1px solid rgba(154,186,214,.15);border-radius:10px;background:#0b1825d1;box-shadow:0 18px 42px #0000002e;overflow:hidden}.rider-card.active{border-color:#53d8ffe6;box-shadow:0 0 0 2px #53d8ff57,0 0 30px #53d8ff29,0 20px 46px #00000047;background:linear-gradient(180deg,#0e2334f0,#0a1927e6)}.rider-card-main,.add-rider-card{width:100%;min-height:210px;padding:18px;border:0;color:var(--text);text-align:left;background:transparent;cursor:pointer;display:grid;gap:10px}.rider-card-main:hover,.add-rider-card:hover{background:#5ac8fa0d}.rider-avatar{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#06111e;box-shadow:inset 0 0 0 1px #ffffff3d;overflow:hidden}.rider-avatar img,.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.rider-avatar-upload{width:max-content;display:block;cursor:pointer;border-radius:12px}.rider-avatar-upload input{display:none}.rider-avatar-upload:hover .rider-avatar{box-shadow:inset 0 0 0 1px #ffffff52,0 0 0 3px #5ac8fa29}.brand-mark{overflow:hidden}.rider-card strong,.add-rider-card strong{font-size:1.25rem;font-weight:750}.rider-card small,.add-rider-card small{color:var(--muted-strong);font-weight:650}.rider-card.active small{width:max-content;padding:4px 8px;border-radius:999px;border:1px solid rgba(83,216,255,.34);background:#53d8ff1f;color:#7fe4ff;font-weight:820;letter-spacing:.01em}.rider-stats{display:grid;gap:7px;margin-top:4px;width:min(100%,340px)}.rider-stats span{display:grid;grid-template-columns:minmax(84px,max-content) minmax(0,auto);justify-content:start;align-items:baseline;gap:10px;color:var(--muted);font-size:.9rem}.rider-stats b{color:#f3fbff;font-weight:750;text-align:left;overflow-wrap:anywhere}.rider-actions{display:flex;gap:7px;padding:0 14px 14px;flex-wrap:nowrap}.rider-actions button,.profile-dialog-actions button{border:1px solid rgba(154,186,214,.16);border-radius:8px;background:#0e1f2fe6;color:var(--text);padding:8px 9px;cursor:pointer;font-size:.86rem;line-height:1.1;font-weight:700;white-space:nowrap}.rider-actions .danger-mini{color:#fff;background:#be283838;border-color:#eb37487a}.rider-actions .danger-mini:hover{background:#d2304052;border-color:#ff5c689e}.add-rider-card{align-content:center;justify-items:start;border-style:dashed}.add-rider-card span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#5ac8fa21;color:var(--cyan);font-size:2rem;line-height:1}.profile-dialog{width:min(440px,calc(100vw - 28px));padding:24px;border-radius:12px;border:1px solid rgba(154,186,214,.18);background:#0c1826;position:relative;display:grid;gap:14px}.profile-dialog label{display:grid;gap:7px;color:var(--muted-strong);font-weight:700}.profile-dialog input{border:1px solid rgba(154,186,214,.18);border-radius:8px;background:#060f18e0;color:var(--text);padding:12px;font:inherit}.profile-dialog-actions{display:flex;flex-wrap:wrap;gap:9px}.elevation-category-badge{width:fit-content;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(154,186,214,.18);border-radius:999px;padding:4px 8px;background:#9abad614;color:#d7e8f6;font-size:.76rem;font-weight:820;line-height:1}.elevation-category-badge small{color:currentColor;opacity:.86;font-size:.72rem;font-weight:760}.elevation-category-badge.cat7,.elevation-category-badge.cat6,.elevation-category-badge.cat5{border-color:#80b0d642;background:#486f9133;color:#cbe3f7}.elevation-category-badge.cat4,.elevation-category-badge.cat3{border-color:#5ce0b247;background:#1d755b38;color:#c9ffe9}.elevation-category-badge.cat2,.elevation-category-badge.cat1{border-color:#f5b94b57;background:#945b193d;color:#ffe2a8}.elevation-category-badge.hc,.elevation-category-badge.hcplus{border-color:#ff69585c;background:#912b2647;color:#ffd0c8}.detail-elevation-category{margin-top:-4px;margin-bottom:12px}.bar-grid .elevation-category-badge{margin-top:2px}.route-history-row .elevation-category-badge{grid-column:1 / -1}.attempt-list .elevation-category-badge{margin-top:2px}@media(max-width:760px){.route-performance-sort{grid-template-columns:1fr}}:root[data-theme=graphite]{color-scheme:dark;background:#111315;color:#eef3f6;--bg: #111315;--bg-soft: #171a1d;--panel: rgba(31, 34, 38, .94);--panel-strong: rgba(38, 42, 47, .96);--panel-soft: rgba(26, 29, 33, .74);--line: rgba(190, 202, 210, .14);--line-strong: rgba(190, 202, 210, .24);--text: #eef3f6;--muted: #9aa7ae;--muted-strong: #c5d0d6;--cyan: #64c7df;--blue: #93b9ef;--shadow: 0 18px 48px rgba(0, 0, 0, .3);--shadow-soft: 0 10px 26px rgba(0, 0, 0, .2)}:root[data-theme=light]{color-scheme:light;background:#eef3f7;color:#132231;--bg: #eef3f7;--bg-soft: #e3ebf2;--panel: rgba(255, 255, 255, .94);--panel-strong: rgba(250, 253, 255, .98);--panel-soft: rgba(238, 245, 250, .86);--line: rgba(30, 65, 91, .14);--line-strong: rgba(30, 65, 91, .24);--text: #132231;--muted: #65798a;--muted-strong: #39566b;--cyan: #0a8fb8;--blue: #2f69be;--green: #187a4f;--yellow: #a46f00;--red: #bf3348;--violet: #6f55c8;--shadow: 0 18px 48px rgba(42, 65, 86, .14);--shadow-soft: 0 10px 26px rgba(42, 65, 86, .1)}.admin-auth-button,.admin-auth-pill{min-height:38px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:8px;background:#5ac8fa14;color:var(--text);padding:8px 10px;font-size:.82rem;font-weight:760}.admin-auth-button.compact,.admin-auth-pill.compact{min-height:34px;gap:6px;border-radius:8px;padding:7px 9px;font-size:.78rem;letter-spacing:0}.admin-auth-pill.compact button{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:7px;opacity:.78}.admin-auth-pill.compact button:hover{background:#ffffff1a;opacity:1}.admin-auth-pill.active{border-color:#58d68d52;background:#58d68d14}.admin-auth-button.icon-only{width:34px;padding:7px;justify-content:center}.admin-auth-button{cursor:pointer}.admin-auth-button:hover{border-color:#5ac8fa7a;background:#5ac8fa24}.admin-auth-button:disabled{cursor:wait;opacity:.72}.admin-auth-pill{color:var(--green)}.admin-auth-pill.warning{color:var(--yellow)}.admin-auth-pill button{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;padding:2px}.admin-login-modal{width:min(440px,calc(100vw - 32px));position:relative;display:grid;gap:13px;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);color:var(--text);padding:24px;box-shadow:var(--shadow)}.admin-login-modal h2{margin:0;font-size:1.35rem}.admin-login-modal p{margin:0;color:var(--muted)}.admin-login-modal label{display:grid;gap:6px;color:var(--muted-strong);font-weight:700}.admin-login-modal input{border:1px solid var(--line-strong);border-radius:8px;background:var(--panel-soft);color:var(--text);padding:10px 11px;font:inherit}.admin-login-message{color:var(--yellow)!important;font-weight:700}:root[data-theme=light] .admin-auth-button,:root[data-theme=light] .admin-auth-pill,:root[data-theme=gray] .admin-auth-button,:root[data-theme=gray] .admin-auth-pill{background:#0a8fb81a;color:#123041}.theme-switcher{position:relative}.theme-switcher-button{min-height:42px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(90,200,250,.2);border-radius:8px;background:#5ac8fa14;color:#dff4ff;padding:9px 10px;cursor:pointer;font-size:.84rem;font-weight:760;transition:background .16s ease,border-color .16s ease,transform .16s ease}.theme-switcher-button:hover{transform:translateY(-1px);background:#5ac8fa24;border-color:#5ac8fa66}.theme-switcher-button span{max-width:116px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-menu{position:absolute;z-index:90;top:calc(100% + 8px);right:0;min-width:190px;padding:7px;border:1px solid var(--line-strong);border-radius:10px;background:#060f18fa;box-shadow:0 18px 46px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.theme-menu button{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:0;border-radius:8px;padding:9px 10px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-weight:750}.theme-menu button:hover,.theme-menu button.active{background:#5ac8fa1f}.theme-menu strong{color:var(--cyan)}:root[data-theme=graphite] .app-shell{background:radial-gradient(circle at 18% 0%,rgba(96,112,122,.16),transparent 30%),linear-gradient(180deg,#171b1f,#111315 46%,#141618)}:root[data-theme=graphite] .app-header,:root[data-theme=graphite] nav,:root[data-theme=graphite] .theme-menu,:root[data-theme=graphite] .rider-switcher-menu{background:#14171be0}:root[data-theme=graphite] .hero-panel,:root[data-theme=graphite] .summary-card,:root[data-theme=graphite] .metric-tile{background:linear-gradient(180deg,#262a2ff0,#1c2024f0)}:root[data-theme=graphite] .panel,:root[data-theme=graphite] .batch-import-panel,:root[data-theme=graphite] .training-progress-panel,:root[data-theme=graphite] .progress-chart-card,:root[data-theme=graphite] .bar-grid article,:root[data-theme=graphite] .rider-card,:root[data-theme=graphite] .add-rider-card{background:#1f2226e6}:root[data-theme=graphite] .day-cell{background:#22272de0}:root[data-theme=graphite] .day-cell.muted{background:#1f23288c}:root[data-theme=graphite] .route-card.neutral{background:#1f242ae6}:root[data-theme=light] body{background:var(--bg)}:root[data-theme=light] .app-shell{background:radial-gradient(circle at 18% 0%,rgba(90,200,250,.16),transparent 32%),linear-gradient(180deg,#f4f8fb,#eef3f7 48%,#e7eef5)}:root[data-theme=light] .app-header,:root[data-theme=light] .hero-panel,:root[data-theme=light] .panel,:root[data-theme=light] .summary-card,:root[data-theme=light] .metric-tile,:root[data-theme=light] .batch-import-panel,:root[data-theme=light] .training-progress-panel,:root[data-theme=light] .progress-chart-card,:root[data-theme=light] .bar-grid article,:root[data-theme=light] .rider-card,:root[data-theme=light] .add-rider-card,:root[data-theme=light] .activity-photo-card,:root[data-theme=light] .fit-diagnostics,:root[data-theme=light] .chart-wrap,:root[data-theme=light] .video-add-panel,:root[data-theme=light] .video-card{background:#ffffffeb;border-color:var(--line);color:var(--text)}:root[data-theme=light] .hero-panel,:root[data-theme=light] .summary-card,:root[data-theme=light] .metric-tile{background:linear-gradient(180deg,#fffffff5,#f1f7fbf5)}:root[data-theme=light] nav,:root[data-theme=light] .axis-toggle,:root[data-theme=light] .stats-period-toggle,:root[data-theme=light] .stats-type-toggle,:root[data-theme=light] .theme-menu,:root[data-theme=light] .rider-switcher-menu,:root[data-theme=light] .type-picker-menu,:root[data-theme=light] .route-country-menu{background:#fffffffa;border-color:#1e415b29;box-shadow:0 18px 46px #2a415624}:root[data-theme=light] nav button,:root[data-theme=light] .axis-toggle button,:root[data-theme=light] .theme-switcher-button,:root[data-theme=light] .active-rider-label,:root[data-theme=light] .month-controls button,:root[data-theme=light] .section-title button,:root[data-theme=light] .back-button,:root[data-theme=light] .icon-action,:root[data-theme=light] .route-open-button,:root[data-theme=light] .route-history-toggle,:root[data-theme=light] .stats-ride-open{color:#123247;background:#0a8fb814;border-color:#0a8fb833}:root[data-theme=light] nav button.active,:root[data-theme=light] nav button:hover,:root[data-theme=light] .axis-toggle button.active,:root[data-theme=light] .theme-menu button:hover,:root[data-theme=light] .theme-menu button.active,:root[data-theme=light] .rider-switcher-menu button:hover,:root[data-theme=light] .rider-switcher-menu button.active{color:#081f2e;background:#0a8fb824}:root[data-theme=light] .upload-button,:root[data-theme=light] .batch-import-button,:root[data-theme=light] .duplicate-box button{color:#fff}:root[data-theme=light] .brand span,:root[data-theme=light] .eyebrow,:root[data-theme=light] .summary-card span,:root[data-theme=light] .metric-tile span,:root[data-theme=light] .route-card small,:root[data-theme=light] .attempt-list small,:root[data-theme=light] .bar-grid small{color:var(--muted)}:root[data-theme=light] .summary-card strong,:root[data-theme=light] .metric-tile strong,:root[data-theme=light] .hero-kpis strong,:root[data-theme=light] .rider-stats b,:root[data-theme=light] .stats-ride-head>span,:root[data-theme=light] .route-time-line,:root[data-theme=light] .route-meta-line,:root[data-theme=light] .route-card-title{color:var(--text)!important}:root[data-theme=light] input,:root[data-theme=light] textarea,:root[data-theme=light] select,:root[data-theme=light] .hero-title-form input,:root[data-theme=light] .metric-edit-modal input,:root[data-theme=light] .profile-dialog input,:root[data-theme=light] .edit-title-row input,:root[data-theme=light] .manual-edit-grid input,:root[data-theme=light] .edit-row input{background:#fffffff0;color:var(--text);border-color:#1e415b2e}:root[data-theme=light] .day-cell{background:#e8f1f8e6;border-color:#1e415b24}:root[data-theme=light] .day-cell.muted{background:#eef4f9b8}:root[data-theme=light] .day-cell b{color:#1a4059}:root[data-theme=light] .day-cell.indoor{background:linear-gradient(180deg,#bceed7e6,#a0ddc7db);border-color:#187a4f57}:root[data-theme=light] .day-cell.outdoor{background:linear-gradient(180deg,#b8e0f8eb,#97cfefe0);border-color:#2380be61}:root[data-theme=light] .day-cell.manual{background:linear-gradient(180deg,#ddd2f8e6,#cdbff0db);border-color:#6f55c847}:root[data-theme=light] .ride-chip,:root[data-theme=light] .metric-tile,:root[data-theme=light] .attempt-list button,:root[data-theme=light] .route-history-row,:root[data-theme=light] .batch-file,:root[data-theme=light] .year-month-list article{background:#ffffffb8;color:var(--text)}:root[data-theme=light] .ride-chip.indoor,:root[data-theme=light] .ride-chip.rouvy,:root[data-theme=light] .route-card.indoor,:root[data-theme=light] .route-card.rouvy{background:linear-gradient(135deg,#ccf4e1e0,#eefaf6f0);border-color:#0a8fb880}:root[data-theme=light] .ride-chip.outdoor,:root[data-theme=light] .ride-chip.garmin,:root[data-theme=light] .route-card.outdoor,:root[data-theme=light] .route-card.garmin{background:linear-gradient(135deg,#c7e5f9e0,#eff7fdf0);border-color:#0a8fb885}:root[data-theme=light] .ride-chip.manual,:root[data-theme=light] .ride-chip.demo,:root[data-theme=light] .route-card.manual,:root[data-theme=light] .route-card.demo{background:linear-gradient(135deg,#e1d6fae0,#f6f2fdf0);border-color:#0a8fb875}:root[data-theme=light] .chart-modal,:root[data-theme=light] .share-modal,:root[data-theme=light] .metric-edit-modal,:root[data-theme=light] .profile-dialog,:root[data-theme=light] .image-preview-modal{background:#fff;color:var(--text);border-color:#1e415b2e}:root[data-theme=light] .chart-cursor rect,:root[data-theme=light] .leaflet-tooltip{fill:#fffffff5;background:#fffffff5;color:var(--text);border-color:#0a8fb852}:root[data-theme=light] .chart-cursor text{fill:#39566b}:root[data-theme=light] .chart-cursor .tooltip-value{fill:#132231}:root[data-theme=light] .grid-line{stroke:#1e415b24}:root[data-theme=light] .chart-empty,:root[data-theme=light] .map-empty{background:#eef5fac2;color:var(--muted-strong)}:root[data-theme=light] .route-map,:root[data-theme=light] .leaflet-container,:root[data-theme=light] .activity-photo-frame{background:#e7eef5}@media(max-width:860px){.theme-switcher-button span{display:none}.theme-switcher-button{width:42px;padding:9px;justify-content:center}}.theme-switcher-button{width:42px;min-width:42px;height:42px;padding:0;justify-content:center;gap:3px}.theme-switcher-button>span{display:none}.theme-switcher-button svg{flex:0 0 auto}.theme-menu{min-width:154px;padding:6px;background:#07101a;border-color:#5ac8fa42}.theme-menu button{min-height:31px;padding:7px 8px;font-size:.82rem;line-height:1.15}:root[data-theme=graphite] .theme-menu{background:#181b1f}:root[data-theme=light] .theme-menu{background:#fff}:root[data-theme=light] .hero-kpis span,:root[data-theme=light] .live-heart-card{background:#ffffffe6;border-color:#1e415b24;color:var(--muted);box-shadow:0 10px 26px #2a415614}:root[data-theme=light] .live-heart-head{color:#a51f38}:root[data-theme=light] .live-heart-card em{color:var(--muted)}:root[data-theme=light] .live-heart-battery{color:#17627b;background:#0a8fb814;border-color:#0a8fb829}:root[data-theme=light] .live-heart-actions button{color:#8b1d32;background:#bf334814;border-color:#bf334838}:root[data-theme=light] .route-filter-panel{background:#ffffffd1;border-color:#0a8fb82e}:root[data-theme=light] .route-search-row input,:root[data-theme=light] .route-search-row select,:root[data-theme=light] .route-country-button,:root[data-theme=light] .route-performance-sort select,:root[data-theme=light] .sort-control select{background:#fffffff5;color:var(--text);border-color:#1e415b2e}:root[data-theme=light] .clear-route-filters,:root[data-theme=light] .route-quick-filters button,:root[data-theme=light] .route-elevation-visibility{background:#eef5fae0;color:var(--muted-strong);border-color:#1e415b24}:root[data-theme=light] .route-quick-filters button.active,:root[data-theme=light] .route-elevation-visibility:hover{background:#0a8fb81f;color:#0f4058;border-color:#0a8fb85c}:root[data-theme=light] .route-country-menu{background:#fff;border-color:#0a8fb833}:root[data-theme=light] .route-country-menu button{color:var(--text)}:root[data-theme=light] .route-country-menu button:hover,:root[data-theme=light] .route-country-menu button.active{background:#0a8fb81a}:root[data-theme=light] .ride-chip.indoor,:root[data-theme=light] .ride-chip.rouvy{background:linear-gradient(135deg,#d4f6e6f5,#effbf7fa);color:#0f2f27;border-color:#187a4f3d}:root[data-theme=light] .ride-chip.outdoor,:root[data-theme=light] .ride-chip.garmin{background:linear-gradient(135deg,#cde8f9f5,#f0f8fdfa);color:#102f45;border-color:#2380be3d}:root[data-theme=light] .ride-chip.manual,:root[data-theme=light] .ride-chip.demo{background:linear-gradient(135deg,#e5dbfbf5,#f7f3fdfa);color:#2f254f}:root[data-theme=light] .ride-title,:root[data-theme=light] .ride-date,:root[data-theme=light] .calendar-metric-time,:root[data-theme=light] .calendar-metric-line,:root[data-theme=light] .calendar-metric-power,:root[data-theme=light] .ride-metric-value{color:#132231!important}:root[data-theme=light] .ride-metric-separator,:root[data-theme=light] .calendar-metric-line .ride-metric-separator{color:#1322316b}:root[data-theme=light] .source-chip{background:#0a8fb814;color:#1a6b87;border-color:#0a8fb81f}:root[data-theme=light] .activity-info-line,:root[data-theme=light] .subtle-record,:root[data-theme=light] .fit-diagnostics,:root[data-theme=light] .diagnostic-grid article,:root[data-theme=light] .diagnostic-lists div{background:#ffffffd1;border-color:#1e415b1f;color:var(--muted-strong)}:root[data-theme=light] .route-performance-line{background:#ffffff94;color:#173247!important;border-color:#1e415b1f}:root[data-theme=light] .route-card.indoor .route-performance-line,:root[data-theme=light] .route-card.rouvy .route-performance-line{background:#187a4f14}:root[data-theme=light] .route-card small,:root[data-theme=light] .route-card em,:root[data-theme=light] .attempt-list small,:root[data-theme=light] .bar-grid small{color:#587083}:root[data-theme=light] .route-card-actions button,:root[data-theme=light] .attempt-list button,:root[data-theme=light] .route-history-row button{color:#123247}:root[data-theme=light] .route-map{background:#edf4f9;border-color:#1e415b24}:root[data-theme=gray]{color-scheme:light;background:#bfc2c4;color:#151a1e;--bg: #bfc2c4;--bg-soft: #d0d3d5;--panel: rgba(211, 214, 216, .96);--panel-strong: rgba(225, 227, 229, .98);--panel-soft: rgba(198, 202, 205, .9);--line: rgba(68, 78, 86, .2);--line-strong: rgba(68, 78, 86, .34);--text: #151a1e;--muted: #58636b;--muted-strong: #303a42;--cyan: #167fa0;--blue: #3d669f;--green: #1e754f;--yellow: #9a6800;--red: #b2293f;--violet: #6550a8;--shadow: 0 16px 42px rgba(40, 45, 50, .16);--shadow-soft: 0 8px 20px rgba(40, 45, 50, .12)}:root[data-theme=gray] body{background:var(--bg)}:root[data-theme=gray] .app-shell{background:linear-gradient(180deg,#c9ccce,#bfc2c4 44%,#b6b9bb)}:root[data-theme=gray] .app-header,:root[data-theme=gray] .hero-panel,:root[data-theme=gray] .panel,:root[data-theme=gray] .summary-card,:root[data-theme=gray] .metric-tile,:root[data-theme=gray] .batch-import-panel,:root[data-theme=gray] .training-progress-panel,:root[data-theme=gray] .progress-chart-card,:root[data-theme=gray] .bar-grid article,:root[data-theme=gray] .rider-card,:root[data-theme=gray] .add-rider-card,:root[data-theme=gray] .activity-photo-card,:root[data-theme=gray] .fit-diagnostics,:root[data-theme=gray] .chart-wrap,:root[data-theme=gray] .video-add-panel,:root[data-theme=gray] .video-card{background:#d8dbddf5;border-color:#46505838;color:var(--text);box-shadow:0 10px 22px #2d32371f}:root[data-theme=gray] .hero-panel,:root[data-theme=gray] .summary-card,:root[data-theme=gray] .metric-tile{background:linear-gradient(180deg,#e2e5e7fa,#cbcfd2fa)}:root[data-theme=gray] nav,:root[data-theme=gray] .axis-toggle,:root[data-theme=gray] .stats-period-toggle,:root[data-theme=gray] .stats-type-toggle,:root[data-theme=gray] .theme-menu,:root[data-theme=gray] .rider-switcher-menu,:root[data-theme=gray] .type-picker-menu,:root[data-theme=gray] .route-country-menu{background:#c4c8cbfa;border-color:#404a5238;box-shadow:0 14px 34px #2d323729}:root[data-theme=gray] nav button,:root[data-theme=gray] .axis-toggle button,:root[data-theme=gray] .theme-switcher-button,:root[data-theme=gray] .active-rider-label,:root[data-theme=gray] .month-controls button,:root[data-theme=gray] .section-title button,:root[data-theme=gray] .back-button,:root[data-theme=gray] .icon-action,:root[data-theme=gray] .route-open-button,:root[data-theme=gray] .route-history-toggle,:root[data-theme=gray] .stats-ride-open{color:#17212a;background:#e0e3e5db;border-color:#4650583d}:root[data-theme=gray] nav button.active,:root[data-theme=gray] nav button:hover,:root[data-theme=gray] .axis-toggle button.active,:root[data-theme=gray] .theme-menu button:hover,:root[data-theme=gray] .theme-menu button.active,:root[data-theme=gray] .rider-switcher-menu button:hover,:root[data-theme=gray] .rider-switcher-menu button.active{color:#071018;background:#849aab61}:root[data-theme=gray] .upload-button,:root[data-theme=gray] .batch-import-button,:root[data-theme=gray] .duplicate-box button{color:#fff}:root[data-theme=gray] .brand span,:root[data-theme=gray] .eyebrow,:root[data-theme=gray] .summary-card span,:root[data-theme=gray] .metric-tile span,:root[data-theme=gray] .route-card small,:root[data-theme=gray] .attempt-list small,:root[data-theme=gray] .bar-grid small{color:var(--muted)}:root[data-theme=gray] .summary-card strong,:root[data-theme=gray] .metric-tile strong,:root[data-theme=gray] .hero-kpis strong,:root[data-theme=gray] .rider-stats b,:root[data-theme=gray] .stats-ride-head>span,:root[data-theme=gray] .route-time-line,:root[data-theme=gray] .route-meta-line,:root[data-theme=gray] .route-card-title{color:var(--text)!important}:root[data-theme=gray] input,:root[data-theme=gray] textarea,:root[data-theme=gray] select,:root[data-theme=gray] .hero-title-form input,:root[data-theme=gray] .metric-edit-modal input,:root[data-theme=gray] .profile-dialog input,:root[data-theme=gray] .edit-title-row input,:root[data-theme=gray] .manual-edit-grid input,:root[data-theme=gray] .edit-row input{background:#eef0f1;color:var(--text);border-color:#3c464e3d}:root[data-theme=gray] .hero-kpis span,:root[data-theme=gray] .live-heart-card{background:#c6cacde6;border-color:#46505838;color:var(--muted)}:root[data-theme=gray] .live-heart-head{color:#9a2336}:root[data-theme=gray] .live-heart-card em{color:var(--muted)}:root[data-theme=gray] .route-filter-panel{background:#bec2c5e6;border-color:#46505838}:root[data-theme=gray] .route-search-row input,:root[data-theme=gray] .route-search-row select,:root[data-theme=gray] .route-country-button,:root[data-theme=gray] .route-performance-sort select,:root[data-theme=gray] .sort-control select{background:#eef0f1;color:var(--text);border-color:#3c464e3d}:root[data-theme=gray] .clear-route-filters,:root[data-theme=gray] .route-quick-filters button,:root[data-theme=gray] .route-elevation-visibility{background:#d8dbdde0;color:var(--muted-strong);border-color:#46505833}:root[data-theme=gray] .route-quick-filters button.active,:root[data-theme=gray] .route-elevation-visibility:hover{background:#4b7c9638;color:#0d2e3f;border-color:#167fa05c}:root[data-theme=gray] .day-cell{background:#c9cdd0e6;border-color:#46505833}:root[data-theme=gray] .day-cell.muted{background:#d3d6d8ad}:root[data-theme=gray] .day-cell b{color:#17212a}:root[data-theme=gray] .day-cell.indoor{background:linear-gradient(180deg,#9ecbb5db,#86b8a3d1);border-color:#1e754f57}:root[data-theme=gray] .day-cell.outdoor{background:linear-gradient(180deg,#94b7d1e0,#7ca3c2d6);border-color:#3d669f57}:root[data-theme=gray] .day-cell.manual{background:linear-gradient(180deg,#b5a6d8d6,#a092c4cc);border-color:#6550a847}:root[data-theme=gray] .ride-chip,:root[data-theme=gray] .attempt-list button,:root[data-theme=gray] .route-history-row,:root[data-theme=gray] .batch-file,:root[data-theme=gray] .year-month-list article{background:#e2e5e7c2;color:var(--text)}:root[data-theme=gray] .ride-chip.indoor,:root[data-theme=gray] .ride-chip.rouvy,:root[data-theme=gray] .route-card.indoor,:root[data-theme=gray] .route-card.rouvy{background:linear-gradient(135deg,#a8d8c0e6,#d2e0dcf2);border-color:#167fa075}:root[data-theme=gray] .ride-chip.outdoor,:root[data-theme=gray] .ride-chip.garmin,:root[data-theme=gray] .route-card.outdoor,:root[data-theme=gray] .route-card.garmin{background:linear-gradient(135deg,#a2c2dae6,#d3dde4f2);border-color:#167fa075}:root[data-theme=gray] .ride-chip.manual,:root[data-theme=gray] .ride-chip.demo,:root[data-theme=gray] .route-card.manual,:root[data-theme=gray] .route-card.demo{background:linear-gradient(135deg,#beb0dce6,#dcd7e5f2);border-color:#167fa066}:root[data-theme=gray] .ride-title,:root[data-theme=gray] .ride-date,:root[data-theme=gray] .calendar-metric-time,:root[data-theme=gray] .calendar-metric-line,:root[data-theme=gray] .calendar-metric-power,:root[data-theme=gray] .ride-metric-value{color:#151a1e!important}:root[data-theme=gray] .ride-metric-separator,:root[data-theme=gray] .calendar-metric-line .ride-metric-separator{color:#151a1e75}:root[data-theme=gray] .route-performance-line{background:#e6e8eaa8;color:#1a252d!important;border-color:#46505829}:root[data-theme=gray] .chart-modal,:root[data-theme=gray] .share-modal,:root[data-theme=gray] .metric-edit-modal,:root[data-theme=gray] .profile-dialog,:root[data-theme=gray] .image-preview-modal{background:#d8dbdd;color:var(--text);border-color:#46505838}:root[data-theme=gray] .chart-cursor rect,:root[data-theme=gray] .leaflet-tooltip{fill:#e8eaecfa;background:#e8eaecfa;color:var(--text);border-color:#167fa052}:root[data-theme=gray] .chart-cursor text{fill:#404b53}:root[data-theme=gray] .chart-cursor .tooltip-value{fill:#151a1e}:root[data-theme=gray] .grid-line{stroke:#3c464e2e}:root[data-theme=gray] .chart-empty,:root[data-theme=gray] .map-empty{background:#d2d6d9c2;color:var(--muted-strong)}:root[data-theme=gray] .route-map,:root[data-theme=gray] .leaflet-container,:root[data-theme=gray] .activity-photo-frame{background:#cdd2d5}.theme-switcher-button{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;border-radius:7px!important;padding:0!important;gap:0!important}.theme-switcher-button svg:first-child{width:15px;height:15px}.theme-switcher-button svg:last-child{width:11px;height:11px;margin-left:-2px}.theme-menu{min-width:236px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px!important;top:calc(100% + 5px)!important}.theme-menu button{min-height:26px!important;padding:5px 7px!important;font-size:.72rem!important;line-height:1.1!important;gap:5px!important}.theme-menu button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-menu strong{font-size:.78rem}@media(max-width:760px){.theme-menu{right:-8px;min-width:210px!important}}:root[data-theme=gray] .home-shortcut{color:#096b8b;background:#1891b424;border-color:#1891b45c}:root[data-theme=gray] .wind-shortcut{color:#b7152a;background:#d22d3e2e;border-color:#b9182b5c}:root[data-theme=gray] .weather-shortcut{color:#a16500;background:#f6bb3c38;border-color:#ab700057}:root[data-theme=gray] .wind-shortcut:hover,:root[data-theme=gray] .weather-shortcut:hover,:root[data-theme=gray] .home-shortcut:hover{filter:saturate(1.15) contrast(1.08)}:root[data-theme=gray] .tdf-shortcut{color:#8a5b00;background:#f6be3638;border-color:#a46f0066;font-weight:900}:root[data-theme=gray] .tdf-shortcut svg{color:#b57900}:root[data-theme=gray] nav .tdf-dismiss{color:#38444c;background:#e6e9ebdb;border-color:#46505847}:root[data-theme=gray] .active-rider-label{color:#0c5f7b;background:#1891b424;border-color:#1891b45c}:root[data-theme=gray] .active-rider-label b{color:#10242e}:root[data-theme=gray] .live-heart-card{background:#d6d9dbf5;border-color:#97223657;color:#37444c}:root[data-theme=gray] .live-heart-head{color:#8e1f34;font-weight:900}:root[data-theme=gray] .live-heart-head svg{color:#c72d45}:root[data-theme=gray] .live-heart-card strong{color:#111820}:root[data-theme=gray] .live-heart-card strong small{color:#394750}:root[data-theme=gray] .live-heart-card em{color:#40505a;font-weight:650}:root[data-theme=gray] .live-heart-actions button{color:#7e1930;background:#d22d3e21;border-color:#97223657;font-weight:900}:root[data-theme=gray] .live-heart-actions button:hover:not(:disabled){background:#d22d3e33;border-color:#97223680}:root[data-theme=gray] .source-chip,:root[data-theme=gray] .source-chip.subtle{opacity:1;color:#075f7c;background:#1891b41f;border-color:#1891b43d;font-weight:850}:root[data-theme=gray] .diagnostic-title{color:#111820}:root[data-theme=gray] .diagnostic-title svg{color:#087b9f;opacity:1}:root[data-theme=gray] .diagnostic-status{color:#40505a;font-weight:750}:root[data-theme=gray] .diagnostic-status.success{color:#237346;font-weight:850}:root[data-theme=gray] .diagnostic-status.warning{color:#9b3d18;font-weight:850}:root[data-theme=gray] .type-picker-button{color:#24323a;background:#dee1e3e0;border-color:#3c464e57;box-shadow:0 1px 3px #23282d24}:root[data-theme=gray] .type-picker-button svg{stroke-width:2.4}:root[data-theme=gray] .type-picker-button:hover,:root[data-theme=gray] .type-picker-button:focus{color:#075f7c;background:#e8ebedf5;border-color:#1891b46b}:root[data-theme=gray] .day-cell .type-picker-button{width:19px;height:19px;border-radius:7px}:root[data-theme=gray] .day-cell .type-picker-button svg{width:12px;height:12px}:root[data-theme=gray] .theme-switcher-button{color:#17212a;background:#e0e3e5e6;border-color:#4650584d}:root[data-theme=gray] .theme-switcher-button:hover{background:#ebedeffa;border-color:#1891b46b}:root[data-theme=light] .route-record-line,:root[data-theme=light] .route-record-line .route-record-label,:root[data-theme=light] .route-record-line .route-time-date,:root[data-theme=light] .route-record-line svg,:root[data-theme=gray] .route-record-line,:root[data-theme=gray] .route-record-line .route-record-label,:root[data-theme=gray] .route-record-line .route-time-date,:root[data-theme=gray] .route-record-line svg{color:#8f5700!important;font-weight:900}:root[data-theme=light] .route-record-line .route-time-date,:root[data-theme=gray] .route-record-line .route-time-date{color:#111820!important;text-shadow:none}:root[data-theme=light] .route-record-line .route-record-label,:root[data-theme=gray] .route-record-line .route-record-label{width:fit-content;padding:3px 7px;border-radius:999px;background:#da97142e;border:1px solid rgba(143,87,0,.28)}:root[data-theme=light] .route-history-row.record,:root[data-theme=gray] .route-history-row.record{border-color:#8f570061;background:linear-gradient(135deg,#f0c15a33,#e8eaecbd)}:root[data-theme=light] .attempt-list button,:root[data-theme=gray] .attempt-list button{color:#111820}:root[data-theme=light] .attempt-list button>span,:root[data-theme=light] .attempt-list button strong,:root[data-theme=gray] .attempt-list button>span,:root[data-theme=gray] .attempt-list button strong{color:#111820!important;font-weight:850}:root[data-theme=light] .attempt-list button small,:root[data-theme=gray] .attempt-list button small{color:#40505a!important;font-weight:650}:root[data-theme=light] .attempt-list button.record>span,:root[data-theme=light] .attempt-list button.record strong,:root[data-theme=gray] .attempt-list button.record>span,:root[data-theme=gray] .attempt-list button.record strong{color:#6d4400!important}:root[data-theme=light] .attempt-list button.record,:root[data-theme=gray] .attempt-list button.record{border-color:#8f57005c;background:linear-gradient(135deg,#f0c15a33,#e8eaece0)}:root[data-theme=light] .route-meta-line svg,:root[data-theme=gray] .route-meta-line svg{color:#0088b8!important;opacity:1!important;stroke-width:2.7}:root[data-theme=light] .route-time-line svg,:root[data-theme=light] .route-time-date svg,:root[data-theme=gray] .route-time-line svg,:root[data-theme=gray] .route-time-date svg{color:#176fc4!important;opacity:1!important;stroke-width:2.7}:root[data-theme=light] .attempt-list button,:root[data-theme=gray] .attempt-list button{grid-template-columns:max-content auto minmax(0,1fr)}:root[data-theme=light] .attempt-list button>span,:root[data-theme=gray] .attempt-list button>span{white-space:nowrap;color:#111820!important}:root[data-theme=light] .attempt-list button strong,:root[data-theme=gray] .attempt-list button strong{white-space:nowrap}:root[data-theme=light] .rider-actions button,:root[data-theme=gray] .rider-actions button{color:#f3fbff!important;background:#24333f;border-color:#0f233257;font-size:.8rem;font-weight:850}:root[data-theme=light] .rider-actions button:hover,:root[data-theme=gray] .rider-actions button:hover{background:#1d2c37;border-color:#0a8fb873}:root[data-theme=light] .rider-actions .danger-mini,:root[data-theme=gray] .rider-actions .danger-mini{color:#ffd4da!important;background:#33252b;border-color:#9722366b}:root[data-theme=light] .route-show-more,:root[data-theme=gray] .route-show-more{color:#0d3547!important;background:#60bed633;border-color:#0a8fb870;box-shadow:inset 0 0 0 1px #ffffff2e}:root[data-theme=light] .route-show-more:hover,:root[data-theme=gray] .route-show-more:hover{color:#062838!important;background:#60bed64d;border-color:#0a8fb89e}:root[data-theme=light] .hero-eyebrow svg,:root[data-theme=gray] .hero-eyebrow svg{color:#0780a8!important;opacity:1!important;stroke-width:2.8}:root[data-theme=light] .hero-title-edit-button,:root[data-theme=gray] .hero-title-edit-button{color:#0d5f7e!important;background:#0a8fb81f;border-color:#0a8fb84d}:root[data-theme=light] .hero-title-edit-button:hover,:root[data-theme=gray] .hero-title-edit-button:hover{color:#063f55!important;background:#0a8fb833;border-color:#0a8fb87a}:root[data-theme=light] .chart-modal .close-button,:root[data-theme=gray] .chart-modal .close-button{color:#10222e!important;background:#14232d14;border:1px solid rgba(20,35,45,.14)}:root[data-theme=light] .chart-modal .close-button:hover,:root[data-theme=gray] .chart-modal .close-button:hover{color:#071820!important;background:#14232d29;border-color:#14232d3d}:root[data-theme=light] .chart-stats,:root[data-theme=gray] .chart-stats{color:#485963!important;border-top-color:#46505829}:root[data-theme=light] .chart-stats strong,:root[data-theme=gray] .chart-stats strong{color:#111820!important;font-weight:850}:root[data-theme=light] .progress-chart-head,:root[data-theme=gray] .progress-chart-head{color:#4a5a64!important}:root[data-theme=light] .progress-chart-head strong,:root[data-theme=gray] .progress-chart-head strong{color:#111820!important;font-weight:850}:root[data-theme=light] .progress-chart-card .chart-axis,:root[data-theme=gray] .progress-chart-card .chart-axis{color:#536774!important;font-weight:650}:root[data-theme=light] .training-progress-panel .section-title h3,:root[data-theme=gray] .training-progress-panel .section-title h3{color:#111820!important}:root[data-theme=light] .danger-action,:root[data-theme=gray] .danger-action{color:#8b1d32!important;background:#bf33481f!important;border-color:#97223657!important;font-weight:850}:root[data-theme=light] .danger-action svg,:root[data-theme=gray] .danger-action svg{color:#9e2439!important;opacity:1}:root[data-theme=light] .danger-action:hover,:root[data-theme=gray] .danger-action:hover{color:#6f1326!important;background:#bf334833!important;border-color:#97223685!important}:root[data-theme=light] .pr-record-panel.subtle-record,:root[data-theme=gray] .pr-record-panel.subtle-record{color:#22313a;background:#ffffffa8;border-color:#4650582e}:root[data-theme=light] .pr-record-panel.subtle-record span,:root[data-theme=gray] .pr-record-panel.subtle-record span{color:#31444f!important;font-weight:650}:root[data-theme=light] .pr-record-panel.subtle-record strong,:root[data-theme=gray] .pr-record-panel.subtle-record strong{color:#111820!important}.ride-chip.menu-open,.day-cell .ride-chip.menu-open{overflow:visible;z-index:120;max-height:none}.day-cell:has(.ride-chip.menu-open){z-index:110}.calendar-grid:has(.ride-chip.menu-open),.calendar-panel:has(.ride-chip.menu-open){overflow:visible}.day-cell .ride-chip.menu-open .type-picker-wrap,.ride-chip.menu-open .type-picker-wrap{z-index:140}.day-cell .ride-chip.menu-open .type-picker-menu,.ride-chip.menu-open .type-picker-menu{z-index:160;pointer-events:auto}.type-picker-menu{max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.type-picker-menu::-webkit-scrollbar{width:8px}.type-picker-menu::-webkit-scrollbar-thumb{background:#9abad647;border-radius:999px}.type-picker-menu::-webkit-scrollbar-track{background:transparent}:root[data-theme=light] .elevation-category-badge.cat7,:root[data-theme=light] .elevation-category-badge.cat6,:root[data-theme=light] .elevation-category-badge.cat5,:root[data-theme=gray] .elevation-category-badge.cat7,:root[data-theme=gray] .elevation-category-badge.cat6,:root[data-theme=gray] .elevation-category-badge.cat5{color:#214b68!important;background:#486f9129;border-color:#486f914d}:root[data-theme=light] .elevation-category-badge.cat4,:root[data-theme=light] .elevation-category-badge.cat3,:root[data-theme=gray] .elevation-category-badge.cat4,:root[data-theme=gray] .elevation-category-badge.cat3{color:#176248!important;background:#1d755b24;border-color:#1d755b47}:root[data-theme=light] .elevation-category-badge.cat2,:root[data-theme=light] .elevation-category-badge.cat1,:root[data-theme=gray] .elevation-category-badge.cat2,:root[data-theme=gray] .elevation-category-badge.cat1{color:#7a4a00!important;background:#f5b94b2e;border-color:#945b194d}:root[data-theme=light] .elevation-category-badge.hc,:root[data-theme=light] .elevation-category-badge.hcplus,:root[data-theme=gray] .elevation-category-badge.hc,:root[data-theme=gray] .elevation-category-badge.hcplus{color:#87302a!important;background:#ff695829;border-color:#912b264d}:root[data-theme=light] .elevation-category-badge small,:root[data-theme=gray] .elevation-category-badge small{color:currentColor!important;opacity:.9}:root[data-theme=light] .type-picker-button{color:#173247;background:#e8f4fbf0;border-color:#1e415b38;box-shadow:0 1px 4px #2a415629}:root[data-theme=light] .type-picker-button svg{stroke-width:2.35}:root[data-theme=light] .type-picker-button:hover,:root[data-theme=light] .type-picker-button:focus{color:#075f7c;background:#d5eef9fa;border-color:#0a8fb86b}:root[data-theme=light] .day-cell .type-picker-button{width:19px;height:19px;border-radius:7px}:root[data-theme=light] .day-cell .type-picker-button svg{width:12px;height:12px}:root[data-theme=light] .home-shortcut{color:#087da5;background:#0a8fb824;border-color:#0a8fb857}:root[data-theme=light] .wind-shortcut{color:#b92334;background:#d22d3e29;border-color:#b9233457}:root[data-theme=light] .weather-shortcut{color:#a36b00;background:#f5b94b2e;border-color:#b270004d}:root[data-theme=light] .home-shortcut:hover,:root[data-theme=light] .wind-shortcut:hover,:root[data-theme=light] .weather-shortcut:hover{filter:saturate(1.08);background-color:#0a8fb833}:root[data-theme=light] .tdf-shortcut{color:#8b5a00;background:#f5b94b29;border-color:#b2700052}:root[data-theme=light] .tdf-shortcut svg{color:#9a6500}:root[data-theme=light] .tdf-shortcut:hover{color:#6f4700;background:#f5b94b3d;border-color:#b2700075}:root[data-theme=light] nav .tdf-dismiss{color:#6f7780;background:#1e415b0f;border-color:#1e415b2e}:root[data-theme=light] .active-rider-label{color:#123247;background:#0a8fb81f;border-color:#0a8fb857}:root[data-theme=light] .active-rider-label b,:root[data-theme=light] .active-rider-label span,:root[data-theme=light] .active-rider-label svg{color:#123247}:root[data-theme=light] .active-rider-label:hover{background:#0a8fb82e;border-color:#0a8fb87a}:root[data-theme=light] .rider-switcher-menu{background:#fffffffa;border-color:#1e415b33;box-shadow:0 18px 44px #1e415b29}:root[data-theme=light] .rider-switcher-menu button{color:#243642}:root[data-theme=light] .rider-switcher-menu button span:not(.switcher-avatar){color:#243642}:root[data-theme=light] .rider-switcher-menu button:hover,:root[data-theme=light] .rider-switcher-menu button.active{color:#071f2d;background:#0a8fb824}:root[data-theme=light] .rider-switcher-menu button.active span:not(.switcher-avatar),:root[data-theme=light] .rider-switcher-menu button.active strong{color:#075f7c}.flag-nz{background:#00247d}.flag-nz:before{content:"";position:absolute;left:0;top:0;width:9px;height:7px;background:linear-gradient(146deg,transparent 0 42%,#fff 42% 51%,#c8102e 51% 58%,#fff 58% 66%,transparent 66%),linear-gradient(34deg,transparent 0 42%,#fff 42% 51%,#c8102e 51% 58%,#fff 58% 66%,transparent 66%),linear-gradient(to right,transparent 0 42%,#fff 42% 58%,transparent 58%),linear-gradient(to bottom,transparent 0 38%,#fff 38% 62%,transparent 62%),#012169}.flag-nz:after{content:"";position:absolute;right:3px;top:2px;width:2px;height:2px;border-radius:50%;background:#c8102e;box-shadow:-3px 3px #c8102e,2px 5px #c8102e}.flag-au{background:#012169}.flag-au:before{content:"";position:absolute;left:0;top:0;width:9px;height:7px;background:linear-gradient(146deg,transparent 0 42%,#fff 42% 51%,#c8102e 51% 58%,#fff 58% 66%,transparent 66%),linear-gradient(34deg,transparent 0 42%,#fff 42% 51%,#c8102e 51% 58%,#fff 58% 66%,transparent 66%),linear-gradient(to right,transparent 0 42%,#fff 42% 58%,transparent 58%),linear-gradient(to bottom,transparent 0 38%,#fff 38% 62%,transparent 62%),#012169}.flag-au:after{content:"";position:absolute;right:3px;top:3px;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:-4px 4px #fff,3px 5px #fff}.flag-nl{background:linear-gradient(to bottom,#ae1c28 0,#ae1c28 33%,#fff 33%,#fff 66%,#21468b 66%)}.flag-ru{background:linear-gradient(to bottom,#fff 0,#fff 33%,#0039a6 33%,#0039a6 66%,#d52b1e 66%)}.flag-kz{background:#00afca}.flag-kz:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:5px;border-radius:50%;background:#f7d116}.flag-be{background:linear-gradient(to right,#000 0,#000 33%,#fae042 33%,#fae042 66%,#ed2939 66%)}.flag-lu{background:linear-gradient(to bottom,#ed2939 0,#ed2939 33%,#fff 33%,#fff 66%,#00a1de 66%)}.flag-co{background:linear-gradient(to bottom,#fcd116 0,#fcd116 50%,#003893 50%,#003893 75%,#ce1126 75%)}.flag-ua{background:linear-gradient(to bottom,#0057b7 0,#0057b7 50%,gold 50%)}.flag-lt{background:linear-gradient(to bottom,#fdb913 0,#fdb913 33%,#006a44 33%,#006a44 66%,#c1272d 66%)}.flag-lv{background:linear-gradient(to bottom,#9e3039 0,#9e3039 40%,#fff 40%,#fff 60%,#9e3039 60%)}.flag-uz{background:linear-gradient(to bottom,#1eb5e5 0,#1eb5e5 31%,#fff 31%,#fff 38%,#ce1126 38%,#ce1126 43%,#fff 43%,#fff 57%,#ce1126 57%,#ce1126 62%,#fff 62%,#fff 69%,#009739 69%)}.flag-uz:after{content:"";position:absolute;left:3px;top:2px;width:4px;height:4px;border-radius:50%;background:#fff}.flag-in{background:linear-gradient(to bottom,#f93 0,#f93 33%,#fff 33%,#fff 66%,#138808 66%)}.flag-in:after{content:"";position:absolute;left:7px;top:4px;width:4px;height:4px;border-radius:50%;background:navy}.flag-hi{background:linear-gradient(to bottom,#fff 0,#fff 12.5%,#e31b23 12.5%,#e31b23 25%,#fff 25%,#fff 37.5%,#e31b23 37.5%,#e31b23 50%,#fff 50%,#fff 62.5%,#e31b23 62.5%,#e31b23 75%,#fff 75%,#fff 87.5%,#e31b23 87.5%)}.flag-hi:before{content:"";position:absolute;left:0;top:0;width:8px;height:6px;background:#012169}:root[data-theme=light] .rider-card.active small,:root[data-theme=gray] .rider-card.active small{color:#075f7c;background:#0a8fb829;border-color:#0a8fb86b;box-shadow:0 0 0 1px #0a8fb814}:root[data-theme=light] .active-rider-label b,:root[data-theme=light] .active-rider-label span,:root[data-theme=light] .active-rider-label svg,:root[data-theme=gray] .active-rider-label b,:root[data-theme=gray] .active-rider-label span,:root[data-theme=gray] .active-rider-label svg{color:#10242e}:root[data-theme=graphite] .day-cell.indoor{background:linear-gradient(180deg,#16584480,#212b2deb);border-color:#57d89980;box-shadow:inset 0 0 0 1px #57d89929}:root[data-theme=graphite] .day-cell.outdoor{background:linear-gradient(180deg,#1c567b8a,#202931eb);border-color:#4fd4ff94;box-shadow:inset 0 0 0 1px #4fd4ff2e}:root[data-theme=graphite] .day-cell.manual{background:linear-gradient(180deg,#4c3a7080,#262430eb);border-color:#ae8bff6b;box-shadow:inset 0 0 0 1px #ae8bff24}:root[data-theme=graphite] .day-cell.mixed{background:linear-gradient(135deg,#2c373feb,#1456406b 48%,#4e376f6b);border-color:#7dcae157}:root[data-theme=graphite] .ride-chip.indoor,:root[data-theme=graphite] .ride-chip.rouvy{border-color:#57d89980;box-shadow:inset 3px 0 #57d899eb,0 0 0 1px #57d8991a}:root[data-theme=graphite] .ride-chip.outdoor,:root[data-theme=graphite] .ride-chip.garmin{border-color:#4fd4ff9e;box-shadow:inset 3px 0 #4fd4fff2,0 0 0 1px #4fd4ff24}:root[data-theme=graphite] .ride-chip.manual,:root[data-theme=graphite] .ride-chip.demo{border-color:#ae8bff7a;box-shadow:inset 3px 0 #ae8bffdb,0 0 0 1px #ae8bff1f}:root[data-theme=light] .route-card,:root[data-theme=gray] .route-card{transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}:root[data-theme=light] .route-card:hover,:root[data-theme=gray] .route-card:hover{border-color:#0091bed1;box-shadow:inset 0 0 0 3px #0091be57,0 12px 24px #1f415a24}:root[data-theme=light] .route-card.indoor:hover,:root[data-theme=light] .route-card.rouvy:hover{background:linear-gradient(135deg,#9be8c6f5,#d6f9edfa)}:root[data-theme=light] .route-card.outdoor:hover,:root[data-theme=light] .route-card.garmin:hover{background:linear-gradient(135deg,#92d3f6f5,#dbf3fffa)}:root[data-theme=light] .route-card.manual:hover,:root[data-theme=light] .route-card.demo:hover{background:linear-gradient(135deg,#cfbcf8f5,#eee6fffa)}:root[data-theme=gray] .route-card.indoor:hover,:root[data-theme=gray] .route-card.rouvy:hover{background:linear-gradient(135deg,#89c7aafa,#bfd8cffa)}:root[data-theme=gray] .route-card.outdoor:hover,:root[data-theme=gray] .route-card.garmin:hover{background:linear-gradient(135deg,#81aed0fa,#c2d3e0fa)}:root[data-theme=gray] .route-card.manual:hover,:root[data-theme=gray] .route-card.demo:hover{background:linear-gradient(135deg,#ad99d4fa,#cdc6dcfa)}:root[data-theme=light] .route-performance-item.cadence svg,:root[data-theme=gray] .route-performance-item.cadence svg{color:#007fa8;stroke-width:2.6;filter:drop-shadow(0 0 1px rgba(255,255,255,.35))}:root[data-theme=light] .route-performance-item.cadence,:root[data-theme=gray] .route-performance-item.cadence{color:#0f2d3d}:root[data-theme=light] .route-performance-item.power svg,:root[data-theme=gray] .route-performance-item.power svg{color:#a76600;stroke-width:2.6;filter:drop-shadow(0 0 1px rgba(255,255,255,.35))}:root[data-theme=light] .route-performance-item.heart svg,:root[data-theme=gray] .route-performance-item.heart svg{color:#c51f3d;stroke-width:2.6;filter:drop-shadow(0 0 1px rgba(255,255,255,.35))}.route-history-row .attempt-note,.attempt-list .attempt-note{display:block;grid-column:1 / -1;margin-top:-2px;color:var(--muted-strong);font-weight:650;line-height:1.25;white-space:normal}:root[data-theme=light] .route-history-row .attempt-note,:root[data-theme=light] .attempt-list .attempt-note,:root[data-theme=gray] .route-history-row .attempt-note,:root[data-theme=gray] .attempt-list .attempt-note{color:#365468}.attempt-list .attempt-note{grid-column:2 / -1;justify-self:end;text-align:right;max-width:240px}@media(max-width:720px){.attempt-list .attempt-note{grid-column:1 / -1;justify-self:start;text-align:left;max-width:none}}:root:not([data-theme=light]):not([data-theme=gray]) nav button.active,:root[data-theme=graphite] nav button.active{color:#f3fbff;background:linear-gradient(180deg,#3a96ca5c,#1a4a6a57);border-color:#60d8ffc7;box-shadow:inset 0 0 0 2px #60d8ff38,0 0 0 1px #60d8ff38,0 10px 22px #0003}:root:not([data-theme=light]):not([data-theme=gray]) nav button.active:hover,:root[data-theme=graphite] nav button.active:hover{background:linear-gradient(180deg,#44a8e070,#1e567a66);border-color:#74e1ffeb}.stats-ride-head>span{display:flex;align-items:center;gap:8px}.stats-ride-head .flag-icon{margin-right:0;flex:0 0 18px}.ride-list .ride-chip.indoor,.ride-list .ride-chip.rouvy{background:linear-gradient(135deg,#11584e80,#0a2630e6);border-color:#5ce0ff94;box-shadow:inset 0 0 0 3px #5ce0ff47}.ride-list .ride-chip.outdoor,.ride-list .ride-chip.garmin{background:linear-gradient(135deg,#195b8880,#0a263ae6);border-color:#5ce0ffa3;box-shadow:inset 0 0 0 3px #5ce0ff52}.ride-list .ride-chip.manual,.ride-list .ride-chip.demo{background:linear-gradient(135deg,#4f35806b,#101d2fe0);border-color:#5ce0ff80;box-shadow:inset 0 0 0 3px #5ce0ff3d}.ride-list .ride-chip.neutral{background:#101f2fdb;border-color:#5ce0ff75;box-shadow:inset 0 0 0 3px #5ce0ff38}.metric-grid .metric-tile,.ride-list .ride-chip{transition:transform .17s ease,background .17s ease,border-color .17s ease,box-shadow .17s ease}.metric-grid .metric-tile:hover,.metric-grid .metric-tile:focus-within{transform:translateY(-1px);border-color:#5ac8fa7a;background:linear-gradient(180deg,#1c3042f5,#102030fa);box-shadow:inset 0 0 0 1px #5ac8fa2e,0 14px 30px #00000038}.ride-list .ride-chip:hover,.ride-list .ride-chip:focus-visible{transform:translateY(-1px);border-color:#5ac8fa94;box-shadow:inset 0 0 0 1px #5ac8fa2e,0 14px 30px #0003}:root[data-theme=light] .metric-grid .metric-tile:hover,:root[data-theme=light] .metric-grid .metric-tile:focus-within,:root[data-theme=gray] .metric-grid .metric-tile:hover,:root[data-theme=gray] .metric-grid .metric-tile:focus-within{background:linear-gradient(180deg,#eef9fffa,#daedf8fa);border-color:#0091beb3;box-shadow:inset 0 0 0 2px #0091be2e,0 12px 24px #1f415a29}:root[data-theme=light] .ride-list .ride-chip:hover,:root[data-theme=light] .ride-list .ride-chip:focus-visible{border-color:#0091bec2;box-shadow:inset 0 0 0 2px #0091be29,0 12px 24px #1f415a29}:root[data-theme=light] .ride-list .ride-chip.indoor:hover,:root[data-theme=light] .ride-list .ride-chip.rouvy:hover{background:linear-gradient(135deg,#a5e8c8fa,#defaf0fa)}:root[data-theme=light] .ride-list .ride-chip.outdoor:hover,:root[data-theme=light] .ride-list .ride-chip.garmin:hover{background:linear-gradient(135deg,#9ad8f8fa,#e0f4fffa)}:root[data-theme=light] .ride-list .ride-chip.manual:hover,:root[data-theme=light] .ride-list .ride-chip.demo:hover{background:linear-gradient(135deg,#d4c1fcfa,#f2ebfffa)}:root[data-theme=gray] .ride-list .ride-chip:hover,:root[data-theme=gray] .ride-list .ride-chip:focus-visible{border-color:#0082b0c7;box-shadow:inset 0 0 0 2px #0082b02e,0 12px 24px #1f415a29}:root[data-theme=gray] .ride-list .ride-chip.indoor:hover,:root[data-theme=gray] .ride-list .ride-chip.rouvy:hover{background:linear-gradient(135deg,#88caaafa,#c4ded4fa)}:root[data-theme=gray] .ride-list .ride-chip.outdoor:hover,:root[data-theme=gray] .ride-list .ride-chip.garmin:hover{background:linear-gradient(135deg,#82b4d5fa,#c6d8e4fa)}:root[data-theme=gray] .ride-list .ride-chip.manual:hover,:root[data-theme=gray] .ride-list .ride-chip.demo:hover{background:linear-gradient(135deg,#b29ed8fa,#d2cae0fa)}:root[data-theme=light] nav button.active,:root[data-theme=gray] nav button.active{color:#061b29;background:linear-gradient(180deg,#beeaf9fa,#91d3ebeb);border-color:#006f9bd1;box-shadow:inset 0 0 0 2px #006f9b42,0 6px 14px #1f415a29}:root[data-theme=light] nav button.active:hover,:root[data-theme=gray] nav button.active:hover{background:linear-gradient(180deg,#aee4f7,#80c9e6f5);border-color:#005e8af2;box-shadow:inset 0 0 0 2px #005e8a52,0 8px 18px #1f415a33}:root[data-theme=light] .pr-badge,:root[data-theme=gray] .pr-badge{color:#7a4b00;background:linear-gradient(180deg,#ffebb1fa,#ffd573e6);border-color:#b274009e;box-shadow:inset 0 0 0 1px #ffffff7a,0 8px 18px #8e5b0029;text-shadow:none}:root[data-theme=light] .pr-badge svg,:root[data-theme=gray] .pr-badge svg{color:#b06d00;stroke-width:2.4}nav .tdf-dismiss{width:18px;height:18px;min-height:18px;border-width:1px}nav .tdf-dismiss svg{width:10px;height:10px;stroke-width:2.4}:root[data-theme=light] .diagnostic-status.success,:root[data-theme=gray] .diagnostic-status.success{color:#0d6f3e;font-weight:850;background:#187a4f1a;border:1px solid rgba(24,122,79,.18);border-radius:999px;padding:2px 8px}.riders-page-head{align-items:start;flex-wrap:wrap}.jerseys-showcase{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(280px,auto) minmax(150px,.72fr);align-items:center;justify-content:center;gap:clamp(16px,2.5vw,30px);width:100%;margin:12px 0 24px;padding:28px;border:1px solid rgba(90,200,250,.16);border-radius:16px;background:radial-gradient(circle at 22% 50%,rgba(90,200,250,.08),transparent 28%),radial-gradient(circle at 78% 50%,rgba(245,184,75,.07),transparent 30%),linear-gradient(145deg,#07121ee0,#0b1c2b9e);box-shadow:inset 0 1px #ffffff08,0 22px 46px #00000038}.jerseys-poster-button{display:flex;justify-content:center;align-items:center;min-width:0;padding:0;border:0;border-radius:14px;background:transparent;cursor:zoom-in}.jerseys-poster-button:hover .jerseys-showcase-image,.jerseys-poster-button:focus-visible .jerseys-showcase-image{box-shadow:0 22px 50px #0006,0 0 0 3px #5ac8fa1f,0 0 42px #5ac8fa1f}.jerseys-showcase-image{display:block;width:auto;max-width:100%;height:auto;max-height:560px;border-radius:14px;box-shadow:0 18px 42px #00000057,0 0 38px #5ac8fa14;object-fit:contain}.jerseys-rider-photo{display:block;width:100%;max-height:520px;border-radius:16px;object-fit:cover;box-shadow:0 16px 38px #0000004d;opacity:.92}.jerseys-rider-photo.remco{aspect-ratio:.72;object-position:center center}.jerseys-rider-photo.pogacar{aspect-ratio:.82;object-position:center center}@media(max-width:1050px){.jerseys-showcase{grid-template-columns:minmax(120px,.62fr) minmax(260px,auto) minmax(120px,.62fr);gap:14px;padding:20px}.jerseys-rider-photo{max-height:420px}.jerseys-showcase-image{max-height:500px}}@media(max-width:760px){.jerseys-showcase{grid-template-columns:1fr;margin:8px 0 18px;padding:16px;border-radius:13px}.jerseys-rider-photo{width:min(100%,320px);max-height:360px;margin-inline:auto}.jerseys-showcase-image{max-height:420px;border-radius:12px}}.local-data-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.local-data-backup,.local-data-clear{display:inline-flex;align-items:center;gap:6px;align-self:start;border:1px solid rgba(255,118,132,.24);border-radius:8px;background:#ff768412;color:#ffc7ce;padding:7px 9px;font-size:.76rem;font-weight:720;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.local-data-backup{border-color:#5ac8fa38;background:#5ac8fa14;color:#bdeeff}.local-data-backup:hover,.local-data-clear:hover{transform:translateY(-1px)}.local-data-backup:hover{background:#5ac8fa24;border-color:#5ac8fa66}.local-data-clear:hover{background:#ff768421;border-color:#ff76846b}:root[data-theme=light] .local-data-backup,:root[data-theme=gray] .local-data-backup{color:#155d78;background:#137ea514;border-color:#137ea53d}:root[data-theme=light] .local-data-clear,:root[data-theme=gray] .local-data-clear{color:#8a2432;background:#bf334814;border-color:#bf334842}:root[data-theme=light] .local-data-backup:hover,:root[data-theme=gray] .local-data-backup:hover{background:#137ea524;border-color:#137ea566}:root[data-theme=light] .local-data-clear:hover,:root[data-theme=gray] .local-data-clear:hover{background:#bf334824;border-color:#bf33486b}:root[data-theme=light] .profile-dialog,:root[data-theme=light] .metric-edit-modal,:root[data-theme=light] .admin-login-modal,:root[data-theme=light] .share-modal,:root[data-theme=gray] .profile-dialog,:root[data-theme=gray] .metric-edit-modal,:root[data-theme=gray] .admin-login-modal,:root[data-theme=gray] .share-modal{background:var(--panel);color:var(--text)}:root[data-theme=light] .profile-dialog-actions button,:root[data-theme=light] .metric-edit-actions button,:root[data-theme=light] .hero-title-form button,:root[data-theme=light] .share-actions button,:root[data-theme=light] .admin-login-modal .profile-dialog-actions button,:root[data-theme=gray] .profile-dialog-actions button,:root[data-theme=gray] .metric-edit-actions button,:root[data-theme=gray] .hero-title-form button,:root[data-theme=gray] .share-actions button,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button{border:1px solid rgba(30,65,91,.28);background:#ecf3f8f5;color:#10283a;box-shadow:0 6px 14px #2a415614}:root[data-theme=gray] .profile-dialog-actions button,:root[data-theme=gray] .metric-edit-actions button,:root[data-theme=gray] .hero-title-form button,:root[data-theme=gray] .share-actions button,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button{border-color:#3c464e57;background:#eceeef;color:#101820}:root[data-theme=light] .profile-dialog-actions button:first-child,:root[data-theme=light] .metric-edit-actions button:first-child,:root[data-theme=light] .hero-title-form button:first-of-type,:root[data-theme=light] .share-actions button:first-child,:root[data-theme=light] .admin-login-modal .profile-dialog-actions button:first-child,:root[data-theme=gray] .profile-dialog-actions button:first-child,:root[data-theme=gray] .metric-edit-actions button:first-child,:root[data-theme=gray] .hero-title-form button:first-of-type,:root[data-theme=gray] .share-actions button:first-child,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:first-child{background:#1687b3;border-color:#0d7199;color:#fff;box-shadow:0 10px 22px #1687b338}:root[data-theme=gray] .profile-dialog-actions button:first-child,:root[data-theme=gray] .metric-edit-actions button:first-child,:root[data-theme=gray] .hero-title-form button:first-of-type,:root[data-theme=gray] .share-actions button:first-child,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:first-child{background:#116f95;border-color:#0d5f7f;color:#fff}:root[data-theme=light] .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=light] .metric-edit-actions button:hover:not(:disabled),:root[data-theme=light] .hero-title-form button:hover:not(:disabled),:root[data-theme=light] .share-actions button:hover:not(:disabled),:root[data-theme=gray] .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=gray] .metric-edit-actions button:hover:not(:disabled),:root[data-theme=gray] .hero-title-form button:hover:not(:disabled),:root[data-theme=gray] .share-actions button:hover:not(:disabled){transform:translateY(-1px);border-color:#0a8fb880;background:#daedf7fa;color:#071d2b}:root[data-theme=light] .profile-dialog-actions button:first-child:hover:not(:disabled),:root[data-theme=light] .metric-edit-actions button:first-child:hover:not(:disabled),:root[data-theme=light] .hero-title-form button:first-of-type:hover:not(:disabled),:root[data-theme=light] .share-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .profile-dialog-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .metric-edit-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .hero-title-form button:first-of-type:hover:not(:disabled),:root[data-theme=gray] .share-actions button:first-child:hover:not(:disabled){background:#0f94c5;border-color:#08749f;color:#fff}:root[data-theme=light] .danger-action,:root[data-theme=light] .rider-actions .danger-mini,:root[data-theme=gray] .danger-action,:root[data-theme=gray] .rider-actions .danger-mini{background:#c032441c;border-color:#c0324457;color:#8d1f2d}:root[data-theme=light] .danger-action:hover,:root[data-theme=light] .rider-actions .danger-mini:hover,:root[data-theme=gray] .danger-action:hover,:root[data-theme=gray] .rider-actions .danger-mini:hover{background:#c032442e;border-color:#c032448a;color:#711522}:root[data-theme=light] button:focus-visible,:root[data-theme=light] .icon-action:focus-visible,:root[data-theme=light] .metric-edit-button:focus-visible,:root[data-theme=light] .type-picker-button:focus-visible,:root[data-theme=gray] button:focus-visible,:root[data-theme=gray] .icon-action:focus-visible,:root[data-theme=gray] .metric-edit-button:focus-visible,:root[data-theme=gray] .type-picker-button:focus-visible{outline:3px solid rgba(10,143,184,.36);outline-offset:2px}:root[data-theme=light] button:disabled,:root[data-theme=gray] button:disabled{opacity:.62;cursor:not-allowed}:root[data-theme=light] .close-button,:root[data-theme=gray] .close-button{background:#1e415b17;color:#132231;border:1px solid rgba(30,65,91,.16)}:root[data-theme=light] .close-button:hover,:root[data-theme=gray] .close-button:hover{background:#1e415b29;color:#071018}:root[data-theme=light] .rider-actions button,:root[data-theme=light] .profile-dialog-actions button,:root[data-theme=light] .metric-edit-actions button,:root[data-theme=light] .hero-title-form button,:root[data-theme=light] .share-actions button,:root[data-theme=light] .admin-login-modal .profile-dialog-actions button,:root[data-theme=light] .icon-action,:root[data-theme=light] .metric-edit-button,:root[data-theme=light] .close-button,:root[data-theme=gray] .rider-actions button,:root[data-theme=gray] .profile-dialog-actions button,:root[data-theme=gray] .metric-edit-actions button,:root[data-theme=gray] .hero-title-form button,:root[data-theme=gray] .share-actions button,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button,:root[data-theme=gray] .icon-action,:root[data-theme=gray] .metric-edit-button,:root[data-theme=gray] .close-button{color:#102535!important;background:#f4f8fb!important;border-color:#203e5252!important;box-shadow:0 1px 2px #23303a14}:root[data-theme=gray] .rider-actions button,:root[data-theme=gray] .profile-dialog-actions button,:root[data-theme=gray] .metric-edit-actions button,:root[data-theme=gray] .hero-title-form button,:root[data-theme=gray] .share-actions button,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button,:root[data-theme=gray] .icon-action,:root[data-theme=gray] .metric-edit-button,:root[data-theme=gray] .close-button{background:#eef1f3!important;border-color:#2d384057!important}:root[data-theme=light] .profile-dialog-actions button:first-child,:root[data-theme=light] .metric-edit-actions button:first-child,:root[data-theme=light] .hero-title-form button:first-of-type,:root[data-theme=light] .share-actions button:first-child,:root[data-theme=light] .admin-login-modal .profile-dialog-actions button:first-child,:root[data-theme=gray] .profile-dialog-actions button:first-child,:root[data-theme=gray] .metric-edit-actions button:first-child,:root[data-theme=gray] .hero-title-form button:first-of-type,:root[data-theme=gray] .share-actions button:first-child,:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:first-child{color:#fff!important;background:#0d789f!important;border-color:#075f82!important;box-shadow:0 8px 18px #0d789f38}:root[data-theme=light] .danger-action,:root[data-theme=light] .rider-actions .danger-mini,:root[data-theme=light] .video-card .section-title button,:root[data-theme=light] .local-data-clear,:root[data-theme=gray] .danger-action,:root[data-theme=gray] .rider-actions .danger-mini,:root[data-theme=gray] .video-card .section-title button,:root[data-theme=gray] .local-data-clear{color:#fff!important;background:#9f2238!important;border-color:#7e172b!important;box-shadow:0 8px 18px #7e172b33}:root[data-theme=light] .rider-actions button:hover:not(:disabled),:root[data-theme=light] .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=light] .metric-edit-actions button:hover:not(:disabled),:root[data-theme=light] .hero-title-form button:hover:not(:disabled),:root[data-theme=light] .share-actions button:hover:not(:disabled),:root[data-theme=light] .admin-login-modal .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=light] .icon-action:hover:not(:disabled),:root[data-theme=light] .metric-edit-button:hover:not(:disabled),:root[data-theme=light] .close-button:hover:not(:disabled),:root[data-theme=gray] .rider-actions button:hover:not(:disabled),:root[data-theme=gray] .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=gray] .metric-edit-actions button:hover:not(:disabled),:root[data-theme=gray] .hero-title-form button:hover:not(:disabled),:root[data-theme=gray] .share-actions button:hover:not(:disabled),:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:hover:not(:disabled),:root[data-theme=gray] .icon-action:hover:not(:disabled),:root[data-theme=gray] .metric-edit-button:hover:not(:disabled),:root[data-theme=gray] .close-button:hover:not(:disabled){color:#071923!important;background:#e5f1f7!important;border-color:#075f8280!important;transform:translateY(-1px)}:root[data-theme=light] .profile-dialog-actions button:first-child:hover:not(:disabled),:root[data-theme=light] .metric-edit-actions button:first-child:hover:not(:disabled),:root[data-theme=light] .hero-title-form button:first-of-type:hover:not(:disabled),:root[data-theme=light] .share-actions button:first-child:hover:not(:disabled),:root[data-theme=light] .admin-login-modal .profile-dialog-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .profile-dialog-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .metric-edit-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .hero-title-form button:first-of-type:hover:not(:disabled),:root[data-theme=gray] .share-actions button:first-child:hover:not(:disabled),:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:first-child:hover:not(:disabled){color:#fff!important;background:#086a91!important;border-color:#064f70!important}:root[data-theme=light] .danger-action:hover:not(:disabled),:root[data-theme=light] .rider-actions .danger-mini:hover:not(:disabled),:root[data-theme=light] .video-card .section-title button:hover:not(:disabled),:root[data-theme=light] .local-data-clear:hover:not(:disabled),:root[data-theme=gray] .danger-action:hover:not(:disabled),:root[data-theme=gray] .rider-actions .danger-mini:hover:not(:disabled),:root[data-theme=gray] .video-card .section-title button:hover:not(:disabled),:root[data-theme=gray] .local-data-clear:hover:not(:disabled){color:#fff!important;background:#82162a!important;border-color:#651020!important;transform:translateY(-1px)}:root[data-theme=light] .rider-actions button:active:not(:disabled),:root[data-theme=light] .profile-dialog-actions button:active:not(:disabled),:root[data-theme=light] .metric-edit-actions button:active:not(:disabled),:root[data-theme=light] .hero-title-form button:active:not(:disabled),:root[data-theme=light] .share-actions button:active:not(:disabled),:root[data-theme=light] .admin-login-modal .profile-dialog-actions button:active:not(:disabled),:root[data-theme=light] .icon-action:active:not(:disabled),:root[data-theme=light] .danger-action:active:not(:disabled),:root[data-theme=light] .metric-edit-button:active:not(:disabled),:root[data-theme=light] .close-button:active:not(:disabled),:root[data-theme=light] .video-card .section-title button:active:not(:disabled),:root[data-theme=gray] .rider-actions button:active:not(:disabled),:root[data-theme=gray] .profile-dialog-actions button:active:not(:disabled),:root[data-theme=gray] .metric-edit-actions button:active:not(:disabled),:root[data-theme=gray] .hero-title-form button:active:not(:disabled),:root[data-theme=gray] .share-actions button:active:not(:disabled),:root[data-theme=gray] .admin-login-modal .profile-dialog-actions button:active:not(:disabled),:root[data-theme=gray] .icon-action:active:not(:disabled),:root[data-theme=gray] .danger-action:active:not(:disabled),:root[data-theme=gray] .metric-edit-button:active:not(:disabled),:root[data-theme=gray] .close-button:active:not(:disabled),:root[data-theme=gray] .video-card .section-title button:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 5px #0f1e2a29}:root[data-theme=light] button:focus-visible,:root[data-theme=light] .icon-action:focus-visible,:root[data-theme=light] .danger-action:focus-visible,:root[data-theme=light] .metric-edit-button:focus-visible,:root[data-theme=light] .close-button:focus-visible,:root[data-theme=gray] button:focus-visible,:root[data-theme=gray] .icon-action:focus-visible,:root[data-theme=gray] .danger-action:focus-visible,:root[data-theme=gray] .metric-edit-button:focus-visible,:root[data-theme=gray] .close-button:focus-visible{outline:3px solid rgba(7,95,130,.44);outline-offset:2px}:root[data-theme=light] .danger-action:focus-visible,:root[data-theme=light] .rider-actions .danger-mini:focus-visible,:root[data-theme=light] .video-card .section-title button:focus-visible,:root[data-theme=light] .local-data-clear:focus-visible,:root[data-theme=gray] .danger-action:focus-visible,:root[data-theme=gray] .rider-actions .danger-mini:focus-visible,:root[data-theme=gray] .video-card .section-title button:focus-visible,:root[data-theme=gray] .local-data-clear:focus-visible{outline-color:#7e172b80}:root[data-theme=light] button:disabled,:root[data-theme=gray] button:disabled{color:#5d6b74!important;background:#dae0e4b8!important;border-color:#58646e2e!important;box-shadow:none!important;opacity:.72;cursor:not-allowed}:root[data-theme=light] .section-title .local-data-clear,:root[data-theme=gray] .section-title .local-data-clear{color:#fff!important;background:#9f2238!important;border-color:#7e172b!important;box-shadow:0 8px 18px #7e172b33}:root[data-theme=light] .section-title .local-data-clear:hover:not(:disabled),:root[data-theme=gray] .section-title .local-data-clear:hover:not(:disabled){color:#fff!important;background:#82162a!important;border-color:#651020!important}:root[data-theme=light] .section-title .local-data-clear:active:not(:disabled),:root[data-theme=gray] .section-title .local-data-clear:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 5px #0f1e2a29}:root[data-theme=light] .section-title .local-data-backup,:root[data-theme=gray] .section-title .local-data-backup{color:#0f3448!important;background:#edf7fb!important;border-color:#075f8261!important;box-shadow:0 1px 2px #23303a14}:root[data-theme=light] .section-title .local-data-backup:hover:not(:disabled),:root[data-theme=gray] .section-title .local-data-backup:hover:not(:disabled){color:#071923!important;background:#dceff7!important;border-color:#075f828f!important}:root[data-theme=light] .section-title .local-data-backup:active:not(:disabled),:root[data-theme=gray] .section-title .local-data-backup:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 5px #0f1e2a29}:root[data-theme=light] .stats-period-toggle,:root[data-theme=light] .stats-type-toggle,:root[data-theme=gray] .stats-period-toggle,:root[data-theme=gray] .stats-type-toggle{background:#dce2e6d1!important;border-color:#3c4e5a47!important}:root[data-theme=light] .stats-period-toggle button,:root[data-theme=light] .stats-type-toggle button,:root[data-theme=gray] .stats-period-toggle button,:root[data-theme=gray] .stats-type-toggle button{color:#182c3a!important;background:transparent!important;border-color:transparent!important}:root[data-theme=light] .stats-period-toggle button:hover:not(.active),:root[data-theme=light] .stats-type-toggle button:hover:not(.active),:root[data-theme=gray] .stats-period-toggle button:hover:not(.active),:root[data-theme=gray] .stats-type-toggle button:hover:not(.active){color:#071923!important;background:#f6fafcd1!important;border-color:#203e5238!important}:root[data-theme=light] .stats-period-toggle button.active,:root[data-theme=light] .stats-type-toggle button.active,:root[data-theme=gray] .stats-period-toggle button.active,:root[data-theme=gray] .stats-type-toggle button.active{color:#062232!important;background:#a9d9e8!important;border-color:#68b8d2!important;box-shadow:inset 0 0 0 1px #06536e2e,0 1px 2px #23303a14}:root[data-theme=light] .stats-period-toggle button.active:hover,:root[data-theme=light] .stats-type-toggle button.active:hover,:root[data-theme=gray] .stats-period-toggle button.active:hover,:root[data-theme=gray] .stats-type-toggle button.active:hover{color:#041823!important;background:#94cddd!important;border-color:#489fbd!important}:root[data-theme=light] .stats-period-toggle button:focus-visible,:root[data-theme=light] .stats-type-toggle button:focus-visible,:root[data-theme=gray] .stats-period-toggle button:focus-visible,:root[data-theme=gray] .stats-type-toggle button:focus-visible{outline:3px solid rgba(7,95,130,.44);outline-offset:2px}:root[data-theme=light] .stats-period-toggle button:active:not(:disabled),:root[data-theme=light] .stats-type-toggle button:active:not(:disabled),:root[data-theme=gray] .stats-period-toggle button:active:not(:disabled),:root[data-theme=gray] .stats-type-toggle button:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 2px 5px #0f1e2a24}.local-data-check{display:inline-flex;align-items:center;gap:6px;align-self:start;border:1px solid rgba(154,186,214,.22);border-radius:8px;background:#9abad614;color:var(--muted-strong);padding:7px 9px;font-size:.76rem;font-weight:720;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.local-data-check:hover{transform:translateY(-1px);background:#9abad624;border-color:#9abad661}.backup-report-modal{position:relative;width:min(760px,94vw);max-height:min(86vh,820px);overflow:auto;display:grid;gap:16px;padding:24px;border-radius:12px;background:#101b28;color:var(--text);border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.backup-report-modal h2,.backup-report-modal h3{margin:0}.backup-report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.backup-report-meta span,.backup-report-grid div{min-width:0;border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f;padding:10px}.backup-report-meta b,.backup-report-grid dt{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem;font-weight:760}.backup-report-meta span{overflow-wrap:anywhere;color:var(--muted-strong);font-size:.9rem}.backup-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.backup-report-grid dd{margin:0;color:var(--text);font-size:1.35rem;font-weight:840}.backup-issues{display:grid;gap:10px}.backup-issues ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.backup-issues li{display:grid;grid-template-columns:88px 1fr;gap:8px;align-items:start;padding:10px;border-radius:8px;border:1px solid rgba(154,186,214,.14);background:#9abad60f;color:var(--muted-strong)}.backup-issues li.warning{border-color:#f5b84b52;background:#f5b84b14}.backup-issues li.error{border-color:#ff6b7a57;background:#ff6b7a14}.backup-issues li.info{border-color:#5ac8fa47;background:#5ac8fa12}.backup-issues li strong{color:var(--text)}.backup-issues p{color:var(--muted-strong)}:root[data-theme=light] .local-data-check,:root[data-theme=gray] .local-data-check{color:#173247;background:#eef3f7f5;border-color:#203e5247}:root[data-theme=light] .local-data-check:hover,:root[data-theme=gray] .local-data-check:hover{color:#071923;background:#dceff7;border-color:#075f827a}:root[data-theme=light] .backup-report-modal,:root[data-theme=gray] .backup-report-modal{background:var(--panel);color:var(--text);border-color:#1e415b29}:root[data-theme=light] .backup-report-meta span,:root[data-theme=light] .backup-report-grid div,:root[data-theme=light] .backup-issues li,:root[data-theme=gray] .backup-report-meta span,:root[data-theme=gray] .backup-report-grid div,:root[data-theme=gray] .backup-issues li{background:#f4f8fbc7;border-color:#1e415b24}@media(max-width:760px){.backup-report-meta,.backup-report-grid,.backup-issues li{grid-template-columns:1fr}}.backup-unmatched-heavy{display:grid;gap:10px}.backup-heavy-table{overflow-x:auto;border:1px solid rgba(154,186,214,.14);border-radius:8px}.backup-heavy-table table{width:100%;min-width:860px;border-collapse:collapse;font-size:.82rem}.backup-heavy-table th,.backup-heavy-table td{padding:9px 10px;border-bottom:1px solid rgba(154,186,214,.12);text-align:left;vertical-align:top}.backup-heavy-table th{color:var(--muted);background:#9abad614;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.backup-heavy-table td{color:var(--muted-strong)}.backup-heavy-table code{display:inline-block;max-width:210px;overflow-wrap:anywhere;color:var(--text);font-size:.78rem}.backup-heavy-table tr:last-child td{border-bottom:0}:root[data-theme=light] .backup-heavy-table,:root[data-theme=gray] .backup-heavy-table{border-color:#1e415b29}:root[data-theme=light] .backup-heavy-table th,:root[data-theme=gray] .backup-heavy-table th{color:#425765;background:#e7eef2f0}:root[data-theme=light] .backup-heavy-table td,:root[data-theme=gray] .backup-heavy-table td{color:#213544;border-bottom-color:#1e415b1f}:root[data-theme=light] .backup-heavy-table code,:root[data-theme=gray] .backup-heavy-table code{color:#061b29}.local-data-supabase{display:inline-flex;align-items:center;gap:6px;align-self:start;border:1px solid rgba(126,231,135,.24);border-radius:8px;background:#7ee78714;color:#c9f7d2;padding:7px 9px;font-size:.76rem;font-weight:720;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.local-data-supabase:hover{transform:translateY(-1px);background:#7ee78724;border-color:#7ee78766}.supabase-test-modal{position:relative;width:min(860px,94vw);max-height:min(88vh,860px);overflow:auto;display:grid;gap:16px;padding:24px;border-radius:12px;background:#101b28;color:var(--text);border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.supabase-test-modal h2,.supabase-test-modal h3{margin:0}.supabase-safety-grid,.supabase-activity-preview dl,.supabase-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.supabase-safety-grid span,.supabase-activity-preview dl div,.supabase-result dl div{min-width:0;border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f;padding:10px;color:var(--muted-strong);overflow-wrap:anywhere}.supabase-safety-grid b,.supabase-activity-preview dt,.supabase-result dt{display:block;margin-bottom:4px;color:var(--muted);font-size:.76rem;font-weight:760}.supabase-safety-grid .ok{border-color:#7ee78747;background:#7ee78712}.supabase-safety-grid .warning{border-color:#f5b84b52;background:#f5b84b14}.supabase-test-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.supabase-test-selectors label{display:grid;gap:6px;color:var(--muted-strong);font-weight:740}.supabase-test-selectors select{min-width:0;border:1px solid rgba(154,186,214,.18);border-radius:8px;background:#060f18e0;color:var(--text);padding:10px;font:inherit}.supabase-test-message,.supabase-preview-warnings p{margin:0;color:#f5cf74;font-weight:720}.supabase-activity-preview,.supabase-write-preview,.supabase-result{display:grid;gap:10px}.supabase-activity-preview dd,.supabase-result dd{margin:0;color:var(--text);font-weight:760}.supabase-write-preview ul,.supabase-result ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.supabase-write-preview li,.supabase-result li{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f;color:var(--muted-strong)}.supabase-test-modal code{overflow-wrap:anywhere;color:var(--text)}.supabase-result.ok{border-color:#7ee78738}.supabase-result.warning{border-color:#ff6b7a38}.data-mode-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(154,186,214,.16);border-radius:9px;background:#9abad60f}.data-mode-switch button{border:0;border-radius:7px;padding:8px 10px;background:transparent;color:var(--muted-strong);font-weight:800;cursor:pointer}.data-mode-switch button.active{background:#5ac8fa2e;color:var(--text)}.public-loading{display:grid;gap:8px;align-content:start}.public-loading p{margin:0;color:var(--muted-strong)}:root[data-theme=light] .data-mode-switch,:root[data-theme=gray] .data-mode-switch{background:#f4f8fbd1;border-color:#1e415b24}:root[data-theme=light] .data-mode-switch button.active,:root[data-theme=gray] .data-mode-switch button.active{background:#cde9f8fa;color:#16445f}.supabase-readonly-modal{position:relative;width:min(1180px,96vw);max-height:min(90vh,900px);overflow:auto;display:grid;gap:14px;padding:24px;border-radius:14px;background:#0a141ff7;border:1px solid rgba(154,186,214,.2);box-shadow:0 34px 90px #00000085}.supabase-readonly-modal h2,.supabase-readonly-modal h3{margin:0}.supabase-readonly-note{margin:0;color:var(--muted-strong);font-weight:720}.supabase-readonly-summary,.supabase-readonly-detail dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.supabase-readonly-summary div,.supabase-readonly-detail dl div{border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f;padding:10px}.supabase-readonly-summary dt,.supabase-readonly-detail dt{color:var(--muted);font-size:.76rem;font-weight:760;margin-bottom:4px}.supabase-readonly-summary dd,.supabase-readonly-detail dd{margin:0;color:var(--text);font-weight:780}.supabase-readonly-table{overflow:auto;border:1px solid rgba(154,186,214,.13);border-radius:8px}.supabase-readonly-table table{width:100%;border-collapse:collapse;min-width:960px}.supabase-readonly-table th,.supabase-readonly-table td{padding:9px 10px;border-bottom:1px solid rgba(154,186,214,.1);text-align:left;vertical-align:top;color:var(--muted-strong)}.supabase-readonly-table th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:0}.supabase-readonly-table tr:last-child td{border-bottom:0}.supabase-readonly-table strong,.supabase-readonly-table span,.supabase-readonly-table code{display:block}.supabase-readonly-table strong{color:var(--text);margin-bottom:3px}.supabase-readonly-table button{min-width:86px;border:1px solid rgba(154,186,214,.16);border-radius:8px;padding:7px 9px;color:var(--text);background:#9abad614;font-weight:800}.supabase-readonly-table tr.ok td{background:#7ee7870d}.supabase-readonly-table tr.warning td{background:#f5b84b12}.supabase-readonly-table tr.problem td{background:#ff6b7a12}.supabase-readonly-detail{display:grid;gap:10px}.supabase-batch-modal{width:min(1120px,96vw)}.supabase-batch-table{overflow:auto;border:1px solid rgba(154,186,214,.13);border-radius:8px}.supabase-batch-table table{width:100%;border-collapse:collapse;min-width:760px}.supabase-batch-table th,.supabase-batch-table td{padding:9px 10px;border-bottom:1px solid rgba(154,186,214,.1);text-align:left;vertical-align:top;color:var(--muted-strong)}.supabase-batch-table th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:0}.supabase-batch-table tr:last-child td{border-bottom:0}.supabase-batch-table strong,.supabase-batch-table span,.supabase-batch-table small{display:block}.supabase-batch-table strong{color:var(--text);margin-bottom:3px}.supabase-batch-table small{color:#f5cf74;margin-top:4px;font-weight:700}.supabase-batch-table tr.created td{background:#7ee7870d}.supabase-batch-table tr.existing td{background:#9abad60d}.supabase-batch-table tr.error td{background:#ff6b7a12}.supabase-batch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.supabase-batch-summary div{border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f;padding:10px}.supabase-batch-summary dt{color:var(--muted);font-size:.76rem;font-weight:760;margin-bottom:4px}.supabase-batch-summary dd{margin:0;color:var(--text);font-weight:780}:root[data-theme=light] .local-data-supabase,:root[data-theme=gray] .local-data-supabase{color:#1f5634;background:#e0f4e6f5;border-color:#25784947}:root[data-theme=light] .local-data-supabase:hover,:root[data-theme=gray] .local-data-supabase:hover{background:#ccecd6fa;border-color:#25784970}:root[data-theme=light] .supabase-test-modal,:root[data-theme=gray] .supabase-test-modal,:root[data-theme=light] .supabase-readonly-modal,:root[data-theme=gray] .supabase-readonly-modal{background:var(--panel);color:var(--text);border-color:#1e415b29}:root[data-theme=light] .supabase-safety-grid span,:root[data-theme=light] .supabase-activity-preview dl div,:root[data-theme=light] .supabase-result dl div,:root[data-theme=light] .supabase-write-preview li,:root[data-theme=light] .supabase-result li,:root[data-theme=light] .supabase-batch-summary div,:root[data-theme=light] .supabase-batch-table,:root[data-theme=light] .supabase-readonly-summary div,:root[data-theme=light] .supabase-readonly-detail dl div,:root[data-theme=light] .supabase-readonly-table,:root[data-theme=gray] .supabase-safety-grid span,:root[data-theme=gray] .supabase-activity-preview dl div,:root[data-theme=gray] .supabase-result dl div,:root[data-theme=gray] .supabase-write-preview li,:root[data-theme=gray] .supabase-result li,:root[data-theme=gray] .supabase-batch-summary div,:root[data-theme=gray] .supabase-batch-table,:root[data-theme=gray] .supabase-readonly-summary div,:root[data-theme=gray] .supabase-readonly-detail dl div,:root[data-theme=gray] .supabase-readonly-table{background:#f4f8fbc7;border-color:#1e415b24}:root[data-theme=light] .supabase-test-selectors select,:root[data-theme=gray] .supabase-test-selectors select{background:#f4f8fbf5;color:#102535;border-color:#1e415b38}@media(max-width:760px){.supabase-safety-grid,.supabase-test-selectors,.supabase-activity-preview dl,.supabase-result dl,.supabase-batch-summary,.supabase-readonly-summary,.supabase-readonly-detail dl{grid-template-columns:1fr}}.local-data-actions .local-data-supabase-read{border:1px solid rgba(154,186,214,.16);border-radius:8px;background:#0e1f2fe6;color:var(--text);padding:8px 11px;min-height:0;font:inherit;font-size:.86rem;font-weight:700;line-height:1.1;white-space:nowrap;gap:7px;box-shadow:none}.local-data-actions .local-data-supabase-read:hover:not(:disabled){transform:translateY(-1px);background:#9abad61f;border-color:#9abad63d}.local-data-actions .local-data-supabase-read svg{width:14px;height:14px}:root[data-theme=light] .local-data-actions .local-data-supabase-read,:root[data-theme=gray] .local-data-actions .local-data-supabase-read{color:var(--text);background:#f4f8fbc7;border-color:#1e415b24;box-shadow:none}:root[data-theme=light] .local-data-actions .local-data-supabase-read:hover:not(:disabled),:root[data-theme=gray] .local-data-actions .local-data-supabase-read:hover:not(:disabled){background:#e8eff4f5;border-color:#1e415b38}.supabase-fit-modal{width:min(900px,94vw)}.supabase-fit-modal .supabase-result{display:grid;gap:10px;padding:12px;border:1px solid rgba(154,186,214,.13);border-radius:8px;background:#9abad60f}.supabase-fit-modal .supabase-result p{margin:0;color:var(--muted-strong)}.supabase-fit-modal .supabase-result button{justify-self:start}:root[data-theme=light] .supabase-fit-modal .supabase-result,:root[data-theme=gray] .supabase-fit-modal .supabase-result{background:#f4f8fbc7;border-color:#1e415b24}.hero-panel{position:relative}.hero-admin-edit-button{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(90,200,250,.18);border-radius:8px;background:#5ac8fa14;color:#dff4ff;cursor:pointer}.hero-admin-edit-button:hover{border-color:#5ac8fa6b;background:#5ac8fa24}.dashboard-hero-dialog textarea{min-height:90px}:root[data-theme=light] .hero-admin-edit-button,:root[data-theme=gray] .hero-admin-edit-button{color:#0d5f7e!important;background:#0a8fb81f;border-color:#0a8fb84d}:root[data-theme=light] .hero-admin-edit-button:hover,:root[data-theme=gray] .hero-admin-edit-button:hover{color:#063f55!important;background:#0a8fb833;border-color:#0a8fb87a}.rider-owner-status{width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;border:1px solid rgba(154,186,214,.2);background:#9abad614;color:var(--muted-strong);font-size:.76rem;font-weight:820}.rider-owner-status.connected{border-color:#58d68d57;background:#58d68d1f;color:#9ff0bd}.rider-owner-status.pending{border-color:#f5b84b57;background:#f5b84b1c;color:#f6d695}.profile-visibility-toggle{gap:8px}.profile-visibility-toggle>span{display:block}.profile-visibility-toggle button{border:1px solid rgba(154,186,214,.18);border-radius:8px;background:#9abad60f;color:var(--muted-strong);padding:10px 12px;font:inherit;font-weight:800;cursor:pointer}.profile-visibility-toggle button.active{border-color:#5ac8fa73;background:#5ac8fa29;color:var(--text)}.profile-dialog-note{margin:-2px 0 0;color:var(--muted-strong);font-size:.86rem;line-height:1.45}:root[data-theme=light] .rider-owner-status.pending,:root[data-theme=gray] .rider-owner-status.pending{color:#785200;background:#f5b84b2e;border-color:#895d0038}:root[data-theme=light] .rider-owner-status.connected,:root[data-theme=gray] .rider-owner-status.connected{color:#176033;background:#58d68d29;border-color:#17603338}:root[data-theme=light] .profile-visibility-toggle button,:root[data-theme=gray] .profile-visibility-toggle button{background:#f4f8fbd1;border-color:#1e415b29;color:#36556a}:root[data-theme=light] .profile-visibility-toggle button.active,:root[data-theme=gray] .profile-visibility-toggle button.active{background:#cde9f8fa;border-color:#3c9ac46b;color:#12384f}.rider-admin-statuses{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rider-owner-status.public{border-color:#5ac8fa57;background:#5ac8fa1f;color:#9fe6ff}.rider-owner-status.private{border-color:#a78bfa57;background:#a78bfa1f;color:#d8ccff}.rider-actions .visibility-mini.public{border-color:#5ac8fa57;color:#b9edff;background:#5ac8fa14}.rider-actions .visibility-mini.private{border-color:#a78bfa57;color:#ded5ff;background:#a78bfa1a}.rider-actions .visibility-mini:hover{transform:translateY(-1px)}:root[data-theme=light] .rider-owner-status.public,:root[data-theme=gray] .rider-owner-status.public{color:#14506b;background:#5ac8fa29;border-color:#14506b38}:root[data-theme=light] .rider-owner-status.private,:root[data-theme=gray] .rider-owner-status.private{color:#4f348f;background:#a78bfa2b;border-color:#4f348f38}:root[data-theme=light] .rider-actions .visibility-mini.public,:root[data-theme=gray] .rider-actions .visibility-mini.public{color:#14506b;background:#cde9f8f2;border-color:#14506b38}:root[data-theme=light] .rider-actions .visibility-mini.private,:root[data-theme=gray] .rider-actions .visibility-mini.private{color:#4f348f;background:#e7e0fff2;border-color:#4f348f38}.rider-card{position:relative}.rider-admin-key{position:absolute;top:12px;right:12px;z-index:2;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(90,200,250,.26);background:#5ac8fa14;color:#ace8ffeb}.rider-actions{gap:6px}.rider-actions button{min-height:0;padding:7px 9px;border-radius:7px;font-size:.78rem;line-height:1.1;font-weight:750}.rider-actions .visibility-mini.public,.rider-actions .visibility-mini.private{padding-inline:9px}.rider-owner-status{padding:3px 7px;font-size:.69rem;font-weight:760;opacity:.92}.rider-admin-statuses{gap:5px;margin-top:-2px}.rider-card.active .rider-owner-status{opacity:.96}:root[data-theme=light] .rider-admin-key,:root[data-theme=gray] .rider-admin-key{color:#14506b;background:#cde9f8db;border-color:#14506b2e}:root[data-theme=light] .rider-actions button,:root[data-theme=gray] .rider-actions button{font-weight:760}.rider-owner-status.sent{border-color:#f5b84b57;background:#f5b84b1c;color:#f6d695}.rider-actions .invite-mini{border-color:#f5b84b57;color:#f6d695;background:#f5b84b14}.rider-actions .invite-mini:hover{transform:translateY(-1px)}.auth-callback-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--text)}.auth-callback-card{width:min(520px,100%);border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.auth-callback-card h1{margin:8px 0 10px;font-size:clamp(2rem,5vw,3rem)}.auth-callback-card p{margin:0 0 18px;color:var(--muted-strong)}.auth-callback-form{display:grid;gap:14px}.auth-callback-form label{display:grid;gap:6px;color:var(--muted-strong);font-size:.9rem;font-weight:750}.auth-callback-form input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--text);padding:10px 12px;font:inherit}.password-field{position:relative;display:block}.password-field input{padding-right:46px}.password-field button{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted-strong);padding:0;cursor:pointer}.password-field button:hover{background:#5ac8fa1f;color:var(--text)}.auth-callback-form .password-field button,.profile-dialog .password-field button{width:32px;height:32px;border:0;background:transparent;padding:0}.auth-callback-form .password-field button:hover,.profile-dialog .password-field button:hover{background:#5ac8fa1f}.auth-callback-form button,.auth-callback-card>button{width:max-content;border:1px solid rgba(90,200,250,.36);border-radius:8px;background:#5ac8fa21;color:var(--text);padding:10px 14px;font-weight:850;cursor:pointer}.auth-callback-form button:disabled{cursor:wait;opacity:.68}.mini-loader{color:var(--muted-strong);font-weight:750}:root[data-theme=light] .rider-owner-status.sent,:root[data-theme=gray] .rider-owner-status.sent{color:#785200;background:#f5b84b2e;border-color:#895d0038}:root[data-theme=light] .rider-actions .invite-mini,:root[data-theme=gray] .rider-actions .invite-mini{color:#785200;background:#fff3d2f2;border-color:#895d0038}.rider-owner-email{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:-3px;color:var(--muted-strong);font-size:.72rem;font-weight:720}.rider-owner-email span{min-width:0;overflow-wrap:anywhere}.rider-owner-email button{border:1px solid rgba(90,200,250,.25);border-radius:999px;background:#5ac8fa14;color:#b9edff;padding:3px 7px;font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.rider-owner-email button:hover{background:#5ac8fa24}.owner-email-dialog{max-width:420px}.rider-actions{flex-wrap:wrap;align-items:center}.rider-actions button{flex:0 1 auto;max-width:100%;white-space:normal}.rider-actions .invite-mini{max-width:142px}:root[data-theme=light] .rider-owner-email button,:root[data-theme=gray] .rider-owner-email button{color:#14506b;background:#cde9f8f2;border-color:#14506b38}.brand{min-width:360px;flex:0 0 auto}.brand-title-row{flex-wrap:nowrap;min-width:max-content}.brand-title-row h1{white-space:nowrap;font-size:clamp(1.18rem,1.35vw,1.55rem);line-height:1.05}@media(max-width:760px){.brand{min-width:0;flex:1 1 auto}.brand-title-row{min-width:0}.brand-title-row h1{font-size:clamp(1.08rem,5vw,1.35rem)}}.language-switcher{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid rgba(154,186,214,.16);border-radius:10px;background:#9abad60f}.language-switcher button{width:32px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;cursor:pointer;opacity:.76;transition:background .18s ease,opacity .18s ease,transform .18s ease}.language-switcher button:hover{opacity:1;transform:translateY(-1px);background:#5ac8fa1f}.language-switcher button.active{opacity:1;background:#5ac8fa33;box-shadow:inset 0 0 0 1px #5ac8fa47}.language-switcher .flag-icon{width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px #ffffff38}:root[data-theme=light] .language-switcher,:root[data-theme=gray] .language-switcher{background:#f4f8fbd1;border-color:#1e415b24}:root[data-theme=light] .language-switcher button.active,:root[data-theme=gray] .language-switcher button.active{background:#cde9f8fa;box-shadow:inset 0 0 0 1px #14506b38}@media(max-width:760px){.language-switcher{order:8}}.workout-analysis-page{display:grid;gap:18px}.analysis-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.analysis-chart-panel,.analysis-card{border:1px solid rgba(90,200,250,.16);border-radius:12px;background:#060f188c;padding:16px}.analysis-chart-wrap{overflow-x:auto;border:1px solid rgba(154,186,214,.12);border-radius:10px;background:#03091075}.analysis-chart-wrap svg{min-width:760px;display:block;width:100%;height:auto}.analysis-chart-wrap .grid-line{stroke:#9abad626;stroke-width:1}.analysis-chart-wrap .chart-hitbox{fill:transparent;cursor:crosshair}.analysis-chart-wrap .chart-split-highlight{fill:#f973161f;stroke:#f9731666;stroke-width:1.4;stroke-dasharray:3 3}.analysis-chart-wrap .chart-split-close{cursor:pointer;color:#ffe0bee6}.analysis-chart-wrap .chart-split-close circle{fill:#09141fc7;stroke:#f973169e;stroke-width:1}.analysis-chart-wrap .chart-split-close path{stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.analysis-chart-wrap .chart-cursor line{stroke:#ffffff85;stroke-width:1.5;stroke-dasharray:5 6}.analysis-chart-wrap .chart-cursor rect{fill:#09141feb;stroke:#5ac8fa59}.analysis-chart-wrap .chart-cursor text{fill:var(--muted-strong);font-size:15px;font-weight:750}.analysis-chart-wrap .chart-cursor .tooltip-value{fill:var(--text);font-size:22px;font-weight:900}.analysis-chart-wrap .chart-axis-label{fill:var(--muted-strong);font-size:13px;font-weight:750}.analysis-chart-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.analysis-axis-toggle{margin-right:0}.analysis-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--muted-strong);font-weight:750}.analysis-toggle input{accent-color:var(--cyan)}.analysis-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:var(--muted-strong);font-weight:800}.analysis-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.analysis-legend .power:before{background:#e8590c}.analysis-legend .heart:before{background:#ff5b66}.analysis-legend .speed:before{background:#7ee787}.analysis-legend .cadence:before{background:#4cc9f0}.analysis-empty{border:1px dashed rgba(154,186,214,.22);border-radius:12px;padding:18px;color:var(--muted-strong);background:#060f1861}.analysis-two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.analysis-card h3{margin:4px 0 10px}.analysis-card p{color:var(--muted-strong);margin:0}.best-splits-section{display:grid;gap:14px}.best-splits-title{align-items:flex-start;margin:0}.best-splits-title small{color:var(--muted);font-weight:800}.best-splits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.best-split-card{border:1px solid rgba(90,200,250,.18);border-radius:12px;background:#0e2332ad;padding:14px;min-height:138px;display:grid;align-content:start;gap:6px}button.best-split-card{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.best-split-card.clickable:hover,.best-split-card.clickable:focus-visible{border-color:#5ac8fa8c;background:#123246d6;box-shadow:0 0 0 2px #5ac8fa24;outline:none;transform:translateY(-1px)}.best-split-card>span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.best-split-card strong{color:var(--text);font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1}.best-split-card small{color:var(--muted-strong);font-weight:800}.best-split-card.unavailable{opacity:.76;border-style:dashed}.best-split-card p{color:var(--muted-strong);margin:4px 0 0;line-height:1.35}.analysis-pause-list,.analysis-conclusions{display:grid;gap:10px;margin:12px 0 0;padding-left:20px;color:var(--muted-strong)}.analysis-pause-list li strong{display:block;color:var(--text)}.analysis-pause-list li span{color:var(--muted)}.analysis-text-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:4px}.analysis-text-action:hover,.analysis-text-action:focus-visible{color:var(--text);outline:none;text-decoration-style:solid}.analysis-text-action.block{display:block;width:calc(100% - 48px)}:root[data-theme=light] .analysis-chart-panel,:root[data-theme=light] .analysis-card,:root[data-theme=gray] .analysis-chart-panel,:root[data-theme=gray] .analysis-card{background:#f8fbfdf5;border-color:#243e4f29;color:#102634}:root[data-theme=light] .analysis-chart-wrap,:root[data-theme=gray] .analysis-chart-wrap{background:#f7fafc;border-color:#243e4f24}:root[data-theme=light] .analysis-chart-wrap .grid-line,:root[data-theme=gray] .analysis-chart-wrap .grid-line{stroke:#364e5f2e}:root[data-theme=light] .analysis-chart-wrap .chart-split-highlight,:root[data-theme=gray] .analysis-chart-wrap .chart-split-highlight{fill:#f973161f;stroke:#f9731666}:root[data-theme=light] .analysis-chart-wrap .chart-axis-label,:root[data-theme=gray] .analysis-chart-wrap .chart-axis-label,:root[data-theme=light] .analysis-legend,:root[data-theme=gray] .analysis-legend,:root[data-theme=light] .analysis-toggle,:root[data-theme=gray] .analysis-toggle,:root[data-theme=light] .analysis-card p,:root[data-theme=gray] .analysis-card p,:root[data-theme=light] .analysis-pause-list,:root[data-theme=light] .analysis-conclusions,:root[data-theme=gray] .analysis-pause-list,:root[data-theme=gray] .analysis-conclusions{color:#284252}:root[data-theme=light] .analysis-pause-list li strong,:root[data-theme=gray] .analysis-pause-list li strong,:root[data-theme=light] .analysis-card h3,:root[data-theme=gray] .analysis-card h3{color:#071a25}:root[data-theme=light] .best-split-card,:root[data-theme=gray] .best-split-card{background:#f7fafc;border-color:#243e4f29}:root[data-theme=light] .best-split-card.clickable:hover,:root[data-theme=light] .best-split-card.clickable:focus-visible,:root[data-theme=gray] .best-split-card.clickable:hover,:root[data-theme=gray] .best-split-card.clickable:focus-visible{background:#edf7fb;border-color:#247ea670}:root[data-theme=light] .best-split-card strong,:root[data-theme=gray] .best-split-card strong{color:#071a25}:root[data-theme=light] .best-split-card small,:root[data-theme=light] .best-split-card p,:root[data-theme=light] .best-splits-title small,:root[data-theme=gray] .best-split-card small,:root[data-theme=gray] .best-split-card p,:root[data-theme=gray] .best-splits-title small{color:#536b7b}:root[data-theme=light] .analysis-pause-list li span,:root[data-theme=gray] .analysis-pause-list li span{color:#536b7b}:root[data-theme=light] .analysis-chart-wrap .chart-cursor line,:root[data-theme=gray] .analysis-chart-wrap .chart-cursor line{stroke:#071a257a}:root[data-theme=light] .analysis-chart-wrap .chart-cursor rect,:root[data-theme=gray] .analysis-chart-wrap .chart-cursor rect{fill:#fffffff5;stroke:#247ea657}:root[data-theme=light] .analysis-chart-wrap .chart-cursor text,:root[data-theme=gray] .analysis-chart-wrap .chart-cursor text{fill:#284252}:root[data-theme=light] .analysis-chart-wrap .chart-cursor .tooltip-value,:root[data-theme=gray] .analysis-chart-wrap .chart-cursor .tooltip-value{fill:#071a25}@media(max-width:860px){.analysis-two-column{grid-template-columns:1fr}.analysis-summary-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.best-splits-grid{grid-template-columns:1fr}}.analysis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.analysis-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(90,200,250,.18);border-radius:12px;background:#0309106b}.analysis-view-switch button{border:0;border-radius:9px;padding:9px 13px;background:transparent;color:var(--muted-strong);font-weight:850;cursor:pointer}.analysis-view-switch button.active{background:#5ac8fa2e;color:var(--text);box-shadow:inset 0 0 0 1px #5ac8fa40}:root[data-theme=light] .analysis-view-switch,:root[data-theme=gray] .analysis-view-switch{background:#78848e47;border-color:#243e4f38}:root[data-theme=light] .analysis-view-switch button,:root[data-theme=gray] .analysis-view-switch button{color:#21313d;background:transparent}:root[data-theme=light] .analysis-view-switch button:hover:not(.active),:root[data-theme=gray] .analysis-view-switch button:hover:not(.active){color:#061923;background:#ffffff6b}:root[data-theme=light] .analysis-view-switch button.active,:root[data-theme=gray] .analysis-view-switch button.active{color:#061923;background:#7aadc3c7;box-shadow:inset 0 0 0 1px #2d7ea185,0 1px 3px #182a371f}.workout-report-dismiss-layer{display:block}.workout-report-card{overflow:hidden;border-radius:18px;background:#f5f7f9;color:#212529;box-shadow:0 22px 52px #00000047}.workout-report-hero{padding:28px 32px;color:#fff;background:linear-gradient(135deg,#e8590c,#f08c00 44%,#2f9e44)}.workout-report-hero h2{margin:0 0 6px;font-size:clamp(2rem,4.4vw,3rem);letter-spacing:0}.workout-report-hero p{margin:0;font-weight:750;opacity:.94}.workout-report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 24px 10px}.workout-report-stats article{background:#fff;border-radius:12px;padding:15px 16px;border-left:4px solid #e9ecef;box-shadow:0 2px 10px #0f172a0d}.workout-report-stats article.dist{border-left-color:#2f9e44}.workout-report-stats article.power{border-left-color:#e8590c}.workout-report-stats article.heart{border-left-color:#e03131}.workout-report-stats article.cad{border-left-color:#1971c2}.workout-report-stats span{display:block;color:#868e96;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.workout-report-stats strong{display:block;margin-top:4px;color:#212529;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.05}.workout-report-stats small{display:block;margin-top:6px;color:#868e96;font-weight:700}.workout-report-section{margin:18px 24px 0;padding:22px 24px;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0f172a0d}.workout-report-section:last-child{margin-bottom:24px}.workout-report-section h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#212529;font-size:1.45rem}.workout-report-section h3 em{margin-left:auto;padding:3px 10px;border-radius:999px;background:#e8590c;color:#fff;font-size:.85rem;font-style:normal;font-weight:850}.report-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;background:#2f9e44}.report-dot.power{background:#e8590c}.report-dot.chart{background:#1971c2}.report-dot.pause{background:#f5b700}.report-dot.difficulty{background:#2f9e44}.workout-report-section table{width:100%;border-collapse:collapse;font-size:.95rem}.workout-report-section th,.workout-report-section td{padding:8px 10px;border-bottom:1px solid #e9ecef;text-align:left;vertical-align:top}.workout-report-section th{width:30%;color:#212529;font-weight:800}.workout-report-section td:first-of-type{width:18%;color:#212529;font-weight:900}.workout-report-section td:last-of-type{color:#868e96}.workout-report-section tr:last-child th,.workout-report-section tr:last-child td{border-bottom:0}.workout-report-card .analysis-chart-panel{padding:0;border:0;background:transparent}.workout-report-card .analysis-chart-panel>.section-title{display:flex;margin:0 0 14px}.workout-report-card .report-analysis-title{align-items:center;justify-content:space-between;gap:14px}.workout-report-card .report-analysis-title h3{margin:0}.workout-report-card .analysis-chart-controls{justify-content:flex-end}.workout-report-card .analysis-axis-toggle{background:#eef3f7;border-color:#d4dde5}.workout-report-card .analysis-axis-toggle button{color:#495866}.workout-report-card .analysis-axis-toggle button.active{color:#0b2433;background:#d3ecf8;box-shadow:inset 0 0 0 1px #84c4df}.workout-report-card .analysis-chart-wrap{border:0;background:#fff}.workout-report-card .analysis-chart-wrap svg{min-width:720px}.workout-report-card .analysis-chart-wrap .grid-line{stroke:#e9ecef}.workout-report-card .analysis-chart-wrap .chart-axis-label{fill:#868e96}.workout-report-card .analysis-chart-wrap .chart-cursor line{stroke:#21252973}.workout-report-card .analysis-chart-wrap .chart-cursor rect{fill:#212529;stroke:#2125291f}.workout-report-card .analysis-legend{color:#212529;margin-left:4px}.workout-report-card .best-splits-section{display:grid;gap:14px}.workout-report-card .best-splits-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0}.workout-report-card .best-splits-title h3{margin:0}.workout-report-card .best-splits-title small{color:#868e96;font-weight:800}.workout-report-card .best-split-card{background:#f8f9fa;border-color:#e9ecef;box-shadow:none}.workout-report-card .best-split-card>span{color:#868e96}.workout-report-card .best-split-card strong{color:#212529}.workout-report-card .best-split-card small,.workout-report-card .best-split-card p{color:#868e96}.workout-report-note{margin:22px 24px 0;padding:14px 18px;border-left:4px solid #1971c2;border-radius:9px;background:#e7f5ff;color:#1864ab;font-weight:750}.report-pause-chips{display:flex;flex-wrap:wrap;gap:10px}.report-pause-chips span,.report-pause-chips button{min-width:148px;padding:9px 12px;border:1px solid #ffe066;border-radius:9px;background:#fff3bf;color:#868e96;font:inherit;font-weight:750;text-align:left}.report-pause-chips button{cursor:pointer}.report-pause-chips button:hover,.report-pause-chips button:focus-visible{outline:none;border-color:#f08c00;box-shadow:0 0 0 2px #f08c0029}.report-pause-chips b{display:block;color:#212529;font-size:1.08rem}.report-difficulty-bar{display:flex;gap:5px;margin:4px 0 12px}.report-difficulty-bar span{flex:1;height:15px;border-radius:4px;background:#e9ecef}.report-difficulty-bar span.filled{background:linear-gradient(90deg,#f08c00,#e8590c)}.report-score{display:block;color:#e8590c;font-size:2rem;line-height:1;margin-bottom:8px}.workout-report-section p{color:#212529;line-height:1.55;margin:0}@media(max-width:900px){.workout-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-report-section h3{align-items:flex-start;flex-wrap:wrap}.workout-report-section h3 em{margin-left:0}}@media(max-width:620px){.workout-report-hero{padding:24px 20px}.workout-report-stats{grid-template-columns:1fr;padding:16px}.workout-report-section{margin:14px 16px 0;padding:18px}.workout-report-note{margin:16px 16px 0}}
