/* WWS RE Leuchtet 2026 · v3.18.3 · Kartenfilter – Admin-Oberfläche, rein lesend */
.rel-map-controls{background:var(--card,#fff);color:var(--ink,#171b23);border:1px solid var(--line,#e3e5ea);border-radius:19px;padding:19px 21px;margin:0 0 20px;box-shadow:var(--shadow,0 4px 20px #00000008)}
.rel-map-filter-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.rel-map-filter-head>div{flex:1 1 300px}
.rel-map-filter-head strong{font-weight:800;font-size:17px;color:var(--ink,#20232c)}
.rel-map-filter-head p{font-size:12px;color:var(--muted,#6f7380);margin:6px 0 12px;line-height:1.5}
.rel-map-filter-head label{font-size:11px;font-weight:800;color:var(--muted,#626977);min-width:min(340px,100%);flex:0 1 340px}
.rel-map-route-select{margin-top:6px;display:block;width:100%;min-height:43px;padding:10px 33px 10px 11px;border:1px solid var(--line,#dfe2e9);border-radius:10px;background:var(--card,#fff);color:var(--ink,#1d2430);font-size:12px;font-weight:700;cursor:pointer}
.rel-map-stats{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:8px 0 17px}
.rel-map-stat{border:1px solid var(--line,#e3e5eb);border-radius:12px;background:var(--bg,#f5f6f8);padding:10px 7px;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:center}
.rel-map-stat b{font:800 21px/1.1 Manrope,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--ink,#171b23)}
.rel-map-stat span{font-size:10px;line-height:1.3;color:var(--muted,#616779);overflow-wrap:anywhere}
.rel-map-filter-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.rel-map-filter-button{border:1px solid var(--line,#dce1e9);background:var(--card,#fff);color:var(--ink,#1a2431);padding:10px 12px;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer;min-height:42px;transition:background .15s,border-color .15s}
.rel-map-filter-button:hover,.rel-map-filter-button:focus-visible{border-color:#159B65}
.rel-map-filter-button.is-selected{background:#176746;color:#fff;border-color:#176746;box-shadow:0 0 0 2px #159b6520}
.rel-map-legend{display:flex;gap:9px 17px;flex-wrap:wrap;align-items:center;margin:4px 0 12px;font-size:11px;color:var(--ink,#263041);font-weight:700}
.rel-map-legend>span{display:inline-flex;gap:6px;align-items:center}
.rel-map-legend i:not(.rel-map-warning){width:11px;height:11px;border-radius:4px;background:var(--legend-color);display:inline-block;flex:0 0 auto}
.rel-map-warning{font:900 10px/16px system-ui;display:inline-grid;place-items:center;background:#F6C343;color:#29201D;width:16px;height:16px;border-radius:5px}
.rel-map-summary{border-top:1px solid var(--line,#e5e7ee);padding:13px 0 0;margin:0;color:var(--muted,#5a6271);font-size:12px;line-height:1.55}
.rel-map-summary strong{color:var(--ink,#1d2936)}
.rel-map-notice{background:#fff7df;border:1px solid #eac477;color:#684914;padding:10px 13px;border-radius:9px;margin-top:10px;font-size:12px;line-height:1.55}
.rel-map-empty{height:100%;min-height:200px;display:grid;place-items:center;text-align:center;padding:25px;font-size:13px;font-weight:700;background:#e8edf0;color:#364456}
.rel-pin-inner{position:relative;max-width:none;min-width:34px;min-height:33px;width:auto;padding:0 5px;overflow:visible;text-overflow:clip;box-shadow:0 3px 10px #0a122c5c}
.rel-pin-attention{position:absolute;display:grid;place-items:center;top:-8px;right:-9px;border:2px solid white;width:19px;height:19px;border-radius:50%;font:900 11px system-ui;background:#F6C343;color:#29201D;box-shadow:0 2px 6px #0005}
.rel-popup{max-width:270px;overflow-wrap:anywhere}
.rel-popup small{display:block;line-height:1.35}
:root[data-theme="dark"] .rel-map-controls{--card:#18212d;--ink:#f2f6fb;--muted:#afbed0;--line:#364656;--bg:#111a25;box-shadow:none}
:root[data-theme="dark"] .rel-map-filter-button.is-selected{background:#135c42;color:#fff;border-color:#26bf8b}
:root[data-theme="dark"] .rel-map-notice{background:#3d3217;color:#ffe4ab;border-color:#81652f}
:root[data-theme="dark"] .rel-map-empty{background:#1c2939;color:#e1eafa}
@media(max-width:1050px){.rel-map-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.rel-map-controls{padding:14px}.rel-map-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.rel-map-stat b{font-size:19px}.rel-map-filter-button{flex:1 1 auto}.rel-map-filter-head label{flex:1 1 100%}}
