:root{--bg:#090b0e;--panel:#0f1318;--card:#151a20;--line:#242b34;--text:#f2f5f7;--muted:#8994a1;--green:#8ff0bb;--blue:#7cb8ff;--red:#ff7d7d;--amber:#f1c66c;--radius:18px}*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 75% -20%,#17312b 0,transparent 32%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}.top{height:72px;position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(9,11,14,.88);backdrop-filter:blur(14px)}.brand{color:var(--text);text-decoration:none;display:flex;align-items:center;gap:12px}.logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),#3d8f70);color:#06100b;font-weight:900}.brand b{display:block;letter-spacing:.12em}.brand small{display:block;color:var(--muted);font-size:10px}.top-status{display:flex;align-items:center;gap:10px}.pill{font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:99px}.pill.ok{color:var(--green);border-color:#2c684a}.pill.warn{color:var(--amber)}.shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:230px 1fr}.side{border-right:1px solid var(--line);padding:24px 14px;position:sticky;top:72px;height:calc(100vh - 72px);display:flex;flex-direction:column}.side nav{display:grid;gap:6px}.tab{border:0;background:transparent;color:var(--muted);padding:13px 12px;text-align:left;border-radius:12px;cursor:pointer}.tab span{font-size:10px;margin-right:8px;color:#58616d}.tab.active,.tab:hover{background:#171c22;color:var(--text)}.tab.active span{color:var(--green)}.side-note{margin-top:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:#101419}.side-note b{font-size:10px;color:var(--green);letter-spacing:.1em}.side-note p{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 0}.work{padding:28px;min-width:0}.panel{display:none;max-width:1500px;margin:0 auto}.panel.active{display:block}.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.panel-head h1{font-size:clamp(28px,4vw,52px);line-height:1;margin:5px 0 8px;letter-spacing:-.04em}.panel-head p{color:var(--muted);margin:0}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--green)}.head-actions{display:flex;gap:8px}.primary,.ghost,.danger,.mini{border-radius:11px;padding:10px 14px;cursor:pointer;border:1px solid var(--line);color:var(--text)}.primary{background:var(--green);border-color:var(--green);color:#07100b;font-weight:800}.ghost,.mini{background:#12171c}.danger{background:#351719;border-color:#6a2c32;color:#ffb0b0}.mini{font-size:11px;padding:7px 9px}.builder-grid{display:grid;grid-template-columns:330px 1fr;gap:16px}.card,.map-card{background:linear-gradient(180deg,#151a20,#101419);border:1px solid var(--line);border-radius:var(--radius)}.controls{padding:17px;display:grid;gap:12px}.controls label,.form-card label,.edit-tools label,.section label{display:grid;gap:6px;color:#aab3bd;font-size:12px}input,select{width:100%;background:#0b0f13;border:1px solid #2a323b;color:var(--text);border-radius:10px;padding:10px 11px;outline:none}input:focus,select:focus{border-color:#4f8c73;box-shadow:0 0 0 3px rgba(143,240,187,.08)}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex!important;align-items:center;gap:8px!important}.check input{width:auto}fieldset{border:1px solid var(--line);border-radius:12px;padding:10px}legend{font-size:10px;color:var(--muted);padding:0 6px}.waypoints{display:grid;gap:6px;max-height:220px;overflow:auto}.wp{display:grid;grid-template-columns:28px 1fr 26px;gap:8px;align-items:center;padding:7px;background:#0d1115;border-radius:9px;font-size:11px}.wp i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#20352d;color:var(--green);font-style:normal}.wp button{border:0;background:transparent;color:#7b858f;cursor:pointer}.hint{color:var(--muted);font-size:10px;margin:0}.map-card{position:relative;overflow:hidden;min-height:620px}.map-card #map{height:100%;min-height:620px;background:#0d1114}.map-tools{position:absolute;z-index:500;left:12px;right:12px;bottom:12px;background:rgba(9,12,15,.88);border:1px solid var(--line);border-radius:12px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;backdrop-filter:blur(10px)}.leaflet-container{font-family:inherit}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.metrics>div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#11161b}.metrics b{font-size:25px}.metrics span{margin-left:5px;color:var(--green)}.metrics small{display:block;color:var(--muted);margin-top:5px}.section{padding:18px;margin-top:14px}.section-head{display:flex;justify-content:space-between;align-items:center}.section h2{margin:0 0 14px}.intel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.intel{padding:12px;border:1px solid var(--line);border-radius:12px}.intel b{display:block}.intel small{color:var(--muted)}.empty{grid-column:1/-1;color:var(--muted);padding:20px;text-align:center}.form-grid{display:grid;grid-template-columns:280px 280px 1fr;gap:14px}.form-card{padding:18px;display:grid;gap:12px}.form-card h3,.card h3{margin:0 0 7px}.preview-card{padding:18px;min-width:0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary div{padding:10px;background:#0d1115;border-radius:10px}.summary b{display:block;font-size:18px}.summary small{color:var(--muted)}#spark{width:100%;height:330px;margin-top:15px;background:#0c1014;border-radius:12px}.device-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}.device-grid>.card{padding:20px}.device-card{margin-top:14px;padding:16px;border-radius:14px;background:#0e1317;border:1px solid var(--line)}.device-card b{font-size:20px}.device-card small{display:block;color:var(--muted);margin-top:6px}.sensor{display:flex!important;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer}.sensor input{width:auto}.sensor span{display:grid}.sensor small{color:var(--muted)}#sensorCards{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sensor-chip{padding:7px 9px;border-radius:99px;background:#1b2924;border:1px solid #2f5546;font-size:11px;color:var(--green)}.edit-tools{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:16px;align-items:end}.table-wrap{overflow:auto;margin-top:14px;max-height:560px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:9px 10px;border-bottom:1px solid #222a31;white-space:nowrap;text-align:right}th:first-child,td:first-child{text-align:left}th{position:sticky;top:0;background:#151a20;color:#8f9aa5}.drop{height:220px;border:1px dashed #3a4852;border-radius:20px;display:grid;place-content:center;text-align:center;cursor:pointer;background:#0f1418}.drop input{display:none}.drop b{font-size:28px}.drop span{color:var(--muted);margin-top:8px}.fit-results{padding:18px;margin-top:14px}.feature-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.feature-list span{font-size:11px;padding:8px 10px;border:1px solid var(--line);border-radius:99px;color:#aeb8c2}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.export-card{text-align:left;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#171c22,#0f1317);color:var(--text);cursor:pointer}.export-card:hover{border-color:#416955;transform:translateY(-2px)}.export-card b{font-size:34px;color:var(--green)}.export-card span{display:block;font-size:18px;font-weight:800;margin:8px 0}.export-card small{color:var(--muted);line-height:1.5}.notice{color:var(--amber);font-size:12px}.search-wrap{position:relative}.results{position:absolute;z-index:900;top:100%;left:0;right:0;background:#11171c;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:none}.results button{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:10px;font-size:11px;cursor:pointer}.results button:hover{background:#1a2229}#toast{position:fixed;z-index:5000;right:20px;bottom:20px;max-width:420px;padding:12px 15px;border-radius:12px;background:#1b242a;border:1px solid #38434c;color:var(--text);transform:translateY(100px);opacity:0;transition:.25s}#toast.show{transform:none;opacity:1}#toast.err{border-color:#74363b;color:#ffc4c4}@media(max-width:1050px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px;overflow:auto}.side nav{display:flex;min-width:max-content}.side-note{display:none}.work{padding:18px}.builder-grid,.form-grid,.device-grid{grid-template-columns:1fr}.map-card,#map{min-height:520px}.controls{order:2}.metrics{grid-template-columns:1fr 1fr}.edit-tools{grid-template-columns:1fr 1fr}.export-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.top{padding:0 12px}.top-status .pill{display:none}.work{padding:12px}.panel-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%;overflow:auto}.panel-head h1{font-size:34px}.map-card,#map{min-height:430px}.metrics,.summary,.export-grid,.row{grid-template-columns:1fr 1fr}.edit-tools{grid-template-columns:1fr}.builder-grid{gap:10px}.drop b{font-size:22px}}

/* SmartFIT easy UI + one-click editor */
.home-head{margin-bottom:28px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-card{min-height:190px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#171d23,#0e1216);color:var(--text);text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:7px;transition:.2s}.quick-card:hover{transform:translateY(-3px);border-color:#4a7c65;background:linear-gradient(145deg,#1b2524,#10171a)}.quick-card.hero-quick{border-color:#3b7258;background:radial-gradient(circle at 90% 10%,rgba(143,240,187,.18),transparent 38%),linear-gradient(145deg,#17231f,#0e1512)}.quick-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#20372d;color:var(--green);font-size:22px;margin-bottom:8px}.quick-card b{font-size:24px}.quick-card small{color:#b8c1ca;font-size:13px}.quick-card em{font-style:normal;color:var(--muted);font-size:11px;margin-top:auto}.home-info{color:#b8c1ca}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 14px rgba(143,240,187,.6)}
.editor-empty{padding:46px;text-align:center}.editor-empty b{font-size:28px}.editor-empty p{color:var(--muted)}.editor-workspace{display:none}.editor-metrics{grid-template-columns:repeat(6,1fr);margin-top:0}.editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.editor-card{padding:20px;display:grid;gap:12px}.editor-card label{display:grid;gap:6px;color:#aab3bd;font-size:12px}.tool-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:4px}.tool-title>span{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#20352d;color:var(--green);font-size:11px;font-weight:800}.tool-title h3{margin:0}.tool-title small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}.start-box{padding:13px;border:1px solid var(--line);border-radius:12px;background:#0d1115}.start-box small{display:block;color:var(--muted);margin-bottom:5px}.start-box b{font-size:15px}.wide{width:100%}.divider{height:1px;background:var(--line);margin:3px 0}.quick-shifts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-shifts button{background:#111820;border:1px solid var(--line);color:#b8c1ca;border-radius:9px;padding:8px 5px;font-size:10px;cursor:pointer}.quick-shifts button:hover{border-color:#4a7c65;color:var(--green)}.legacy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.legacy-grid button{align-self:end}.editor-table{max-height:620px}.editable{outline:none;background:rgba(143,240,187,.035);box-shadow:inset 0 0 0 1px rgba(143,240,187,.05);cursor:text}.editable:hover,.editable:focus{background:rgba(143,240,187,.10);box-shadow:inset 0 0 0 1px #4c8c6c}.compact{padding:7px 10px;margin-top:10px}.detected-hardware{padding:18px;margin-bottom:14px}.detected-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px}.detected-device{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0d1216}.detected-device b{display:block;font-size:13px}.detected-device small{display:block;color:var(--muted);font-size:10px;line-height:1.45;margin-top:5px}.sensor-config{display:grid;grid-template-columns:minmax(200px,.9fr) 1.1fr;gap:8px;align-items:stretch;margin-bottom:8px}.sensor-config .sensor{margin:0}.sensor-config select{height:100%}.range-inline{margin-top:-3px}.table-wrap pre{white-space:pre-wrap}.section-head>div>h2{margin-bottom:5px}
@media(max-width:1200px){.editor-grid{grid-template-columns:1fr 1fr}.editor-grid>.editor-card:last-child{grid-column:1/-1}.editor-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.quick-grid,.editor-grid{grid-template-columns:1fr}.editor-grid>.editor-card:last-child{grid-column:auto}.editor-metrics{grid-template-columns:1fr 1fr}.sensor-config{grid-template-columns:1fr}.quick-shifts{grid-template-columns:repeat(2,1fr)}}

/* SmartFIT 1.3 correctness + target averages + personal heatmap */
.warn-text{color:var(--amber);line-height:1.55}.fit-health{margin-top:10px}.fit-health .notice{margin-bottom:0}.form-grid{grid-template-columns:260px 280px 320px minmax(340px,1fr)}.editor-metrics{grid-template-columns:repeat(7,1fr)}#targetResult{padding:10px;border:1px solid var(--line);border-radius:10px;background:#0d1115;line-height:1.5}#heatmapStats{margin-top:4px}
@media(max-width:1350px){.form-grid{grid-template-columns:1fr 1fr}.preview-card{grid-column:1/-1}.editor-metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.form-grid{grid-template-columns:1fr}.preview-card{grid-column:auto}.editor-metrics{grid-template-columns:1fr 1fr}}

/* SmartFIT v1.4 fidelity + realism */
.compact-select{width:auto;min-width:185px;background:#0b0f13;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 12px}.fidelity-panel{border-color:#315845}.compatibility-panel{border-color:#293a49}.score-badge{padding:8px 11px;border-radius:99px;border:1px solid var(--line);font-size:11px;font-weight:800}.score-badge.pass{color:var(--green);border-color:#2f6650;background:#13241d}.score-badge.warn{color:var(--amber);border-color:#66562f;background:#261f12}.score-badge.fail{color:#ff9d9d;border-color:#6a3434;background:#291515}.compat-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.compat-list span{font-size:10px;padding:7px 9px;border:1px solid var(--line);border-radius:99px}.compat-list .ok{color:var(--green);border-color:#284e40}.compat-list .bad{color:#ffadad;border-color:#613737}.warn-text{color:var(--amber)}
@media(max-width:650px){.compact-select{min-width:165px;max-width:100%}}
#editorGraph{width:100%;height:280px;background:#0b0f13;border:1px solid var(--line);border-radius:14px}.graph-select{display:flex!important;align-items:center;gap:8px!important;min-width:210px}.graph-select select{min-width:150px}

/* v1.4.2 boot resilience */
.map-fallback{min-height:620px;display:grid;place-content:center;text-align:center;padding:28px;background:#0d1114;color:var(--muted)}
.map-fallback b{display:block;color:var(--amber);font-size:20px;margin-bottom:8px}
.map-fallback span{max-width:520px;line-height:1.5}

/* SmartFIT v3.0.0 — smart activity targets, recovery, coasting, trajectory realism and multi-user athlete UI */
.route-smart-grid{margin:16px 0 2px;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr) minmax(300px,.8fr)}
.route-target-card details{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#0d1115}.route-target-card summary{cursor:pointer;color:var(--green);font-size:11px;font-weight:700;margin-bottom:8px}.route-target-card details[open] summary{margin-bottom:12px}
.route-activity-card{display:flex;flex-direction:column;gap:14px;justify-content:flex-start}.route-smart-summary{padding:15px;border:1px solid #315845;border-radius:14px;background:radial-gradient(circle at 90% 0,rgba(143,240,187,.10),transparent 40%),#0d1210;display:grid;gap:6px}.route-smart-summary b{font-size:20px}.route-smart-summary span{font-size:11px;color:var(--muted);line-height:1.55}
@media(max-width:1200px){.route-smart-grid{grid-template-columns:1fr 1fr}.route-activity-card{grid-column:1/-1}}
@media(max-width:800px){.route-smart-grid{grid-template-columns:1fr}.route-activity-card{grid-column:auto}}


/* SmartFIT v3.0.0 — route geometry fidelity, easy UI, athlete accounts and SEO */
.route-geometry-status{margin:12px 0 18px;padding:12px 15px;border:1px solid #27313a;border-radius:12px;background:#11161b;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.route-geometry-status b{font-size:12px;letter-spacing:.08em}
.route-geometry-status span{color:#9ca8b3;font-size:13px}
.route-geometry-status.good{border-color:#315c47;background:#102019}
.route-geometry-status.good b{color:#8ff0bb}
.route-geometry-status.bad{border-color:#6d3a3a;background:#221314}
.route-geometry-status.bad b{color:#ff9a9a}
.route-track-upload{display:block;border:1px dashed #3b4853;border-radius:12px;padding:11px 12px;margin-top:10px;cursor:pointer}
.route-track-upload input{display:block;margin-top:8px;width:100%}
.seo-content{line-height:1.65}
.seo-content>h2{margin-top:0;font-size:clamp(22px,3vw,34px)}
.seo-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.seo-columns h3{margin:0 0 6px}
.seo-content details{border-top:1px solid #27313a;padding:12px 0}
.seo-content summary{cursor:pointer;font-weight:700}
@media(max-width:900px){.seo-columns{grid-template-columns:1fr}}
/* SEO landing pages */
.seo-landing{max-width:1080px;margin:0 auto;padding:24px 22px 70px}.seo-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0 28px}.seo-nav a{color:inherit;text-decoration:none}.seo-nav .brand{font-weight:900;font-size:1.25rem;letter-spacing:-.03em}.seo-article{max-width:820px;margin:0 auto}.seo-article h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:.96;letter-spacing:-.055em;margin:.4rem 0 1rem}.seo-article h2{font-size:1.55rem;margin:2.6rem 0 .7rem}.seo-lead{font-size:1.15rem;line-height:1.7;color:var(--muted)}.seo-article p,.seo-article li{line-height:1.72}.seo-article ul{padding-left:1.25rem}.seo-article details{border-top:1px solid var(--border);padding:14px 0}.seo-article summary{cursor:pointer;font-weight:700}.seo-cta{display:inline-block;text-decoration:none;margin:10px 0 20px}.seo-links a{color:var(--accent)}

/* SmartFIT v1.5 — easy activity workflow */
:root{--panel:#10151a;--panel2:#131a20;--soft:#182129;--accent:#8ff0bb;--accent2:#7cb8ff;--danger:#ff8e8e}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.easy-side .side-title{padding:4px 14px 10px;color:#65717d;font-size:10px;font-weight:800;letter-spacing:.16em}.easy-side #tabs{display:grid;gap:5px}.easy-side .tab{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:10px 11px}.easy-side .tab>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#161e24;display:grid;place-items:center}.easy-side .tab b{font-size:12px}.easy-side .tab small{font-size:9px;color:var(--muted)}.side-advanced{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.side-advanced summary{cursor:pointer;color:#8d99a4;font-size:10px;padding:8px 12px}.side-advanced .tab{width:100%;margin-top:4px;display:flex!important;gap:8px}.side-advanced .tab small,.side-advanced .tab b{display:none}
.easy-builder-head{margin-bottom:12px}.wizard-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 14px}.wizard-strip span{padding:9px 11px;border:1px solid var(--line);border-radius:999px;text-align:center;color:#76828d;font-size:10px}.wizard-strip .done{border-color:#315c47;color:var(--green);background:#102019}.easy-step{padding:20px;margin-bottom:14px}.step-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.step-heading>i{flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:#20352d;color:var(--green);display:grid;place-items:center;font-style:normal;font-weight:900}.step-heading h2{margin:1px 0 3px;font-size:20px}.step-heading p{margin:0;color:var(--muted);font-size:11px}.step-actions{margin-left:auto}
.activity-choices{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.activity-choice{border:1px solid var(--line);background:#0d1216;color:var(--text);padding:13px 12px;border-radius:14px;text-align:left;cursor:pointer;min-height:76px}.activity-choice b{display:block;font-size:13px;margin-bottom:5px}.activity-choice small{color:#84909b;font-size:9px;line-height:1.35}.activity-choice:hover,.activity-choice.active{border-color:#4f8f70;background:linear-gradient(145deg,#15261e,#0e1512);box-shadow:inset 0 0 0 1px rgba(143,240,187,.08)}
.route-easy-grid{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:14px}.route-tools-simple{display:flex;flex-direction:column;gap:12px}.route-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.route-method{border-radius:11px;padding:12px;border:1px solid var(--line);background:#12191f;color:var(--text);text-align:center;cursor:pointer;font-weight:700;font-size:11px}.route-method.primary{background:#193126;border-color:#3b7258;color:var(--green)}.upload-method input{display:none}.easy-map-card,#map{min-height:520px}.easy-map-card{border-radius:16px;overflow:hidden}
.easy-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.target-grid-simple{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}.target-grid-simple label,.mini-settings label{position:relative}.target-grid-simple label>span,.mini-settings label>span{position:absolute;right:10px;bottom:11px;color:#697681;font-size:9px}.target-grid-simple input{padding-right:48px}.run-only-field{display:none}.clean-details{border:1px solid var(--line);border-radius:12px;background:#0d1216;padding:10px 12px;margin:10px 0}.clean-details summary{cursor:pointer;color:#a8b3bc;font-size:10px;font-weight:700}.clean-details[open] summary{margin-bottom:10px}
.big-toggle{display:flex!important;gap:10px!important;align-items:flex-start!important;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#0d1216;margin-bottom:8px;cursor:pointer}.big-toggle input{margin-top:3px}.big-toggle span b{display:block;color:#dfe6eb;font-size:11px}.big-toggle span small{display:block;color:#788590;font-size:9px;line-height:1.45;margin-top:2px}.compact-auto-rates{margin-top:10px}.mini-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.trajectory-profile{padding:11px 12px;border:1px dashed #34434d;border-radius:12px;margin-top:10px;line-height:1.5}
.create-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:20px 22px;margin-bottom:14px;border-color:#315c47;background:radial-gradient(circle at 85% 10%,rgba(143,240,187,.10),transparent 35%),#0f1713}.create-bar h2{margin:3px 0 8px}.create-big{font-size:14px;padding:16px 22px;min-width:220px}.route-smart-summary{max-width:720px}.advanced-drawer{padding:12px 16px;margin-bottom:10px}.advanced-drawer>summary{cursor:pointer;font-size:11px;font-weight:800;color:#9ca8b3}.advanced-drawer[open]>summary{margin-bottom:14px}.advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.heat-head{margin-top:22px}
.easy-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.easy-quick-grid .quick-card{min-height:170px}.run-quick{background:radial-gradient(circle at 90% 10%,rgba(124,184,255,.16),transparent 38%),linear-gradient(145deg,#17212a,#0e1419)!important;border-color:#365b77!important}
@media(max-width:1250px){.activity-choices{grid-template-columns:repeat(3,1fr)}.route-easy-grid{grid-template-columns:1fr}.easy-two-col{grid-template-columns:1fr}.advanced-grid{grid-template-columns:1fr 1fr}.easy-quick-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wizard-strip{grid-template-columns:1fr 1fr}.wizard-strip span:last-child{grid-column:1/-1}.activity-choices{grid-template-columns:1fr 1fr}.target-grid-simple,.mini-settings,.advanced-grid{grid-template-columns:1fr}.create-bar{grid-template-columns:1fr}.create-big{width:100%}.easy-quick-grid{grid-template-columns:1fr}.route-methods{grid-template-columns:1fr}.easy-map-card,#map{min-height:420px}}

/* SmartFIT v3.0.0 — multi-user / per-athlete workspace */
.account-top{gap:8px}.athlete-top{display:flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--line);border-radius:11px;background:#0d1216}.athlete-top small{font-size:8px;color:var(--muted);letter-spacing:.11em}.athlete-top select{width:auto;min-width:130px;padding:6px 26px 6px 8px;border:0;background:transparent;font-size:11px}.account-link{text-decoration:none;font-size:11px}.twin-status{margin-top:10px;padding:11px 12px;border:1px solid #315845;border-radius:12px;background:#0d1612;line-height:1.65}.realism-score{display:flex;align-items:end;gap:10px;margin-bottom:12px}.realism-score b{font-size:38px;letter-spacing:-.05em;color:var(--green)}.realism-score span{color:var(--muted);padding-bottom:6px}.score-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:12px}.score-row span{color:#aab4bd}.score-row b{color:var(--green)}
@media(max-width:980px){.account-top #apiStatus,.account-top #uiStatus{display:none}.athlete-top select{min-width:100px}.account-link{display:none}}
@media(max-width:650px){.top{padding:0 10px}.athlete-top small{display:none}.athlete-top{padding:2px 4px}.athlete-top select{min-width:90px}.account-top #saveProject{display:none}}

/* v1.7 Activity Library */
.library-settings{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.8fr)) auto;gap:14px;align-items:end}
.library-settings h2{margin:0 0 4px}.library-settings .hint{margin:0}.library-settings label{margin:0}
.library-top-grid{align-items:stretch}.library-list{display:grid;gap:10px}.library-row{display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(90px,.65fr)) auto;gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--line,#2b3138);border-radius:14px;background:rgba(255,255,255,.018)}
.library-row .title{min-width:0}.library-row .title b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-row .title small{display:block;color:var(--muted,#9aa5b1);margin-top:3px}.library-cell b{display:block;font-size:14px}.library-cell small{display:block;color:var(--muted,#9aa5b1);font-size:11px;margin-top:2px}.library-actions{display:flex;gap:6px;justify-content:flex-end}.library-actions button{padding:8px 10px;min-width:auto}.library-row.excluded{opacity:.55}.library-row.excluded .title b{text-decoration:line-through}
.route-twin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#2b3138)}.route-twin-row:last-child{border-bottom:0}.route-twin-row b{display:block}.route-twin-row small{color:var(--muted,#9aa5b1)}
.integration-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(157,249,199,.08);border:1px solid rgba(157,249,199,.25);margin:4px 0}.integration-badge.warn{background:rgba(255,192,96,.08);border-color:rgba(255,192,96,.25)}
.route-twin-match{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(143,240,187,.07);border:1px solid rgba(143,240,187,.2)}
@media(max-width:1100px){.library-settings{grid-template-columns:1fr 1fr}.library-settings>div{grid-column:1/-1}.library-row{grid-template-columns:1fr 1fr 1fr}.library-row .title{grid-column:1/-1}.library-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.library-settings{grid-template-columns:1fr}.library-row{grid-template-columns:1fr 1fr}.library-row .title,.library-actions{grid-column:1/-1}}
/* v3.0.0 per-athlete provider cards */
.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.provider-card{border:1px solid var(--line,#2a3038);border-radius:16px;padding:16px;background:rgba(255,255,255,.018)}.provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.provider-head b{display:block;font-size:16px}.provider-head small{display:block;margin-top:3px;opacity:.68}.provider-activity-list{display:grid;gap:8px;margin-top:10px}.provider-activity{display:flex;justify-content:space-between;gap:14px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.025);font-size:12px}.provider-activity b{font-size:12px}.provider-activity span{opacity:.72;white-space:nowrap}@media(max-width:820px){.provider-grid{grid-template-columns:1fr}.provider-activity{align-items:flex-start;flex-direction:column;gap:3px}}

/* v3.0.0 provider visibility, errors, analytics consent */
.provider-grid.single{grid-template-columns:1fr}.provider-card.provider-garmin{background:radial-gradient(circle at 100% 0,rgba(77,214,191,.08),transparent 42%),rgba(255,255,255,.018)}.provider-card.provider-strava{background:radial-gradient(circle at 100% 0,rgba(252,76,2,.09),transparent 42%),rgba(255,255,255,.018)}.provider-error{margin-top:10px;padding:10px 11px;border:1px solid rgba(255,125,125,.28);border-radius:11px;background:rgba(255,125,125,.06);color:#ffc0c0;font-size:10px;line-height:1.5}.provider-note{margin-top:9px;padding:9px 10px;border:1px solid rgba(124,184,255,.2);border-radius:10px;background:rgba(124,184,255,.05);font-size:10px;color:#a8ccea}.sf-consent{position:fixed;left:18px;right:18px;bottom:18px;z-index:99999;display:flex;justify-content:space-between;align-items:center;gap:18px;max-width:980px;margin:auto;padding:16px 18px;border:1px solid #33404a;border-radius:16px;background:rgba(11,15,19,.97);box-shadow:0 24px 80px rgba(0,0,0,.42);backdrop-filter:blur(16px)}.sf-consent[hidden]{display:none}.sf-consent-copy{display:grid;gap:4px}.sf-consent-copy b{font-size:12px}.sf-consent-copy span{font-size:10px;color:#9aa6b0;line-height:1.45}.sf-consent-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sf-consent-actions a{font-size:10px;color:#9ca8b2}@media(max-width:760px){.sf-consent{flex-direction:column;align-items:stretch}}

/* SmartFIT v1.8 — FIT Tools Suite */
.tools-status{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 17px;margin-bottom:14px;border-color:#2f4b3d;background:linear-gradient(145deg,#0f1713,#0d1216)}.tools-status>div:first-child{display:grid;gap:3px}.tools-status b{font-size:13px}.tools-status span{font-size:10px;color:#8e9ba5}.tools-status-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tools-status-badges span{border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:#11181d;color:#9eabb5}
.tool-suite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-suite-card{padding:15px 16px;display:flex;flex-direction:column;gap:10px;min-height:250px}.tool-suite-head{display:flex;gap:10px;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--line)}.tool-suite-head>span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:rgba(143,240,187,.08);border:1px solid rgba(143,240,187,.2);font-size:9px;color:var(--green);font-weight:900}.tool-suite-head h3{margin:0 0 3px;font-size:14px}.tool-suite-head small{display:block;color:var(--muted);font-size:9px;line-height:1.45}.tool-suite-card label{margin:0}.tool-suite-card .hint{margin:0;line-height:1.55}.strip-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.strip-fields label,.checkline{display:flex!important;align-items:center;gap:7px!important;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#0d1216;font-size:10px;color:#aeb8c0}.strip-fields input,.checkline input{width:auto;margin:0}.unit{position:absolute;right:10px;bottom:10px;font-size:9px;color:#74808a}.tool-suite-card label{position:relative}.mini-upload input{padding:8px}.tool-export-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:auto}.tool-export-row button{min-width:0;padding:10px 4px}.tool-result{margin-top:4px;padding:10px;border:1px dashed var(--line);border-radius:10px;line-height:1.5}.tool-inspector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px}.tool-inspector-grid span{display:grid;gap:2px;padding:8px;border-radius:9px;background:#0d1216;border:1px solid var(--line)}.tool-inspector-grid b{font-size:14px}.tool-inspector-grid small{font-size:8px;color:var(--muted)}.tools-note{margin-top:14px}.tools-note p{margin-bottom:0;color:var(--muted);font-size:10px;line-height:1.6}
@media(max-width:1250px){.tool-suite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tool-suite-grid{grid-template-columns:1fr}.tools-status{align-items:flex-start;flex-direction:column}.tools-status-badges{justify-content:flex-start}.strip-fields{grid-template-columns:repeat(2,1fr)}}
.tool-suite-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;padding:12px 14px;margin-bottom:12px}.tool-suite-toolbar label{margin:0}.tool-suite-toolbar .hint{align-self:center;margin:0;white-space:nowrap}.tool-suite-card[hidden]{display:none}@media(max-width:760px){.tool-suite-toolbar{grid-template-columns:1fr}.tool-suite-toolbar .hint{align-self:start}}

/* SmartFIT v3.0 — Intelligence, training, replay and progressive complexity */
.side-link{display:block;text-decoration:none}.intelligence-quick{background:radial-gradient(circle at 85% 10%,rgba(143,240,187,.18),transparent 42%),linear-gradient(145deg,#17231d,#0d1410)!important;border-color:#315f49!important}.intelligence-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.intelligence-command textarea{width:100%;resize:vertical;min-height:150px;background:#0b0f13;border:1px solid #2a323b;color:var(--text);border-radius:14px;padding:14px;line-height:1.55}.prompt-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.code-preview{max-height:340px;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a0f12;color:#b9c6cf;font-size:10px;line-height:1.55;white-space:pre-wrap}.training-steps{display:grid;gap:8px}.training-step{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#0d1216}.training-step i{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#1c3027;color:var(--green);font-style:normal;font-size:10px}.training-step div{display:grid;gap:2px}.training-step small{color:var(--muted)}.training-step>span{font-size:10px;color:#b9c6cf;text-align:right}.validator-warnings{margin-top:10px;padding:10px 12px;border:1px solid rgba(241,198,108,.24);border-radius:12px;background:rgba(241,198,108,.04)}.validator-warnings p{margin:4px 0;color:#e7c985;font-size:10px}.ok-text{color:var(--green);font-size:10px}.intelligence-layout .actions,.panel .actions{display:flex;gap:8px;flex-wrap:wrap}.wide{width:100%}.metric{padding:17px;border:1px solid var(--line);border-radius:14px;background:#11161b}.metric small{display:block;color:var(--muted);font-size:9px}.metric b{font-size:20px}.warn-text{color:var(--amber)}
@media(max-width:1000px){.intelligence-layout{grid-template-columns:1fr}.training-step{grid-template-columns:30px 1fr}.training-step>span{grid-column:2;text-align:left}}
@media(max-width:650px){.prompt-chips{display:grid;grid-template-columns:1fr}.training-step{grid-template-columns:26px 1fr}}
