/* The action stack scrolls on short screens; sibling cards remain outside
   that scroller so they cannot be clipped. Always the same right column. */
.meteone-live-stations .meteone-map-tools-control__panel {
    --meteone-tools-panel-width: var(--meteone-map-control-size, 40px);
    --meteone-tools-panel-shift: 0px;
    width: var(--meteone-tools-panel-width);
    right: var(--meteone-tools-panel-shift);
    bottom: calc(100% + var(--meteone-right-quick-gap, 8px));
    display: block;
}
/* This sheet follows controls.css: the scoped display must never override
   the hidden state of a closed tools panel and leave invisible hit targets. */
.meteone-live-stations .meteone-map-tools-control__panel[hidden] { display: none; }
.meteone-live-stations .meteone-map-tools-control__actions {
    display: grid;
    gap: var(--meteone-right-quick-gap, 8px);
    max-height: max(var(--meteone-map-control-size, 40px), calc(var(--meteone-map-height, 100dvh) - var(--meteone-tools-bottom, 32px) - var(--meteone-map-control-size, 40px) - (var(--meteone-map-control-size, 40px) + var(--meteone-right-quick-gap, 8px)) * (var(--meteone-gps-quick-rows, 0) + var(--meteone-filter-quick-rows, 0) + var(--meteone-radar-right-quick-rows, 0) + var(--meteone-utility-quick-rows, 0)) - 64px));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: none;
    border-radius: 12px;
}
.meteone-map-tools-control__actions::-webkit-scrollbar { display: none; }

.meteone-live-stations__map.has-radar-quick-controls .meteone-map-tools-control__panel {
    --meteone-tools-panel-shift: 0px;
    right: var(--meteone-tools-panel-shift);
    bottom: calc(100% + var(--meteone-right-quick-gap, 8px));
}

/* Local numeric filter: the card opens beside the available tools rail. */
.meteone-station-value-filter {
    position: absolute;
    z-index: 1200;
    right: calc(100% + 8px);
    bottom: 0;
    box-sizing: border-box;
    width: min(272px, calc(100vw - 20px - var(--meteone-tools-panel-width, 40px) - var(--meteone-tools-panel-shift, 0px) - 8px));
    max-height: calc(var(--meteone-map-height, 100dvh) - var(--meteone-tools-bottom, 32px) - var(--meteone-map-control-size, 40px) - 18px);
    padding: 15px 12px 12px;
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #b8cbd5;
    border-radius: 12px;
    background: rgb(255 255 255 / 98%);
    box-shadow: 0 3px 16px rgb(19 43 58 / 22%);
    color: #123b52;
    font: 600 13px/1.35 var(--meteone-map-font);
    text-align: left;
}

.meteone-station-value-filter[hidden] { display: none; }
.meteone-map-tools-control__clear-filter[hidden] { display: none !important; }
.meteone-live-stations .meteone-map-tools-control__clear-filter {
    position: absolute;
    right: 0;
    bottom: calc(100% + var(--meteone-right-quick-gap, 8px) + var(--meteone-right-quick-rise, 0px));
    display: grid;
    border-radius: 12px;
    background: #eaf5fa;
    color: #00669c;
    box-shadow: 0 3px 16px rgb(19 43 58 / 22%);
    place-items: center;
    transition: bottom 180ms ease;
}
.meteone-station-value-filter__heading { display: block; padding-right: 22px; font-size: 15px; }
.meteone-station-value-filter__metric { margin-top: 3px; color: #00669c; overflow-wrap: anywhere; }
.meteone-station-value-filter__bounds { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.meteone-station-value-filter__label { display: block; min-width: 0; }
.meteone-station-value-filter__caption { display: block; margin-bottom: 4px; font-size: 12px; }
.meteone-live-stations .meteone-station-value-filter__input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 40px;
    margin: 0;
    padding: 6px;
    border: 1px solid #aabcc6;
    border-radius: 7px;
    background: #fff;
    color: #123b52;
    font: 600 16px/1.2 var(--meteone-map-font);
}
.meteone-live-stations .meteone-station-value-filter__input:focus-visible { outline: 2px solid #0092c8; outline-offset: 1px; }
.meteone-station-value-filter__input[aria-invalid='true'] { border-color: #ae2539; }
.meteone-station-value-filter__error { margin: 8px 0; color: #ae2539; font-size: 12px; }
.meteone-station-value-filter__error[hidden] { display: none; }
.meteone-station-value-filter__actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.meteone-live-stations .meteone-station-value-filter__apply,
.meteone-live-stations .meteone-station-value-filter__reset {
    min-height: 36px;
    padding: 6px 10px;
    border: 0;
    border-radius: 7px;
    background: #00669c;
    color: #fff;
    font: 600 13px/1.2 var(--meteone-map-font);
    cursor: pointer;
}
.meteone-live-stations .meteone-station-value-filter__reset { background: #e8f2f7; color: #123b52; }
.meteone-live-stations .meteone-station-value-filter__close {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #123b52;
    font: 400 23px/28px var(--meteone-map-font);
    cursor: pointer;
}
.meteone-map-tools-control__filter:disabled { opacity: .45; cursor: default; }

.meteone-station-value-filter.is-opening,
.meteone-map-tools-control__basemaps.is-opening { animation: meteone-expand-left 180ms ease-out both; }
.meteone-station-value-filter.is-closing,
.meteone-map-tools-control__basemaps.is-closing { animation: meteone-collapse-right 180ms ease-in both; pointer-events: none; }

/* Expand upward from the bottom control, collapse back down; no layout reads. */
.meteone-map-tools-control__panel { transform-origin: bottom right; }
.meteone-map-tools-control__panel.is-opening { animation: meteone-tools-open 180ms ease-out both; }
.meteone-map-tools-control__panel.is-closing { animation: meteone-tools-close 180ms ease-in both; pointer-events: none; }
@keyframes meteone-tools-open { from { opacity: 0; transform: translateY(10px) scaleY(.96); } to { opacity: 1; transform: translateY(0) scaleY(1); } }
@keyframes meteone-tools-close { from { opacity: 1; transform: translateY(0) scaleY(1); } to { opacity: 0; transform: translateY(10px) scaleY(.96); } }
@media (prefers-reduced-motion: reduce) {
    .meteone-live-stations .meteone-map-tools-control__clear-filter { transition: none; }
    .meteone-map-tools-control__panel.is-opening,
    .meteone-map-tools-control__panel.is-closing,
    .meteone-station-value-filter.is-opening,
    .meteone-station-value-filter.is-closing,
    .meteone-map-tools-control__basemaps.is-opening,
    .meteone-map-tools-control__basemaps.is-closing { animation: none; }
}
