/* Nimba identity, with familiar map-first navigation. No proprietary Google assets. */
.address-card{margin:12px 0;padding:14px;background:#eef7f1;border:1px solid #b8d7c4;border-radius:14px;color:#17352d;font-size:13px}.address-card img{display:block;width:160px;height:160px;margin:12px auto;image-rendering:pixelated}.address-card button{min-height:44px;padding:10px;border:1px solid #bfd0c5;border-radius:12px;background:white;color:#145b40}.address-card a{display:block;color:#145b40}
body.map-experience { background:#edf0f2; color:#202124; --map-blue:#1769d2; }
.map-experience .site-header { height:64px; min-height:64px; padding:0 22px; background:#102621; }
.map-experience .citizen-layout { display:block; max-width:none; margin:0; padding:0; height:calc(100dvh - 64px); position:relative; }
.map-experience .map-shell { position:absolute; inset:0; border:0; border-radius:0; overflow:hidden; background:#e7ede8; }
.map-experience #map { position:absolute; inset:0; height:100%; min-height:0; border-radius:0; background:#e7ede8; }
.map-experience #map-svg { width:100%; height:100%; touch-action:none; cursor:grab; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; overscroll-behavior:contain; }
.map-experience #map-svg:active { cursor:grabbing; }
.map-experience .map-toolbar { position:absolute; z-index:6; left:16px; top:16px; width:360px; padding:0; display:block; background:transparent; border:0; }
.map-experience .map-toolbar > div:first-child { display:none; }
.map-experience .search-box { width:100%; max-width:none; min-height:56px; background:white; color:#3c4043; border:1px solid #dadce0; border-radius:28px; box-shadow:0 3px 12px #14251d26; }
.map-experience .search-box input { color:#202124; background:transparent; font-size:15px; }
.map-experience .search-results { background:white; color:#202124; border-radius:16px; max-height:40dvh; overflow:auto; box-shadow:0 6px 24px #0003; }
.map-experience .search-results button { color:#202124; }
.map-experience .citizen-panel { position:absolute; z-index:4; left:16px; top:86px; width:360px; max-height:calc(100% - 145px); overflow:auto; padding:22px; border:1px solid #e0e3e7; border-radius:20px; background:#fffffff5; color:#202124; box-shadow:0 6px 24px #18352924; backdrop-filter:blur(18px); }
.map-experience .panel-intro h2 { font-size:24px; color:#202124; }
.map-experience .panel-intro p,.map-experience .selected-meta,.map-experience .selection-card span,.map-experience .trust-strip,.map-experience .step-label { color:#59636a; }
.map-experience .selection-card { background:#f2f6fc; color:#202124; border:1px solid #dce7f6; border-radius:16px; }
.map-experience .selection-card strong { color:#202124; }
.map-experience .selection-actions { display:flex; flex-wrap:wrap; gap:8px; }
.map-experience .selection-actions button,.map-experience .secondary-button,.map-experience #route-use-selection { border:1px solid #d6dfe9; color:#1769d2; background:#fff; border-radius:24px; padding:10px 12px; min-height:44px; font-size:12px; }
.map-experience #open-directions { background:var(--map-blue); color:white; border-color:var(--map-blue); }
.map-experience .map-provider-bar { position:absolute; z-index:3; right:18px; top:16px; max-width:calc(100% - 425px); padding:8px 12px; border-radius:20px; background:#fffffff0; color:#32443d; box-shadow:0 2px 8px #0002; flex-wrap:wrap; }
.map-experience .provider-status { color:#52645a; font-size:11px; }
.map-experience .provider-button,.map-experience .refresh-button { background:#fff; color:#33473b; min-height:38px; }
.map-experience .provider-button.active { background:#e7f0ff; color:#1769d2; }
.map-experience .map-disclaimer { position:absolute; bottom:0; left:0; right:0; z-index:3; padding:7px 18px; background:#fffffff0; color:#4d5c53; font-size:10px; }
.map-experience .map-disclaimer strong { color:#33473b; }
.map-experience .map-legend,.map-experience .map-mode,.map-experience .map-scale { display:none; }
.map-experience .offline-map-controls { right:20px; bottom:90px; left:auto; top:auto; background:#fff; color:#202124; box-shadow:0 2px 9px #0003; border-radius:14px; }
.map-experience .offline-map-controls button { background:#fff; color:#202124; min-width:44px; min-height:44px; }
.map-experience .map-layer-controls { left:auto; right:20px; bottom:38px; top:auto; background:#fff; color:#35423e; border-radius:16px; max-width:calc(100% - 420px); }
.map-experience .map-layer-controls button { color:#1769d2; background:#f1f5fc; }
.map-experience .map-compass { right:25px; top:140px; }
.map-experience .site-footer { display:none; }
.map-experience .directions-panel { margin:14px 0; padding:16px; border:1px solid #dce4ef; border-radius:16px; background:#f7faff; }
.map-experience .directions-panel h2 { margin:0 0 12px; color:#202124; font-size:19px; }
.map-experience .directions-panel button { min-height:44px; margin:4px 0; padding:10px 14px; border:1px solid #ccd5df; border-radius:12px; background:white; color:#1769d2; cursor:pointer; }
.map-experience #route-internal { background:#1769d2; color:white; width:100%; font-weight:600; }
.map-experience [id^="route-results-"] { font-size:12px; color:#445368; }
.map-experience [id^="route-results-"] button { display:block; width:100%; text-align:left; }
.map-experience .directions-panel label { display:block; margin:12px 0; color:#445368; font-size:12px; }
.map-experience .directions-panel input,.map-experience .directions-panel select,.map-experience .claim-form input,.map-experience .claim-form textarea,.map-experience .claim-form select { width:100%; background:white; color:#202124; border:1px solid #ccd5df; padding:10px; min-height:44px; border-radius:10px; }
.map-experience .claim-form label { color:#445368; }
.map-experience .route-launch { display:block; padding:12px; border-radius:22px; background:#1769d2; color:white; text-align:center; font-size:13px; text-decoration:none; margin-top:14px; }
.map-experience .route-launch[aria-disabled="true"] { opacity:.5; cursor:not-allowed; }
.map-experience #route-message { font-size:11px; line-height:1.5; color:#586576; }
.map-experience .report-disclosure { margin-top:18px; border-top:1px solid #e0e5eb; padding-top:14px; }
.map-experience summary { cursor:pointer; min-height:44px; font-weight:600; color:#1769d2; }
.map-experience :focus-visible { outline:3px solid #1769d2; outline-offset:3px; }
@media(max-width:760px) {
 .map-experience .site-header { padding:0 12px; gap:8px; height:58px; min-height:58px; }
 .map-experience .site-header nav { gap:8px; font-size:11px; }
 .map-experience .brand small,.map-experience .poc-badge { display:none; }
 .map-experience .citizen-layout { height:auto; min-height:calc(100dvh - 58px); padding-top:64dvh; }
 .map-experience .map-shell { height:68dvh; bottom:auto; }
 .map-experience .map-toolbar { left:12px; top:12px; width:calc(100% - 24px); }
 .map-experience .map-provider-bar { top:77px; right:12px; left:12px; max-width:none; padding:5px 9px; }
 .map-experience .map-sync-tools { display:none; }
 .map-experience .citizen-panel { position:relative; top:auto; left:0; width:100%; max-height:none; padding:20px; border-radius:24px 24px 0 0; }
 .map-experience .map-disclaimer { bottom:4dvh; padding:5px 10px; font-size:9px; }
 .map-experience #data-state { display:none; }
 .map-experience .map-layer-controls { left:12px; right:auto; max-width:75%; bottom:calc(4dvh + 46px); }
 .map-experience .offline-map-controls { right:12px; bottom:calc(4dvh + 88px); }
 .map-experience .map-compass { display:none; }
}

/* Phone layout: clear navigation, unobstructed map, readable form sheet. */
@media(max-width:760px) {
 body.map-experience { padding-bottom:0; overflow-x:hidden; }
 .map-experience .site-header { position:relative; height:auto; min-height:0; flex-wrap:wrap; padding:10px 12px; gap:8px; }
 .map-experience .brand { min-width:0; }
 .map-experience .brand strong { font-size:16px; }
 .map-experience .site-header nav { position:static; inset:auto; display:flex; flex:1 0 100%; width:100%; padding:4px; margin:0; gap:4px; border-radius:14px; box-shadow:none; }
 .map-experience .site-header nav a { flex:1; min-height:44px; padding:8px 4px; font-size:12px; white-space:nowrap; }
 .map-experience .citizen-layout { padding-top:0; min-height:0; height:auto; }
 .map-experience .map-shell { position:relative; inset:auto; height:60dvh; min-height:360px; max-height:620px; }
 .map-experience .map-toolbar { top:12px; left:10px; width:calc(100% - 20px); }
 .map-experience .search-box { min-height:50px; border-radius:18px; }
 .map-experience .search-box input { font-size:16px; min-width:0; }
 .map-experience .map-provider-bar { top:72px; left:10px; right:auto; width:auto; padding:3px 6px; border-radius:12px; }
 .map-experience .map-layer-controls { left:10px; bottom:50px; max-width:calc(100% - 80px); padding:4px; }
 .map-experience .map-layer-controls button { min-height:44px; padding:8px; font-size:11px; }
 .map-experience .offline-map-controls { right:10px; bottom:50px; flex-direction:column; gap:0; padding:3px; }
 .map-experience .offline-map-controls button { min-width:44px; min-height:44px; }
 .map-experience #zoom-level { display:none; }
 .map-experience .map-disclaimer { bottom:0; padding:6px 10px; font-size:10px; line-height:1.35; }
 .map-experience .citizen-panel { margin:0; padding:20px 16px calc(24px + env(safe-area-inset-bottom)); border-radius:24px 24px 0 0; box-shadow:0 -4px 18px #18352915; }
 .map-experience .panel-intro h2 { font-size:22px; margin:4px 0 8px; }
 .map-experience .panel-intro p { font-size:14px; line-height:1.5; }
 .map-experience .selection-card { padding:14px; overflow-wrap:anywhere; }
 .map-experience .selection-actions { display:grid; grid-template-columns:1fr 1fr; }
 .map-experience .selection-actions #open-directions { grid-column:1 / -1; }
 .map-experience .selection-actions button { font-size:13px; min-height:48px; }
 .map-experience .directions-panel { padding:14px; margin:14px 0; }
 .map-experience .directions-panel input,.map-experience .directions-panel select,.map-experience .claim-form input,.map-experience .claim-form textarea,.map-experience .claim-form select { font-size:16px; }
 .map-experience .directions-panel button { min-height:48px; width:100%; font-size:14px; }
 .map-experience .directions-panel p,.map-experience #route-message,.map-experience #route-steps { font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
 .map-experience #route-steps { padding-left:20px; }
 .map-experience #route-steps li { margin-bottom:10px; }
 .map-experience .form-row { grid-template-columns:1fr; }
 .map-experience .connectivity-status { position:static; margin:12px 16px; width:fit-content; max-width:calc(100% - 32px); font-size:12px; box-shadow:none; }
 .map-experience .trust-strip { font-size:12px; line-height:1.6; }
}
