@font-face{font-family:DarbArabic;src:url('/assets/noto-sans-arabic.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#1b3443;--muted:#71818d;--aqua:#3cdece;--aqua-light:#e5faf6;--blue:#3868eb;--coral:#ff9b79;--panel:#fff;--surface:#f5f7f8;--border:#e7edef;--shadow:0 16px 50px #243f4d1c,0 2px 8px #20394708;--small-shadow:0 4px 20px #20394714;--font:DarbArabic,"Noto Sans Arabic",Tahoma,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:var(--font);color:var(--ink);background:#e8eff0;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{touch-action:manipulation}button:disabled{cursor:wait;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:focus:not(:focus-visible){outline:none}a{color:inherit}svg{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button svg{pointer-events:none}[hidden]{display:none!important}.app-shell{position:relative;width:100%;height:100%;height:100dvh}#map{position:absolute;inset:0;background:#e8eff0}.map-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#f4f8f466,transparent 180px)}.skip-link{position:fixed;top:-100px;right:16px;z-index:1000;padding:12px 20px;background:var(--ink);color:white;border-radius:12px}.skip-link:focus{top:12px}
.app-header{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;pointer-events:auto;padding:8px 10px 8px 18px;background:var(--panel);border:1px solid #ffffff9c;border-radius:22px;box-shadow:var(--small-shadow)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:52px;height:52px;border-radius:17px;background:var(--aqua);color:#1b3443}.brand-mark svg{width:39px;height:39px;stroke:none}.brand-copy{display:flex;flex-direction:column;min-width:78px}.brand-name{font-size:31px;line-height:1.2;font-weight:900;letter-spacing:-1.4px}.brand-dot{color:#18bdaa}.brand-tagline{font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}.prototype-badge{margin-right:14px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:10px;white-space:nowrap}.header-actions{pointer-events:auto;display:flex;gap:3px;background:var(--panel);box-shadow:var(--small-shadow);padding:5px;border-radius:19px}.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;transition:background .16s,color .16s}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:var(--surface)}.icon-button[aria-pressed=true]{color:#148d84;background:var(--aqua-light)}
.region-switcher{position:absolute;top:112px;right:24px;width:360px;min-height:76px;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:21px;background:var(--panel);box-shadow:var(--small-shadow);z-index:4}.region-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--surface);color:#5f7482}.region-icon svg{width:22px;height:22px}.region-field{display:flex;flex-direction:column;flex:1;min-width:0}.region-field label{color:var(--muted);font-size:10px;line-height:1.4}.region-field select{border:0;background:transparent;color:var(--ink);min-height:38px;margin-right:-4px;font-size:14px;font-weight:700;max-width:100%;cursor:pointer}.coverage-pill{font-size:10px;color:#148a7a;background:var(--aqua-light);padding:6px 9px;border-radius:8px;white-space:nowrap}.map-context{position:absolute;top:37px;left:50%;transform:translateX(-50%);height:40px;display:flex;align-items:center;gap:9px;padding:0 15px;border-radius:13px;background:#ffffffec;border:1px solid #ffffff9c;box-shadow:0 3px 16px #2039470d;font-size:11px;white-space:nowrap;z-index:2}.status-dot{height:6px;width:6px;border-radius:100%;background:#48b7a3;box-shadow:0 0 0 4px #48b7a312}.context-divider{width:1px;height:12px;background:#dfe7e8}#region-label{font-weight:700}
.planner{position:absolute;right:24px;top:204px;bottom:32px;width:360px;border-radius:25px;background:var(--panel);box-shadow:var(--shadow);z-index:3;overflow:hidden;display:flex;flex-direction:column;max-height:780px}.panel-toggle{display:none}.planner-content{overflow-y:auto;padding:22px;scrollbar-width:thin;scrollbar-color:#d8e3e7 transparent;overscroll-behavior:contain}.planner-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:10px;font-weight:500}.planner h1{margin:0;font-size:27px;line-height:1.5;letter-spacing:-.8px;font-weight:800}.heading-illustration{width:50px;height:50px;background:var(--aqua-light);color:#1aa291;border-radius:17px;display:grid;place-items:center;transform:rotate(-8deg)}.heading-illustration svg{width:29px;height:29px;stroke-width:1.6}.route-form{position:relative}.waypoints{border:1px solid var(--border);border-radius:18px;padding:8px 8px 8px 10px;background:var(--surface)}.waypoint-row{display:flex;gap:10px;align-items:center;min-height:61px;position:relative}.waypoint-symbol{flex-shrink:0;width:13px;height:13px;margin:0 3px}.origin-symbol{background:var(--blue);border-radius:50%;border:3px solid var(--panel);box-shadow:0 0 0 2px #3868eb42}.destination-symbol{background:var(--coral);border:3px solid var(--panel);box-shadow:0 0 0 2px #ff9b7959;border-radius:4px}.waypoint-field{min-width:0;flex:1}.waypoint-field label{display:block;font-size:10px;color:var(--muted);margin-bottom:1px}.waypoint-field input{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:650;min-height:31px;outline-offset:0!important}.waypoint-field input::placeholder{color:#88959e;font-weight:500}.waypoint-field input:focus{outline:none}.waypoint-field:focus-within label{color:var(--blue)}.waypoint-actions{display:flex;gap:0}.field-button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:9px;color:#71818d}.field-button:hover{background:#e5ebef;color:var(--ink)}.field-button svg{width:19px;height:19px}.waypoint-divider{position:relative;padding-right:27px;height:13px;display:flex;align-items:center}.waypoint-divider:before{content:"";position:absolute;height:20px;right:9px;top:-4px;border-right:2px dotted #b7c7cd}.waypoint-divider>span{height:1px;flex:1;margin-left:41px;background:var(--border)}.swap-button{position:absolute;left:1px;top:-15px;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:11px;background:var(--panel);box-shadow:0 2px 6px #223b4808;color:#6e7f8a}.swap-button svg{width:18px;height:18px}.swap-button:hover{color:var(--blue)}
.primary-button{width:100%;min-height:51px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;border:0;border-radius:14px;background:var(--aqua);color:#163f47;font-weight:750;font-size:14px;transition:background .18s,transform .18s}.primary-button:hover{background:#2bd1c1;transform:translateY(-1px)}.primary-button:active{transform:translateY(0)}.primary-button svg{width:20px;height:20px}.route-button{justify-content:space-between;margin-top:14px}.route-button>span{margin-right:4px}.route-button svg{margin-left:2px}.search-results{position:relative;margin-top:6px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--small-shadow);overflow:auto;max-height:215px;z-index:6}.search-results button,.search-result{display:flex;gap:10px;align-items:center;width:100%;min-height:50px;text-align:right;padding:10px 12px;background:transparent;border:0;border-bottom:1px solid var(--border)}.search-results button:last-child{border-bottom:0}.search-results button:hover,.search-results [aria-selected=true]{background:var(--aqua-light)}.search-results small{display:block;font-size:10px;color:var(--muted)}.search-results .no-results{padding:12px;color:var(--muted);font-size:12px}
.nearby-section{margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}.section-heading h2{font-size:12px;font-weight:750;margin:0}.section-heading>span{font-size:9px;color:var(--muted)}.quick-places{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-places button,.place-button{min-width:0;display:flex;align-items:center;gap:8px;min-height:52px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--panel);font-size:11px;font-weight:600;text-align:right;transition:border .16s,background .16s}.quick-places button:hover,.place-button:hover{border-color:#76d4c6;background:#f6fdfa}.quick-places svg{width:18px;height:18px;color:#66828b}.quick-places .place-icon{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--surface)}.quick-places small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:2px}.map-hint{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;line-height:1.7;margin:12px 0 0}.map-hint svg{width:15px;height:15px}.reports-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.section-heading .local-badge{padding:3px 6px;border-radius:5px;background:var(--surface);font-size:8px}.empty-reports{display:flex;gap:10px;align-items:center;padding:13px 11px;border-radius:13px;background:var(--surface)}.empty-report-icon{flex-shrink:0;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:var(--panel);color:#7b8f98}.empty-report-icon svg{width:18px;height:18px;stroke-width:1.5}.empty-reports strong{font-weight:600;font-size:10px}.empty-reports p{font-size:9px;color:var(--muted);margin:3px 0 0;line-height:1.8}.reports-list>p{font-size:11px;color:var(--muted);line-height:1.9}.report-item{display:flex;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.report-item:last-child{border-bottom:0}.report-item strong{font-size:11px}.report-item p,.report-item small{font-size:10px;color:var(--muted);margin:3px 0}.report-item button{margin-right:auto;min-width:44px;min-height:44px;border:0;background:var(--surface);border-radius:10px;color:var(--muted)}.planner-footer{display:flex;align-items:center;gap:5px;font-size:8px;color:#91a0a8;margin-top:27px;padding-top:14px;border-top:1px solid var(--border)}.footer-mark{width:5px;height:5px;background:var(--aqua);border-radius:50%}.company-name{font-family:Arial,sans-serif;font-size:7px;font-weight:700;letter-spacing:.8px;margin-right:auto}
.route-result{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.result-heading{display:flex;align-items:center;gap:7px;font-size:12px}.route-line-icon{height:4px;width:16px;border-radius:3px;background:var(--blue)}.result-heading strong{font-weight:750}.estimate-tag{margin-right:auto;padding:3px 6px;border-radius:5px;color:var(--muted);background:var(--surface);font-size:9px}.route-metrics{display:grid;grid-template-columns:1.25fr 1fr 1fr;margin:16px 0 11px}.metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-right:1px solid var(--border);min-width:0}.metric:first-child{border:0}.metric strong{font-family:var(--font);font-size:22px;font-weight:750;line-height:1.3;direction:ltr;font-variant-numeric:tabular-nums}.metric.main-metric strong{font-size:33px;color:var(--blue);font-weight:850;letter-spacing:-1px}.metric span{color:var(--muted);font-size:10px}.route-note{color:var(--muted);font-size:10px;line-height:1.8;margin:12px 0 14px}.route-actions{display:grid;grid-template-columns:1.6fr 1fr;gap:8px}.route-actions .primary-button{min-height:48px}.secondary-button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:8px 10px;font-size:12px;font-weight:600}.secondary-button svg{width:17px;height:17px}.secondary-button:hover{background:var(--border)}.text-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;background:transparent;color:var(--muted);font-size:11px}.steps-button{width:100%;margin-top:5px}.steps-button svg{width:14px;height:14px}.steps-button[aria-expanded=true] svg{transform:rotate(180deg)}.route-steps{margin:6px 0 0;padding:0 20px 0 0;font-size:11px;line-height:1.9;color:var(--ink)}.route-steps li{padding:9px 5px 9px 0;border-bottom:1px solid var(--border)}.route-steps li:last-child{border-bottom:0}.route-steps small{display:block;color:var(--muted);font-size:10px}
.nav-panel{position:absolute;right:24px;top:204px;width:360px;background:var(--ink);color:white;z-index:5;border-radius:25px;box-shadow:var(--shadow);padding:18px 22px}.nav-top{display:flex;align-items:center;gap:7px;font-size:11px;color:#bad1d8}.nav-live-dot{width:6px;height:6px;border-radius:50%;background:var(--aqua)}.stop-button{margin-right:auto;display:flex;align-items:center;gap:4px;min-height:44px;padding:4px 10px;border:0;border-radius:11px;background:#ffffff0e;color:#d6e3e7;font-size:11px}.stop-button svg{width:16px;height:16px}.maneuver{display:flex;align-items:center;gap:17px;padding:21px 0 25px}.maneuver-icon{font:700 47px Arial,sans-serif;line-height:1.2;width:62px;height:67px;display:grid;place-items:center;color:var(--aqua);flex-shrink:0}.maneuver-icon svg{width:52px;height:52px}.maneuver-copy{min-width:0}.maneuver-copy strong{font-size:27px;line-height:1.4;font-weight:800}.maneuver-copy p{margin:5px 0 0;font-size:13px;color:#dae6e9;line-height:1.8}.nav-bottom{display:flex;align-items:center;gap:12px;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:14px}.nav-bottom>p{font-size:11px;color:#bad1d8;margin:0;line-height:1.9}.speed-indicator{width:54px;height:54px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #ffffff52;border-radius:50%;font-family:var(--font)}.speed-indicator strong{font-size:19px;line-height:1.25;direction:ltr;font-weight:700}.speed-indicator span{font-size:8px;color:#bad1d8}.navigating #planner{display:none}
.map-tools{position:absolute;left:25px;bottom:142px;display:flex;flex-direction:column;align-items:center;gap:11px;z-index:3}.map-tool{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid #ffffffbf;border-radius:15px;box-shadow:var(--small-shadow);transition:background .16s}.map-tool:hover{background:var(--surface)}.map-tool svg{width:22px;height:22px;stroke-width:1.7}.compass-button svg{width:19px;height:19px;color:#fa8c73;transform:translateY(3px);fill:#fa8c7320}.compass-button span{position:absolute;top:2px;font:700 8px Arial,sans-serif;color:var(--muted)}.locate-button{color:#168f8c}.zoom-group{display:flex;flex-direction:column;border-radius:15px;overflow:hidden;box-shadow:var(--small-shadow)}.zoom-group .map-tool{box-shadow:none;border:0;border-radius:0}.zoom-group .map-tool+button{border-top:1px solid var(--border)}.report-button{position:absolute;left:24px;bottom:50px;z-index:3;width:62px;height:68px;border:0;border-radius:22px;background:#ffbf72;box-shadow:0 7px 25px #a777392c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;color:#66401a;transition:transform .16s,background .16s}.report-button svg{width:26px;height:26px;stroke-width:1.8}.report-button span{font-size:10px;font-weight:750}.report-button:hover{background:#ffb85f;transform:translateY(-2px)}.map-footer{position:absolute;left:24px;right:411px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none;font-size:9px;color:#546873;z-index:2}.map-scale-note{font-size:10px}.map-credit{pointer-events:auto;direction:ltr;border-radius:5px;background:#ffffffbd;padding:2px 5px;font-family:Arial,sans-serif;font-size:9px;white-space:nowrap}.map-credit a{text-decoration:none}.map-credit a:hover{text-decoration:underline}.maplibregl-ctrl-bottom-right{right:0}.maplibregl-ctrl-attrib{font:9px Arial,sans-serif!important}.maplibregl-popup{font-family:var(--font)}.maplibregl-popup-content{border-radius:13px!important;padding:14px!important;box-shadow:var(--small-shadow)!important;font-family:var(--font)}.maplibregl-popup-close-button{font-size:22px!important;min-width:35px;min-height:35px}.maplibregl-marker .pin,.marker-pin{width:30px;height:30px;border:4px solid white;box-shadow:0 3px 14px #263f5360;border-radius:50%;background:var(--blue)}
.map-pick-banner{position:absolute;top:110px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:12px;align-items:center;padding:10px 12px 10px 17px;border-radius:18px;box-shadow:var(--shadow);background:var(--ink);color:white;min-width:300px;max-width:calc(100% - 32px)}.pick-target{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffffff14;color:var(--aqua)}.pick-target svg{width:20px;height:20px}.map-pick-banner strong{font-size:12px;font-weight:600;white-space:nowrap}.map-pick-banner button{border:0;background:#ffffff15;color:#d5e6eb;border-radius:10px;min-width:54px;min-height:44px;font-size:11px;margin-right:auto}.picking #map{cursor:crosshair}.toast{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:30;padding:14px 20px;border-radius:15px;background:var(--ink);color:white;box-shadow:var(--shadow);max-width:calc(100% - 36px);width:max-content;font-size:12px;line-height:1.8;text-align:center}.toast.error{background:#873d40}
.app-dialog{width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 48px);border:0;border-radius:27px;padding:25px;color:var(--ink);background:var(--panel);box-shadow:0 30px 100px #102c4b50;overflow:auto;overscroll-behavior:contain}.app-dialog::backdrop{background:#0b253d66;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-symbol{width:52px;height:52px;border-radius:17px;display:grid;place-items:center}.report-symbol{color:#83501a;background:#fff1dc}.dialog-symbol svg{width:27px;height:27px}.dialog-close{background:var(--surface);width:40px;height:44px}.app-dialog h2{font-size:24px;letter-spacing:-.5px;margin:0 0 6px;line-height:1.5;font-weight:800}.dialog-intro{font-size:12px;color:var(--muted);line-height:2;margin:0 0 20px}.form-label{display:flex;gap:6px;font-size:11px;font-weight:650;margin-bottom:8px}.form-label span{font-weight:400;color:var(--muted)}.dialog-select,.app-dialog textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);padding:12px;font-size:13px;min-height:48px}.app-dialog textarea{resize:vertical;min-height:85px}.app-dialog textarea::placeholder{color:#8a99a2;font-size:11px}.report-location{display:flex;align-items:flex-start;gap:7px;margin:12px 0 20px;color:var(--muted);font-size:11px;line-height:1.7}.report-location svg{width:16px;height:16px;margin-top:2px}.dialog-note{font-size:10px;line-height:1.9;color:var(--muted);margin:13px 0 18px}.version-row{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--border)}.version-badge{background:var(--aqua-light);color:#199184;padding:5px 9px;border-radius:6px}.info-section{margin-top:20px}.info-section h3{font-size:12px;margin:0 0 7px}.info-section p,.info-section ul{font-size:11px;line-height:2.15;color:var(--muted);margin:0 0 6px}.info-section ul{padding-right:18px}.info-section li{padding-right:2px;margin-bottom:5px}.source-links a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:#128e86;margin-left:12px;text-underline-offset:4px}.info-footer{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;text-align:center}
.dark{--ink:#deebf1;--muted:#91a8b5;--panel:#172b38;--surface:#203643;--border:#2b424f;--aqua-light:#203e40;--shadow:0 15px 50px #07131e45;--small-shadow:0 4px 20px #07131e35;color-scheme:dark}.dark .map-vignette{background:linear-gradient(180deg,#0b1e3755,transparent 180px)}.dark .brand,.dark .map-tool{border-color:#29414e}.dark .map-context{background:#172b38ee;border-color:#29414e}.dark .context-divider{background:#36505c}.dark .map-footer{color:#c0cfd5}.dark .map-credit{background:#172b38d9}.dark .primary-button{color:#173c43}.dark .field-button:hover{background:#2a4351}.dark .nav-panel{background:#102736}.dark .nav-top,.dark .nav-bottom p{color:#bad1d8}.dark .route-metrics .main-metric strong{color:#85abff}.dark .quick-places button:hover{background:#203e40}.dark .report-symbol{background:#53402c;color:#ffc884}.dark .brand-mark{color:#1b3443}
@media(min-width:1600px){.planner,.region-switcher,.nav-panel{right:36px}.app-header{left:36px;right:36px}.map-tools{left:36px}.report-button{left:35px}}
@media(max-width:1100px){.map-context{left:220px;transform:none;max-width:calc(100% - 650px)}.map-context #region-label,.map-context .context-divider{display:none}.map-context{max-width:none}.prototype-badge{margin-right:5px}.map-footer{right:410px}}
@media(max-width:800px){.app-header{top:max(14px,env(safe-area-inset-top));left:14px;right:14px}.brand{padding:7px;gap:9px;border-radius:18px}.brand-mark{width:43px;height:43px;border-radius:13px}.brand-mark svg{width:33px;height:33px}.brand-copy{min-width:67px;padding-left:5px}.brand-name{font-size:25px}.brand-tagline{font-size:9px}.prototype-badge{display:none}.header-actions{padding:4px;gap:0;border-radius:16px}.header-actions .icon-button{width:44px;height:44px}.header-actions svg{width:19px;height:19px}.map-context{top:auto;bottom:calc(47dvh + 26px);left:14px;transform:none;padding:0 10px;height:30px;border-radius:10px;font-size:9px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.map-context .status-dot{height:5px;width:5px}.map-context #region-label,.map-context .context-divider{display:none}.region-switcher{top:89px;right:14px;left:14px;width:auto;min-height:61px;border-radius:17px;padding:7px 12px;gap:10px}.region-icon{width:34px;height:34px;border-radius:10px}.region-icon svg{width:19px;height:19px}.region-field label{font-size:9px}.region-field select{font-size:12px;min-height:30px}.coverage-pill{font-size:9px;padding:5px 8px}.planner{top:auto;left:0;right:0;bottom:0;width:100%;height:auto;max-height:47dvh;border-radius:27px 27px 0 0;z-index:6;box-shadow:0 -8px 40px #233e4e15;transition:max-height .22s}.panel-toggle{display:flex;flex-shrink:0;width:100%;height:28px;min-height:28px;align-items:center;justify-content:center;border:0;background:transparent;border-radius:27px 27px 0 0;touch-action:manipulation}.panel-toggle span{width:36px;height:4px;border-radius:4px;background:#cbd8dd}.planner-content{padding:0 21px calc(18px + env(safe-area-inset-bottom));scrollbar-width:none}.planner-heading{margin-bottom:12px;align-items:center}.planner-heading .eyebrow{font-size:9px;margin-bottom:0}.planner h1{font-size:23px;line-height:1.4}.heading-illustration{width:39px;height:39px;border-radius:13px}.heading-illustration svg{width:24px;height:24px}.waypoints{padding:5px 9px;border-radius:15px}.waypoint-row{min-height:51px}.waypoint-field label{font-size:9px}.waypoint-field input{font-size:12px;min-height:27px}.waypoint-divider{height:6px}.waypoint-divider:before{height:13px;top:-3px}.swap-button{height:44px;top:-19px}.route-button{min-height:47px;margin-top:10px;border-radius:13px;font-size:13px}.route-button svg{width:19px;height:19px}.field-button{height:44px}.nearby-section{margin-top:19px}.quick-places{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-places button{min-height:50px}.map-hint{font-size:9px}.reports-section{margin-top:20px;padding-top:16px}.planner-footer{margin-top:20px}.map-tools{left:14px;bottom:calc(47dvh + 68px);gap:9px}.map-tool{width:44px;height:44px;border-radius:13px}.map-tool svg{width:20px;height:20px}.zoom-group{display:none}.compass-button{display:none}.report-button{left:auto;right:15px;bottom:calc(47dvh + 20px);width:58px;height:61px;border-radius:20px;gap:0}.report-button svg{width:24px;height:24px}.report-button span{font-size:9px}.map-footer{left:5px;right:auto;bottom:calc(47dvh + 4px);font-size:8px}.map-scale-note{display:none}.map-credit{font-size:7px;padding:1px 3px}.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-bottom-left{bottom:47dvh!important}.maplibregl-ctrl-attrib{font-size:7px!important}.map-pick-banner{top:163px;left:14px;right:14px;transform:none;max-width:none;min-width:0;gap:8px;padding:8px 10px;border-radius:16px}.map-pick-banner strong{font-size:11px;white-space:normal;line-height:1.8}.map-pick-banner button{min-width:48px;flex-shrink:0}.pick-target{width:30px;height:34px;flex-shrink:0}.toast{bottom:calc(47dvh + 22px);font-size:11px;padding:12px 16px;max-width:calc(100% - 32px);z-index:40}.route-result{margin-top:16px;padding-top:15px}.route-metrics{margin-top:12px}.metric.main-metric strong{font-size:30px}.metric strong{font-size:20px}.route-actions .primary-button,.secondary-button{min-height:46px}.nav-panel{top:auto;bottom:0;right:0;left:0;width:100%;border-radius:25px 25px 0 0;padding:12px 22px calc(16px + env(safe-area-inset-bottom))}.maneuver{padding:7px 0 13px;gap:14px}.maneuver-icon{height:57px;width:55px;font-size:40px}.maneuver-copy strong{font-size:25px}.maneuver-copy p{font-size:12px;margin-top:3px}.nav-bottom{padding-top:10px}.nav-top{font-size:10px}.speed-indicator{width:47px;height:47px}.nav-bottom>p{font-size:10px}.navigating .map-tools{bottom:280px}.navigating .report-button{bottom:280px}.navigating .map-context{bottom:250px}.navigating .map-footer,.navigating .maplibregl-ctrl-bottom-right,.navigating .maplibregl-ctrl-bottom-left{bottom:234px!important}.navigating .toast{bottom:262px}.planner.collapsed,.panel-collapsed .planner{max-height:110px}.planner.collapsed .planner-content,.panel-collapsed .planner-content{overflow:hidden}.planner.collapsed .route-form,.planner.collapsed .route-result,.planner.collapsed .planner-extra,.panel-collapsed .route-form,.panel-collapsed .route-result,.panel-collapsed .planner-extra{display:none}.panel-collapsed .map-tools{bottom:177px}.panel-collapsed .report-button{bottom:130px}.panel-collapsed .map-context{bottom:136px}.panel-collapsed .map-footer,.panel-collapsed .maplibregl-ctrl-bottom-right,.panel-collapsed .maplibregl-ctrl-bottom-left{bottom:112px!important}.panel-collapsed .toast{bottom:138px}.picking .planner{max-height:80px}.picking .planner-content{display:none}.picking .panel-toggle{height:44px}.picking .map-tools{bottom:148px}.picking .report-button{display:none}.picking .map-context{bottom:98px}.picking .map-footer,.picking .maplibregl-ctrl-bottom-right,.picking .maplibregl-ctrl-bottom-left{bottom:80px!important}.app-dialog{padding:22px;border-radius:24px;max-height:calc(100dvh - 32px)}.app-dialog h2{font-size:22px}}
@media(max-width:380px){.app-header{left:10px;right:10px}.header-actions .icon-button{width:44px}.brand{gap:7px}.brand-mark{width:40px;height:43px}.brand-copy{min-width:59px}.brand-name{font-size:23px}.brand-tagline{font-size:8px}.planner-content{padding-left:16px;padding-right:16px}.region-switcher{left:10px;right:10px}.field-button{width:44px}.waypoint-row{gap:8px}.coverage-pill{font-size:8px;padding:5px 6px}}
@media(max-height:700px) and (min-width:801px){.app-header{top:16px}.region-switcher{top:99px;min-height:64px}.planner,.nav-panel{top:177px;bottom:24px}.planner-content{padding-top:17px}.planner-heading{margin-bottom:14px}.map-tools{bottom:127px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.route-alternatives{display:flex;gap:7px;overflow-x:auto;margin-top:13px;scrollbar-width:none}.route-alternative{border:1px solid var(--border);background:var(--surface);padding:8px 12px;min-height:44px;border-radius:11px;font-size:11px;white-space:nowrap}.route-alternative.active,.route-alternative[aria-pressed=true]{border-color:var(--blue);background:#3868eb0c;color:var(--blue)}.route-alternative strong{font-size:12px}.route-alternative small{font-size:9px;margin-right:5px;color:var(--muted)}.place-option>span{min-width:0}.place-option .place-name{font-weight:600}.place-option svg{color:var(--muted);width:19px;height:19px}.quick-place>span{min-width:0;overflow:hidden;text-overflow:ellipsis}

.maneuver-copy small{display:block;color:#9bb8c6;font-size:10px;line-height:1.8;margin-top:5px}.maneuver-copy small:empty{display:none}

/* Place lookup: visible service state and selectable address details. */
.search-results{max-height:min(360px,45vh);overscroll-behavior:contain}.search-results .place-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:64px;padding:11px 14px}.search-results .place-option strong{font-size:13px;line-height:1.6}.search-results .place-option span{font-size:11px;line-height:1.5;color:var(--muted)}.search-results .place-option small{font-size:9px;color:var(--muted)}.search-results .place-option[aria-selected=true]{background:var(--aqua-light);box-shadow:inset -3px 0 var(--aqua)}.search-status{margin:0;padding:10px 13px;color:var(--muted);font-size:11px;line-height:1.7;background:var(--surface)}.search-results[aria-busy=true] .search-status{color:var(--ink)}.search-actions{display:flex;gap:8px;padding:8px 10px}.search-actions button{justify-content:center;border:1px solid var(--border);border-radius:10px;font-size:11px;min-height:39px;padding:7px 10px;text-align:center}.search-actions .search-retry{background:var(--aqua-light)}.search-attribution{margin:0;padding:0 12px 9px;font-size:9px;color:var(--muted);line-height:1.8}.search-attribution a{color:inherit;text-decoration:underline}
