/* One control row and one bounded vertical stack, above map/sheet chrome and
   below dialogs. No notification receives its own competing fixed offset. */
.ride-floating-safe{position:fixed;visibility:hidden;pointer-events:none;padding:max(8px,var(--ride-safe-top,env(safe-area-inset-top))) max(12px,var(--ride-safe-right,env(safe-area-inset-right))) max(8px,var(--ride-safe-bottom,env(safe-area-inset-bottom))) max(12px,var(--ride-safe-left,env(safe-area-inset-left)))}
body.ride-floating-managed .ride-floating-ui{position:fixed;z-index:45;display:flex;flex-direction:column;gap:6px;pointer-events:none;min-height:0}
.ride-floating-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;flex:none;pointer-events:none}
.ride-floating-content{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:4px;padding:3px;pointer-events:auto;scrollbar-width:thin}
.ride-floating-content>*{flex:none;min-width:0}
body.ride-floating-managed .ride-floating-ui :is(.map-controls,.map-overlay-top,.ride-pitch-label,.nav-map-card,.waypoint-editor,.download-search,.toast,.location-status,.download-activity,.map-download-hint,.legend-corner,.ride-diagnostics){position:static!important;inset:auto!important;transform:none!important;margin:0!important;max-width:100%!important;pointer-events:auto;z-index:auto!important}
body.ride-floating-managed .ride-floating-ui .map-controls{display:flex!important;flex-direction:row!important;flex-wrap:wrap;border-radius:5px!important}
body.ride-floating-managed .ride-floating-ui :is(.map-controls button,#fitBtn){width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
body.ride-floating-managed .ride-floating-ui .map-controls button+button{border-top:0!important;border-left:1px solid var(--soft-line)!important}
body.ride-floating-managed .ride-floating-ui .map-overlay-top{width:auto!important;display:flex;flex:none}
body.ride-floating-managed .ride-floating-ui .ride-pitch-label{height:28px!important;width:38px!important}
body.ride-floating-managed .ride-floating-ui :is(.nav-map-card,.waypoint-editor,.download-search,.toast,.location-status,.download-activity,.map-download-hint,.legend-corner,.ride-diagnostics){width:100%!important;min-height:0;overflow-wrap:anywhere}
body.ride-floating-managed .ride-floating-ui .toast{transition:opacity .2s;white-space:normal}
body.ride-floating-managed .ride-floating-ui .toast:not(.show){display:none}
body.ride-floating-managed .ride-floating-ui .location-status:empty{display:none}
body.ride-floating-managed .ride-floating-ui .download-activity{flex-wrap:wrap;gap:4px}
body.ride-floating-managed .ride-floating-ui .download-activity-open{flex:1 1 130px}
body.ride-floating-managed .ride-floating-ui .download-activity-open span{white-space:normal;max-width:none;overflow:visible}
body.ride-floating-managed .ride-floating-ui .download-activity button{min-height:44px}
body.ride-floating-managed .ride-floating-ui #navMapCard{padding:12px;min-height:0!important;gap:10px;pointer-events:none}
body.ride-floating-managed .ride-floating-ui :is(.legend-corner .map-filters,.ride-diagnostics){max-height:none!important;overflow:visible}
body.ride-floating-managed .ride-floating-ui .ride-diagnostics{background:var(--bg);color:var(--ink);border-color:var(--soft-line);font-size:12px}
body.ride-floating-managed .ride-floating-ui .ride-diagnostics summary{min-height:40px;display:list-item;align-content:center;cursor:pointer}
body.ride-floating-managed .ride-floating-ui .ride-diagnostics :is(button,a){min-height:44px;margin:3px;padding:8px;white-space:normal}
body.ride-floating-managed .ride-floating-ui .ride-diagnostics textarea{height:120px;max-width:100%;font-size:12px}
body.ride-floating-managed .ride-floating-ui [hidden]{display:none!important}
body.ride-floating-managed #modalBackdrop{z-index:100}
body.ride-floating-managed :is(.modal,dialog) #toast{position:static!important;inset:auto!important;transform:none!important;width:100%;max-width:100%;margin:10px 0 0;white-space:normal}
body.ride-floating-managed :is(.modal,dialog) #toast:not(.show){display:none}
@media(max-width:700px){
 body.ride-floating-managed{--ride-ui-nav-bottom:calc(12px + env(safe-area-inset-bottom) + var(--ride-keyboard-inset,0px))}
 body.ride-floating-managed :is(.sidebar,.sidebar[data-ui-view=settings],.ride-live-card){max-height:min(55dvh,max(96px,calc(var(--ride-visible-height,100dvh) - 220px)))!important}
 body.ride-floating-managed #optionalDownloadsDialog .download-sheet{max-height:min(55dvh,max(96px,calc(var(--ride-visible-height,100dvh) - 220px)))!important}
 body.ride-floating-managed .ride-floating-content{padding:3px}
}

.ride-floating-ui .ride-diagnostics label{display:block;margin:8px 0;line-height:1.5}
.ride-floating-ui .ride-diagnostics input[type=password],.ride-floating-ui .ride-diagnostics input[readonly]{display:block;width:100%;min-height:44px;font:16px system-ui;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px}
.ride-floating-ui .ride-diagnostics input[type=checkbox]{width:20px;height:20px;vertical-align:middle}

.diagnostic-map-state{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 monospace;user-select:text}
body.ride-overview-onboarding .brand-row .tab-switch>[data-tab],body.ride-overview-onboarding .mobile-nav>[data-mobile-tab]:not([data-mobile-tab=settings]){display:none!important}
body.ride-overview-onboarding #downloadOnline{display:none}
[data-overview-tab][hidden]{display:none!important}
.mobile-nav [data-overview-tab]{font-size:12px;white-space:normal}

/* One compact download control on the left; map controls remain on the right.
   Narrow rows wrap in normal flow rather than overlapping. */
.ride-floating-content{align-self:flex-end;width:min(360px,100%)}
body.ride-floating-managed .ride-floating-controls .download-activity{width:124px!important;flex:0 0 124px;margin-right:auto!important;padding:0;gap:0}
body.ride-floating-managed .ride-floating-controls .download-activity-open{flex:1;min-width:0;padding:4px 7px}
.ride-floating-controls .download-activity :is([data-pause],[data-cancel]){display:none}
.ride-floating-controls .download-activity [role=status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.download-activity[data-in-ride=true] .download-compact{display:none}
.privacy-confirm>div{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
.privacy-confirm>div button{min-height:44px;white-space:normal;width:100%}
body[data-startup=pending] :is([data-panel],.sidebar-scroll,#plannerToggle,.map-controls,.map-overlay-top,.ride-floating-ui,.ride-live-card,.location-status,.map-download-hint){visibility:hidden!important}
body[data-startup=pending] :is(.tab.active,.mobile-nav .active){background:transparent!important}
@media(max-width:700px){.ride-floating-content{width:100%}}
body[data-startup=pending] .sidebar{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
body[data-startup=pending] .sidebar .brand-row{background:var(--bg)}
@media(max-width:700px){body[data-startup=pending] .sidebar{visibility:hidden!important}}
