.route-calc-overlay{position:fixed;inset:0;z-index:1550;display:none;place-items:center;pointer-events:none;background:rgba(15,23,42,.18);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.route-calc-overlay.is-active{display:grid}.route-calc-card{position:relative;display:grid;place-items:center;gap:12px;min-width:min(360px,calc(100vw - 40px));padding:22px 24px;border:1px solid rgba(255,255,255,.26);border-radius:22px;background:rgba(17,24,39,.84);box-shadow:0 28px 80px rgba(0,0,0,.36);color:#fff;overflow:hidden}.route-calc-road{position:absolute;left:18px;right:18px;bottom:32px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 18px,rgba(255,255,255,.55) 18px 30px);animation:roadMove .75s linear infinite}.route-calc-tire{position:relative;z-index:1;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:0 14px 34px rgba(34,197,94,.32);animation:tireDrive .75s linear infinite}.route-calc-tire svg{width:56px;height:56px;fill:none;stroke:#052e16;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.route-calc-card strong{position:relative;z-index:1;font-size:1rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.route-calc-card span{position:relative;z-index:1;color:rgba(255,255,255,.72);font-size:.86rem;font-weight:700}.route-calc-overlay[hidden]{display:none!important}@keyframes tireDrive{to{transform:rotate(360deg)}}@keyframes roadMove{to{background-position:-48px 0}}
.quick-filter-bar.is-filtered{border-color:rgba(34,197,94,.55);background:rgba(220,252,231,.92);box-shadow:0 18px 48px rgba(34,197,94,.2)}
html[data-theme=dark] .quick-filter-bar.is-filtered{background:rgba(20,83,45,.62);border-color:rgba(74,222,128,.5)}
.filter-summary{max-width:260px;padding:0 4px;color:var(--text);font-size:.82rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filter-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:2px}
.filter-title strong{font-size:1rem;font-weight:950}
.filter-title span{color:var(--muted);font-size:.75rem;font-weight:900;text-align:right}
.filter-popover{width:min(430px,calc(100vw - 32px))}
.provider-row{padding:8px 10px;background:color-mix(in srgb,var(--provider-color) 8%,rgba(255,255,255,.76));border-color:color-mix(in srgb,var(--provider-color) 30%,var(--line))}
.provider-row:has(input:checked){background:color-mix(in srgb,var(--provider-color) 20%,rgba(255,255,255,.72));border-color:color-mix(in srgb,var(--provider-color) 64%,var(--line));box-shadow:inset 3px 0 0 var(--provider-color)}
html[data-theme=dark] .provider-row:has(input:checked){background:color-mix(in srgb,var(--provider-color) 18%,rgba(17,24,39,.86))}
html[data-theme=dark] .provider-row{background:color-mix(in srgb,var(--provider-color) 10%,rgba(17,24,39,.82));border-color:color-mix(in srgb,var(--provider-color) 28%,var(--line))}
.provider-main{min-width:0;display:flex;align-items:center;gap:10px;font-weight:900}
.provider-logo{width:82px;height:30px;object-fit:contain;object-position:left center;border-radius:9px;background:transparent;box-shadow:none;display:block;flex:0 0 82px}
.provider-fallback{width:38px;height:30px;display:grid;place-items:center;border-radius:9px;color:#052e16;background:linear-gradient(135deg,var(--green),var(--green-2));font-weight:950}
.provider-side{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.provider-station-icon{background:transparent!important;border:0!important}
.provider-pin{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:2px solid #fff;background:var(--provider-color,#22c55e);box-shadow:0 9px 24px rgba(15,23,42,.34),0 0 0 4px color-mix(in srgb,var(--provider-color,#22c55e) 24%,transparent)}
.provider-pin.busy,.provider-pin.offline{--provider-color:#ef4444!important}
.provider-pin.unknown{--provider-color:#94a3b8!important}
.provider-pin img{width:24px;height:24px;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.provider-pin.has-wide-logo img{width:27px;height:18px}
.provider-pin.provider-fines{background:transparent;border:0;box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 3px rgba(250,204,21,.24)}
.provider-pin.provider-fines img{width:32px;height:32px;border-radius:50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.provider-pin.provider-fines.busy,.provider-pin.provider-fines.offline{box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 4px rgba(239,68,68,.48)}
.provider-pin.provider-fines.unknown{opacity:.82;filter:grayscale(.45)}
.provider-pin.provider-tesla{background:transparent;border:0;box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 3px rgba(220,38,38,.24)}
.provider-pin.provider-tesla img{width:32px;height:32px;border-radius:50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.provider-pin.provider-tesla.busy,.provider-pin.provider-tesla.offline{box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 4px rgba(239,68,68,.52)}
.provider-pin.provider-tesla.unknown{opacity:.86;filter:grayscale(.35)}
.provider-pin.provider-eldrive{background:transparent;border:0;box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 3px rgba(37,99,235,.24)}
.provider-pin.provider-eldrive img{width:32px;height:32px;border-radius:50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.provider-pin.provider-eldrive.busy,.provider-pin.provider-eldrive.offline{box-shadow:0 7px 18px rgba(15,23,42,.34),0 0 0 4px rgba(239,68,68,.52)}
.provider-pin.provider-eldrive.unknown{opacity:.86;filter:grayscale(.35)}
.provider-pin-fallback{font-size:.68rem;font-weight:950;color:#fff;line-height:1;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.32)}.map-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.filter-summary{max-width:170px}.provider-logo{width:74px;flex-basis:74px}.map-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.filter-summary{max-width:118px}.filter-popover{left:10px;right:10px;width:auto;transform:none}.map-stats{grid-template-columns:1fr}}
