/* v866.0 mobile app shell. Vehicle-first route onboarding + SOC slider + stable navigation. */
.dq-mobile-only{display:none!important}
.dq-mobile-options{display:contents}
.dq-mobile-place{padding:14px 16px;background:white}
.dq-place-label{display:grid;gap:6px;font-size:14px;font-weight:650;color:#172333}
.dq-mobile-place input{width:100%;min-height:46px;box-sizing:border-box;border:1px solid #cdd3df;border-radius:10px;padding:0 12px;font-size:16px;color:#172333;background:#fff}
.dq-place-results{display:grid;gap:4px;margin-top:8px}
.dq-place-results[hidden]{display:none}
.dq-place-option{width:100%;min-height:48px;text-align:left;border:1px solid #dce3ec;border-radius:8px;padding:10px;background:#f6f8fb;color:#172333;font:inherit;font-size:15px;overflow-wrap:anywhere}
.dq-place-option[aria-selected=true]{outline:2px solid #2557d6}
.dq-place-status{font-size:13px;line-height:1.35;margin:6px 0 0}
.dq-place-status:empty{display:none}
.dq-map-locate-quick{position:absolute;right:16px;top:166px;width:44px;height:44px;z-index:1150;border:1px solid #cdd3df;border-radius:10px;background:#fff;color:#172333;font-size:27px;cursor:pointer}
.dq-mobile-help{margin:0}.dq-mobile-help>summary{cursor:pointer;font-size:13px;padding:6px 0}
.dq-mobile-title{overflow-wrap:anywhere}
.dq-soc-value,.dq-soc-scale{display:none}
@media(max-width:700px){
 .dq-mobile-only{display:initial!important}
 /* v865.9: the normal site navigation used to extend outside the sticky header and
    could be painted underneath the fixed map workspace. Portal it to <body> on
    app pages and render it as its own scrollable layer above every map control. */
 body.dq-map-page .site-header{z-index:2147483600!important;overflow:visible!important}
 body.dq-map-page .site-header .nav-wrap{overflow:visible!important}
 body.dq-map-page .nav-links.dq-app-nav-portal{display:none!important;position:fixed!important;top:calc(var(--dq-header-height,64px) + 8px)!important;left:12px!important;right:12px!important;bottom:auto!important;width:auto!important;max-height:calc(100dvh - var(--dq-header-height,64px) - 20px)!important;margin:0!important;padding:12px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:2147483640!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;border:1px solid #d9e1e9!important;border-radius:16px!important;background:#fff!important;box-shadow:0 18px 55px rgba(15,23,42,.22)!important}
 body.dq-map-page .nav-links.dq-app-nav-portal.open{display:flex!important}
 body.dq-map-page .nav-links.dq-app-nav-portal>a{display:flex!important;align-items:center!important;width:100%!important;min-height:46px!important;padding:10px 12px!important;border-radius:10px!important;color:#172333!important;font-size:16px!important;font-weight:700!important;white-space:normal!important;text-decoration:none!important}
 body.dq-map-page .nav-links.dq-app-nav-portal>a[aria-current="page"]{background:#eef3ff!important;color:#173ea5!important}
 body.dq-map-page .nav-links.dq-app-nav-portal>a:active{background:#f1f4f8!important}
 body.dq-map-page .dq-mobile-language{display:grid!important;gap:7px!important;width:100%!important;margin-top:8px!important;padding:12px 4px 2px!important;border-top:1px solid #e5eaf0!important}
 body.dq-map-page .dq-mobile-language label{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0 4px!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;color:#667281!important;font-size:12px!important;font-weight:750!important}
 body.dq-map-page .dq-mobile-language .language-select{display:block!important;width:100%!important;max-width:none!important;min-height:48px!important;margin:0!important;padding:0 38px 0 12px!important;border-radius:10px!important;background-color:#fff!important;color:#172333!important;font-size:16px!important}
 body.dq-map-page.dq-mobile-nav-open::before{content:"";position:fixed;inset:var(--dq-header-height,64px) 0 0;z-index:2147483500;background:rgba(15,23,42,.16);pointer-events:none}
 body.dq-map-page.dq-mobile-nav-open .dq-workspace.dq-mobile-ready{pointer-events:none}
 /* The map/planner is a fixed mobile app surface. Pinning the workspace to the
    viewport removes document scrolling, scroll anchoring and Safari geolocation
    permission resize feedback from bottom-sheet geometry. Editorial content stays
    in HTML for indexing/desktop, but is not part of the mobile interaction surface. */
 html:has(body.dq-map-page){overflow:hidden!important;overscroll-behavior:none!important}
 body.dq-map-page{overflow:hidden!important;overscroll-behavior:none!important}
 body.dq-map-page .dq-main>.dq-workspace~*,body.dq-map-page>.site-footer{display:none!important}
 body.dq-map-page .site-header .nav-wrap{min-height:54px!important;padding-top:0;padding-bottom:0;gap:12px}
 body.dq-map-page .site-header .brand-logo{height:34px!important;margin:0!important;width:auto;max-width:150px;object-fit:contain}
 body.dq-map-page .site-header .nav-toggle{min-height:44px;margin-left:auto;padding:6px 12px}
 body.dq-map-page .site-header .nav-links{max-height:75dvh;overflow:auto}
 body.dq-map-page .site-header .nav-links select{min-height:44px;font-size:16px;max-width:100%}
 .dq-workspace.dq-mobile-ready{position:fixed!important;top:var(--dq-header-height)!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;overflow:hidden!important;overflow-anchor:none;contain:layout paint}
 .dq-workspace.dq-mobile-ready.dq-workspace-expanded{inset:0!important;width:100vw!important;height:auto!important}
 .dq-mobile-ready .dq-workspace-panel{position:absolute!important;inset:auto 0 0!important;width:100%!important;max-height:calc(100% - 54px)!important;height:auto;display:flex;flex-direction:column;overflow:hidden;overflow-anchor:none;box-sizing:border-box;border:1px solid #d9e1e9;border-bottom:0;border-radius:18px 18px 0 0!important;box-shadow:0 -5px 24px #10233826;scrollbar-gutter:auto}
 .dq-mobile-ready[data-sheet-size=medium] .dq-workspace-panel{height:54%;min-height:min(324px,calc(100% - 54px))}
 .dq-mobile-ready[data-sheet-size=large] .dq-workspace-panel{height:calc(100% - 54px)}
 .dq-mobile-ready .dq-workspace-panel>summary{display:flex;align-items:center;gap:2px;position:relative;flex:0 0 auto;padding:6px 8px 0 14px;min-height:48px;border-bottom:1px solid #e5eaf0;border-radius:18px 18px 0 0;font-size:14px;line-height:1.2;list-style:none;touch-action:none;user-select:none}
 .dq-mobile-ready .dq-workspace-panel>summary::-webkit-details-marker{display:none}
 .dq-mobile-ready .dq-workspace-panel>summary::before{display:none!important}
 .dq-mobile-ready .dq-workspace-panel>summary::after{display:none!important}
 .dq-mobile-title{flex:1;min-width:0}
 .dq-mobile-body{flex:1 1 auto;min-height:0;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .dq-mobile-ready .dq-mobile-footer{display:flex!important;flex:0 0 auto;flex-wrap:wrap;gap:8px;padding:8px max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff;border-top:1px solid #e3e8ef}
 .dq-mobile-footer>button,.dq-mobile-action-row>button{flex:1;min-width:0;min-height:46px;padding:8px 12px;border:1px solid #ced7e3;border-radius:10px;background:#f1f4f8;color:#172333;font:inherit;font-size:15px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
 .dq-mobile-footer [hidden],.dq-mobile-only[hidden]{display:none!important}
 .dq-mobile-action-row{display:flex;width:100%;gap:8px}
 .dq-mobile-action-row [data-submit]{background:#2557d6;color:#fff;border-color:#2557d6}
 .dq-mobile-footer .dq-status{width:100%;margin:0;font-size:13px;line-height:1.35;max-height:64px;overflow:auto}
 .dq-mobile-footer .dq-status:empty{display:none}
 .dq-mobile-ready .dq-form-card{padding:10px 12px!important}
 .dq-mobile-ready .dq-form{gap:8px}
 .dq-mobile-route .dq-route-point-list{gap:6px}
 .dq-mobile-route .dq-route-point-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:0!important;border:0;border-radius:0;background:transparent}
 .dq-mobile-route .dq-route-point-field{gap:2px;grid-row:1;grid-column:2}
 .dq-mobile-route .dq-route-point-field>span{font-size:12px;line-height:1.2}
 .dq-mobile-route .dq-route-point-field input{min-height:44px;height:44px;border-radius:9px;padding:0 10px;font-size:16px}
 .dq-mobile-route .dq-route-point-actions{display:flex;grid-column:3;grid-row:1;align-self:end;width:44px;height:44px}
 .dq-mobile-route .dq-route-point-action{display:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#667281;font:inherit;font-size:28px;line-height:1;align-items:center;justify-content:center}
 .dq-mobile-route .dq-route-point-remove{display:flex}
 .dq-mobile-route .dq-route-point-remove:disabled{opacity:.35}
 .dq-mobile-route .dq-route-point-hint{display:none!important}
 .dq-mobile-route .dq-route-point-grip{display:flex!important;grid-column:1;grid-row:1;align-self:end;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#7a8492;font-size:20px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}
 .dq-mobile-route .dq-route-point-grip:active{cursor:grabbing}
 .dq-mobile-route .dq-route-point-row.is-dragging{opacity:.72}
 .dq-mobile-route .dq-route-point-controls{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
 .dq-mobile-route .dq-route-point-controls button{min-height:44px;padding:6px 8px;border:0;background:transparent;color:#2557d6;font:inherit;font-size:13px;font-weight:650}
 .dq-mobile-route .dq-mobile-vehicle{display:block!important;width:100%;border:0;border-radius:8px;background:#f1f4f8;color:#172333;padding:8px 10px;min-height:44px;text-align:left;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
 .dq-mobile-route .dq-mobile-options{display:none}
 .dq-mobile-route[data-mobile-mode=options] .dq-mobile-options{display:grid;gap:12px}
 .dq-mobile-route[data-mobile-mode=options] .dq-route-point-list,.dq-mobile-route[data-mobile-mode=options] .dq-route-point-controls,.dq-mobile-route[data-mobile-mode=options] .dq-mobile-vehicle{display:none!important}
 /* First mobile step: identify the real car and current battery before asking for addresses. */
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-options{display:grid;gap:14px}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-options>*{display:none!important}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-options>.dq-onboarding-primary{display:grid!important}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-route-point-list,.dq-mobile-route[data-mobile-mode=onboarding] .dq-route-point-controls,.dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-vehicle{display:none!important}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-body{overflow:auto;overscroll-behavior:contain}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-form-card{padding:14px 16px!important}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-workspace-panel{height:min(68%,520px)!important;min-height:min(408px,calc(100% - 54px))}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-onboarding-primary.dq-row{gap:10px}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-onboarding-primary .dq-field,.dq-mobile-route[data-mobile-mode=onboarding] .dq-onboarding-primary.dq-field{gap:6px}
 .dq-mobile-route[data-mobile-mode=onboarding] .dq-onboarding-primary .dq-select{min-height:48px;border-radius:10px}
 .dq-mobile-route .dq-soc-slider-field{padding:4px 0 2px}
 .dq-mobile-route .dq-soc-slider-field>span{font-size:14px;font-weight:750;color:#172333}
 .dq-mobile-route .dq-soc-value{display:block;margin:2px 0 4px;font-size:32px;line-height:1;font-weight:800;letter-spacing:-.03em;color:#172333}
 .dq-mobile-route .dq-soc-slider-field input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:8px;min-height:8px;margin:10px 0 6px;padding:0;border:0;border-radius:999px;background:linear-gradient(to right,#2557d6 0 var(--dq-soc-pct,80%),#dbe2ec var(--dq-soc-pct,80%) 100%);outline:none}
 .dq-mobile-route .dq-soc-slider-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;border:4px solid #fff;border-radius:50%;background:#2557d6;box-shadow:0 1px 6px rgba(15,23,42,.28)}
 .dq-mobile-route .dq-soc-slider-field input[type=range]::-moz-range-thumb{width:22px;height:22px;border:4px solid #fff;border-radius:50%;background:#2557d6;box-shadow:0 1px 6px rgba(15,23,42,.28)}
 .dq-mobile-route .dq-soc-scale{display:flex;justify-content:space-between;color:#7a8492;font-size:11px;font-weight:650}
 .dq-mobile-route .dq-onboarding-continue{background:#2557d6!important;color:#fff!important;border-color:#2557d6!important}
 .dq-mobile-route .dq-onboarding-continue:disabled{opacity:.42!important}
 .dq-mobile-route:not([data-mobile-mode=results]) .dq-results{display:none}
 .dq-mobile-route[data-mobile-mode=results] .dq-form-card{display:none}
 .dq-mobile-route[data-sheet-size=small]:not(.dq-destination-pending) .dq-mobile-body{display:none}
 .dq-mobile-route[data-mobile-mode=route] .dq-mobile-body{overflow:hidden;overscroll-behavior:none}
 .dq-mobile-route.dq-keyboard-open .dq-mobile-body,.dq-mobile-route[data-mobile-mode=onboarding] .dq-mobile-body,.dq-mobile-route[data-mobile-mode=options] .dq-mobile-body,.dq-mobile-route[data-mobile-mode=results] .dq-mobile-body{overflow:auto;-webkit-overflow-scrolling:touch}
 .dq-mobile-route .dq-suggestions{position:static;margin-top:4px;max-height:none;overflow:visible;box-shadow:none;padding:0;border:0}
 .dq-mobile-route .dq-suggestion{min-height:48px;padding:10px;border:1px solid #dce3ec;border-radius:8px;margin-bottom:4px}
 .dq-mobile-ready .map-controls-top{grid-template-columns:1fr!important;gap:10px}
 .dq-mobile-ready .map-result-list{max-height:none!important;height:auto!important;overflow:visible!important}
 .dq-mobile-place{padding:8px 12px}
 .dq-mobile-place .map-zoom-note{padding:0!important;margin:5px 0 0;font-size:11px;line-height:1.3}
 .dq-mobile-chargers:not([data-mobile-mode=filters]) .map-controls,.dq-mobile-chargers:not([data-mobile-mode=filters]) .dq-stop-filter-row{display:none!important}
 .dq-mobile-chargers:not([data-mobile-mode=list]) .charging-map-side,.dq-mobile-chargers:not([data-mobile-mode=list]) .map-decision-bar,.dq-mobile-chargers:not([data-mobile-mode=list]) .map-rank-note{display:none!important}
 .dq-mobile-chargers[data-mobile-mode=filters] .dq-mobile-place{display:none}
 .dq-mobile-chargers[data-sheet-size=small] .map-statusline:not(.map-zoom-note){display:none}
 .dq-mobile-ready .dq-map-locate-quick{top:160px;right:10px}
 .dq-mobile-ready .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
 .dq-mobile-ready .leaflet-control-attribution{font-size:9px;max-width:100%}
 .dq-mobile-stop-open .dq-workspace-panel{visibility:hidden}
 .dq-mobile-ready .dq-stop-sheet{box-sizing:border-box;left:0;right:0;bottom:0;width:100%;max-height:70%;padding:18px 14px max(16px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}
 .dq-mobile-ready .dq-stop-sheet-close{width:44px;height:44px;top:6px;right:8px}
 .dq-mobile-ready .dq-stop-sheet h3{margin-right:44px}
 .dq-mobile-ready .dq-results{padding:12px}
 .dq-mobile-ready .dq-workspace-fullscreen{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}
 .dq-mobile-ready input,.dq-mobile-ready select{font-size:16px!important}
 .dq-mobile-ready .map-chip{min-height:44px}
 /* Destination-first state after browser geolocation succeeds. */
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-workspace-panel{height:auto!important;min-height:0!important;max-height:none!important;padding-top:8px}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-workspace-panel>summary{display:block!important;height:0!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden!important;opacity:0;pointer-events:none}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-mobile-body{flex:0 0 auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-mobile-footer{display:none!important}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="origin"],.dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-route-point-controls,.dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-mobile-vehicle{display:none!important}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="destination"] .dq-route-point-field>span,.dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="destination"] .dq-route-point-grip,.dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="destination"] .dq-route-point-actions{display:none!important}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="destination"]{display:block}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) [data-route-point-role="destination"] .dq-route-point-field input{height:52px;min-height:52px;border-radius:14px;padding:0 16px;font-size:17px}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-form-card{padding:6px 14px 14px!important}
 .dq-mobile-route.dq-destination-pending:not(.dq-onboarding-pending) .dq-suggestions{max-height:40dvh;overflow:auto}
 /* While iOS/Android software keyboards are visible, keep the route editor inside
    the VisualViewport so browser focus scrolling cannot push the sheet header away. */
 .dq-mobile-route.dq-keyboard-open{position:fixed!important;inset:var(--dq-vv-top,0) 0 auto!important;width:100vw!important;height:var(--dq-visible-height,100dvh)!important;min-height:0!important;z-index:2147482500}
 .dq-mobile-route.dq-keyboard-open .dq-workspace-panel{height:100%!important;max-height:100%!important;inset:0!important;border-left:0;border-right:0;border-radius:0!important}
 .dq-mobile-route.dq-keyboard-open .dq-workspace-panel>summary{border-radius:0!important}
 .dq-mobile-route.dq-keyboard-open .dq-mobile-body{height:var(--dq-body-height,auto)!important}
 .dq-mobile-route.dq-keyboard-open .dq-workspace-fullscreen,.dq-mobile-route.dq-keyboard-open .leaflet-control-container{display:none!important}
}
@media(max-width:700px) and (max-height:500px){
 .dq-mobile-ready[data-sheet-size=medium] .dq-workspace-panel{min-height:0;height:60%}
 .dq-mobile-ready[data-sheet-size=small] .dq-workspace-panel{max-height:72%!important}
 .dq-mobile-ready .dq-mobile-place .map-zoom-note{display:none}
}

@media(max-width:700px){
 body.dq-map-page .site-header .nav-links{top:54px}
 .dq-mobile-route[aria-busy="false"] .dq-mobile-footer .dq-status:not([data-tone="error"]):not([data-tone="warning"]){display:none}
 .dq-mobile-help>summary{min-height:44px;display:flex;align-items:center}
 .dq-mobile-ready .dq-workspace-panel>summary:focus-visible,.dq-mobile-ready button:focus-visible,.dq-mobile-ready input:focus-visible{outline:3px solid #1684ff;outline-offset:-3px}
}

@media(max-width:700px){
 .dq-mobile-ready .dq-workspace-panel[open]::details-content{display:contents}
 .dq-mobile-ready[data-sheet-size=medium]:not(.dq-destination-pending) .dq-mobile-body,.dq-mobile-ready[data-sheet-size=large]:not(.dq-destination-pending) .dq-mobile-body{height:var(--dq-body-height,auto)}
}

/* v865.4: retain station facts in the single mobile sheet and expose map feedback. */
.dq-stop-location{display:none}
@media(max-width:700px){
 .dq-stop-location{display:block;margin-bottom:12px;border-bottom:1px solid #e3e8ef;padding-bottom:12px}
 .dq-stop-location .charge-popup{min-width:0;overflow-wrap:anywhere}
 .dq-stop-location .charge-popup-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dq-stop-location~h3,.dq-stop-location~.dq-stop-sub{display:none}
 .dq-stop-location a{display:inline-flex;align-items:center;min-height:44px}
 .dq-mobile-chargers .dq-mobile-body [data-map-status]{display:block!important;font-size:12px;line-height:1.35;margin:5px 0 0;padding:0;overflow-wrap:anywhere}
 .dq-mobile-body [data-map-status]:empty{display:none!important}
}
