/* Complete offline navigator UI. Kept outside the initial Vite stylesheet so
   online first paint retains its strict CSS performance budget. */
.pwa-offline-refresh{grid-column:1/-1;min-height:34px;margin-top:3px;border:1px solid #40dfb447;border-radius:10px;background:#14c79b1a;color:#bff8e8;font:inherit;font-size:9px;font-weight:900;letter-spacing:.035em;cursor:pointer}
.pwa-offline-refresh:is(:hover,:focus-visible){border-color:#40dfb4;outline:0;background:#40dfb429}
.pwa-offline-refresh:disabled{cursor:wait;opacity:.68}
.offline-mode-banner{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;z-index:10050;display:none;align-items:center;gap:9px;max-width:calc(100vw - 150px);padding:8px 12px;border:1px solid #ffc25c73;border-radius:999px;background:#071d2ef0;color:#fff5d9;box-shadow:0 10px 25px #010c1647;transform:translateX(-50%);pointer-events:none}
.offline-mode-banner[hidden]{display:none!important}
body.wayfinding-offline .offline-mode-banner{display:flex}
.offline-mode-banner-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#ffc25c;box-shadow:0 0 10px #ffc25ccc}
.offline-mode-banner span:last-child,.offline-mode-banner strong,.offline-mode-banner small{display:block}
.offline-mode-banner strong{font-size:9px;letter-spacing:.065em;text-transform:uppercase}
.offline-mode-banner small{margin-top:1px;color:#c7d9e4;font-size:8px}
body.wayfinding-offline #floating-action-card :is(.assistant-bubble-search,.assistant-bubble-voice),body.wayfinding-offline :is(#ai-search-panel,#ai-voice-panel),body.wayfinding-offline :is(.guest-upgrade-card,.guest-profile-upgrade){display:none!important}
body.wayfinding-offline #floating-action-card .assistant-bubble-browse{grid-column:2!important;justify-self:center;--bubble-origin-x:0px}
body.wayfinding-offline #map{background-color:#e7eef0;background-image:linear-gradient(#18486012 1px,transparent 1px),linear-gradient(90deg,#18486012 1px,transparent 1px),radial-gradient(circle at 50% 45%,#f8faf8 0,#e5ecef 72%);background-size:32px 32px,32px 32px,100% 100%}
body.wayfinding-offline .pwa-offline-refresh{display:none}
@media(max-width:768px){.offline-mode-banner{top:max(8px,env(safe-area-inset-top));max-width:calc(100vw - 150px);padding:7px 10px}.offline-mode-banner small{display:none}}
