/* Keep the map clear. Secondary tools open only on demand, in the original acrylic material. */
[hidden] { display:none!important; }
.map-tools-toggle,.discovery-toolbar,.place-results,.legend {
    background:var(--ui-header-acrylic)!important;
    border:1px solid var(--ui-line-strong);
    -webkit-backdrop-filter:blur(24px) saturate(1.4);
    backdrop-filter:blur(24px) saturate(1.4);
    box-shadow:var(--ui-shadow-sm);
}
.map-tools-toggle { position:absolute; z-index:130; top:12px; left:12px; min-height:44px; padding:10px 16px; border-radius:14px; color:var(--ui-ink); font:inherit; font-size:13px; cursor:pointer; }
#map-filter-indicator { color:var(--ui-muted); font-size:11px; }
.discovery-toolbar { position:absolute; z-index:155; bottom:12px; left:12px; width:min(360px,calc(100% - 24px)); max-height:min(68%,560px); padding:14px; border-radius:20px; overflow-y:auto; overscroll-behavior:contain; color:var(--ui-ink); font-size:13px; }
.discovery-heading,.nearby-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.discovery-heading h2 { font-size:17px; letter-spacing:-.3px; font-weight:650; }
.discovery-toolbar button,.discovery-toolbar summary,.discovery-toolbar select,.discovery-toolbar input { font:inherit; }
.discovery-toolbar button,.discovery-actions summary,.location-status button,.theme-options button,.order-filters button,.order-load-more,.sub-rule button,.preview-settings button {
    min-height:44px; border:1px solid var(--ui-line); border-radius:10px; padding:8px 12px;
    background:var(--ui-acrylic-soft); color:var(--ui-ink); cursor:pointer;
}
.discovery-heading button,.nearby-heading button { border:0; background:transparent; min-width:44px; padding:6px; color:var(--ui-muted); }
.place-search-row { display:flex; align-items:center; gap:6px; }
.place-search-row input { width:100%; min-width:0; min-height:44px; border:1px solid var(--ui-line-strong); border-radius:11px; padding:10px 12px; background:var(--ui-acrylic-soft); color:var(--ui-ink); font-size:14px; }
.place-results { position:relative; margin-top:6px; max-height:150px; overflow-y:auto; border-radius:12px; }
.place-results button { width:100%; display:flex; justify-content:space-between; align-items:center; border:0; border-radius:0; border-bottom:1px solid var(--ui-line); background:transparent; text-align:left; gap:12px; }
.place-results small,.discovery-muted { color:var(--ui-muted); font-size:12px; }
.discovery-actions { display:flex; align-items:flex-start; gap:8px; margin-top:8px; }
.discovery-actions > button { flex:1; }
.discovery-actions details { flex:1; }
.discovery-actions details[open] { flex-basis:100%; }
.discovery-actions:has(details[open]) { flex-wrap:wrap; }
.discovery-actions summary { list-style:none; display:flex; justify-content:center; align-items:center; }
.discovery-actions summary::-webkit-details-marker { display:none; }
.discovery-filter-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:12px 2px 4px; }
.discovery-filter-fields label { display:flex; flex-direction:column; gap:6px; color:var(--ui-muted); font-size:12px; }
.discovery-filter-fields .checkbox-label { flex-direction:row; align-items:center; grid-column:1/-1; color:var(--ui-ink); }
.discovery-filter-fields input[type=checkbox] { width:18px; height:18px; }
.discovery-filter-fields select,.nearby-sort select,.order-filters input,.order-filters select { min-height:44px; min-width:0; width:100%; border:1px solid var(--ui-line); border-radius:9px; padding:8px; background:var(--ui-acrylic-soft); color:var(--ui-ink); }
.discovery-origin { width:100%; min-height:32px!important; padding:8px 0!important; border:0!important; background:transparent!important; color:var(--ui-muted)!important; font-size:12px!important; text-align:left; }
.discovery-places { border-top:1px solid var(--ui-line); padding-top:4px; }
.discovery-places > summary { min-height:36px; color:var(--ui-muted); cursor:pointer; line-height:36px; font-size:12px; }
.favorite-places { display:flex; flex-wrap:wrap; gap:6px; padding:4px 0 8px; }
.favorite-place { display:flex; border:1px solid var(--ui-line); border-radius:9px; overflow:hidden; }
.favorite-place button { border:0; border-radius:0; background:transparent; min-height:36px; padding:6px 9px; }
.favorite-place button:last-child { min-width:36px; padding:5px; color:var(--ui-muted); }
#favorite-save { min-height:36px; font-size:12px; margin-bottom:6px; }
.nearby-panel { display:flex; flex-direction:column; position:static; margin-top:8px; padding-top:10px; border-top:1px solid var(--ui-line); background:transparent; }
.nearby-heading { margin-bottom:0; }
.nearby-heading h2 { font-size:14px; font-weight:600; }
.nearby-summary { color:var(--ui-muted); font-size:11px; line-height:1.6; padding:2px 0 8px; }
.nearby-sort { display:flex; align-items:center; gap:10px; padding-bottom:6px; color:var(--ui-muted); font-size:12px; }
.nearby-sort select { flex:1; width:auto; }
.nearby-list { overflow-y:auto; max-height:210px; overscroll-behavior:contain; }
.nearby-row { display:flex; justify-content:space-between; gap:12px; width:100%; padding:11px 0!important; border-width:0 0 1px!important; border-radius:0!important; background:transparent!important; text-align:left; }
.nearby-row strong { font-size:14px; font-variant-numeric:tabular-nums; }
.nearby-row-meta { display:block; color:var(--ui-muted); font-size:12px; margin-top:4px; }
.nearby-row-end { display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:var(--ui-muted); font-size:12px; white-space:nowrap; }
.vehicle-status { color:var(--ui-ink); font-weight:600; }
.vehicle-status.available { color:var(--discovery-available,#237947); }
.vehicle-status.lowbattery,.vehicle-status.locked { color:var(--discovery-warning,#9a5a08); }
.discovery-empty { padding:12px 0; color:var(--ui-muted); line-height:1.7; }
.discovery-empty strong { color:var(--ui-ink); }
.discovery-empty button { margin-top:8px; }
.location-status { position:static; padding-top:8px; border-top:1px solid var(--ui-line); color:var(--ui-muted); font-size:12px; line-height:1.6; }
.location-status-actions { display:flex; gap:8px; margin-top:6px; }
.location-status-actions button { min-height:36px; padding:6px 9px; font-size:12px; }
.legend { top:12px!important; right:12px!important; bottom:auto!important; }
.legend summary { cursor:pointer; min-height:28px; line-height:28px; font-size:12px; color:var(--ui-muted); }
.legend:not([open]) .legend-item { display:none; }
body:has(#discovery-drawer:not([hidden])) .locate-fab { visibility:hidden; }
.header-school-row { display:flex; align-items:center; gap:7px; }
.preview-tag { font-size:10px; color:var(--ui-muted); border:1px solid var(--ui-line-strong); border-radius:5px; padding:1px 4px; line-height:1.3; }
.preview-entry { display:flex; justify-content:center; gap:10px; align-items:center; color:var(--ui-muted); margin:12px 0 2px; font-size:12px; }
.preview-entry button { padding:5px 2px; background:transparent; color:inherit; border:0; cursor:pointer; font:inherit; min-height:32px; }
.preview-settings { padding:14px 0; }
.preview-settings > div { display:flex; gap:8px; margin-top:8px; }
.preview-settings button { flex:1; font:inherit; font-size:13px; }
.theme-options { display:flex; gap:8px; padding:10px 0 14px; }
.theme-options button { flex:1; font:inherit; font-size:13px; }
.theme-options button[aria-pressed=true] { background:var(--ui-solid); color:var(--ui-on-solid); }
.order-filters { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0 14px; }
.order-filters label { display:flex; flex-direction:column; gap:6px; color:var(--ui-muted); font-size:12px; min-width:0; }
.order-filters input,.order-filters select { font:inherit; }
.order-filter-actions { display:flex; gap:8px; grid-column:1/-1; }
.order-load-more { margin-top:12px; }
.sub-rule { border-bottom:1px solid var(--ui-line); padding:12px 0; font-size:13px; line-height:1.7; }
.sub-rule-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.sub-rule-meta,.sub-rule-result { color:var(--ui-muted); font-size:12px; margin-top:4px; }
.sub-rule-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.sub-rule-actions button { min-height:40px; padding:6px 12px; font:inherit; }
.sub-rule-actions .danger { color:var(--danger); }
.sub-editor-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.sub-editor-heading button { min-height:40px; padding:6px 10px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-acrylic-soft); color:var(--ui-ink); }
.settings-page { background:color-mix(in srgb,var(--ui-canvas) 82%,transparent)!important; -webkit-backdrop-filter:blur(32px) saturate(1.3); backdrop-filter:blur(32px) saturate(1.3); }
.settings-page .settings-group { background:var(--ui-acrylic-soft)!important; }
.bike-card:not(.show) { visibility:hidden; pointer-events:none; }
.bike-card.show { visibility:visible; }
.battery-unknown .battery-unit { display:none; }
.auth-modal:not(.show),.qr-modal:not(.show),.unlock-confirm-modal:not(.show),.return-confirm-modal:not(.show),.token-expired-modal:not(.show),.lost-modal:not(.show),.return-modal:not(.show),.bell-modal:not(.show) { visibility:hidden; }
html,body { overflow:clip; }
body { animation:none!important; }
.locate-btn.locate-fab { min-width:44px; min-height:44px; }
.auth-close,.bike-card-close,.qr-close { min-width:44px; min-height:44px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
button:disabled { cursor:wait; opacity:.65; }
@media(max-width:768px) {
    .map-tools-toggle { top:10px; left:10px; padding:9px 14px; border-radius:13px; }
    .legend { top:10px!important; right:10px!important; padding:6px 10px!important; }
    .discovery-toolbar { left:10px; bottom:10px; width:calc(100% - 20px); max-height:64%; padding:12px; }
    .locate-btn.locate-fab { width:44px; height:44px; padding:0; border-radius:50%; bottom:94px; right:12px; }
    .locate-fab-label { display:none!important; }
    .nearby-list { max-height:180px; }
}
@media(prefers-reduced-motion:reduce) { .discovery-toolbar { transition:none; } }

.discovery-toolbar[data-view=list] > .place-search-wrap,
.discovery-toolbar[data-view=list] > .discovery-actions,
.discovery-toolbar[data-view=list] > .discovery-origin,
.discovery-toolbar[data-view=list] > .discovery-places,
.discovery-toolbar[data-view=list] > .location-status { display:none!important; }
.discovery-toolbar[data-view=list] .nearby-heading h2 { display:none; }
.discovery-toolbar[data-view=list] .nearby-panel { margin-top:0; padding-top:0; border-top:0; }
.discovery-toolbar[data-view=list] .nearby-heading { justify-content:flex-start; }
.discovery-toolbar[data-view=list] #nearby-close { min-height:32px; padding:3px 0; color:var(--ui-muted); font-size:12px; }
