:root{color-scheme:dark;--bg:#060912;--panel:rgba(17,27,43,.74);--panel-strong:rgba(23,35,55,.9);--line:rgba(255,255,255,.09);--text:#f4f8ff;--muted:#8d9bb0;--green:#67efba;--blue:#56a8ff;--cyan:#64d9ff;--danger:#ff7184;--warn:#ffd166;--border:var(--line)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 70% 0,#0b1e36 0,transparent 34%),radial-gradient(circle at 15% 100%,#0a2f2a 0,transparent 34%),var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;overflow-x:hidden}.bg-orb{position:fixed;border-radius:50%;filter:blur(120px);opacity:.18;pointer-events:none}.orb-a{width:430px;height:430px;background:#2e8fff;top:-180px;right:2%}.orb-b{width:470px;height:470px;background:#15c68d;bottom:-260px;left:15%}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;padding:26px 18px;border-right:1px solid var(--line);background:rgba(5,9,16,.82);backdrop-filter:blur(24px);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brandmark{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,var(--green),var(--blue));color:#061019;box-shadow:0 12px 35px rgba(86,168,255,.24)}.brand strong,.brand small{display:block}.brand small{font-size:.72rem;color:var(--muted);margin-top:4px}nav{display:grid;gap:8px}.nav{border:0;background:transparent;color:var(--muted);font:inherit;padding:13px 15px;border-radius:15px;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer}.nav:hover,.nav.active{background:rgba(255,255,255,.065);color:var(--text)}.nav.active{box-shadow:inset 3px 0 0 var(--green)}.connection-box{margin-top:auto;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel);display:flex;gap:10px;align-items:center}.connection-box i{width:10px;height:10px;border-radius:50%;background:var(--warn);box-shadow:0 0 18px currentColor}.connection-box b,.connection-box small{display:block}.connection-box small{color:var(--muted);font-size:.72rem;margin-top:3px}main{padding:28px 34px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.overline{margin:0 0 7px;color:var(--green);font-size:.7rem;letter-spacing:.18em;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,3vw,2.45rem);margin-bottom:0}.top-actions{display:flex;gap:10px;align-items:center}.live-pill,.clock,.round-btn{border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(18px);border-radius:999px}.live-pill{padding:11px 15px}.clock{padding:8px 15px;text-align:right}.clock b,.clock span{display:block}.clock span{font-size:.68rem;color:var(--muted)}.round-btn{width:43px;height:43px;color:var(--text);font-size:1.3rem;cursor:pointer}.card{background:linear-gradient(145deg,rgba(24,36,57,.82),rgba(12,19,31,.66));border:1px solid var(--line);border-radius:26px;box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(22px)}.page{display:none}.page.active{display:block}.cockpit{display:grid;grid-template-columns:1fr 1.35fr .75fr;gap:24px;align-items:center;padding:32px;min-height:400px;position:relative;overflow:hidden}.cockpit:after{content:"";position:absolute;height:130px;inset:auto 12% -95px 12%;background:var(--green);filter:blur(95px);opacity:.11}.mode-pill{display:inline-flex;padding:7px 11px;border-radius:999px;border:1px solid rgba(103,239,186,.28);background:rgba(103,239,186,.1);color:var(--green);font-size:.72rem;font-weight:900;letter-spacing:.12em}.muted{color:var(--muted);margin-top:14px}.speedometer{position:relative;width:min(100%,320px);margin-top:10px}.speed-svg{width:100%;overflow:visible}.speed-track{fill:none;stroke:rgba(255,255,255,.07);stroke-width:13;stroke-linecap:round}.speed-arc{fill:none;stroke:url(#speedGradient);stroke:var(--green);stroke-width:13;stroke-linecap:round;stroke-dasharray:392.7;stroke-dashoffset:392.7;filter:drop-shadow(0 0 8px rgba(103,239,186,.4));transition:stroke-dashoffset .7s ease}.ticks line{stroke:rgba(255,255,255,.22);stroke-width:3;stroke-linecap:round}.speed-center{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);text-align:center}.speed-center strong{font-size:4rem;line-height:.9}.speed-center span{display:block;color:var(--muted);margin-top:9px}.quick-stats{display:flex;gap:30px;margin-top:12px}.quick-stats span,.quick-stats b{display:block}.quick-stats span{font-size:.74rem;color:var(--muted)}.quick-stats b{font-size:1.2rem;margin-top:5px}.quick-stats i{font-style:normal}.scooter-stage{position:relative;min-height:310px;display:grid;place-items:center}.scooter-svg{width:100%;position:relative;z-index:2;filter:drop-shadow(0 20px 40px rgba(0,0,0,.38))}.road-glow{position:absolute;width:78%;height:24px;bottom:44px;border-radius:50%;background:rgba(83,168,255,.17);filter:blur(17px)}.tire{fill:#0a0d12;stroke:#566276;stroke-width:16}.rim{fill:#182130;stroke:#afbdd0;stroke-width:5}.hub{fill:var(--green)}.fender,.fork,.stem,.support,.handle,.brake{fill:none;stroke:url(#metal);stroke-linecap:round;stroke-linejoin:round}.fender{stroke-width:15}.fork{stroke-width:15}.stem{stroke-width:18}.support{stroke-width:9}.handle{stroke-width:16}.brake{stroke-width:7}.deck-main{fill:none;stroke:#dce7f2;stroke-width:28;stroke-linecap:round}.deck-light{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;opacity:.4}.frame-accent{fill:none;stroke:url(#accent);stroke-width:9;stroke-linecap:round}.stem-joint{fill:#1d2a3c;stroke:#d9e4ef;stroke-width:4}.headlight{fill:none;stroke:#dcefff;stroke-width:7;stroke-linecap:round;opacity:.75}.scooter-status{position:absolute;bottom:6px;color:var(--muted);font-size:.85rem}.charging .deck-light{animation:pulseDeck 1.25s ease-in-out infinite}.moving .wheel-group{transform-box:fill-box;transform-origin:center;animation:spinWheel .8s linear infinite}.light-on .headlight{stroke:#fff7c0;opacity:1;filter:url(#softGlow)}@keyframes pulseDeck{50%{opacity:1;filter:url(#softGlow)}}@keyframes spinWheel{to{transform:rotate(360deg)}}.cockpit-right{display:flex;flex-direction:column;align-items:center;gap:18px}.battery-ring{width:170px;height:170px;border-radius:50%;background:conic-gradient(var(--green) var(--p,0%),rgba(255,255,255,.07) 0);display:grid;place-items:center;position:relative}.battery-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#0f1725}.battery-ring div{position:relative;text-align:center}.battery-ring strong{display:block;font-size:2.35rem}.battery-ring span{color:var(--muted);font-size:.8rem}.range-block{text-align:center}.range-block small,.range-block strong{display:block}.range-block small{color:var(--muted)}.range-block strong{font-size:1.35rem;margin-top:3px}.status-icons{display:flex;gap:11px}.status-icons div{min-width:58px;text-align:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}.status-icons span,.status-icons small{display:block}.status-icons small{margin-top:4px;color:var(--muted);font-size:.68rem}.energy-flow{margin-top:14px;padding:18px 25px;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:20px}.energy-node{text-align:center}.energy-node span,.energy-node b,.energy-node small{display:block}.energy-node span{font-size:1.5rem}.energy-node small{color:var(--muted);font-size:.72rem}.energy-center{text-align:center}.energy-center b{font-size:1.45rem}.energy-center small{display:block;color:var(--muted)}.flow-line{height:7px;border-radius:99px;background:rgba(255,255,255,.055);overflow:hidden;position:relative}.flow-line i{position:absolute;width:34px;height:100%;border-radius:99px;background:linear-gradient(90deg,transparent,var(--green),transparent);animation:flow 1.6s linear infinite}.flow-line i:nth-child(2){animation-delay:.5s}.flow-line i:nth-child(3){animation-delay:1s}@keyframes flow{from{left:-35px}to{left:100%}}.not-charging .flow-line i{animation-play-state:paused;opacity:.15}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.metric{padding:19px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.metric-icon{grid-row:1/4;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.055);display:grid;place-items:center}.metric small,.metric em{color:var(--muted);font-style:normal}.metric strong{font-size:1.35rem}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:14px;margin-top:14px}.chart-card,.status-card,.table-card,.settings{padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-head small,.detail small,.settings small{color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.12em}.card-head h3{margin:5px 0 0}.card-head select{background:#0f1725;border:1px solid var(--line);color:var(--text);padding:9px 12px;border-radius:12px}.legend{display:flex;gap:18px;color:var(--muted);font-size:.75rem}.lg{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.battery-lg{background:var(--green)}.power-lg{background:var(--blue)}.voltage-lg{background:var(--cyan)}.status-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted)}.status-row b{color:var(--text)}.section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.detail{padding:25px;min-height:180px}.detail h2{margin:16px 0 10px}.detail p{color:var(--muted)}.bar{height:9px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:99px}.history-full{margin-top:14px}.info-table{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.info-table div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.info-table span{color:var(--muted)}.settings{max-width:800px}.settings p{color:var(--muted);line-height:1.6}.settings label{display:flex;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line)}.toast{position:fixed;right:24px;bottom:24px;padding:14px 18px;border:1px solid var(--line);border-radius:15px;background:#121c2b;opacity:0;transform:translateY(18px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:none}.good{color:var(--green)}.bad{color:var(--danger)}
@media(max-width:1160px){.cockpit{grid-template-columns:1fr 1.15fr}.cockpit-right{grid-column:1/-1;flex-direction:row;justify-content:center}.metric-grid,.section-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px}.brand{padding-bottom:14px}nav{display:flex;overflow:auto}.nav{min-width:max-content}.connection-box{display:none}main{padding:22px 16px 45px}.topbar{align-items:flex-start}.live-pill,.clock{display:none}.cockpit{grid-template-columns:1fr;padding:24px}.cockpit-right{grid-column:auto}.scooter-stage{min-height:280px}.energy-flow{grid-template-columns:1fr}.flow-line{width:100%}.dashboard-grid{grid-template-columns:1fr}.info-table{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid,.section-grid{grid-template-columns:1fr}.speed-center strong{font-size:3.3rem}.cockpit-right{flex-direction:column}.status-icons{flex-wrap:wrap;justify-content:center}.energy-flow{padding:18px}.quick-stats{gap:18px}}


/* Live-Fahrt */
.live-hero{padding:30px 34px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;overflow:hidden;position:relative}
.live-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-90px;top:-170px;background:var(--blue);filter:blur(90px);opacity:.15}
.live-kicker{display:flex;align-items:center;gap:9px;color:var(--green);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.live-kicker i{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 20px currentColor}
.live-kicker.active i{background:var(--green);animation:livePulse 1.4s ease-in-out infinite}
.live-copy h2{font-size:clamp(2rem,4vw,3.35rem);margin:14px 0 10px}.live-copy p{color:var(--muted);max-width:650px;line-height:1.65}
.live-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:21px}.live-meta span{color:var(--muted);font-size:.78rem}.live-meta b{color:var(--text);margin-left:5px}
.live-speed-wrap{display:grid;place-items:center;gap:10px;position:relative;z-index:2}
.live-speed-ring{--speed-p:0%;width:210px;height:210px;border-radius:50%;background:conic-gradient(var(--green) var(--speed-p),rgba(255,255,255,.07) 0);display:grid;place-items:center;box-shadow:0 0 50px rgba(103,239,186,.08)}
.live-speed-ring:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:#0d1624;border:1px solid var(--line)}
.live-speed-ring div{position:relative;text-align:center}.live-speed-ring strong{font-size:3.6rem;line-height:1}.live-speed-ring span{display:block;color:var(--muted);margin-top:8px}
.live-mode{padding:7px 13px;border-radius:999px;background:rgba(86,168,255,.1);border:1px solid rgba(86,168,255,.25);color:var(--blue);font-size:.75rem;font-weight:900}
.live-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.live-stat{padding:21px}.live-stat small,.live-stat strong,.live-stat em{display:block}.live-stat small{color:var(--green);font-size:.68rem;font-weight:900;letter-spacing:.11em}.live-stat strong{font-size:1.75rem;margin-top:12px}.live-stat em{color:var(--muted);font-size:.72rem;font-style:normal;margin-top:6px}
.mini-bar{height:7px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;margin-top:14px}.mini-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:99px;transition:width .5s}
.live-layout{display:grid;grid-template-columns:1.55fr .8fr;gap:14px;margin-top:14px}.live-map,.live-details{padding:24px}.privacy-pill{padding:7px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:.7rem}
.map-placeholder{height:390px;border-radius:21px;margin-top:20px;position:relative;overflow:hidden;background:linear-gradient(145deg,#112237,#0b1522)}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px}
.map-road{position:absolute;background:rgba(255,255,255,.12);border:3px solid rgba(255,255,255,.035);border-radius:999px}.road-one{width:120%;height:33px;left:-10%;top:52%;transform:rotate(-11deg)}.road-two{width:85%;height:24px;left:35%;top:28%;transform:rotate(56deg)}
.map-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(103,239,186,.16);border:1px solid rgba(103,239,186,.45);font-size:1.55rem;box-shadow:0 0 0 15px rgba(103,239,186,.06)}
.map-marker i{position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--green);animation:mapPulse 2s infinite}
.map-message{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 15px;border-radius:14px;background:rgba(5,10,17,.82);border:1px solid var(--line);backdrop-filter:blur(14px)}.map-message b,.map-message small{display:block}.map-message small{color:var(--muted);margin-top:4px}
.telemetry-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted)}.telemetry-row b{color:var(--text);text-align:right}
.live-action{width:100%;margin-top:20px;border:0;border-radius:15px;padding:13px 16px;background:linear-gradient(135deg,var(--green),var(--blue));color:#051019;font-weight:900;cursor:pointer}
.live-note{margin-top:14px;padding:18px 22px;display:flex;gap:14px;align-items:flex-start}.live-note>span{width:38px;height:38px;border-radius:12px;background:rgba(86,168,255,.12);display:grid;place-items:center;color:var(--blue)}.live-note p{color:var(--muted);margin:5px 0 0}
@keyframes livePulse{50%{opacity:.35;box-shadow:0 0 28px currentColor}}@keyframes mapPulse{to{transform:scale(1.45);opacity:0}}
@media(max-width:1000px){.live-stat-grid{grid-template-columns:repeat(2,1fr)}.live-layout{grid-template-columns:1fr}}
@media(max-width:650px){.live-hero{grid-template-columns:1fr;text-align:center}.live-meta{justify-content:center}.live-speed-ring{width:180px;height:180px}.live-speed-ring:before{width:152px;height:152px}.live-stat-grid{grid-template-columns:1fr}.map-placeholder{height:320px}}


/* Version 4 – echte Live-Navigation */
.live-status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.live-status-strip span{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid var(--line);font-size:.72rem;color:var(--muted);font-weight:800}
.live-status-strip i{width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 12px currentColor;transition:.25s}
.live-status-strip i.on{background:var(--green)}
.map-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.map-control{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);padding:8px 11px;border-radius:12px;cursor:pointer;font-weight:800;font-size:.72rem}
.map-control.active,.map-control:hover{color:var(--text);border-color:rgba(103,239,186,.4);background:rgba(103,239,186,.09)}
.real-map-wrap{height:430px;border-radius:21px;margin-top:20px;position:relative;overflow:hidden;background:#0b1522;border:1px solid var(--line)}
#liveMap{position:absolute;inset:0;z-index:1;background:#0b1522}
.leaflet-container{font-family:inherit}
.leaflet-control-zoom a{background:#0d1624!important;color:#e9f1fb!important;border-color:rgba(255,255,255,.1)!important}
.leaflet-control-attribution{background:rgba(5,10,17,.72)!important;color:#8d9bb0!important}
.leaflet-control-attribution a{color:#67efba!important}
.map-overlay{position:absolute;z-index:450;left:16px;bottom:16px;max-width:70%;padding:12px 14px;border-radius:14px;background:rgba(5,10,17,.84);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(14px);pointer-events:none}
.map-overlay b,.map-overlay small{display:block}.map-overlay small{color:var(--muted);margin-top:4px}
.map-legend{position:absolute;z-index:450;right:16px;top:16px;padding:10px 12px;border-radius:14px;background:rgba(5,10,17,.82);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);display:grid;gap:8px}
.map-legend span{display:flex;align-items:center;gap:8px;font-size:.68rem;color:var(--muted)}
.map-legend i{width:19px;height:19px;display:grid;place-items:center;font-style:normal}
.legend-home{border-radius:6px;background:rgba(86,168,255,.18);color:var(--blue)}
.legend-route{height:4px!important;border-radius:99px;background:var(--green)}
.scooter-map-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(5,10,17,.93);border:2px solid var(--green);font-size:1.3rem;box-shadow:0 0 0 9px rgba(103,239,186,.13),0 8px 28px rgba(0,0,0,.4);transform-origin:center;transition:transform .35s linear}
.scooter-map-icon:after{content:"";position:absolute;width:12px;height:12px;border-top:3px solid var(--green);border-right:3px solid var(--green);transform:rotate(-45deg);top:-10px}
.home-map-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(5,10,17,.92);border:1px solid var(--blue);font-size:1.2rem;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.live-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.live-chart{padding:22px;min-width:0}.live-chart canvas{width:100%;display:block;margin-top:12px}.live-chart .card-head>b{color:var(--green);font-size:.9rem}
@media(max-width:900px){.live-chart-grid{grid-template-columns:1fr}.real-map-wrap{height:390px}}
@media(max-width:650px){.map-controls{width:100%;justify-content:flex-start}.real-map-wrap{height:360px}.map-legend{top:10px;right:10px}.map-overlay{left:10px;right:10px;bottom:10px;max-width:none}.live-status-strip{justify-content:center}}

#liveMap.map-load-error{
  display:grid;
  place-items:center;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    #0b1522;
  background-size:36px 36px;
}
#liveMap.map-load-error:after{
  content:"Karte nicht geladen";
  color:var(--muted);
  font-weight:800;
}

.tour-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.tour-table{width:100%}.tour-table td{padding:8px;border-bottom:1px solid rgba(255,255,255,.08)}#playTour,#deleteTour{padding:10px 16px;border-radius:10px;border:none;margin-right:8px;cursor:pointer}@media(max-width:900px){.tour-grid{grid-template-columns:1fr}}

/* Version 6 – Tourenarchiv und Statistik */
.tour-head,.stats-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.tour-head-actions{display:grid;grid-template-columns:170px minmax(220px,1fr);gap:12px;min-width:min(100%,430px)}
.tour-head-actions label,.stats-head label{display:grid;gap:7px}
.tour-head-actions span,.stats-head label span{font-size:.72rem;color:var(--muted);font-weight:800}
.tour-head-actions input,.tour-head-actions select,.stats-head select{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);padding:11px 12px}
.tour-summary-grid,.stats-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.metric-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.metric-card small,.record-card small{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em}
.metric-card strong{display:block;margin:8px 0 3px;font-size:1.45rem}
.metric-card span{font-size:.76rem;color:var(--muted)}
.tour-main-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(460px,1.55fr);gap:14px;margin-top:14px}
.tour-list-card,.tour-detail-card{padding:22px;min-width:0}
.tour-list{display:grid;gap:10px;margin-top:15px}
.tour-item{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);border-radius:16px;padding:14px;text-align:left;cursor:pointer;display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center}
.tour-item:hover,.tour-item.active{border-color:rgba(103,239,186,.45);background:rgba(103,239,186,.075)}
.tour-preview{height:58px;border-radius:13px;background:linear-gradient(135deg,rgba(103,239,186,.2),rgba(86,168,255,.12));display:grid;place-items:center;font-size:1.45rem}
.tour-item-copy b,.tour-item-copy span,.tour-item-copy small{display:block}
.tour-item-copy span{margin-top:4px;color:var(--muted);font-size:.77rem}
.tour-item-copy small{margin-top:5px;font-size:.68rem;color:var(--muted)}
.tour-item-distance{font-size:.9rem;font-weight:900;color:var(--green)}
.viz-badge{padding:7px 10px;border-radius:999px;background:rgba(103,239,186,.1);color:var(--green);font-size:.72rem;font-weight:900}
.tour-detail-map{height:330px;border-radius:18px;margin-top:17px;overflow:hidden;background:#0b1522;border:1px solid var(--line)}
.tour-detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.tour-detail-metrics>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.tour-detail-metrics small,.tour-detail-metrics strong{display:block}.tour-detail-metrics small{font-size:.68rem;color:var(--muted)}.tour-detail-metrics strong{margin-top:5px}
.tour-profile{margin-top:18px}.tour-profile canvas,.stats-chart canvas{width:100%;display:block;margin-top:12px}
.tour-detail-actions{display:flex;gap:10px;margin-top:16px}.tour-detail-actions button{border:0;border-radius:12px;padding:11px 15px;cursor:pointer;font-weight:900;background:var(--green);color:#05110d}.tour-detail-actions .danger{background:rgba(255,92,111,.14);color:#ff8392;border:1px solid rgba(255,92,111,.3)}
.tour-record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.record-card{padding:20px}.record-card strong{display:block;margin:8px 0 4px;font-size:1.35rem}.record-card span{color:var(--muted);font-size:.76rem}
.stats-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.stats-chart{padding:22px}
.stats-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.mode-share-list{display:grid;gap:14px;margin-top:16px}.mode-share-list>div{display:grid;grid-template-columns:70px 1fr 48px;gap:10px;align-items:center}.mode-share-list>div>div{height:10px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.mode-share-list i{display:block;height:100%;border-radius:99px;background:var(--green)}
.stats-record-list{display:grid;gap:4px;margin-top:12px}.stats-record-list div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}.stats-record-list span{color:var(--muted)}
@media(max-width:1050px){.tour-main-grid{grid-template-columns:1fr}.tour-summary-grid,.stats-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.tour-head,.stats-head{align-items:stretch;flex-direction:column}.tour-head-actions{grid-template-columns:1fr;min-width:0}.tour-detail-metrics{grid-template-columns:repeat(2,1fr)}.tour-record-grid,.stats-chart-grid,.stats-bottom-grid{grid-template-columns:1fr}}
@media(max-width:520px){.tour-summary-grid,.stats-metric-grid{grid-template-columns:1fr}.tour-item{grid-template-columns:48px 1fr}.tour-item-distance{grid-column:2}.tour-detail-map{height:285px}}


/* Version 8 – modernisierte Touren und vollständige Einstellungen */
.section-kicker{display:block;font-size:.68rem;font-weight:900;letter-spacing:.12em;color:var(--muted);margin-bottom:5px}
.tours-hero,.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.tours-hero-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;font-size:2.4rem;background:rgba(103,239,186,.09);border:1px solid rgba(103,239,186,.18)}
.tours-toolbar{display:grid;grid-template-columns:190px minmax(240px,1fr);gap:14px;margin-top:14px}
.tours-toolbar label,.settings-fields label{display:grid;gap:7px}
.tours-toolbar label span,.settings-fields label>span{font-size:.72rem;font-weight:800;color:var(--muted)}
.tours-toolbar input,.tours-toolbar select,.settings-fields input,.settings-fields select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:rgba(255,255,255,.035);color:var(--text)}
.tour-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(480px,1.5fr);gap:14px;margin-top:14px}
.tour-list-panel,.tour-detail-panel{padding:22px;min-width:0}
.tour-empty-state{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.018)}
.tour-empty-icon{font-size:2.5rem;margin-bottom:12px}
.tour-empty-state h3{margin:0 0 6px}.tour-empty-state p{max-width:320px;color:var(--muted);font-size:.84rem}
.tour-detail-placeholder{margin-top:14px;padding:14px 16px;border-radius:14px;border:1px dashed var(--line);color:var(--muted);font-size:.8rem;text-align:center}
.tour-detail-actions button:disabled{opacity:.45;cursor:not-allowed}
.settings-status{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(103,239,186,.08);color:var(--green);font-size:.76rem;font-weight:900}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.settings-card{padding:22px}
.settings-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.settings-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:1.2rem;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.settings-card-head h3{margin:0}
.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.settings-fields label:only-child{grid-column:1/-1}
.settings-switch-row{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.settings-switch-row input{width:20px;height:20px}
.settings-actions{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.settings-actions p{color:var(--muted);font-size:.8rem;max-width:620px}
.settings-action-buttons{display:flex;gap:10px;flex-wrap:wrap}
.settings-action-buttons button{border:1px solid var(--line);border-radius:12px;padding:11px 15px;background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;font-weight:800}
.settings-action-buttons button:last-child{background:var(--green);color:#05110d;border-color:transparent}
@media(max-width:1050px){.tour-layout{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media(max-width:760px){.tours-hero,.settings-hero,.settings-actions{align-items:stretch;flex-direction:column}.tours-toolbar{grid-template-columns:1fr}.settings-fields{grid-template-columns:1fr}.settings-action-buttons{width:100%}.settings-action-buttons button{flex:1}}

/* Version 9 */
.page{display:none}.page.active{display:block}
.settings-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}
.settings-menu{padding:10px;display:grid;gap:6px;position:sticky;top:18px}
.settings-tab{width:100%;border:0;border-radius:13px;padding:12px 13px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer}
.settings-tab:hover{background:rgba(255,255,255,.04);color:var(--text)}
.settings-tab.active{background:rgba(103,239,186,.1);color:var(--green);box-shadow:inset 0 0 0 1px rgba(103,239,186,.16)}
.settings-content{min-width:0}.settings-panel{display:none;padding:24px}.settings-panel.active{display:block}
.settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.settings-panel-head h3{margin:0 0 5px}.settings-panel-head p{margin:0;color:var(--muted);font-size:.82rem}
.settings-info-box{display:flex;flex-direction:column;gap:5px;padding:15px 16px;margin-bottom:18px;border-radius:15px;background:rgba(103,239,186,.06);border:1px solid rgba(103,239,186,.13)}
.settings-info-box span{color:var(--muted);font-size:.8rem}
.settings-inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.settings-inline-actions button{border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:rgba(255,255,255,.04);color:var(--text);font-weight:800;cursor:pointer}
.settings-inline-actions span{font-size:.78rem;color:var(--muted)}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.about-grid>div{padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);display:grid;gap:5px}
.about-grid small{color:var(--muted)}
@media(max-width:900px){.settings-shell{grid-template-columns:1fr}.settings-menu{position:static;display:flex;overflow-x:auto;padding:8px}.settings-tab{width:auto;min-width:max-content}}
@media(max-width:580px){.settings-panel{padding:18px}.about-grid{grid-template-columns:1fr}}

.waiting{color:#f0c96a!important}

/* E-Bike Sync */
.ebike-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;margin-bottom:18px}.ebike-hero h2{font-size:30px;margin:6px 0 8px}.ebike-hero p{max-width:720px;color:var(--muted);line-height:1.55}.ebike-online{display:flex;align-items:center;gap:9px;margin-top:16px;color:var(--muted)}.ebike-online i{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 12px currentColor}.ebike-online i.good{background:var(--green)}.ebike-online span{margin-left:8px;font-size:12px}.ebike-battery-big{min-width:170px;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(98,241,187,.28);background:radial-gradient(circle,rgba(98,241,187,.14),rgba(84,166,255,.04) 65%,transparent)}.ebike-battery-big strong{font-size:52px;line-height:1}.ebike-battery-big span{color:var(--muted);margin-top:6px}.ebike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.ebike-stat{padding:20px}.ebike-stat small{color:var(--muted);font-size:11px}.ebike-stat strong{display:block;font-size:27px;margin:9px 0 3px}.ebike-stat em{font-style:normal;color:var(--muted);font-size:12px}.ebike-controls{padding:22px;margin-bottom:18px}.ebike-mode-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.ebike-mode-buttons button,.ebike-actions button{border:1px solid var(--border);background:rgba(255,255,255,.04);color:#fff;border-radius:14px;padding:13px 14px;cursor:pointer;font-weight:800}.ebike-mode-buttons button small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.ebike-mode-buttons button.active{background:linear-gradient(135deg,var(--green),#56a8ff);color:#061018;border-color:transparent}.ebike-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.ebike-actions label{display:flex;align-items:center;gap:8px;color:var(--muted)}.ebike-actions input{width:78px;background:#0b1320;border:1px solid var(--border);border-radius:10px;color:#fff;padding:10px}.ebike-mode-distance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}.ebike-mode-distance div{border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.025);display:flex;justify-content:space-between}.ebike-mode-distance span{color:var(--muted)}
@media(max-width:900px){.ebike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ebike-mode-buttons,.ebike-mode-distance{grid-template-columns:repeat(2,minmax(0,1fr))}.ebike-hero{align-items:flex-start}.ebike-battery-big{min-width:130px}}@media(max-width:620px){.ebike-hero{flex-direction:column}.ebike-grid{grid-template-columns:1fr}.ebike-mode-buttons,.ebike-mode-distance{grid-template-columns:1fr}}

/* v11 Fahrzeugumschaltung + E-Bike Live Sync */
.vehicle-switcher{display:flex;gap:5px;padding:4px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:14px}.vehicle-switcher button{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:10px;cursor:pointer;font-weight:850;white-space:nowrap}.vehicle-switcher button.active{background:linear-gradient(135deg,rgba(103,239,186,.22),rgba(86,168,255,.16));color:var(--text);box-shadow:inset 0 0 0 1px rgba(103,239,186,.25)}
.ebike-battery-big{position:relative;background:conic-gradient(var(--green) var(--ebike-battery,100%),rgba(255,255,255,.07) 0);padding:7px;border:0}.ebike-battery-big:before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#13273a,#07101b 67%);border:1px solid rgba(255,255,255,.08)}.ebike-battery-big>div{position:relative;z-index:1;text-align:center}.ebike-battery-big small{display:block;color:var(--green);font-size:11px;margin-top:5px;font-weight:800}
.ebike-sync-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0;overflow:hidden;margin-bottom:18px}.ebike-sync-strip>div{padding:17px 19px;background:rgba(255,255,255,.018);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px}.ebike-sync-strip .sync-icon{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:rgba(103,239,186,.08);display:grid;place-items:center;color:var(--green)}.ebike-sync-strip small{font-size:10px;color:var(--muted);font-weight:850}.ebike-sync-strip b{font-size:13px;margin-top:2px}.ebike-sync-strip b.good{color:var(--green)}.ebike-sync-strip b.bad{color:var(--danger)}
.ebike-mode-buttons button{text-align:left;display:grid;gap:4px;min-height:86px}.ebike-mode-buttons button span{font-size:15px}.ebike-mode-buttons button b{font-size:20px}.ebike-mode-buttons button.active small,.ebike-mode-buttons button.active b{color:#061018}.ebike-mode-buttons button.active small{opacity:.75}
.tours-toolbar{grid-template-columns:170px 190px minmax(240px,1fr)}.tour-preview.ebike{background:linear-gradient(135deg,rgba(86,168,255,.22),rgba(103,239,186,.10))}.tour-vehicle-chip{display:inline-flex!important;width:max-content;margin-top:6px!important;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--text)!important;font-size:10px!important}
@media(max-width:1050px){.vehicle-switcher span{display:none}.ebike-sync-strip{grid-template-columns:repeat(2,1fr)}.tours-toolbar{grid-template-columns:repeat(2,1fr)}.tours-toolbar label:last-child{grid-column:1/-1}}
@media(max-width:760px){.vehicle-switcher{order:-1}.top-actions{flex-wrap:wrap}.ebike-sync-strip{grid-template-columns:1fr}.tours-toolbar{grid-template-columns:1fr}.tours-toolbar label:last-child{grid-column:auto}}


/* Version 12 – gemeinsame Live-Fahrt für Ninebot und E-Bike */
.live-vehicle-inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.live-vehicle-inline button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:14px;padding:9px 13px;cursor:pointer;font:inherit;font-size:.76rem;transition:.2s}
.live-vehicle-inline button span{font-size:1.05rem}.live-vehicle-inline button b{font-weight:900}
.live-vehicle-inline button.active{color:var(--text);border-color:rgba(103,239,186,.42);background:linear-gradient(135deg,rgba(103,239,186,.14),rgba(86,168,255,.09));box-shadow:0 8px 25px rgba(0,0,0,.12)}
.live-vehicle-badge{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);min-width:150px}
.live-vehicle-badge>span{font-size:1.35rem}.live-vehicle-badge small,.live-vehicle-badge b{display:block}.live-vehicle-badge small{font-size:.58rem;letter-spacing:.12em;color:var(--muted);font-weight:900}.live-vehicle-badge b{font-size:.8rem;margin-top:2px}
.telemetry-row i{font-style:normal;color:var(--muted);font-size:.78em}
.map-legend b{font-size:.68rem;color:var(--muted)}
#page-live.ebike-live .live-mode{color:var(--green);border-color:rgba(103,239,186,.3);background:rgba(103,239,186,.09)}
#page-live.ebike-live .live-speed-ring{box-shadow:0 0 58px rgba(86,168,255,.1)}
#page-live.ebike-live .live-hero:after{background:linear-gradient(135deg,var(--green),var(--blue));opacity:.17}
@media(max-width:650px){.live-vehicle-inline{justify-content:center}.live-vehicle-badge{min-width:0}.live-speed-wrap{width:100%}}


/* Tour Start/Stop + Fahrt-Zusammenfassung v13 */
.ride-control{margin-top:14px;padding:20px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;position:relative;overflow:hidden}
.ride-control:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;top:-105px;background:var(--green);filter:blur(75px);opacity:.09;pointer-events:none}
.ride-control-main{display:flex;align-items:center;gap:15px;min-width:0}.ride-control-main small{color:var(--green);font-size:.64rem;font-weight:900;letter-spacing:.12em}.ride-control-main h3{margin:4px 0 3px;font-size:1.05rem}.ride-control-main p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45;max-width:720px}
.ride-control-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,rgba(103,239,186,.18),rgba(86,168,255,.14));border:1px solid rgba(103,239,186,.25);color:var(--green);font-size:1.05rem;font-weight:900}
.ride-control-status{display:grid;gap:6px;justify-items:end}.ride-control-status>small{color:var(--muted);font-size:.68rem;font-weight:800}.ride-state-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--muted);font-size:.7rem;background:rgba(255,255,255,.035)}.ride-state-pill i{width:8px;height:8px;border-radius:50%;background:#657187}.ride-state-pill.active{color:var(--green);border-color:rgba(103,239,186,.28);background:rgba(103,239,186,.08)}.ride-state-pill.active i{background:var(--green);box-shadow:0 0 14px rgba(103,239,186,.85);animation:livePulse 1.3s ease-in-out infinite}
.ride-primary{position:relative;z-index:2;min-width:170px;border:0;border-radius:16px;padding:13px 18px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,var(--green),var(--blue));color:#051019;font:inherit;font-weight:950;cursor:pointer;box-shadow:0 10px 30px rgba(49,160,194,.16);transition:.2s}.ride-primary:hover{transform:translateY(-1px)}.ride-primary.stop{background:linear-gradient(135deg,#ff8f8f,#ff5f6d);color:#210609}.ride-primary:disabled{opacity:.5;cursor:wait;transform:none}
.ride-control.recording{border-color:rgba(103,239,186,.28);box-shadow:0 22px 65px rgba(0,0,0,.25),inset 0 0 50px rgba(103,239,186,.035)}

.ride-summary-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(1,5,10,.72);backdrop-filter:blur(14px);display:grid;place-items:center;padding:22px}.ride-summary-backdrop[hidden]{display:none}
.ride-summary-modal{width:min(940px,100%);max-height:92vh;overflow:auto;padding:28px;position:relative;background:linear-gradient(145deg,rgba(20,34,53,.98),rgba(8,15,25,.98));box-shadow:0 35px 110px rgba(0,0,0,.58)}
.ride-summary-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-size:1.45rem;cursor:pointer}
.ride-summary-head{display:flex;gap:15px;align-items:center;padding-right:45px}.ride-summary-check{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--blue));color:#051019;font-size:1.6rem;font-weight:1000;box-shadow:0 12px 35px rgba(103,239,186,.13)}.ride-summary-head small{color:var(--green);font-size:.65rem;font-weight:900;letter-spacing:.12em}.ride-summary-head h2{margin:5px 0 3px;font-size:1.65rem}.ride-summary-head p{margin:0;color:var(--muted);font-size:.8rem}
.ride-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:22px}.ride-summary-grid>div{padding:15px 13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}.ride-summary-grid small,.ride-summary-grid strong{display:block}.ride-summary-grid small{font-size:.58rem;letter-spacing:.1em;color:var(--muted);font-weight:900}.ride-summary-grid strong{margin-top:8px;font-size:1rem}
.ride-summary-map-wrap{height:300px;border-radius:20px;overflow:hidden;border:1px solid var(--line);margin-top:14px;position:relative;background:#0b1421}.ride-summary-map-wrap #rideSummaryMap{height:100%;width:100%}.ride-summary-map-empty{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;color:var(--muted);background:radial-gradient(circle at 50% 40%,rgba(86,168,255,.08),transparent 45%),#0b1421;font-size:.78rem}.ride-summary-map-empty.hidden{display:none}
.ride-summary-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px}.ride-summary-footer>div:first-child{display:flex;align-items:center;gap:10px}.ride-summary-footer>div:first-child>span{font-size:1.5rem}.ride-summary-footer small,.ride-summary-footer b{display:block}.ride-summary-footer small{font-size:.58rem;letter-spacing:.1em;color:var(--muted);font-weight:900}.ride-summary-footer b{margin-top:3px;font-size:.82rem}.ride-summary-actions{display:flex;gap:9px}.ride-summary-actions button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);padding:10px 14px;border-radius:13px;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}.ride-summary-actions button.primary{border:0;background:linear-gradient(135deg,var(--green),var(--blue));color:#051019}
@media(max-width:900px){.ride-control{grid-template-columns:1fr auto}.ride-control-status{display:none}.ride-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.ride-control{grid-template-columns:1fr}.ride-primary{width:100%}.ride-control-main{align-items:flex-start}.ride-summary-modal{padding:22px 16px}.ride-summary-grid{grid-template-columns:repeat(2,1fr)}.ride-summary-map-wrap{height:245px}.ride-summary-footer{align-items:flex-start;flex-direction:column}.ride-summary-actions{width:100%;display:grid;grid-template-columns:1fr}.ride-summary-actions button{width:100%}}


/* v14 Multiuser / Login */
.auth-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,rgba(46,154,255,.19),transparent 34%),radial-gradient(circle at 80% 75%,rgba(73,239,177,.13),transparent 30%),rgba(3,7,13,.96);backdrop-filter:blur(20px)}
.auth-gate[hidden]{display:none}.auth-card{width:min(460px,100%);padding:30px;display:grid;gap:16px}.auth-brand{margin-bottom:6px}.auth-card h2{font-size:30px;margin:4px 0 0}.auth-card p{margin:0;color:var(--muted)}.auth-card label{display:grid;gap:7px;color:var(--muted);font-size:12px}.auth-card input,.admin-toolbar select{width:100%;box-sizing:border-box;background:rgba(5,12,20,.78);border:1px solid var(--line);border-radius:12px;color:#fff;padding:13px 14px;outline:none}.auth-card input:focus,.admin-toolbar select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(86,168,255,.12)}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-actions button,.admin-toolbar button,.admin-user-actions button{border:1px solid var(--line);background:rgba(255,255,255,.055);color:#fff;border-radius:12px;padding:12px 15px;cursor:pointer}.auth-actions .primary{background:linear-gradient(135deg,#4fa9ff,#5ee3c0);color:#031018;border:0;font-weight:800}.auth-error{min-height:20px;color:#ff7288!important;font-weight:700}.account-box{margin:10px 10px 14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);display:flex;align-items:center;justify-content:space-between;gap:8px}.account-box div{display:grid;gap:2px}.account-box small{color:var(--muted);font-size:9px;letter-spacing:.12em}.account-box b{font-size:13px}.account-box span{font-size:10px;color:var(--green)}.account-box button{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.admin-hero{display:flex;align-items:center;justify-content:space-between;padding:28px;gap:24px}.admin-hero h2{margin:3px 0 8px;font-size:28px}.admin-hero p{max-width:760px;color:var(--muted)}.admin-count{min-width:125px;aspect-ratio:1;border:1px solid rgba(100,220,255,.22);border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(82,172,255,.12),transparent 67%)}.admin-count strong{font-size:36px}.admin-count span{font-size:11px;color:var(--muted)}.admin-toolbar{margin-top:16px;padding:18px;display:flex;align-items:end;gap:12px}.admin-toolbar label{display:grid;gap:7px;min-width:320px;color:var(--muted);font-size:11px}.admin-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin-top:16px}.admin-user-card{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-user-card>div:first-child{display:flex;align-items:center;gap:12px}.user-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(86,168,255,.25),rgba(103,239,186,.22));font-weight:900}.admin-user-card b,.admin-user-card small{display:block}.admin-user-card small{color:var(--muted);margin-top:3px}.admin-user-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-user-actions button{padding:8px 10px;font-size:11px}.admin-user-actions .good{color:var(--green)}.admin-user-actions .bad{color:var(--danger)}
@media(max-width:760px){.auth-actions{grid-template-columns:1fr}.admin-hero,.admin-toolbar,.admin-user-card{align-items:stretch;flex-direction:column}.admin-toolbar label{min-width:0}.admin-user-actions{justify-content:flex-start}}

.admin-vehicles{margin-top:7px!important;color:#9eb4c8!important;font-size:11px!important}.admin-vehicles::first-letter{color:var(--green)}


/* v15 – eigenständige Anmeldung / Registrierung */
.auth-gate{position:fixed;inset:0;z-index:999999;display:grid;place-items:stretch;padding:0;background:#050914;overflow:auto;backdrop-filter:none}
.auth-gate[hidden]{display:none!important}.shell[hidden]{display:none!important}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.12fr) minmax(420px,.88fr);background:linear-gradient(135deg,#050913,#08111f 55%,#07101b)}
.login-visual{position:relative;overflow:hidden;padding:56px clamp(42px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(130,174,215,.12);background:radial-gradient(circle at 18% 18%,rgba(63,164,255,.19),transparent 31%),radial-gradient(circle at 82% 78%,rgba(75,239,181,.12),transparent 31%),linear-gradient(155deg,#08111f,#050914 68%)}
.login-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 92%);pointer-events:none}
.login-logo,.login-mobile-brand{position:relative;z-index:2;display:flex;align-items:center;gap:13px}.login-logo>span,.login-mobile-brand>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#62efbc,#55a8ff);color:#04101a;font-size:22px;font-weight:1000;box-shadow:0 12px 35px rgba(66,183,208,.2)}.login-logo strong{display:block;font-size:18px}.login-logo small{display:block;margin-top:3px;color:#7f96ad;font-size:9px;letter-spacing:.18em;font-weight:900}
.login-copy{position:relative;z-index:2;max-width:730px;margin:70px 0}.login-kicker{display:inline-flex;color:#68efbd;font-size:11px;letter-spacing:.22em;font-weight:950}.login-copy h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:16px 0 22px}.login-copy h1 em{font-style:normal;background:linear-gradient(90deg,#65efbd,#61b2ff);-webkit-background-clip:text;background-clip:text;color:transparent}.login-copy p{max-width:640px;color:#8fa3b8;font-size:clamp(15px,1.35vw,19px);line-height:1.7;margin:0}
.login-feature-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.login-feature-grid>div{padding:17px;border:1px solid rgba(132,172,207,.12);background:rgba(255,255,255,.025);border-radius:18px;backdrop-filter:blur(8px)}.login-feature-grid span{display:block;font-size:21px}.login-feature-grid b{display:block;margin-top:10px;font-size:13px}.login-feature-grid small{display:block;margin-top:4px;color:#758ba1;font-size:10px}.login-glow{position:absolute;border-radius:50%;filter:blur(85px);opacity:.13;pointer-events:none}.login-glow-a{width:340px;height:340px;background:#5baaff;right:-120px;top:18%}.login-glow-b{width:300px;height:300px;background:#58efb9;left:20%;bottom:-180px}
.login-panel{min-height:100vh;display:grid;place-items:center;padding:46px clamp(28px,5vw,78px);background:rgba(3,7,14,.36)}.login-form-wrap{width:min(470px,100%)}.login-mobile-brand{display:none;margin-bottom:36px}.login-mobile-brand strong{font-size:20px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid rgba(130,174,215,.13);border-radius:16px;background:rgba(255,255,255,.025);margin-bottom:34px}.auth-tabs button{border:0;border-radius:11px;padding:12px 14px;background:transparent;color:#71869b;font:inherit;font-size:12px;font-weight:850;cursor:pointer;transition:.18s}.auth-tabs button.active{background:linear-gradient(135deg,rgba(91,170,255,.16),rgba(89,237,186,.12));box-shadow:inset 0 0 0 1px rgba(100,213,207,.2);color:#f3f8ff}
.auth-heading>span{color:#65efbd;font-size:10px;letter-spacing:.18em;font-weight:950}.auth-heading h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;margin:9px 0 9px}.auth-heading p{margin:0 0 28px;color:#8196aa;font-size:13px;line-height:1.6}
#authForm{display:grid;gap:15px}.auth-field{display:grid;gap:8px}.auth-field>span{color:#91a5b9;font-size:11px;font-weight:800}.auth-field input{width:100%;box-sizing:border-box;border:1px solid rgba(130,174,215,.16);border-radius:15px;background:#09121f;color:#f2f7fc;padding:15px 16px;font:inherit;font-size:14px;outline:none;transition:.18s}.auth-field input::placeholder{color:#4f6377}.auth-field input:focus{border-color:rgba(89,193,238,.65);box-shadow:0 0 0 4px rgba(76,174,229,.08)}.password-field{position:relative}.password-field input{padding-right:52px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:transparent;color:#6f8499;cursor:pointer}.password-field button:hover{background:rgba(255,255,255,.045);color:#c7d7e6}
.auth-error{min-height:18px;margin:0!important;color:#ff7389!important;font-size:11px;font-weight:800}.auth-submit{border:0;border-radius:15px;padding:15px 18px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#65efbd,#5aa9ff);color:#04101a;font:inherit;font-size:13px;font-weight:950;cursor:pointer;box-shadow:0 15px 36px rgba(72,176,203,.13);transition:.2s}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(72,176,203,.18)}.auth-submit:disabled{opacity:.55;cursor:wait;transform:none}.auth-submit span{font-size:17px}
.auth-switch-line{display:flex;justify-content:center;gap:6px;margin-top:20px;color:#71869a;font-size:12px}.auth-switch-line button{border:0;background:transparent;color:#65c8ff;font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:0}.first-admin-note,.auth-cross-device{margin-top:16px;padding:13px 14px;border:1px solid rgba(127,173,210,.12);border-radius:14px;background:rgba(255,255,255,.022);display:flex;align-items:flex-start;gap:10px}.first-admin-note span,.auth-cross-device>span{width:26px;height:26px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:rgba(96,226,189,.08);color:#63eabc;font-size:12px}.first-admin-note p,.auth-cross-device p{margin:0;color:#71869b;font-size:10px;line-height:1.5}.first-admin-note b,.auth-cross-device b{color:#a9bdcf}.register-only[hidden]{display:none!important}
body.auth-locked{overflow:hidden}.auth-locked .bg-orb{display:none}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:34px 22px}.login-mobile-brand{display:flex}.login-form-wrap{width:min(520px,100%)}}
@media(max-width:520px){.login-panel{align-items:start;padding-top:30px}.auth-tabs{margin-bottom:28px}.auth-heading h2{font-size:28px}}

.auth-privacy{margin-top:10px}.privacy-section{border-color:rgba(103,239,186,.18)!important}.settings-status-pill{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 12px;border-radius:999px;border:1px solid rgba(103,239,186,.22);background:rgba(103,239,186,.08);font-size:.76rem;font-weight:800}.settings-status-pill.good{color:var(--green)}

/* NineConnect v22 – Registrierung/Fahrzeugsetup + Admin-Rechte */
.registration-vehicle-setup{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:14px}
.register-section-title{display:flex;align-items:center;gap:11px}.register-section-title>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(82,172,255,.15);border:1px solid rgba(82,172,255,.3);font-weight:900}.register-section-title b,.register-section-title small{display:block}.register-section-title small{color:var(--muted);margin-top:2px}.register-section-title.compact{margin-top:5px}
.vehicle-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.vehicle-choice{min-height:94px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:15px;color:#fff;padding:12px;display:grid;gap:4px;text-align:left;cursor:pointer}.vehicle-choice>span{font-size:22px}.vehicle-choice small{color:var(--muted);line-height:1.25}.vehicle-choice.active{border-color:rgba(82,172,255,.65);background:linear-gradient(145deg,rgba(82,172,255,.14),rgba(94,227,192,.07));box-shadow:0 0 0 2px rgba(82,172,255,.07) inset}
.vehicle-config-card,.vehicle-config-ebike{border:1px solid rgba(255,255,255,.08);border-radius:15px;background:rgba(0,0,0,.16);padding:14px}.vehicle-config-card{display:flex;align-items:center;gap:12px}.vehicle-config-card b,.vehicle-config-card small{display:block}.vehicle-config-card small{color:var(--muted);margin-top:3px}.vehicle-config-icon{font-size:25px}.ready-chip{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--green);border:1px solid rgba(88,230,184,.25);padding:5px 7px;border-radius:999px}.vehicle-config-ebike{display:grid;gap:12px}.registration-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mode-editor-head small{display:block;color:var(--muted);margin-top:2px}.mode-editor-head button,.register-mode-row button{border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}.register-mode-list{display:grid;gap:8px}.register-mode-row{display:grid;grid-template-columns:1fr 130px 38px;gap:8px}.register-mode-row>input,.register-mode-row label{border:1px solid var(--line);border-radius:11px;background:rgba(5,12,20,.75);color:#fff}.register-mode-row>input{padding:10px 11px}.register-mode-row label{display:flex;align-items:center;padding:0 10px}.register-mode-row label input{width:100%;border:0;background:transparent;color:#fff;padding:10px 3px;outline:0}.register-mode-row label span{color:var(--muted)}
.admin-user-card{display:grid!important;grid-template-columns:1fr auto;align-items:start!important}.admin-user-main{display:flex;align-items:center;gap:12px}.admin-permissions,.admin-fixed-role{grid-column:1/-1;margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.admin-permissions{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px 14px}.admin-permissions>b{grid-column:1/-1;font-size:11px;letter-spacing:.09em;color:var(--muted)}.admin-permission{display:flex;align-items:center;gap:8px;font-size:12px}.admin-permission input{accent-color:#5ab7ff}.save-permissions{grid-column:1/-1;justify-self:start;border:1px solid rgba(82,172,255,.35);background:rgba(82,172,255,.1);color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}.admin-fixed-role{color:var(--muted);font-size:12px}
@media(max-width:760px){.vehicle-choice-grid{grid-template-columns:1fr}.registration-two-col{grid-template-columns:1fr}.register-mode-row{grid-template-columns:1fr 110px 38px}.admin-user-card{grid-template-columns:1fr!important}.admin-user-actions{justify-content:flex-start}.admin-permissions{grid-template-columns:1fr}}


/* v25 – E-Roller und E-Bike klar getrennt */
.vehicle-nav{display:flex;flex-direction:column;gap:7px}.nav-overview{margin-bottom:5px}.nav-group{margin-top:7px;padding-top:10px;border-top:1px solid rgba(148,163,184,.13)}.nav-group-title{display:grid;grid-template-columns:25px 1fr;align-items:center;padding:0 12px 8px;color:#91a2b9}.nav-group-title>span{font-size:16px;grid-row:1/3}.nav-group-title b{font-size:10px;letter-spacing:.18em;color:#b9c7d9}.nav-group-title small{font-size:10px;color:#65758a}.nav-group .nav{margin:2px 0 2px 8px;width:calc(100% - 8px)}.system-group{margin-top:12px}.separated-hidden{display:none!important}.vehicle-overview-head{margin-bottom:22px}.vehicle-overview-head h2{font-size:clamp(28px,3vw,42px);margin:5px 0 8px}.vehicle-overview-head p{color:var(--muted);max-width:820px;font-size:16px;line-height:1.65}.vehicle-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.vehicle-home-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:28px;background:linear-gradient(145deg,rgba(17,31,48,.96),rgba(8,18,30,.98));padding:28px;min-height:390px;box-shadow:0 25px 70px rgba(0,0,0,.22);cursor:pointer;transition:.22s transform,.22s border-color,.22s box-shadow}.vehicle-home-card:hover{transform:translateY(-4px);border-color:rgba(91,224,184,.42);box-shadow:0 30px 80px rgba(0,0,0,.28)}.vehicle-home-card:before{content:"";position:absolute;inset:auto -90px -120px auto;width:280px;height:280px;border-radius:50%;filter:blur(10px);opacity:.16}.scooter-home:before{background:#55a8ff}.ebike-home:before{background:#5ee5b5}.vehicle-home-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.vehicle-home-icon{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;font-size:36px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.vehicle-home-state{display:flex;align-items:center;gap:8px;color:#9aacbf;font-size:13px}.vehicle-home-state i{width:9px;height:9px;border-radius:50%;background:#fb7185;box-shadow:0 0 16px rgba(251,113,133,.5)}.vehicle-home-state i.good{background:#5ee5b5;box-shadow:0 0 16px rgba(94,229,181,.55)}.vehicle-home-card>small{letter-spacing:.19em;font-weight:800;color:#72d9ff}.ebike-home>small{color:#69edb7}.vehicle-home-card h2{font-size:31px;margin:8px 0 10px}.vehicle-home-card p{color:var(--muted);line-height:1.55;min-height:50px}.vehicle-home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.vehicle-home-stats div{background:rgba(255,255,255,.035);border:1px solid rgba(148,163,184,.12);padding:14px;border-radius:16px}.vehicle-home-stats span{display:block;color:#7f90a7;font-size:11px;margin-bottom:5px}.vehicle-home-stats b{font-size:16px}.vehicle-home-card>button{position:relative;z-index:2;width:100%;border:0;border-radius:16px;padding:15px 18px;background:rgba(89,175,255,.12);color:#dceeff;font-weight:800;text-align:left;display:flex;justify-content:space-between}.ebike-home>button{background:rgba(94,229,181,.11);color:#d7fff1}.tour-vehicle-filter{display:none!important}.tours-hero[data-vehicle="ebike"] .tours-hero-icon{background:rgba(94,229,181,.12)}
@media(max-width:900px){.vehicle-overview-grid{grid-template-columns:1fr}.vehicle-home-card{min-height:0}.vehicle-home-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.vehicle-home-stats{grid-template-columns:1fr}.vehicle-home-card{padding:20px}.nav-group-title small{display:none}}


/* v26 – saubere Fahrzeugbereiche + rollenfeste Navigation */
.admin-only[hidden], #page-admin[hidden], .nav-group[hidden], .vehicle-home-card[hidden]{display:none!important}
.vehicle-overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));max-width:1180px}
.vehicle-home-card{min-height:360px}
.vehicle-home-card:only-child{max-width:720px}
.nav-group-title{grid-template-columns:28px minmax(0,1fr);column-gap:2px}
.nav-group-title b{white-space:nowrap}.nav-group-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#welcomeText{text-transform:none;letter-spacing:.12em}
@media(max-width:1180px){.vehicle-overview-grid{grid-template-columns:1fr}}

/* v27 – eindeutige Fahrzeugnavigation */
body[data-route^="scooter-"] .nav-group[data-vehicle-group="scooter"]{background:rgba(77,166,255,.035);border-radius:18px;padding-bottom:8px}
body[data-route^="ebike-"] .nav-group[data-vehicle-group="ebike"]{background:rgba(94,229,181,.035);border-radius:18px;padding-bottom:8px}
.nav[data-route]{position:relative}
.nav[data-route].active{outline:1px solid rgba(96,226,185,.22)}
.nav-group-title{padding-left:14px;padding-right:14px}
.nav-group-title b{display:block}.nav-group-title small{display:block;margin-top:2px}
@media(min-width:851px){.vehicle-nav{gap:5px}.nav-group{padding-left:4px;padding-right:4px}.nav-group .nav{width:calc(100% - 10px)}}


/* v28 – saubere Fahrzeugnavigation */
.vehicle-nav{display:flex;flex-direction:column;gap:10px}
.nav-overview{margin:0 0 3px;width:100%}
.nav-group{margin:0;padding:8px;border:1px solid rgba(148,163,184,.10);border-radius:18px;background:rgba(255,255,255,.018)}
.nav-group[data-vehicle-group="scooter"]{border-color:rgba(86,168,255,.12)}
.nav-group[data-vehicle-group="ebike"]{border-color:rgba(103,239,186,.12)}
.nav-group-title{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 10px 10px;margin-bottom:3px;color:#d7e3f2}
.nav-group-title>span{grid-row:1/3;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.nav-group[data-vehicle-group="scooter"] .nav-group-title>span{background:rgba(86,168,255,.08);border-color:rgba(86,168,255,.15)}
.nav-group[data-vehicle-group="ebike"] .nav-group-title>span{background:rgba(103,239,186,.08);border-color:rgba(103,239,186,.15)}
.nav-group-title b{display:block;font-size:12px;line-height:1.15;letter-spacing:.12em;color:#f2f7ff;white-space:normal}
.nav-group-title small{display:block;margin-top:4px;font-size:11px;line-height:1.15;color:#75869d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group .nav{margin:2px 0;width:100%;padding:11px 12px;border-radius:13px;font-size:14px}
.nav-group .nav span{min-width:0}
body[data-route^="scooter-"] .nav-group[data-vehicle-group="scooter"]{background:linear-gradient(145deg,rgba(86,168,255,.055),rgba(255,255,255,.012));border-color:rgba(86,168,255,.20)}
body[data-route^="ebike-"] .nav-group[data-vehicle-group="ebike"]{background:linear-gradient(145deg,rgba(103,239,186,.055),rgba(255,255,255,.012));border-color:rgba(103,239,186,.20)}
.system-group{margin-top:4px;padding-top:10px;background:transparent;border-left:0;border-right:0;border-bottom:0;border-radius:0}
.system-group .nav-group-title{display:flex;align-items:center;gap:8px;padding:2px 10px 7px;margin:0}
.system-group .nav-group-title>span{width:auto;height:auto;border:0;background:transparent!important;font-size:13px}
.system-group .nav-group-title b{font-size:10px;letter-spacing:.18em;color:#77889e}
.account-box{margin-top:12px}
@media(max-width:620px){.nav-group-title small{display:block}.nav-group{padding:6px}.nav-group .nav{padding:10px 11px}}


/* v29: klappbare Sidebar-Unterordner */
.accordion-group{overflow:hidden;transition:border-color .2s ease,background .2s ease}
.accordion-toggle{width:100%;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;color:inherit;position:relative}
.accordion-toggle:hover{background:rgba(255,255,255,.035)}
.accordion-toggle:focus-visible{outline:2px solid rgba(103,239,186,.55);outline-offset:-2px}
.accordion-toggle .nav-group-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.accordion-toggle .nav-group-icon{grid-row:auto;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.accordion-toggle .accordion-chevron{margin-left:auto;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#71839a;font-size:18px;line-height:1;transition:transform .22s ease,background .22s ease,color .22s ease}
.accordion-toggle[aria-expanded="true"] .accordion-chevron{transform:rotate(180deg);color:#dce9f7;background:rgba(255,255,255,.055)}
.accordion-group .nav-group-title{grid-template-columns:36px minmax(0,1fr) 28px;grid-template-rows:auto;column-gap:10px;margin-bottom:0;padding:8px 10px}
.accordion-group .nav-group-title>span{grid-row:auto}
.accordion-group .nav-group-title small{margin-top:4px}
.nav-group-items{display:grid;gap:2px;padding:3px 0 2px;max-height:520px;opacity:1;transform:translateY(0);transition:max-height .26s ease,opacity .18s ease,transform .22s ease,padding .22s ease}
.nav-group-items[hidden]{display:grid!important;max-height:0;opacity:0;transform:translateY(-6px);padding-top:0;padding-bottom:0;pointer-events:none;overflow:hidden}
.accordion-group:has(.nav.active)>.accordion-toggle{background:rgba(255,255,255,.025)}
.accordion-group:has(.nav.active)>.accordion-toggle .nav-group-copy b{color:#fff}
@media(max-width:850px){.vehicle-nav{display:grid;overflow:visible}.nav-overview{width:100%}.accordion-group{min-width:0}.nav-group-items{max-height:520px}.nav-group-items[hidden]{max-height:0}.nav-group .nav{min-width:0}}


/* v30 – E-Bike Akku/Fahrstufen übersichtlich und direkt bedienbar */
.ebike-control-panel{padding:24px;margin-bottom:18px;overflow:hidden}
.ebike-control-head{margin-bottom:18px}
.ebike-control-head>span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(103,239,186,.18);background:rgba(103,239,186,.06);color:#9fb1c7;font-size:12px}
.ebike-control-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(480px,1.5fr);gap:16px}
.ebike-battery-editor,.ebike-mode-editor{border:1px solid rgba(148,163,184,.14);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));padding:20px;min-width:0}
.ebike-editor-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.ebike-editor-title small{display:block;color:var(--green);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:5px}
.ebike-editor-title h4{margin:0;font-size:19px}
.ebike-editor-title>strong{font-size:24px;color:#f4f8ff;white-space:nowrap}
.ebike-battery-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:17px}
.ebike-battery-quick button{border:1px solid rgba(148,163,184,.17);background:#0b1421;color:#b8c6d8;border-radius:12px;padding:11px 8px;font-weight:850;cursor:pointer;transition:.18s}
.ebike-battery-quick button:hover,.ebike-battery-quick button.active{border-color:rgba(103,239,186,.5);background:rgba(103,239,186,.12);color:#eafff7;box-shadow:0 0 0 1px rgba(103,239,186,.06) inset}
.ebike-battery-slider{width:100%;accent-color:var(--green);cursor:pointer;margin:0 0 16px;height:22px}
.ebike-battery-entry{display:grid;grid-template-columns:minmax(120px,.55fr) 1fr;gap:10px;align-items:end}
.ebike-battery-entry label>span{display:block;color:var(--muted);font-size:11px;margin:0 0 7px 2px}
.ebike-battery-entry label>div{display:flex;align-items:center;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:#0a1320;padding:0 11px}
.ebike-battery-entry input{width:100%;border:0!important;background:transparent!important;color:#fff;padding:12px 3px!important;font-size:16px;font-weight:800;outline:none}
.ebike-battery-entry label b{color:#8192a8}
.ebike-battery-entry .primary-action{border:0;border-radius:13px;padding:13px 16px;background:linear-gradient(135deg,var(--green),#56a8ff);color:#07131d;font-weight:950;cursor:pointer;min-height:46px}
.ebike-battery-preview{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;padding:12px 14px;border-radius:13px;background:rgba(86,168,255,.055);border:1px solid rgba(86,168,255,.12);font-size:12px}
.ebike-battery-preview span{color:#91a4bb}.ebike-battery-preview b{color:#e9f6ff;text-align:right}
.ebike-mode-editor .ebike-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:9px}
.ebike-mode-editor .ebike-mode-buttons button{min-height:78px;padding:13px 15px;border-radius:15px;position:relative;overflow:hidden}
.ebike-mode-editor .ebike-mode-buttons button span{font-size:14px;letter-spacing:.03em}
.ebike-mode-editor .ebike-mode-buttons button b{font-size:20px}
.ebike-mode-editor .ebike-mode-buttons button.active:after{content:"AKTIV";position:absolute;right:10px;top:9px;font-size:9px;letter-spacing:.14em;font-weight:950;opacity:.7}
.ebike-control-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
@media(max-width:1100px){.ebike-control-layout{grid-template-columns:1fr}.ebike-mode-editor .ebike-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ebike-battery-quick{grid-template-columns:repeat(2,1fr)}.ebike-battery-entry{grid-template-columns:1fr}.ebike-mode-editor .ebike-mode-buttons{grid-template-columns:1fr}.ebike-battery-preview{align-items:flex-start;flex-direction:column}.ebike-battery-preview b{text-align:left}}

/* v31 – kompakte, sauber ausgerichtete Fahrzeugordner */
@media(min-width:851px){
  .shell{grid-template-columns:272px 1fr}
  .sidebar{padding:22px 14px}
  .brand{padding:0 7px 22px}
  .vehicle-nav{gap:8px}
  .nav-overview{padding:11px 13px}
  .accordion-group{padding:6px;border-radius:16px}
  .accordion-group .nav-group-title{
    min-height:54px;
    padding:7px 8px;
    grid-template-columns:34px minmax(0,1fr) 26px;
    column-gap:9px;
  }
  .accordion-toggle .nav-group-icon{
    width:32px;height:32px;border-radius:10px;font-size:16px;
  }
  .accordion-toggle .nav-group-copy{overflow:hidden}
  .accordion-toggle .nav-group-copy b{
    font-size:11px;line-height:1;letter-spacing:.10em;white-space:nowrap;
  }
  .accordion-toggle .nav-group-copy small{
    font-size:10px;line-height:1.15;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .accordion-toggle .accordion-chevron{
    width:25px;height:25px;border-radius:8px;font-size:15px;
  }
  .nav-group-items{
    position:relative;
    margin:2px 0 2px 16px;
    padding:2px 0 3px 9px;
    gap:1px;
  }
  .nav-group-items:before{
    content:"";position:absolute;left:0;top:5px;bottom:7px;width:1px;
    background:rgba(148,163,184,.15);
  }
  .nav-group .nav{
    margin:1px 0;width:100%;padding:9px 10px;border-radius:11px;font-size:13px;gap:9px;
  }
  .nav-group .nav.active{box-shadow:inset 2px 0 0 var(--green)}
  .system-group{padding:5px 6px;margin-top:2px}
  .system-group .nav-group-title{min-height:44px;padding:5px 8px}
  .account-box{margin-top:10px}
}


/* v32 – klare, gerade Sidebar + Admin-Benutzerliste */
@media(min-width:851px){
  .shell{grid-template-columns:310px minmax(0,1fr)}
  .sidebar{padding:22px 16px}
  .vehicle-nav{gap:2px}
  .nav-overview{margin:0 0 10px;padding:12px 13px}
  .accordion-group,.system-group{border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;margin:0!important;overflow:visible}
  .accordion-group+.accordion-group{margin-top:5px!important}
  .accordion-group .nav-group-title,.system-group .nav-group-title{
    display:grid!important;grid-template-columns:30px minmax(0,1fr) 28px!important;gap:9px!important;
    width:100%;min-height:55px;padding:8px 7px!important;margin:0!important;border-radius:12px!important;
    align-items:center;background:transparent!important
  }
  .accordion-group .nav-group-title:hover{background:rgba(255,255,255,.035)!important}
  .accordion-toggle .nav-group-icon,.system-group .nav-group-title>span.nav-group-icon{
    width:30px!important;height:30px!important;border-radius:9px!important;font-size:16px!important;grid-row:auto!important
  }
  .accordion-toggle .nav-group-copy{display:block!important;min-width:0;overflow:visible!important}
  .accordion-toggle .nav-group-copy b{display:block;font-size:13px!important;line-height:1.1!important;letter-spacing:.08em!important;white-space:nowrap!important;color:#eaf2fc}
  .accordion-toggle .nav-group-copy small{display:block;font-size:11px!important;line-height:1.2!important;margin-top:4px!important;color:#7f91a8!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
  .accordion-toggle .accordion-chevron{width:27px!important;height:27px!important;font-size:15px!important}
  .nav-group-items{position:relative;margin:0 0 7px 16px!important;padding:2px 0 3px 16px!important;gap:1px!important}
  .nav-group-items:before{content:"";position:absolute;left:5px;top:3px;bottom:6px;width:1px;background:rgba(148,163,184,.18)}
  .nav-group .nav{width:100%!important;margin:0!important;padding:10px 12px!important;border-radius:11px!important;font-size:14px!important;gap:11px!important;white-space:nowrap}
  .system-group{border-top:1px solid rgba(148,163,184,.12)!important;margin-top:7px!important;padding-top:7px!important}
  .account-box{margin-top:14px}
}
.users-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px;margin-bottom:14px}
.users-hero h2{margin:5px 0 7px}.users-hero p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}
.users-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 14px}.users-search{flex:1;display:flex;align-items:center;gap:9px;background:#0b1421;border:1px solid var(--line);border-radius:14px;padding:0 13px}.users-search input{width:100%;border:0;background:transparent;color:var(--text);outline:none;padding:13px 0;font:inherit}.users-toolbar>button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:12px 15px;cursor:pointer}
.users-list{display:grid;gap:10px}.users-empty{padding:28px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center}
.user-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:17px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(24,36,57,.78),rgba(12,19,31,.64))}
.user-row-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-weight:950;font-size:19px;background:linear-gradient(135deg,rgba(94,229,181,.95),rgba(86,168,255,.95));color:#07131d}
.user-row-main{min-width:0}.user-row-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.user-row-name b{font-size:16px}.user-row-name span{color:#71849c;font-size:12px}.user-row-name em{font-style:normal;font-size:9px;letter-spacing:.15em;color:#7df0bd;border:1px solid rgba(103,239,186,.25);border-radius:999px;padding:4px 7px}
.user-row-meta,.user-row-vehicles{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px;color:#8496ad;font-size:11px}.user-row-vehicles{color:#aab8c8}
.user-row-side{display:flex;align-items:center;gap:9px}.sync-chip{border-radius:999px;padding:7px 9px;font-size:10px;font-weight:850;white-space:nowrap}.sync-chip.online{background:rgba(94,229,181,.11);color:#76efbd;border:1px solid rgba(94,229,181,.2)}.sync-chip.offline{background:rgba(251,113,133,.09);color:#fb8da0;border:1px solid rgba(251,113,133,.18)}.user-row-side button{border:1px solid var(--line);background:#0d1725;color:var(--text);border-radius:11px;padding:9px 11px;cursor:pointer}
@media(max-width:900px){.user-row{grid-template-columns:44px 1fr}.user-row-side{grid-column:1/-1;justify-content:flex-end}.users-hero{align-items:flex-start}.users-toolbar{flex-direction:column;align-items:stretch}}


/* v33 - E-Bike Routenplanung */
.planner-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.privacy-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(103,239,186,.25);background:rgba(103,239,186,.08);color:#67efba;border-radius:999px;padding:9px 13px;font-weight:700}.planner-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px}.planner-map-card{min-height:560px}.route-planner-map{height:430px;border:1px solid rgba(120,156,190,.18);border-radius:18px;overflow:hidden;background:#07111d}.planner-map-footer{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding-top:14px;color:#8fa2ba}.planner-map-footer b{color:#f5f8fc}.planner-map-footer #plannerHint{margin-left:auto}.planner-controls{display:flex;flex-direction:column;gap:14px}.planner-controls label{display:flex;flex-direction:column;gap:7px;color:#9badc2;font-size:13px}.planner-controls input{width:100%;box-sizing:border-box;background:#0b1522;border:1px solid #26384b;color:#fff;border-radius:13px;padding:12px 13px;font:inherit}.planner-controls button,.planned-routes-card button{border:1px solid #28394c;background:#111c2b;color:#edf4fb;border-radius:12px;padding:11px 13px;font:inherit;cursor:pointer}.planner-controls button:hover,.planned-routes-card button:hover{border-color:#4a7898}.planner-controls .primary{background:linear-gradient(135deg,#67efba,#56a8ff);border:none;color:#041017;font-weight:900}.planner-button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.planner-note{font-size:12px;line-height:1.55;color:#8fa2ba;margin:0}.planner-save{margin-top:auto}.planned-routes-list{display:grid;gap:10px}.planned-route-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid rgba(120,156,190,.16);background:#0d1724;border-radius:15px;padding:13px 15px}.planned-route-main{display:flex;gap:12px;align-items:center;min-width:0}.planned-route-main>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(103,239,186,.1);color:#67efba;font-size:19px}.planned-route-main div{min-width:0}.planned-route-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planned-route-main small{display:block;color:#8fa2ba;margin-top:4px}.planned-route-actions{display:flex;gap:8px}.planned-route-actions .danger{color:#ff7188}.nc-map-waypoint{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#67efba;color:#06111b;border:3px solid #fff;font:800 11px/1 sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.35)}@media(max-width:980px){.planner-layout{grid-template-columns:1fr}.planner-map-card{min-height:auto}.route-planner-map{height:380px}.planner-map-footer #plannerHint{margin-left:0;width:100%}}@media(max-width:620px){.planner-button-row{grid-template-columns:1fr}.planned-route-row{grid-template-columns:1fr}.planned-route-actions{justify-content:flex-end}}


/* v34 - kompletter lokaler Routenplaner */
.planner-page-v34{padding-bottom:30px}.planner-v34-shell{display:grid;grid-template-columns:430px minmax(0,1fr);min-height:720px;border:1px solid rgba(123,154,188,.16);border-radius:24px;overflow:hidden;background:#07111d;box-shadow:0 22px 70px rgba(0,0,0,.28)}.planner-v34-panel{background:linear-gradient(180deg,#0c1624,#09121d);border-right:1px solid rgba(123,154,188,.15);padding:22px;display:flex;flex-direction:column;gap:15px;min-width:0}.planner-v34-titlebar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.planner-v34-titlebar h2{font-size:28px;margin:4px 0 0}.planner-local-badge{font-size:11px;letter-spacing:.12em;color:#67efba;border:1px solid rgba(103,239,186,.25);background:rgba(103,239,186,.08);padding:7px 9px;border-radius:10px;font-weight:900}.planner-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#07101a;padding:5px;border-radius:13px}.planner-mode-tabs button{border:0;background:transparent;color:#8598ad;padding:10px;border-radius:10px;font:inherit;font-weight:800}.planner-mode-tabs button.active{background:rgba(103,239,186,.14);color:#eafff7;box-shadow:inset 0 0 0 1px rgba(103,239,186,.2)}.planner-mode-tabs button:disabled{opacity:.36}.planner-tour-name{display:grid;gap:6px;color:#91a4ba;font-size:12px}.planner-tour-name input,.planner-endpoint input,.planner-via-row input{border:0;background:transparent;color:#f6f8fc;font:inherit;outline:0;width:100%;min-width:0}.planner-tour-name input{border:1px solid #26384b;background:#0a1421;padding:12px 13px;border-radius:12px}.planner-endpoints{position:relative;display:grid;gap:8px}.planner-endpoint,.planner-via-row{display:grid;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;gap:10px;background:#0a1420;border:1px solid #26374a;border-radius:14px;padding:9px 9px 9px 12px;transition:.16s}.planner-endpoint.pick-active{border-color:#67efba;box-shadow:0 0 0 3px rgba(103,239,186,.08)}.planner-endpoint small,.planner-via-row small{display:block;color:#7388a0;font-size:9px;letter-spacing:.13em;font-weight:900;margin-bottom:2px}.planner-point-symbol{font-size:24px;text-align:center;color:#67efba}.planner-endpoint.destination .planner-point-symbol{color:#ff667f}.planner-endpoint button,.planner-via-row button{width:34px;height:34px;border-radius:10px;border:1px solid #2a3d52;background:#101d2c;color:#dbe7f2;cursor:pointer}.planner-swap{position:absolute;right:-9px;top:49px;width:31px;height:31px;border-radius:50%;border:1px solid #2a3c50;background:#122031;color:#cfe1ef;z-index:2;cursor:pointer}.planner-via-list{display:grid;gap:8px}.planner-via-row>span{font-size:20px;color:#56a8ff;text-align:center}.planner-add-via{justify-self:start;border:0;background:transparent;color:#67d9ff;font-weight:800;cursor:pointer;padding:7px 3px}.planner-options-v34{border-top:1px solid rgba(123,154,188,.13);border-bottom:1px solid rgba(123,154,188,.13);padding:10px 0}.planner-options-v34 summary{cursor:pointer;font-weight:800;color:#cdd9e5}.planner-options-v34 label{display:flex;gap:9px;align-items:center;color:#91a3b8;font-size:12px;padding:8px 2px 0}.planner-route-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.planner-route-head small{color:#7388a0;font-size:9px;letter-spacing:.13em;font-weight:900}.planner-route-head b{display:block;margin-top:3px}.planner-route-head>span{font-size:11px;color:#8fa2ba}.planner-alternatives{display:grid;gap:8px}.planner-empty-route{padding:16px;border:1px dashed #294057;border-radius:14px;color:#7f94aa;font-size:12px;line-height:1.5}.planner-alt{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid #253649;background:#0b1623;color:#edf5fb;border-radius:14px;padding:11px;cursor:pointer;transition:.15s}.planner-alt:hover{border-color:#456682;transform:translateY(-1px)}.planner-alt.active{border-color:#67efba;background:linear-gradient(135deg,rgba(103,239,186,.13),rgba(86,168,255,.06));box-shadow:inset 3px 0 #67efba}.planner-alt-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#111f2e}.planner-alt-copy b{display:flex;gap:7px;align-items:center}.planner-alt-copy em{font-style:normal;font-size:9px;color:#67efba;background:rgba(103,239,186,.1);padding:3px 6px;border-radius:99px}.planner-alt-copy small,.planner-alt-metrics small{display:block;color:#8195aa;margin-top:3px;font-size:10px}.planner-alt-metrics{text-align:right}.planner-alt-metrics b{font-size:14px}.planner-v34-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px}.planner-v34-actions button,.planner-import-row button,.planner-map-actions-v34 button{border:1px solid #2b3d50;background:#111d2b;color:#e8f1f8;border-radius:12px;padding:11px 12px;font:inherit;font-weight:800;cursor:pointer}.planner-v34-actions .primary{border:0;background:linear-gradient(135deg,#67efba,#56a8ff);color:#041017}.planner-import-row{display:flex;gap:8px}.planner-import-row button{padding:8px 10px;font-size:11px;flex:1}.planner-privacy-note{font-size:10px;line-height:1.5;color:#6f8399;margin:0}.planner-v34-map-pane{position:relative;min-width:0;background:#0a1521}.route-planner-map-v34{height:100%;min-height:720px;border:0!important;border-radius:0!important}.planner-map-topbar{position:absolute;z-index:6;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}.planner-map-search-hint,.planner-map-chips{background:rgba(8,17,29,.88);backdrop-filter:blur(12px);border:1px solid rgba(125,162,196,.2);box-shadow:0 10px 28px rgba(0,0,0,.28);border-radius:14px;color:#e9f4fb}.planner-map-search-hint{display:flex;gap:9px;align-items:center;padding:11px 14px;max-width:420px}.planner-map-search-hint span:first-child{font-size:18px;color:#67efba}.planner-map-chips{display:flex;align-items:center;overflow:hidden}.planner-map-chips span{padding:11px 12px;border-left:1px solid rgba(125,162,196,.15);font-weight:800;font-size:12px}.planner-map-chips span:first-child{border-left:0}.planner-map-actions-v34{position:absolute;z-index:6;left:18px;right:18px;bottom:18px;display:flex;gap:8px;align-items:center}.planner-map-actions-v34 button{background:rgba(8,17,29,.9);backdrop-filter:blur(10px);padding:9px 11px}.planner-map-actions-v34>span{margin-left:auto;background:rgba(8,17,29,.78);color:#7f93a8;border-radius:10px;padding:8px 10px;font-size:10px}.planner-saved-v34{margin-top:18px}.nc-local-map{cursor:crosshair}.nc-local-map:active{cursor:grabbing}.nc-map-base-svg,.nc-map-base-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nc-map-base-svg{z-index:1}.nc-map-base-labels{z-index:2;overflow:hidden}.nc-map-svg{z-index:3}.nc-map-markers{z-index:4}.nc-map-grid{background-color:#0a1921!important;background-image:linear-gradient(rgba(82,145,130,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(82,145,130,.07) 1px,transparent 1px)!important;background-size:56px 56px!important}.nc-base-area.forest{fill:rgba(42,111,74,.32);stroke:rgba(71,154,102,.22);stroke-width:1}.nc-base-area.water{fill:rgba(47,121,158,.30);stroke:rgba(87,178,216,.25);stroke-width:1}.nc-base-road{stroke-linecap:round;stroke-linejoin:round}.nc-base-road.major{stroke:#324d56;stroke-width:9}.nc-base-road.major+*{}.nc-base-road.minor{stroke:#263f47;stroke-width:5}.nc-base-road.canal{stroke:#24566a;stroke-width:3;stroke-dasharray:8 5}.nc-base-place{position:absolute;white-space:nowrap;color:#91a8ad;font:700 11px/1.1 system-ui;text-shadow:0 1px 4px #071019,0 0 8px #071019}.nc-base-place.town{color:#d4e6e2;font-size:13px}.nc-base-place.nature{color:#67a87d;font-size:10px}.nc-map-privacy{background:rgba(5,14,23,.78)!important;font-size:9px!important}.nc-map-waypoint.start{background:#67efba}.nc-map-waypoint.end{background:#ff667f}.nc-map-waypoint.via{background:#56a8ff}.nc-map-waypoint{width:28px!important;height:28px!important;font-size:11px!important}.planner-map-pane .nc-map-zoom{top:76px}
@media(max-width:1100px){.planner-v34-shell{grid-template-columns:380px minmax(0,1fr)}.planner-v34-panel{padding:17px}.planner-map-chips{display:none}}@media(max-width:850px){.planner-v34-shell{grid-template-columns:1fr;overflow:visible}.planner-v34-panel{border-right:0;border-bottom:1px solid rgba(123,154,188,.15)}.route-planner-map-v34{min-height:520px;height:65vh}.planner-map-topbar{top:12px;left:12px;right:12px}.planner-map-actions-v34{left:12px;right:12px;bottom:12px;flex-wrap:wrap}.planner-map-actions-v34>span{width:100%;margin-left:0}.planner-v34-actions{grid-template-columns:1fr}}@media(max-width:520px){.planner-v34-panel{padding:14px}.planner-v34-titlebar h2{font-size:23px}.planner-endpoint{grid-template-columns:24px minmax(0,1fr) 34px}.planner-alt{grid-template-columns:32px minmax(0,1fr)}.planner-alt-metrics{grid-column:2;text-align:left}.planner-map-search-hint{max-width:calc(100vw - 70px);font-size:11px}.planner-map-actions-v34 button{font-size:10px}.planner-import-row{display:grid;grid-template-columns:1fr 1fr}}


.settings-wide{grid-column:1 / -1;}
.settings-fields label small{display:block;margin-top:7px;color:#8193aa;font-size:12px;line-height:1.45;}

/* v36 – Kartenumschalter ohne Token */
.planner-map-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.planner-layer-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(8,17,29,.78);backdrop-filter:blur(14px)}
.planner-layer-switch button{border:0;border-radius:10px;padding:8px 11px;background:transparent;color:#8fa4bb;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}
.planner-layer-switch button:hover{color:#eef7ff;background:rgba(255,255,255,.06)}
.planner-layer-switch button.active{color:#06131a;background:linear-gradient(135deg,#67efba,#59b3ff);box-shadow:0 5px 18px rgba(71,203,195,.18)}
.settings-info-box{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid rgba(103,239,186,.18);border-radius:14px;background:rgba(103,239,186,.06)}
.settings-info-box b{color:#67efba}.settings-info-box small{color:#91a5bc;line-height:1.55}
@media(max-width:900px){.planner-map-top-actions{width:100%;justify-content:flex-start}.planner-layer-switch{order:2;width:100%;overflow-x:auto}.planner-layer-switch button{flex:1}}

/* v36 stacking: amtliches WMS unter Route, über Offline-Skizze */
.route-planner-map-v34 .nc-map-base-svg,.route-planner-map-v34 .nc-map-base-labels{z-index:0!important}
.route-planner-map-v34 .nc-map-remote-host{z-index:1!important}
.route-planner-map-v34 .nc-map-svg{z-index:3!important}
.route-planner-map-v34 .nc-map-markers{z-index:4!important}
.planner-map-top-actions,.planner-layer-switch{pointer-events:auto}


/* v42 login alignment and register usability */
.auth-field-hint{display:block;margin:7px 4px 0;color:#7f98b1;font-size:11px;line-height:1.4}
.login-panel{align-items:center}
.login-form-wrap{margin-inline:auto}
.auth-tabs{max-width:540px;margin-left:auto;margin-right:auto}
@media (min-width:981px){
  .login-form-wrap{max-height:calc(100vh - 34px);overflow:auto;scrollbar-width:thin}
}
@media (max-width:980px){
  .login-form-wrap{max-height:none;overflow:visible}
}


/* v43 – Fahrzeugauswahl im Konto */
.account-vehicle-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:10px}
.account-vehicle-card{position:relative;min-height:116px;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;text-align:left;border:1px solid rgba(98,147,190,.22);border-radius:20px;padding:17px;background:linear-gradient(145deg,rgba(5,19,35,.76),rgba(3,12,24,.78));color:var(--text);cursor:pointer;transition:.18s}
.account-vehicle-card:hover{transform:translateY(-1px);border-color:rgba(26,198,255,.45)}
.account-vehicle-card.active{border-color:rgba(21,207,255,.7);box-shadow:0 0 0 2px rgba(21,207,255,.08) inset,0 15px 35px rgba(0,130,255,.08);background:linear-gradient(145deg,rgba(5,42,66,.72),rgba(3,19,36,.86))}
.account-vehicle-card[data-account-vehicle="ebike"].active{border-color:rgba(58,230,169,.58);box-shadow:0 0 0 2px rgba(58,230,169,.07) inset,0 15px 35px rgba(32,201,147,.07)}
.account-vehicle-check{position:absolute;right:13px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(123,150,178,.26);background:#06111f;color:transparent;font-size:12px;font-weight:900}
.account-vehicle-card.active .account-vehicle-check{color:#04111a;background:#1ed9ff;border-color:transparent}.account-vehicle-card[data-account-vehicle="ebike"].active .account-vehicle-check{background:#39e4a9}
.account-vehicle-art{width:55px;height:55px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:rgba(19,179,255,.10);border:1px solid rgba(19,179,255,.14)}
.account-vehicle-card[data-account-vehicle="ebike"] .account-vehicle-art{background:rgba(54,226,168,.09);border-color:rgba(54,226,168,.14)}
.account-vehicle-copy b,.account-vehicle-copy small{display:block}.account-vehicle-copy b{font-size:17px}.account-vehicle-copy small{margin-top:6px;color:var(--muted);line-height:1.35}
.vehicle-picker-help{margin:0 0 18px;color:#7890a8;font-size:12px;line-height:1.55}
.account-vehicle-config{margin-top:13px;padding:18px;border:1px solid rgba(66,126,175,.18);border-radius:19px;background:rgba(2,13,25,.45)}.account-vehicle-config[hidden]{display:none!important}
.account-config-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.account-config-head>div{display:flex;align-items:center;gap:11px}.account-config-head>div>span{font-size:24px}.account-config-head b,.account-config-head small{display:block}.account-config-head small{color:var(--muted);margin-top:3px}.account-config-head em{font-style:normal;padding:6px 9px;border-radius:999px;background:rgba(36,232,155,.08);border:1px solid rgba(36,232,155,.16);color:#67efba;font-size:11px;font-weight:800}
.compact-info{margin-top:14px!important;margin-bottom:0!important}.input-unit{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);overflow:hidden}.input-unit input{border:0!important;background:transparent!important;border-radius:0!important}.input-unit>span{padding:0 13px;color:var(--muted);font-size:12px;font-weight:800}
.account-mode-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}.account-mode-head b,.account-mode-head small{display:block}.account-mode-head small{color:var(--muted);font-size:11px;margin-top:3px}.account-mode-head button,.primary-setting-button{border:1px solid rgba(28,195,255,.32);border-radius:12px;padding:10px 13px;background:rgba(0,149,255,.10);color:#eaf9ff;font-weight:800;cursor:pointer}.primary-setting-button{background:linear-gradient(90deg,#09c8ee,#167cff)!important;border-color:#21d9ff!important;color:white!important;box-shadow:0 10px 26px rgba(0,127,255,.18)}
.account-mode-list{display:grid;gap:8px}.account-mode-row{display:grid;grid-template-columns:minmax(0,1fr) 145px 38px;gap:8px}.account-mode-row>input,.account-mode-row label{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035)}.account-mode-row>input,.account-mode-row label input{width:100%;background:transparent;border:0;color:var(--text);padding:11px 12px;outline:none}.account-mode-row label{display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden}.account-mode-row label span{padding-right:10px;color:var(--muted);font-size:11px}.account-mode-row>button{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.035);color:#ff8293;cursor:pointer;font-size:18px}.vehicle-account-actions{padding-top:4px}
@media(max-width:680px){.account-vehicle-picker{grid-template-columns:1fr}.account-mode-row{grid-template-columns:1fr 115px 38px}}
