:root{
  --bg:#07101e;--card:#0e1b34;--line:#223251;--text:#edf2ff;--muted:#9fb0c9;
  --blue:#3b82f6;--sky:#38bdf8;--green:#22c55e;--amber:#f59e0b;--red:#ef4444;--orange:#fb923c;--violet:#8b5cf6;
}
*{box-sizing:border-box} body{background:radial-gradient(circle at top right,#0b2557 0,#07101e 42%,#050b15 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{text-decoration:none;color:inherit}.text-secondary{color:var(--muted)!important}
.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.eyebrow{color:#8fb8ff;letter-spacing:.18em;font-size:.78rem;font-weight:700;margin-bottom:.35rem}h1{font-size:2.55rem;font-weight:800}
.topbar-badges{display:flex;gap:.6rem;flex-wrap:wrap}.badge-soft,.state-pill,.provider-chip{display:inline-flex;align-items:center;padding:.45rem .8rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);font-size:.82rem;color:#f5f9ff}
.panel{background:linear-gradient(180deg,rgba(17,31,59,.96),rgba(9,19,37,.96));border:1px solid rgba(147,197,253,.14);border-radius:1.35rem;padding:1rem 1rem 1.05rem;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem}.panel-head.compact h2{font-size:1.12rem}.panel-head h2{font-size:1.25rem;font-weight:700;margin:0 0 .2rem}.panel-head p{margin:0;color:var(--muted);font-size:.92rem}
.toolbar-inline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.toggle-inline{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.88rem}
.hero-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem}.hero-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1rem}.hero-label{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.hero-value{font-size:2rem;font-weight:800;line-height:1.05;margin:.35rem 0}.hero-sub{color:var(--muted)}
.stack-col{display:flex;flex-direction:column;gap:.9rem}.traffic-map{height:480px;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.legend-row{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.legend-dot{display:inline-block;width:.82rem;height:.82rem;border-radius:999px;margin-right:.35rem;vertical-align:-.05rem}.legend-dot.green{background:var(--green)}.legend-dot.amber{background:var(--amber)}.legend-dot.red{background:var(--red)}.legend-dot.orange{background:var(--orange)}.legend-dot.sky{background:var(--sky)}.legend-dot.blue{background:var(--blue)}.legend-dot.violet{background:var(--violet)}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.metric-box,.mini-box,.list-item,.cam-card,.link-row,.note-box{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:1rem}.metric-box{padding:.85rem}.metric-label,.mini-title{color:var(--muted);font-size:.84rem}.metric-value{font-size:1.62rem;font-weight:800;margin-top:.2rem}
.section-title{color:#d5e4ff;font-weight:700;font-size:.92rem;margin:.9rem 0 .5rem}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.mini-box{padding:.8rem}.mini-main{font-size:1.05rem;font-weight:700;margin:.15rem 0}.mini-sub{font-size:.83rem;color:var(--muted)}
.list-stack{display:flex;flex-direction:column;gap:.55rem}.list-stack.tight{max-height:430px;overflow:auto;padding-right:.15rem}.list-item{padding:.78rem .85rem;display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.cam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.cam-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-card{display:block;padding:.8rem}.cam-head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;margin-bottom:.65rem}.cam-image{width:100%;height:210px;object-fit:cover;border-radius:.9rem;border:1px solid rgba(255,255,255,.08);background:#06101f}.cam-image-small{height:180px}
.warning-image{width:100%;border-radius:1rem;border:1px solid rgba(255,255,255,.08)}.link-stack{display:flex;flex-direction:column;gap:.55rem}.link-row{padding:.8rem .9rem;display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.note-box{padding:.8rem .95rem;color:#dbeafe}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#12223f;color:#eef4ff}.leaflet-control-zoom a{background:#12223f!important;color:#eef4ff!important;border-color:#2b4066!important}
@media (max-width:1500px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1200px){.cam-grid,.cam-grid-2{grid-template-columns:1fr 1fr}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:992px){.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.traffic-map{height:380px}.cam-grid,.cam-grid-2,.metric-grid,.mini-grid{grid-template-columns:1fr 1fr}.cam-image{height:200px}}
@media (max-width:576px){h1{font-size:1.85rem}.hero-grid,.metric-grid,.mini-grid,.cam-grid,.cam-grid-2{grid-template-columns:1fr}.traffic-map{height:310px}.panel{padding:.9rem}.cam-image,.cam-image-small{height:180px}}

.hero-grid-compact .hero-card{padding:.85rem 1rem}.hero-grid-compact .hero-value{font-size:1.8rem}
.dashboard-tabs{display:flex;gap:.7rem;flex-wrap:wrap}.dash-tab{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#dbeafe;border-radius:999px;padding:.7rem 1rem;font-weight:600;display:inline-flex;align-items:center;gap:.45rem;transition:.2s ease}.dash-tab:hover{background:rgba(59,130,246,.12);border-color:rgba(147,197,253,.3)}.dash-tab.active{background:linear-gradient(180deg,rgba(59,130,246,.24),rgba(30,64,175,.22));border-color:rgba(147,197,253,.45);color:#fff}
.tab-panel{display:none}.tab-panel.active{display:block}
.traffic-map-large{height:540px}
.compact-panel{padding-bottom:.95rem}.compact-list .list-item{padding:.68rem .78rem}.compact-list.tight{max-height:260px}
.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.compact-metrics .metric-box{padding:.7rem}.compact-metrics .metric-value{font-size:1.25rem}
.weather-now-main{padding:.2rem 0 1rem}.weather-now-temp{font-size:2.3rem;font-weight:800;line-height:1}.weather-now-sub{color:var(--muted);margin-top:.35rem}.mini-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
#tab-system .list-stack .list-item{padding:.9rem .95rem}
@media (max-width:1400px){.traffic-map-large{height:500px}}
@media (max-width:992px){.traffic-map-large{height:400px}.dashboard-tabs{overflow:auto;padding-bottom:.15rem}.dash-tab{white-space:nowrap}}


/* V40 Oberflächen-Neuaufbau auf bestehender Logik */
.live-summary-row{--bs-gutter-y:.85rem}
.live-summary-row .compact-panel{padding-bottom:.95rem}
.note-box-strong{min-height:100%;display:flex;align-items:center;line-height:1.5}
#trafficSummaryGrid .mini-box{min-height:96px}
#trafficListsPanel .panel-head{margin-bottom:.9rem}
#trafficListsRow .panel{min-height:100%}
#trafficListsRow .compact-list,
#trafficListsRow .list-stack.tight{max-height:520px;overflow:auto}
#tab-live > .row:last-child{display:none}
#tab-kameras .panel{min-height:100%}
#tab-kameras .cam-grid{align-items:stretch}
#tab-kameras .cam-card{height:100%}
@media (max-width:992px){
    #trafficSummaryGrid .mini-box{min-height:84px}
}


/* V42 gezielter Sichtbarkeits-Nachzieher für V40 */
#tab-live > .row:last-child{
    display:flex !important;
}
#tab-kameras .cam-card{
    height:100%;
}
#tab-kameras .cam-grid{
    align-items:stretch;
}
#tab-details img[alt*="Radar"],
#tab-details img[alt*="radar"]{
    display:block !important;
    visibility:visible !important;
}

/* V43 Datenquellen-/Lagebild-Nachzug */
.legend-dot.rescue{background:#dc2626;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.radar-link{display:block}
.radar-image{min-height:220px;object-fit:cover;background:#06101f}
#levelList .note-box.small{font-size:.82rem;line-height:1.45;color:var(--muted)}
#levelMetrics .metric-value{font-size:1.35rem}
.leaflet-interactive[stroke="#dc2626"]{filter:drop-shadow(0 0 4px rgba(220,38,38,.35))}

/* V44 Layout-Härtung: weniger Reiter-Chaos, klarere Informationsdichte */
body{min-height:100vh}.container-fluid{max-width:1920px}.topbar{position:relative}.topbar .text-secondary{max-width:980px}
.dashboard-tabs{position:sticky;top:.75rem;z-index:800;backdrop-filter:blur(12px);background:rgba(7,16,30,.72);border:1px solid rgba(147,197,253,.12);border-radius:1.25rem;padding:.55rem;box-shadow:0 14px 32px rgba(0,0,0,.22)}
.dash-tab{flex:0 0 auto}.dash-tab.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.tab-panel{animation:tabFade .14s ease-out}@keyframes tabFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
#tab-live .stack-col .panel{min-height:0}.traffic-map-large{min-height:520px}.compact-list{scrollbar-width:thin}.compact-list::-webkit-scrollbar{width:8px}.compact-list::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:99px}
.cam-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cam-grid-2{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.cam-card{transition:transform .15s ease,border-color .15s ease,background .15s ease}.cam-card:hover{transform:translateY(-1px);border-color:rgba(147,197,253,.32);background:rgba(255,255,255,.055)}
#tab-details .panel{overflow:hidden}.radar-image{width:100%;height:auto;max-height:520px;object-fit:contain;background:#06101f}.source-note{font-size:.84rem;line-height:1.45;color:#cbd5e1}.source-link{margin-top:.55rem}.metric-value{word-break:break-word}.list-item>div:first-child{min-width:0}.list-item strong{overflow-wrap:anywhere}.provider-chip{white-space:nowrap}
#levelList .list-item,#incidentList .list-item,#roadStateList .list-item{align-items:center}.legend-dot.rescue{background:linear-gradient(135deg,#dc2626 0 52%,#f8fafc 53% 100%);border:1px solid rgba(255,255,255,.5)}
@media (min-width:1600px){#tab-live>.row:first-child>.col-xxl-9{width:76%}#tab-live>.row:first-child>.col-xxl-3{width:24%}.traffic-map-large{height:610px}}
@media (max-width:1200px){.topbar-badges{width:100%}.badge-soft{flex:1 1 220px;justify-content:center}.traffic-map-large{height:460px}}
@media (max-width:768px){.container-fluid{padding-left:.75rem!important;padding-right:.75rem!important}.dashboard-tabs{top:.25rem;overflow-x:auto;flex-wrap:nowrap}.hero-grid{grid-template-columns:1fr 1fr}.hero-card{padding:.75rem}.hero-value{font-size:1.45rem}.panel-head{flex-direction:column}.toolbar-inline{width:100%}.traffic-map-large{height:360px}.list-item{flex-direction:column;align-items:flex-start!important}.list-item .text-end{text-align:left!important}.cam-image,.cam-image-small{height:175px}}
@media (max-width:480px){.hero-grid{grid-template-columns:1fr}.dash-tab{padding:.62rem .82rem}.traffic-map-large{height:320px}}

/* V45 Reiter- und Karten-Overlay-Optimierung */
:root{--panel-gap:1rem}
.dashboard-tabs{gap:.45rem}.dash-tab{min-height:2.7rem}.dash-tab i{font-size:1rem}.tab-panel>.row{margin-top:0}.tab-panel .panel{height:100%;display:flex;flex-direction:column}.tab-panel .panel-head{padding-bottom:.55rem;border-bottom:1px solid rgba(148,163,184,.12)}.tab-panel .panel-head+*{margin-top:.15rem}.panel.compact-panel{gap:.15rem}.panel h2 i{opacity:.92}.toolbar-inline{justify-content:flex-end}.toggle-inline{background:rgba(15,23,42,.42);border:1px solid rgba(148,163,184,.14);border-radius:999px;padding:.42rem .62rem;color:#dbeafe}.toggle-inline input{accent-color:#60a5fa}.legend-dot.radar{background:linear-gradient(135deg,#38bdf8 0 34%,#22c55e 35% 62%,#f97316 63% 82%,#ef4444 83% 100%);box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.leaflet-control-attribution{background:rgba(8,15,28,.78)!important;color:#dbeafe!important;border-radius:.7rem 0 0 0}.leaflet-control-attribution a{color:#bfdbfe!important}.leaflet-tile-pane img[src*="maps.dwd.de"]{mix-blend-mode:screen;filter:saturate(1.12) contrast(1.04)}
#tab-live>.row:first-child{align-items:stretch}#tab-live .stack-col{min-height:100%}#tab-live .compact-list.tight,#tab-live .compact-list{max-height:240px;overflow:auto}#tab-live #incidentList,#tab-live #roadStateList{max-height:360px}.traffic-map-large{height:clamp(430px,57vh,650px)}
#tab-kameras .row{align-items:stretch}#tab-kameras .cam-grid,#tab-kameras .cam-grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.cam-card{color:inherit;text-decoration:none}.cam-head strong{display:block;line-height:1.22}.provider-chip{align-self:flex-start;background:rgba(59,130,246,.13);border:1px solid rgba(147,197,253,.22);border-radius:999px;padding:.18rem .48rem;color:#bfdbfe;font-size:.78rem}
#tab-details .row{align-items:stretch}#tab-details .section-title{padding-top:.15rem;border-top:1px solid rgba(148,163,184,.1)}#tab-details .metric-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}#tab-details .mini-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}#tab-details #levelList{max-height:320px;overflow:auto}.link-row{color:inherit;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.link-row:hover{background:rgba(255,255,255,.055);border-color:rgba(147,197,253,.28);transform:translateY(-1px)}
#tab-system .panel{max-width:1100px;margin-inline:auto}#systemStatusList{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.65rem}#systemStatusList .list-item{height:100%;flex-direction:column;gap:.45rem}.state-pill{white-space:nowrap}
@media (max-width:1200px){.toolbar-inline{justify-content:flex-start}.topbar{gap:1rem}.traffic-map-large{height:460px}#tab-live .compact-list.tight,#tab-live .compact-list{max-height:none}}
@media (max-width:768px){.dashboard-tabs{border-radius:1rem}.dash-tab{min-width:max-content}.toggle-inline{flex:1 1 auto;justify-content:center}.traffic-map-large{height:390px}.panel-head.compact h2,.panel-head h2{font-size:1.05rem}.hero-grid{gap:.65rem}}
@media (max-width:480px){.traffic-map-large{height:340px}.toolbar-inline{gap:.35rem}.toggle-inline{font-size:.8rem;padding:.38rem .52rem}.tab-panel .panel-head{margin-bottom:.65rem}}

/* V46: Karten- und Reiter-Feinschliff */
.toolbar-inline{gap:.45rem .6rem;align-items:center;flex-wrap:wrap}.toolbar-inline .state-pill{min-width:3.4rem;justify-content:center}.toggle-inline{white-space:nowrap;min-height:2.05rem}
.dwd-radar-tile{mix-blend-mode:screen;filter:saturate(1.22) contrast(1.08)}
#tab-live .panel{overflow:hidden}.traffic-map-large{height:clamp(430px,58vh,660px)}
#tab-live .col-xxl-3 .compact-panel{padding:.9rem}.compact-metrics .metric-value{font-size:1.35rem}.compact-metrics .metric-label{line-height:1.2}
.list-stack.tight.compact-list{max-height:22rem;overflow:auto;padding-right:.15rem}.compact-list .list-item{gap:.75rem}.list-item>div:first-child{min-width:0}.list-item strong{overflow-wrap:anywhere}.list-item .small{line-height:1.35}
#systemStatusList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.tab-panel .panel-head.compact{gap:.75rem}.tab-panel .panel-head.compact p{max-width:72ch}
@media (max-width:1400px){.panel-head{align-items:flex-start}.toolbar-inline{justify-content:flex-start}.traffic-map-large{height:500px}.hero-value{font-size:1.72rem}}
@media (max-width:768px){.toolbar-inline{width:100%}.toolbar-inline .state-pill,.toggle-inline{flex:1 1 calc(50% - .5rem)}.traffic-map-large{height:390px}.legend-row{gap:.55rem .8rem;font-size:.82rem}.list-stack.tight.compact-list{max-height:none}}

/* V47: Quellen-Redundanz und Systemübersicht */
.subhead-small{font-size:.98rem;font-weight:800;letter-spacing:.02em;color:#dbeafe;margin:.15rem 0 .7rem}
#sourceStatusList{display:grid;grid-template-columns:1fr;gap:.75rem}
.source-health{border-left:3px solid rgba(148,163,184,.35)}
.source-health.live{border-left-color:#22c55e;background:rgba(34,197,94,.055)}
.source-health.cache{border-left-color:#60a5fa;background:rgba(96,165,250,.055)}
.source-health.stale{border-left-color:#f59e0b;background:rgba(245,158,11,.055)}
.source-health.error{border-left-color:#ef4444;background:rgba(239,68,68,.06)}
.source-health.referenz{border-left-color:#a78bfa;background:rgba(167,139,250,.055)}
.source-health a{color:#bfdbfe;text-decoration:none}.source-health a:hover{text-decoration:underline}
#tab-system .panel{max-width:1380px}
@media (min-width:1200px){#sourceStatusList{max-height:680px;overflow:auto;padding-right:.15rem}}

/* V48 Status-Feinschliff */
.source-health.partial,.source-health.teil{border-left-color:#f59e0b;background:rgba(245,158,11,.055)}
.source-health.off{border-left-color:#64748b;background:rgba(100,116,139,.055)}

/* Settings / Admin */
.settings-page .panel { margin-bottom: 1rem; }
.settings-panel h2 { font-size: 1.05rem; margin-bottom: .75rem; }
.settings-form { display: grid; gap: .85rem; max-width: 520px; }
.settings-panel label { width: 100%; color: var(--muted); font-size: .9rem; margin-bottom: .65rem; }
.settings-panel .form-control { margin-top: .25rem; background: rgba(15, 23, 42, .88); border: 1px solid rgba(148, 163, 184, .25); color: var(--text); border-radius: 14px; }
.settings-panel .form-control:focus { background: rgba(15, 23, 42, .96); color: var(--text); border-color: rgba(96, 165, 250, .7); box-shadow: 0 0 0 .2rem rgba(59, 130, 246, .12); }
.provider-checks { display: flex; flex-wrap: wrap; gap: .5rem; }
.provider-checks .toggle-inline { width: auto; margin: 0; }
.source-card.backoff { border-left-color: #f59e0b; background: rgba(120, 53, 15, .20); }
.source-health.backoff{border-left-color:#f59e0b;background:rgba(120,53,15,.22)}

.note-box.warning { border-color: rgba(251, 191, 36, .35); background: rgba(120, 53, 15, .22); }

/* V54 Ereignis-Zentrale und strukturierte ntfy-Konfiguration */
.event-log-list{display:grid;gap:.75rem;max-height:720px;overflow:auto;padding-right:.15rem}
.event-log-item{border-left:3px solid rgba(148,163,184,.35)}
.event-log-item.info{border-left-color:#60a5fa;background:rgba(96,165,250,.055)}
.event-log-item.hinweis{border-left-color:#38bdf8;background:rgba(56,189,248,.055)}
.event-log-item.warnung{border-left-color:#f59e0b;background:rgba(245,158,11,.065)}
.event-log-item.kritisch{border-left-color:#ef4444;background:rgba(239,68,68,.075)}
.settings-panel details.note-box summary{cursor:pointer;font-weight:700;color:#dbeafe}
.settings-panel select.form-control{appearance:auto}

/* V57: Datenqualitäts-Ampel, Regeltest und Orte-Verwaltung */
.quality-panel{padding:.9rem 1rem}.quality-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.quality-head h2{font-size:1.05rem;margin:0;color:#f8fafc}.quality-head p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}.quality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem}.quality-card{border:1px solid rgba(148,163,184,.16);border-left:3px solid rgba(148,163,184,.42);border-radius:1rem;padding:.65rem .75rem;background:rgba(15,23,42,.48);min-height:4.2rem}.quality-card strong{display:block;color:#f8fafc;font-size:.92rem;line-height:1.2}.quality-card span{display:block;color:var(--muted);font-size:.78rem;line-height:1.3;margin-top:.25rem}.quality-card.good{border-left-color:#22c55e;background:rgba(34,197,94,.055)}.quality-card.limited{border-left-color:#f59e0b;background:rgba(245,158,11,.06)}.quality-card.critical{border-left-color:#ef4444;background:rgba(239,68,68,.07)}.quality-card.unknown{border-left-color:#64748b;background:rgba(100,116,139,.055)}
.state-pill.live{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.09);color:#bbf7d0}.state-pill.teil{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.09);color:#fde68a}.state-pill.fehler{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.11);color:#fecaca}.state-pill.start{border-color:rgba(148,163,184,.25);background:rgba(148,163,184,.08);color:#cbd5e1}
.event-filterbar{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(150px,.55fr) minmax(220px,1fr);gap:.65rem}.event-filterbar .form-control,.code-textarea{background:rgba(15,23,42,.88);border:1px solid rgba(148,163,184,.25);color:var(--text);border-radius:14px}.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.86rem;line-height:1.45;min-height:12rem;resize:vertical}
.rule-test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.rule-card{border:1px solid rgba(148,163,184,.16);border-left:3px solid rgba(148,163,184,.42);border-radius:1rem;background:rgba(15,23,42,.52);padding:.75rem}.rule-card.triggered{border-left-color:#f59e0b;background:rgba(245,158,11,.07)}.rule-card.ok{border-left-color:#22c55e;background:rgba(34,197,94,.052)}.rule-card.disabled{border-left-color:#64748b;background:rgba(100,116,139,.055);opacity:.82}.rule-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.25rem}.rule-card-head strong{color:#f8fafc}.rule-card-head span{font-size:.78rem;color:#bfdbfe;background:rgba(59,130,246,.11);border:1px solid rgba(147,197,253,.2);border-radius:999px;padding:.15rem .45rem;white-space:nowrap}.rule-values{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.rule-values span{font-size:.76rem;color:#cbd5e1;background:rgba(255,255,255,.045);border:1px solid rgba(148,163,184,.12);border-radius:.65rem;padding:.22rem .42rem;max-width:100%;overflow-wrap:anywhere}
@media (max-width:900px){.quality-head{flex-direction:column}.event-filterbar{grid-template-columns:1fr}.rule-test-grid{grid-template-columns:1fr}}

/* V58: Radar-Komfort, Pegelverlauf und mobile Feinheiten */
.radar-opacity-control {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--muted);
    background: rgba(15, 23, 42, .46);
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 999px;
    padding: .34rem .62rem;
    font-size: .84rem;
    white-space: nowrap;
}
.radar-opacity-control input[type="range"] { width: 86px; accent-color: #60a5fa; }
.radar-opacity-control span:last-child { min-width: 2.6rem; text-align: right; color: #dbeafe; font-variant-numeric: tabular-nums; }
.level-chart-card {
    border: 1px solid rgba(96,165,250,.24);
    background: linear-gradient(180deg, rgba(14, 30, 58, .92), rgba(15, 23, 42, .62));
    border-radius: 18px;
    padding: .75rem .85rem;
    overflow: hidden;
}
.level-chart-head { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; margin-bottom: .35rem; }
.level-chart-head strong { color: #f8fafc; }
.level-chart-head span { color: var(--muted); font-size: .82rem; }
.level-chart { width: 100%; height: auto; display: block; }
.level-axis { stroke: rgba(148,163,184,.32); stroke-width: 1; }
.level-axis-label, .level-threshold-label { fill: rgba(203,213,225,.78); font-size: 10px; }
.level-threshold { stroke: rgba(250,204,21,.52); stroke-width: 1; stroke-dasharray: 4 4; }
.level-line { stroke: #38bdf8; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 5px rgba(56,189,248,.24)); }
.level-dot { fill: #e0f2fe; stroke: #0284c7; stroke-width: 1.5; }
.level-history-list { display: grid; gap: .45rem; }
@media (max-width: 767.98px) {
    .toolbar-inline { align-items: stretch; }
    .radar-opacity-control { width: 100%; justify-content: space-between; }
    .radar-opacity-control input[type="range"] { flex: 1; width: auto; }
    .quality-grid { grid-template-columns: 1fr; }
    .traffic-map-large { min-height: 420px; }
}
.maintenance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
@media (max-width: 991.98px) { .maintenance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .maintenance-grid { grid-template-columns: 1fr; } }

/* V59: Startkarten-Feinschliff, Radar-Kontrast und rechte Live-Spalte */
.quality-panel-map {
    background: rgba(15, 23, 42, .34);
    border: 1px solid rgba(147,197,253,.12);
    box-shadow: none;
    padding: .8rem .85rem .85rem;
}
.quality-panel-map .quality-grid {
    grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
    gap: .55rem;
}
.quality-panel-map .quality-card {
    min-height: 3.75rem;
    padding: .55rem .62rem;
}
.quality-panel-map .quality-card strong { font-size: .86rem; }
.quality-panel-map .quality-card span { font-size: .74rem; }
.quality-panel-map .quality-head { margin-bottom: .55rem; align-items: center; }
.quality-panel-map .quality-head h2 { font-size: .98rem; }
.quality-panel-map .quality-head p { font-size: .82rem; }
#tab-live .stack-col { height: auto !important; align-self: flex-start; }
#tab-live .stack-col > .panel { flex: 0 0 auto; overflow: visible; }
#tab-live .col-xxl-3 .compact-panel { min-width: 0; }
#tab-live .col-xxl-3 .mini-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#tab-live .col-xxl-3 .mini-box { min-width: 0; }
.weather-now-temp { font-size: clamp(1.9rem, 2.2vw, 2.35rem); }
.weather-now-sub, .mini-sub, .mini-title { overflow-wrap: anywhere; }
.radar-opacity-control input[type="range"] { width: 100px; }
.radar-boost-toggle { border-color: rgba(56,189,248,.28); background: rgba(56,189,248,.08); color: #dff7ff; }
.dwd-radar-tile {
    mix-blend-mode: screen;
    filter: saturate(1.45) contrast(1.22) brightness(.98);
}
body.radar-boost .dwd-radar-tile {
    mix-blend-mode: multiply;
    filter: saturate(2.35) contrast(1.75) brightness(.86) drop-shadow(0 0 2px rgba(56,189,248,.35));
}
.legend-dot.radar {
    background: linear-gradient(135deg, #06b6d4 0 48%, #facc15 49% 100%);
    border: 1px solid rgba(255,255,255,.5);
}
@media (min-width: 1400px) {
    #tab-live .row.g-3.mb-3 { align-items: flex-start; }
    #tab-live .col-xxl-9 > .panel.h-100 { height: auto !important; }
}
@media (max-width: 1500px) and (min-width: 1400px) {
    #tab-live .col-xxl-3 .mini-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .quality-panel-map .quality-head { align-items: flex-start; }
    .quality-panel-map .quality-grid { grid-template-columns: 1fr; }
    .radar-boost-toggle { width: 100%; justify-content: center; }
}

/* Codex review polish: clearer status hierarchy and tighter mobile scanning */
.topbar {
    align-items: flex-start;
}
.topbar h1 {
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: .98;
    max-width: 980px;
}
.topbar-badges {
    max-width: 100%;
    align-items: center;
}
.badge-soft {
    min-height: 2.25rem;
    overflow: hidden;
    text-overflow: ellipsis;
}
.source-badge {
    border-color: rgba(56, 189, 248, .22);
    background: rgba(14, 116, 144, .11);
}
.action-badge,
.user-badge {
    border-color: rgba(167, 139, 250, .22);
    background: rgba(88, 28, 135, .14);
}
.hero-grid-compact {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.hero-card {
    position: relative;
    overflow: hidden;
}
.hero-card::after {
    content: "";
    position: absolute;
    inset: auto 1rem 0 1rem;
    height: 2px;
    background: linear-gradient(90deg, rgba(56,189,248,.55), rgba(34,197,94,.45), rgba(251,191,36,.35));
    opacity: .65;
}
.dashboard-tabs,
.view-mode-bar {
    scrollbar-width: thin;
}
.quick-view-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: .75rem;
}
.quick-view-card {
    min-height: 4.35rem;
    text-align: left;
}
.quick-view-card strong {
    display: flex;
    align-items: center;
    gap: .4rem;
}
.quick-view-card.security-ok {
    border-color: rgba(34,197,94,.28);
    background: linear-gradient(180deg, rgba(20,83,45,.34), rgba(15,23,42,.58));
}
.lage-assessment {
    border-left-width: 4px;
}
.lage-assessment-chips {
    align-items: stretch;
}
.lage-chip {
    min-height: 2.75rem;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
}
.toolbar-inline {
    align-items: center;
}
.radar-legend-rich {
    background: rgba(7, 16, 30, .42);
}
.radar-scale {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.quality-panel-map {
    border-radius: 1rem;
}
.system-monitor-item,
.source-health,
.history-status {
    overflow: hidden;
}
@media (min-width: 1280px) {
    .topbar-badges {
        justify-content: flex-start;
    }
    .source-badge {
        max-width: 28rem;
    }
}
@media (max-width: 767.98px) {
    .container-fluid {
        padding-top: .9rem !important;
    }
    .topbar {
        gap: .7rem;
        margin-bottom: .9rem !important;
    }
    .eyebrow {
        font-size: .64rem;
        line-height: 1.35;
    }
    .topbar h1 {
        font-size: 1.55rem;
        line-height: 1.05;
        margin-bottom: .35rem !important;
    }
    .topbar .text-secondary {
        font-size: .82rem;
        line-height: 1.35;
    }
    .topbar-badges {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .45rem;
        width: 100%;
    }
    .badge-soft {
        justify-content: center;
        width: 100%;
        min-width: 0;
        padding: .42rem .55rem;
        font-size: .72rem;
        white-space: nowrap;
    }
    .source-badge {
        grid-column: span 2;
        justify-content: flex-start;
        text-align: left;
    }
    .user-badge {
        grid-column: span 2;
    }
    .hero-grid-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hero-card {
        border-radius: .85rem;
    }
    .hero-value {
        font-size: 1.55rem;
    }
    .dashboard-tabs,
    .view-mode-bar {
        margin-left: -.25rem;
        margin-right: -.25rem;
        overflow-x: auto;
        flex-wrap: nowrap;
        scroll-snap-type: x proximity;
    }
    .dash-tab,
    .view-mode-btn {
        scroll-snap-align: start;
    }
    .quick-view-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }
    .quick-view-card {
        min-height: 4rem;
        padding: .72rem .78rem;
    }
    .quick-view-card strong {
        font-size: .95rem;
    }
    .lage-assessment {
        padding: .85rem;
    }
    .lage-assessment-chips {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }
    .toolbar-inline .state-pill,
    .toggle-inline,
    .view-toggle-btn {
        flex: 1 1 calc(50% - .4rem);
        min-width: 0;
    }
    .traffic-map-large {
        height: min(62vh, 460px);
    }
    .legend-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .radar-scale {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .radar-legend-hint {
        display: none;
    }
}
@media (max-width: 420px) {
    .hero-grid-compact,
    .quick-view-strip {
        grid-template-columns: 1fr;
    }
    .toolbar-inline .state-pill,
    .toggle-inline,
    .view-toggle-btn {
        flex-basis: 100%;
    }
}

/* V60 Orte-Verwaltung */
.place-search-box{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:.65rem;align-items:end}.place-search-results{display:grid;gap:.45rem}.place-result{width:100%;text-align:left;border:1px solid rgba(147,197,253,.22);background:rgba(15,23,42,.72);color:var(--text);border-radius:14px;padding:.65rem .75rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center}.place-result:hover{border-color:rgba(96,165,250,.65);background:rgba(30,64,175,.22)}.place-result span{font-size:.78rem;color:var(--muted);text-align:right}.place-table{display:grid;gap:.45rem}.place-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(120px,.8fr) minmax(120px,.7fr) minmax(120px,.7fr) auto;gap:.5rem;align-items:center;padding:.35rem;border:1px solid rgba(148,163,184,.14);border-radius:16px;background:rgba(15,23,42,.32)}.place-head{font-size:.78rem;color:var(--muted);background:transparent;border:0;padding:.15rem .45rem}.place-actions{display:flex;gap:.35rem;justify-content:flex-end;white-space:nowrap}.place-actions .btn{border-radius:12px;padding:.38rem .55rem}.place-manager-panel details textarea{min-height:9rem}.event-log-list{position:relative}.event-log-item{position:relative;border-left-width:4px!important}.event-log-item::before{content:"";position:absolute;left:-10px;top:1.1rem;width:10px;height:10px;border-radius:999px;background:rgba(147,197,253,.9);box-shadow:0 0 0 4px rgba(59,130,246,.12)}.event-log-item.warnung::before{background:#f59e0b}.event-log-item.kritisch::before{background:#ef4444}.event-log-item.hinweis::before{background:#38bdf8}.event-log-list::before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:1px;background:linear-gradient(rgba(147,197,253,.05),rgba(147,197,253,.35),rgba(147,197,253,.05))}
@media (max-width: 991.98px){.place-search-box{grid-template-columns:1fr}.place-row{grid-template-columns:1fr 1fr}.place-head{display:none}.place-actions{grid-column:1/-1;justify-content:flex-start}.place-result{flex-direction:column;align-items:flex-start}.place-result span{text-align:left}}
@media (max-width: 575.98px){.place-row{grid-template-columns:1fr}.place-actions{justify-content:stretch}.place-actions .btn{flex:1}}

/* V61-V63: mobile Lageansicht, Pegel-Zeiträume, Ereignis-Status und Radar-Legende */
.mobile-lage-panel { max-width: 1180px; margin: 0 auto; }
.mobile-status-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .55rem; }
.mobile-lage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.mobile-card { border: 1px solid rgba(147,197,253,.18); background: linear-gradient(180deg, rgba(15,23,42,.68), rgba(15,23,42,.42)); border-radius: 20px; padding: .85rem; min-height: 6.2rem; }
.mobile-card-title { display: flex; align-items: center; gap: .4rem; color: #bfdbfe; font-weight: 700; margin-bottom: .45rem; }
.mobile-card-main strong { display: block; color: #f8fafc; font-size: 1.35rem; line-height: 1.15; }
.mobile-card-main span { display: block; color: var(--muted); font-size: .86rem; margin-top: .2rem; }
.mobile-event-list { display: grid; gap: .5rem; }
.mobile-event-item { border-left: 4px solid rgba(147,197,253,.7); border-radius: 14px; background: rgba(15,23,42,.52); padding: .65rem .75rem; }
.mobile-event-item strong { display: block; color: #f8fafc; }
.mobile-event-item span { display: block; color: var(--muted); font-size: .82rem; margin-top: .15rem; }
.mobile-event-item.warnung { border-left-color: #f59e0b; }
.mobile-event-item.kritisch { border-left-color: #ef4444; }
.mobile-event-item.hinweis { border-left-color: #38bdf8; }
.level-windowbar { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: .25rem 0 .75rem; }
.level-window { border: 1px solid rgba(147,197,253,.22); background: rgba(15,23,42,.56); color: #dbeafe; border-radius: 999px; padding: .32rem .72rem; font-weight: 700; font-size: .84rem; }
.level-window:hover, .level-window.active { border-color: rgba(96,165,250,.72); background: rgba(37,99,235,.24); color: #fff; }
.level-trend-label { color: var(--muted); font-size: .84rem; padding-left: .25rem; }
.trend-chip { border: 1px solid rgba(148,163,184,.18); border-radius: 999px; padding: .18rem .55rem; background: rgba(15,23,42,.55); color: #cbd5e1; }
.trend-chip.rising { color: #fde68a; border-color: rgba(245,158,11,.35); background: rgba(245,158,11,.08); }
.trend-chip.rising-strong { color: #fed7aa; border-color: rgba(249,115,22,.45); background: rgba(249,115,22,.11); }
.trend-chip.falling { color: #bfdbfe; border-color: rgba(96,165,250,.35); background: rgba(96,165,250,.08); }
.trend-chip.stable { color: #bbf7d0; border-color: rgba(34,197,94,.32); background: rgba(34,197,94,.07); }
.radar-legend-box { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .8rem; color: var(--muted); font-size: .82rem; margin-top: .55rem; padding: .6rem .75rem; border: 1px solid rgba(147,197,253,.14); border-radius: 16px; background: rgba(15,23,42,.32); }
.radar-legend-box strong { color: #dbeafe; }
.radar-swatch { width: .8rem; height: .8rem; display: inline-block; border-radius: 999px; margin-right: .25rem; vertical-align: -.12rem; border: 1px solid rgba(255,255,255,.45); }
.radar-swatch.light { background: #67e8f9; }
.radar-swatch.moderate { background: #facc15; }
.radar-swatch.heavy { background: #f97316; }
.event-side { display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; min-width: 7.2rem; }
.event-ack-btn { border: 1px solid rgba(147,197,253,.22); background: rgba(15,23,42,.55); color: #dbeafe; border-radius: 999px; padding: .18rem .55rem; font-size: .72rem; }
.event-ack-btn:hover { background: rgba(37,99,235,.25); border-color: rgba(96,165,250,.65); }
.event-log-item.acknowledged { opacity: .62; }
.event-log-item.acknowledged strong { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: rgba(203,213,225,.55); }
@media (max-width: 1199.98px) { .mobile-lage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .mobile-lage-grid { grid-template-columns: 1fr; } .mobile-card { min-height: auto; } .radar-legend-box { align-items: flex-start; } .event-side { align-items: flex-start; text-align: left !important; margin-top: .5rem; } }

/* V64: mobile Kompaktkarte und echte Radar-Legende */
.radar-legend-rich {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
    color: var(--muted);
    font-size: .84rem;
    margin-top: .65rem;
    padding: .72rem .82rem;
    border: 1px solid rgba(56,189,248,.22);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(15,23,42,.62), rgba(8,13,25,.42));
}
.radar-legend-title { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; color:#dbeafe; }
.radar-legend-title strong { font-size:.92rem; }
.radar-legend-title span { margin-left:auto; color:#bfdbfe; font-size:.8rem; }
.radar-scale { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem; }
.radar-step { display:grid; grid-template-columns:auto 1fr; grid-template-areas:"dot label" "dot sub"; column-gap:.45rem; align-items:center; border:1px solid rgba(147,197,253,.14); background:rgba(15,23,42,.44); border-radius:14px; padding:.46rem .52rem; min-width:0; }
.radar-step i { grid-area:dot; width:1.05rem; height:1.05rem; border-radius:999px; border:1px solid rgba(255,255,255,.55); box-shadow:0 0 8px rgba(255,255,255,.12); }
.radar-step b { grid-area:label; color:#f8fafc; font-size:.8rem; line-height:1.05; }
.radar-step small { grid-area:sub; color:var(--muted); font-size:.68rem; line-height:1.05; overflow-wrap:anywhere; }
.radar-step.r0 i { background:#67e8f9; }
.radar-step.r1 i { background:#22c55e; }
.radar-step.r2 i { background:#facc15; }
.radar-step.r3 i { background:#f97316; }
.radar-legend-hint { color:rgba(203,213,225,.82); font-size:.76rem; line-height:1.35; }
.mobile-map-head { display:flex; justify-content:space-between; align-items:flex-end; gap:.75rem; }
.mobile-map-head strong { display:block; color:#f8fafc; }
.mobile-map-head span { display:block; color:var(--muted); font-size:.84rem; margin-top:.1rem; }
.mobile-map { height: clamp(280px, 44vh, 520px); margin-top:.65rem; border-radius:22px; border:1px solid rgba(147,197,253,.18); overflow:hidden; background:#0b1323; }
.mobile-map-legend { display:flex; flex-wrap:wrap; gap:.55rem .9rem; align-items:center; margin-top:.55rem; color:var(--muted); font-size:.82rem; }
.mobile-map-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.mobile-radar-tile { filter:saturate(1.75) contrast(1.35) brightness(.92); }
body.radar-boost .mobile-radar-tile { filter:saturate(2.35) contrast(1.65) brightness(.85); mix-blend-mode:multiply; }
@media (max-width: 900px) {
    .radar-scale { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .radar-legend-title span { margin-left:0; width:100%; }
    .mobile-map-head { flex-direction:column; align-items:stretch; }
}
@media (max-width: 575.98px) {
    .radar-scale { grid-template-columns:1fr; }
    .mobile-map { height: 340px; }
}

/* V65: deutlich lesbare DWD-Radar-Farbskala */
.radar-legend-rich {
    background: linear-gradient(180deg, rgba(15,23,42,.76), rgba(8,13,25,.52));
}
.radar-scale {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: .55rem;
}
.radar-step {
    grid-template-columns: 1fr;
    grid-template-areas: "dot" "label" "sub";
    row-gap: .28rem;
    padding: .6rem .65rem;
}
.radar-step i {
    width: 100%;
    height: .85rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 0 14px rgba(255,255,255,.12);
}
.radar-step.r0 i { background: linear-gradient(90deg, #7dd3fc, #22d3ee); }
.radar-step.r1 i { background: linear-gradient(90deg, #34d399, #22c55e); }
.radar-step.r2 i { background: linear-gradient(90deg, #fde047, #facc15); }
.radar-step.r3 i { background: linear-gradient(90deg, #fb923c, #ef4444, #a855f7); }
.radar-step b { font-size: .86rem; }
.radar-step small { font-size: .72rem; }
.radar-legend-gradient {
    height: .72rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #7dd3fc 0%, #22d3ee 22%, #22c55e 42%, #facc15 63%, #fb923c 80%, #ef4444 92%, #a855f7 100%);
    border: 1px solid rgba(255,255,255,.35);
    box-shadow: 0 0 18px rgba(34,211,238,.14);
}
.radar-legend-hint strong { color: #f8fafc; }
@media (max-width: 767.98px) {
    .radar-scale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* V68: DB-Historie im Systembereich und robuste Radar-Legende */
.history-panel {
    border: 1px solid rgba(147,197,253,.16);
    background: rgba(15,23,42,.34);
    border-radius: 20px;
    padding: .75rem;
}
.history-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-radius: 16px;
    padding: .7rem .85rem;
    border: 1px solid rgba(147,197,253,.16);
    background: rgba(15,23,42,.48);
}
.history-status strong { display: block; color: #f8fafc; }
.history-status span { display: block; color: var(--muted); font-size: .82rem; margin-top: .1rem; }
.history-status a { color: #bfdbfe; text-decoration: none; border: 1px solid rgba(147,197,253,.22); border-radius: 999px; padding: .28rem .65rem; white-space: nowrap; }
.history-status a:hover { background: rgba(37,99,235,.22); }
.history-status.ok { border-color: rgba(34,197,94,.35); background: rgba(6,78,59,.22); }
.history-status.limited { border-color: rgba(250,204,21,.35); background: rgba(113,63,18,.18); }
.history-status.off { border-color: rgba(148,163,184,.22); }
.history-list { display: grid; gap: .5rem; margin-top: .65rem; }
.history-row { display: flex; justify-content: space-between; gap: .75rem; border: 1px solid rgba(147,197,253,.12); background: rgba(15,23,42,.38); border-radius: 15px; padding: .58rem .68rem; }
.history-row strong { color: #e0f2fe; }
.history-row span { display:block; color: var(--muted); font-size: .76rem; margin-top: .08rem; }
.radar-legend-rich .radar-legend-gradient,
.radar-legend-rich .radar-step i {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.radar-legend-rich .radar-legend-gradient {
    min-height: .9rem;
}
.radar-scale .radar-step {
    overflow: hidden;
}
@media (max-width: 767.98px) {
    .history-status, .history-row { flex-direction: column; align-items: stretch; }
    .history-status a { text-align: center; }
}

/* V70 Historie / serverseitiger Ereignisstatus */
.history-dashboard{display:grid;gap:.9rem}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.history-card{border:1px solid rgba(147,197,253,.14);background:linear-gradient(145deg,rgba(15,23,42,.62),rgba(14,45,78,.36));border-radius:18px;padding:.8rem;box-shadow:0 10px 28px rgba(2,6,23,.16)}.history-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.history-card-head strong{display:block;color:#f8fafc}.history-card-head span{display:block;color:var(--muted);font-size:.76rem}.history-spark{width:100%;height:42px;margin:.55rem 0 .35rem;display:block;background:rgba(15,23,42,.34);border-radius:12px;border:1px solid rgba(147,197,253,.1)}.history-spark polyline{fill:none;stroke:#60a5fa;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.event-log-item.erledigt{opacity:.58}.event-log-item.erledigt strong{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:rgba(203,213,225,.65)}

/* V70 Radar-Legende mit sichtbaren Farbstufen */
.radar-legend-rich .radar-scale{display:grid!important;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.55rem;width:100%;margin-top:.35rem}.radar-legend-rich .radar-step{display:grid!important;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:.05rem .45rem;align-items:center;border:1px solid rgba(147,197,253,.16);border-radius:14px;padding:.45rem .55rem;background:rgba(15,23,42,.45)}.radar-legend-rich .radar-step i{grid-row:1/3;width:34px;height:22px;border-radius:7px;display:block!important;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 12px rgba(96,165,250,.22)}.radar-step.r0 i{background:linear-gradient(135deg,#7dd3fc,#22d3ee)}.radar-step.r1 i{background:linear-gradient(135deg,#22c55e,#16a34a)}.radar-step.r2 i{background:linear-gradient(135deg,#facc15,#f97316)}.radar-step.r3 i{background:linear-gradient(135deg,#ef4444,#a855f7)}.radar-legend-rich .radar-step b{color:#f8fafc;font-size:.82rem}.radar-legend-rich .radar-step small{color:var(--muted);font-size:.7rem}.radar-legend-gradient{display:block!important;width:100%;height:18px;border-radius:999px;background:linear-gradient(90deg,#7dd3fc 0%,#22d3ee 18%,#22c55e 38%,#facc15 62%,#f97316 78%,#ef4444 90%,#a855f7 100%)!important;border:1px solid rgba(255,255,255,.25);box-shadow:0 0 18px rgba(96,165,250,.22)}
@media(max-width:900px){.radar-legend-rich .radar-scale{grid-template-columns:1fr 1fr}.history-card-head{flex-direction:column}.history-grid{grid-template-columns:1fr}}

/* V72 Sicherheits-/Rollen-Erweiterungen */
.security-option-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: .75rem;
    align-items: stretch;
}
.security-option-grid label {
    width: 100%;
}
.user-admin-item {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.4fr) auto;
    gap: .85rem;
    align-items: start;
}
.user-admin-main { min-width: 0; }
.user-edit-details summary {
    cursor: pointer;
    color: var(--bs-info, #8bd3ff);
    font-weight: 700;
}
.user-actions {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.audit-list {
    display: grid;
    gap: .55rem;
    max-height: 360px;
    overflow: auto;
    padding-right: .25rem;
}
.audit-row {
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
    border-radius: 14px;
    padding: .7rem .85rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.audit-row span {
    color: rgba(230,238,255,.70);
    font-size: .87rem;
}
@media (max-width: 900px) {
    .user-admin-item { grid-template-columns: 1fr; }
    .user-actions { justify-content: flex-start; }
}

/* V73: Settings-/Rollen-UI entschärft und persönliche Nutzerpräferenzen */
.settings-page {
    max-width: 1480px;
}
.settings-page .panel {
    overflow: visible;
}
.settings-page .row > [class*="col-"] > .settings-panel.h-100 {
    height: auto !important;
    min-height: 100%;
}
.settings-panel h2 {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.settings-panel .note-box,
.settings-panel .list-item,
.settings-panel .form-control,
.settings-panel .btn,
.settings-panel .toggle-inline {
    min-width: 0;
}
.settings-panel .form-control,
.settings-panel select.form-control {
    min-height: 2.6rem;
    line-height: 1.25;
}
.settings-panel select.form-control {
    padding-right: 2.2rem;
}
.settings-field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .75rem .9rem;
    align-items: end;
}
.settings-field-grid.two {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
}
.security-option-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.security-option-grid .toggle-inline,
.security-option-grid label:not(.toggle-inline) {
    min-height: 2.7rem;
    align-items: center;
    display: flex;
    gap: .45rem;
    padding: .55rem .7rem;
    border: 1px solid rgba(148,163,184,.14);
    border-radius: 14px;
    background: rgba(15,23,42,.35);
}
.security-option-grid label:not(.toggle-inline) {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
.user-admin-item {
    grid-template-columns: minmax(230px, 1fr) minmax(420px, 2fr) minmax(120px, auto);
    align-items: stretch;
    padding: .75rem;
}
.user-edit-details {
    min-width: 0;
}
.user-edit-details[open] {
    border: 1px solid rgba(56,189,248,.18);
    border-radius: 14px;
    padding: .55rem .65rem .65rem;
    background: rgba(8,13,25,.20);
}
.user-edit-details summary {
    list-style: none;
}
.user-edit-details summary::-webkit-details-marker { display: none; }
.user-edit-details summary::before {
    content: "▸";
    display: inline-block;
    margin-right: .35rem;
    transition: transform .15s ease;
}
.user-edit-details[open] summary::before { transform: rotate(90deg); }
.user-actions .btn,
.user-edit-details .btn {
    min-height: 2.45rem;
    white-space: normal;
}
.user-actions {
    align-content: flex-start;
}
.profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
    gap: 1rem;
    align-items: start;
}
.profile-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}
.profile-toggle {
    align-self: end;
    min-height: 2.6rem;
}
@media (max-width: 1199.98px) {
    .user-admin-item { grid-template-columns: 1fr; }
    .user-actions { justify-content: flex-start; }
    .profile-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .settings-field-grid.two { grid-template-columns: 1fr; }
    .security-option-grid { grid-template-columns: 1fr; }
    .settings-page .topbar { align-items: stretch; }
    .settings-page .topbar-badges { justify-content: flex-start; }
    .user-admin-item { padding: .65rem; }
}


/* V74: produktivere Settings-UI, Luftfahrzeug-Zuordnungen und Admin-Karten */
.settings-page {
    padding-bottom: 4rem;
}
.settings-page .panel-head.compact {
    align-items: flex-start;
}
.settings-page .panel-head.compact > div {
    min-width: 0;
}
.settings-page .panel-head.compact .state-pill {
    flex: 0 0 auto;
}
.settings-panel .btn {
    white-space: normal;
}
.settings-panel .row.g-2 > [class*="col-"] {
    min-width: 0;
}
.user-admin-item {
    overflow: hidden;
}
.user-edit-details .settings-field-grid,
.user-edit-details .row {
    min-width: 0;
}
.user-edit-details .btn {
    width: auto;
    min-width: 7rem;
}
.security-option-grid {
    align-items: stretch;
}
.security-option-grid .toggle-inline {
    white-space: normal;
    line-height: 1.25;
}
.aircraft-registry-panel {
    overflow: hidden;
}
.aircraft-rule-table {
    display: grid;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .25rem;
}
.aircraft-rule-row {
    display: grid;
    grid-template-columns: 64px minmax(150px, .85fr) minmax(120px, .6fr) minmax(130px, .65fr) minmax(180px, 1fr) minmax(82px, .38fr) minmax(190px, 1fr) 46px;
    gap: .5rem;
    align-items: center;
    min-width: 1180px;
    padding: .45rem;
    border: 1px solid rgba(148,163,184,.12);
    border-radius: 14px;
    background: rgba(15,23,42,.34);
}
.aircraft-rule-head {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: transparent;
    border-color: transparent;
    padding-top: 0;
    padding-bottom: 0;
}
.aircraft-rule-row .form-control {
    margin-top: 0;
    min-height: 2.35rem;
    font-size: .88rem;
}
.aircraft-rule-row .aircraft-active {
    justify-content: center;
    margin: 0;
    color: #dbeafe;
}
.aircraft-rule-row .btn-sm {
    min-height: 2.25rem;
}
@media (max-width: 991.98px) {
    .aircraft-rule-row { min-width: 1040px; }
    .settings-page .panel { padding: .85rem; }
}
@media (min-width: 1500px) {
    .settings-page { max-width: 1640px; }
}

/* V76 Ereignis-/Alarmzentrale */
.event-log-item.resolved {
    opacity: .78;
    border-left-color: rgba(148,163,184,.45) !important;
    background: rgba(15,23,42,.28);
}
.event-log-item.resolved strong {
    color: #cbd5e1;
}
.history-status.warnung,
.history-status.warning {
    border-color: rgba(251,191,36,.35);
    background: rgba(251,191,36,.08);
}
.history-status.fehler,
.history-status.error {
    border-color: rgba(248,113,113,.38);
    background: rgba(248,113,113,.08);
}
#cronStatusPanel .history-status {
    align-items: flex-start;
}
#cronStatusPanel .history-status a {
    white-space: nowrap;
}

/* V80: Provider-Health und Betriebsmodus */
.provider-health-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:.75rem; }
.source-health.rate_limited, .source-health.backoff { border-left-color:#f59e0b; background:rgba(245,158,11,.08); }
.source-health.disabled, .source-health.off { border-left-color:#94a3b8; opacity:.82; }
.source-health.fallback { border-left-color:#38bdf8; background:rgba(56,189,248,.08); }
.state-pill.rate_limited, .state-pill.backoff { background:rgba(245,158,11,.16); color:#fde68a; border-color:rgba(245,158,11,.35); }
.state-pill.disabled, .state-pill.off { background:rgba(148,163,184,.12); color:#cbd5e1; border-color:rgba(148,163,184,.28); }
.state-pill.fallback { background:rgba(56,189,248,.14); color:#bae6fd; border-color:rgba(56,189,248,.32); }
.settings-panel .ops-hint { border:1px solid rgba(245,158,11,.35); background:rgba(245,158,11,.08); border-radius:14px; padding:.75rem .9rem; }

/* V81: produktiver Adminbereich / Settings-Navigation */
.settings-nav {
    position: sticky;
    top: .75rem;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .7rem;
    margin-bottom: 1rem;
    backdrop-filter: blur(14px);
}
.settings-nav a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 2.25rem;
    padding: .45rem .75rem;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 999px;
    background: rgba(15,23,42,.46);
    color: #dbeafe;
    text-decoration: none;
    font-size: .9rem;
    white-space: nowrap;
}
.settings-nav a:hover,
.settings-nav a:focus-visible {
    border-color: rgba(96,165,250,.7);
    background: rgba(37,99,235,.18);
    color: #fff;
}
.settings-command-center {
    display: grid;
    gap: .85rem;
}
.settings-command-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.settings-command-head strong,
.settings-command-head span {
    display: block;
}
.settings-command-head span {
    color: var(--muted);
    font-size: .9rem;
}
.settings-filter-label {
    min-width: min(360px, 100%);
    display: flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(148,163,184,.22);
    background: rgba(15,23,42,.72);
    border-radius: 999px;
    padding: .35rem .75rem;
    color: var(--muted);
}
.settings-filter-label input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text);
}
.settings-command-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .65rem;
}
.settings-command-card {
    display: block;
    min-height: 92px;
    border: 1px solid rgba(148,163,184,.22);
    background: rgba(15,23,42,.66);
    border-left: 3px solid rgba(96,165,250,.7);
    border-radius: 8px;
    padding: .75rem .85rem;
    color: var(--text);
    text-decoration: none;
}
.settings-command-card.ok,
.settings-command-card.secured,
.settings-command-card.live { border-left-color: #22c55e; }
.settings-command-card.warning,
.settings-command-card.limited,
.settings-command-card.degraded,
.settings-command-card.stale { border-left-color: #f59e0b; }
.settings-command-card.critical { border-left-color: #ef4444; }
.settings-command-card span,
.settings-command-card small {
    display: block;
    color: var(--muted);
    font-size: .78rem;
}
.settings-command-card strong {
    display: block;
    margin: .18rem 0;
    color: #fff;
}
.settings-filtered-out {
    display: none !important;
}
.settings-filter-muted {
    opacity: .38;
}
.settings-page section[id] {
    scroll-margin-top: 5.5rem;
}
.settings-panel {
    overflow: visible;
}
.settings-page .row.g-3 > [class*="col-"] > .settings-panel.h-100 {
    min-height: 100%;
}
.user-management-panel .user-edit-details {
    grid-template-columns: minmax(140px,1fr) minmax(120px,.7fr) minmax(150px,.9fr) auto;
}
.security-option-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.security-option-grid label,
.provider-checks label {
    min-width: 0;
}
.maintenance-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.source-health.pending {
    border-left-color:#60a5fa;
    background:rgba(96,165,250,.08);
}
.state-pill.pending {
    background:rgba(96,165,250,.14);
    color:#bfdbfe;
    border-color:rgba(96,165,250,.3);
}
@media (max-width: 767.98px) {
    .settings-nav { position: static; }
    .settings-nav a { flex: 1 1 calc(50% - .5rem); justify-content: center; }
    .user-management-panel .user-edit-details { grid-template-columns: 1fr; }
}

/* V82: Provider-/API-Gesundheit produktiver visualisieren */
.provider-health-summary { border-left:3px solid var(--line); }
.provider-health-summary.secured { border-left-color:#22c55e; background:rgba(34,197,94,.09); }
.provider-health-summary.limited { border-left-color:#f59e0b; background:rgba(245,158,11,.09); }
.provider-health-summary.degraded { border-left-color:#fb923c; background:rgba(251,146,60,.10); }
.provider-health-summary.critical { border-left-color:#ef4444; background:rgba(239,68,68,.11); }
.provider-health-summary-line { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.provider-health-summary-line strong { display:block; margin-bottom:.15rem; }
.provider-health-summary-line span:not(.state-pill) { display:block; color:var(--muted); font-size:.9rem; }
.provider-health-recs { margin:.55rem 0 0; padding-left:1.15rem; color:var(--muted); font-size:.9rem; }
.source-health.rate_limited, .source-card.rate_limited { border-left-color:#f97316; background:rgba(249,115,22,.09); }
.source-health.backoff, .source-card.backoff { border-left-color:#f59e0b; background:rgba(245,158,11,.08); }
.source-health.fallback, .source-card.fallback { border-left-color:#818cf8; background:rgba(129,140,248,.08); }
.source-health.pending, .source-card.pending { border-left-color:#94a3b8; }
.state-pill.secured { background:rgba(34,197,94,.14); color:#bbf7d0; border-color:rgba(34,197,94,.35); }
.state-pill.limited, .state-pill.degraded { background:rgba(245,158,11,.14); color:#fde68a; border-color:rgba(245,158,11,.35); }
.state-pill.critical { background:rgba(239,68,68,.15); color:#fecaca; border-color:rgba(239,68,68,.35); }
@media (max-width: 760px) { .provider-health-summary-line { align-items:flex-start; flex-direction:column; } }

/* Ereignis-/Alarmzentrale */
.event-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem}
.event-summary-card{border:1px solid rgba(147,197,253,.16);background:linear-gradient(145deg,rgba(15,23,42,.70),rgba(12,54,84,.38));border-radius:18px;padding:.75rem .85rem;box-shadow:0 12px 28px rgba(2,6,23,.16)}
.event-summary-card strong{display:block;font-size:1.45rem;color:#f8fafc;line-height:1.05}.event-summary-card span{display:block;color:#dbeafe;font-weight:800;margin-top:.2rem}.event-summary-card small{display:block;color:var(--muted);margin-top:.1rem}
.event-group-strip{display:flex;gap:.55rem;overflow:auto;padding-bottom:.15rem}.event-group-chip{border:1px solid rgba(147,197,253,.18);background:rgba(15,23,42,.64);color:var(--text);border-radius:999px;padding:.5rem .75rem;display:flex;gap:.55rem;align-items:center;white-space:nowrap}.event-group-chip:hover{border-color:rgba(96,165,250,.6);background:rgba(30,64,175,.24)}.event-group-chip span{color:var(--muted);font-size:.78rem}
.event-main{min-width:0}.event-title-row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.event-severity-chip{font-size:.72rem;border-radius:999px;padding:.2rem .5rem;border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.65);color:#cbd5e1}.event-severity-chip.warnung{border-color:rgba(245,158,11,.45);color:#fde68a}.event-severity-chip.kritisch{border-color:rgba(239,68,68,.5);color:#fecaca}.event-severity-chip.hinweis{border-color:rgba(56,189,248,.45);color:#bae6fd}.event-severity-chip.info{border-color:rgba(96,165,250,.45);color:#bfdbfe}
.event-details{margin-top:.55rem;border:1px solid rgba(147,197,253,.12);border-radius:14px;background:rgba(15,23,42,.35);padding:.45rem .55rem}.event-details summary{cursor:pointer;color:#bfdbfe;font-size:.82rem;font-weight:800}.event-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.45rem;margin-top:.55rem}.event-detail-grid>div{border:1px solid rgba(148,163,184,.13);background:rgba(2,6,23,.22);border-radius:12px;padding:.45rem .5rem}.event-detail-grid span{display:block;color:var(--muted);font-size:.72rem}.event-detail-grid strong{display:block;color:#f8fafc;font-size:.82rem;word-break:break-word}
@media(max-width:700px){.event-summary-grid{grid-template-columns:1fr 1fr}.event-group-strip{flex-wrap:nowrap}.event-log-item{grid-template-columns:1fr}.event-side{text-align:left!important;align-items:flex-start!important}}

/* V84: Historie als produktive Auswertung */
.history-head{align-items:flex-start}.history-controlbar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:.35rem 0 1rem;padding:.75rem;border:1px solid rgba(147,197,253,.14);background:rgba(15,23,42,.34);border-radius:18px}.history-controlbar label{display:grid;gap:.25rem;min-width:180px;color:var(--muted);font-size:.82rem}.history-controlbar select{background:#0b1428;color:var(--text);border:1px solid rgba(147,197,253,.22);border-radius:12px;padding:.55rem .75rem}.history-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto}.history-insights{margin-bottom:.9rem}.history-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.history-insight{border:1px solid rgba(147,197,253,.13);border-left:3px solid rgba(96,165,250,.55);background:linear-gradient(145deg,rgba(15,23,42,.64),rgba(14,45,78,.28));border-radius:16px;padding:.75rem}.history-insight.ok{border-left-color:#22c55e}.history-insight.warn{border-left-color:#f59e0b}.history-insight span{display:block;color:var(--muted);font-size:.78rem}.history-insight strong{display:block;margin:.15rem 0;color:#f8fafc;font-size:1.05rem}.history-insight em{display:block;color:#aebdda;font-size:.8rem;font-style:normal}.history-status-actions{display:flex;gap:.45rem;flex-wrap:wrap}.history-card-v84{display:flex;flex-direction:column;gap:.35rem}.history-card-foot{display:flex;justify-content:space-between;gap:.75rem;align-items:center;color:var(--muted);font-size:.78rem}.history-card-foot a{color:#bfdbfe;border:1px solid rgba(147,197,253,.18);border-radius:999px;padding:.18rem .55rem}.history-chart{margin:.6rem 0 .25rem}.history-chart svg{width:100%;height:46px;display:block;background:rgba(2,6,23,.28);border:1px solid rgba(147,197,253,.10);border-radius:12px}.history-chart.big svg{height:76px}.history-chart polyline{fill:none;stroke:#60a5fa;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.history-chart polygon{fill:rgba(96,165,250,.12)}.history-chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;margin-top:.2rem}.history-row.ok{border-left:3px solid #22c55e}.history-row.warning{border-left:3px solid #f59e0b}@media(max-width:760px){.history-actions{width:100%;margin-left:0}.history-actions .btn{flex:1 1 auto}.history-controlbar label{flex:1 1 100%;min-width:0}.history-card-foot{flex-direction:column;align-items:flex-start}}

/* V85 Produktiv-UI-Feinschliff */
.quick-view-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:-.15rem}
.quick-view-card{border:1px solid rgba(147,197,253,.14);background:linear-gradient(180deg,rgba(15,30,58,.78),rgba(10,22,42,.72));color:#eaf2ff;border-radius:1rem;padding:.8rem .95rem;text-align:left;display:flex;flex-direction:column;gap:.12rem;min-height:76px;transition:border-color .15s ease,transform .15s ease,background .15s ease}
.quick-view-card:hover{border-color:rgba(147,197,253,.42);background:rgba(59,130,246,.12);transform:translateY(-1px)}
.quick-view-card strong{font-size:1.2rem;line-height:1.05}.quick-view-card span{font-size:.86rem;color:var(--muted)}
.view-toggle-btn{border:1px solid rgba(147,197,253,.18);background:rgba(59,130,246,.1);color:#dbeafe;border-radius:999px;min-height:2.05rem;padding:.38rem .65rem;font-size:.86rem;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.view-toggle-btn:hover{background:rgba(59,130,246,.18);border-color:rgba(147,197,253,.36)}
body.right-rail-collapsed #liveSideColumn{display:none!important}
body.right-rail-collapsed .live-main-column{width:100%!important;flex:0 0 100%!important;max-width:100%!important}
body.right-rail-collapsed .traffic-map-large{height:clamp(520px,66vh,760px)}
.event-ack-btn:disabled{opacity:.65;cursor:wait}.event-log-item.resolved{opacity:.72;border-left-color:rgba(34,197,94,.55)!important}.event-log-item .event-side{min-width:8rem}.event-log-item .event-side .event-ack-btn{margin-top:.35rem}
.radar-legend-rich{border:1px solid rgba(147,197,253,.16);background:rgba(6,18,35,.55);border-radius:1rem;padding:.75rem .85rem;margin-top:.7rem}.radar-legend-title{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.radar-legend-title span{margin-left:auto;color:#bfdbfe;font-size:.85rem}.radar-legend-gradient{height:12px;border-radius:999px;margin:.65rem 0;background:linear-gradient(90deg,#68e1ff 0%,#00c853 30%,#f6e84a 58%,#ff8c1a 78%,#e11d48 100%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 6px 18px rgba(0,0,0,.18)}
.radar-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.radar-step{display:flex;gap:.45rem;align-items:flex-start;min-width:0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:.8rem;padding:.5rem}.radar-step i{width:14px;height:14px;border-radius:4px;flex:0 0 14px;margin-top:.15rem}.radar-step b{display:block}.radar-step small{display:block;color:var(--muted);font-size:.74rem;line-height:1.2}.radar-step.r0 i{background:#68e1ff}.radar-step.r1 i{background:#00c853}.radar-step.r2 i{background:#f6e84a}.radar-step.r3 i{background:#e11d48}.radar-legend-hint{margin-top:.55rem;color:#cbd5e1;font-size:.82rem;line-height:1.35}
@media (max-width:1200px){.quick-view-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-scale{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:576px){.quick-view-strip{grid-template-columns:1fr}.view-toggle-btn{flex:1 1 100%;justify-content:center}.radar-scale{grid-template-columns:1fr}.event-log-item .event-side{min-width:0;text-align:left!important}}

/* V86 Benachrichtigungsprofile */
.notify-profile-box {
    border: 1px solid rgba(91, 141, 239, .28);
    background: rgba(12, 31, 58, .45);
    border-radius: 1rem;
    padding: 1rem;
}
.notification-profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: .65rem;
}
.profile-card {
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(15, 23, 42, .45);
    border-radius: .9rem;
    padding: .75rem;
    min-height: 118px;
}
.profile-card.is-active {
    border-color: rgba(34, 197, 94, .75);
    box-shadow: inset 3px 0 0 rgba(34, 197, 94, .9);
    background: rgba(13, 58, 55, .38);
}
.profile-card-title {
    font-weight: 800;
    margin-bottom: .25rem;
}
.profile-card-desc {
    font-size: .82rem;
    color: rgba(226, 232, 240, .82);
    line-height: 1.35;
}
.profile-card-meta {
    margin-top: .5rem;
    font-size: .76rem;
    color: rgba(147, 197, 253, .9);
}
.profile-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    padding: .35rem .7rem;
    font-size: .8rem;
    border: 1px solid rgba(148, 163, 184, .25);
    background: rgba(15, 23, 42, .55);
}
.profile-pill.profile-active {
    color: #bbf7d0;
    border-color: rgba(34, 197, 94, .45);
    background: rgba(22, 101, 52, .22);
}
.profile-pill.profile-custom {
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, .38);
    background: rgba(30, 64, 175, .18);
}

/* V87: produktivere Historie + persönliche Push-Ziele */
.history-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  align-items: stretch;
}
.history-card-v87 {
  min-width: 0;
  overflow: hidden;
}
.history-card-v87 .history-card-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
  align-items: start;
  gap: .75rem;
}
.history-card-title { min-width: 0; }
.history-card-title strong {
  overflow-wrap: anywhere;
  line-height: 1.18;
}
.history-card-title span,
.history-latest span,
.history-card-foot span {
  overflow-wrap: anywhere;
}
.history-latest {
  text-align: right;
  min-width: 120px;
  max-width: 48%;
}
.history-latest strong {
  display: block;
  font-size: .98rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.history-card-v87.status-only {
  background: linear-gradient(145deg, rgba(15,23,42,.58), rgba(30,41,59,.28));
}
.history-no-chart {
  min-height: 76px;
  border: 1px dashed rgba(147,197,253,.16);
  background: rgba(2,6,23,.20);
  border-radius: 14px;
  padding: .75rem;
  color: #dbeafe;
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.history-card-foot {
  min-width: 0;
}
.history-card-foot span {
  min-width: 0;
  flex: 1 1 auto;
}
.personal-target-summary {
  border: 1px solid rgba(147,197,253,.14);
  border-radius: 16px;
  padding: .75rem;
  background: rgba(15,23,42,.30);
}
.personal-target-head,
.personal-target-item {
  display: flex;
  gap: .7rem;
  align-items: center;
  justify-content: space-between;
}
.personal-target-list {
  display: grid;
  gap: .45rem;
  margin-top: .65rem;
}
.personal-target-item {
  border: 1px solid rgba(147,197,253,.12);
  border-left: 3px solid rgba(148,163,184,.55);
  border-radius: 14px;
  padding: .55rem .65rem;
  background: rgba(2,6,23,.22);
  flex-wrap: wrap;
}
.personal-target-item.is-active { border-left-color: #22c55e; }
.personal-target-item.is-muted { opacity: .72; }
.personal-target-item strong { display:block; color:#f8fafc; }
.personal-target-item span,
.personal-target-topic,
.personal-target-groups { color: var(--muted); font-size:.78rem; overflow-wrap:anywhere; }
.personal-target-topic { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.profile-group-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:.5rem;
}
@media (min-width: 1500px) {
  .history-grid { grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); }
}
@media (max-width: 680px) {
  .history-grid { grid-template-columns: 1fr; }
  .history-card-v87 .history-card-head { grid-template-columns: 1fr; }
  .history-latest { text-align: left; max-width: none; }
  .personal-target-head { align-items: flex-start; flex-direction: column; }
}

/* V88: Historie wieder produktiv lesbar – keine vertikalen Wortumbrüche/Überlagerungen */
.history-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: .9rem;
  align-items: stretch;
}
.history-card-v88 {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  min-height: 0;
}
.history-card-v88 .history-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .9rem;
  min-width: 0;
}
.history-card-v88 .history-card-title {
  min-width: 0;
  flex: 1 1 auto;
}
.history-card-v88 .history-card-title strong {
  display: block;
  line-height: 1.22;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
.history-card-v88 .history-card-title span {
  display: block;
  margin-top: .18rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
.history-card-v88 .history-latest {
  flex: 0 0 120px;
  max-width: 120px;
  min-width: 120px;
  text-align: right;
}
.history-card-v88 .history-latest strong {
  display: block;
  font-size: 1rem;
  line-height: 1.18;
  max-height: 2.45em;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: normal;
}
.history-card-v88 .history-latest span,
.history-time-badge {
  color: var(--muted);
  font-size: .72rem;
  white-space: nowrap;
}
.history-time-badge {
  flex: 0 0 auto;
  border: 1px solid rgba(147,197,253,.16);
  background: rgba(15,23,42,.42);
  border-radius: 999px;
  padding: .18rem .5rem;
}
.history-status-message {
  border: 1px dashed rgba(147,197,253,.18);
  background: rgba(2,6,23,.20);
  border-radius: 14px;
  padding: .72rem .78rem;
  color: #dbeafe;
  font-weight: 750;
  line-height: 1.28;
  min-height: 56px;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
.history-card-v88.status-only {
  min-height: 170px;
  background: linear-gradient(145deg, rgba(15,23,42,.60), rgba(30,41,59,.30));
}
.history-card-v88 .history-card-foot {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.history-card-v88 .history-card-foot span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
.history-card-v88 .history-chart svg { min-height: 58px; }
.history-card-v88 .history-chart.big svg { min-height: 76px; }
.history-card-v87 .history-card-title strong,
.history-card-v87 .history-latest strong,
.history-card-v87 .history-card-foot span {
  word-break: normal;
  overflow-wrap: break-word;
}
@media (max-width: 980px) {
  .history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .history-card-v88 .history-card-head { flex-direction: column; }
  .history-card-v88 .history-latest { max-width: none; min-width: 0; flex-basis: auto; text-align: left; }
  .history-card-v88 .history-card-title span,
  .history-card-v88 .history-card-foot span { white-space: normal; }
}

/* V89 - Luftfahrzeug-Registry produktiv */
.aircraft-observation-box {
  border: 1px solid rgba(96,165,250,.20);
  background: rgba(15,23,42,.42);
  border-radius: 18px;
  padding: .9rem;
}
.aircraft-inbox-box {
  border: 1px solid rgba(96,165,250,.24);
  background: rgba(15,23,42,.48);
  border-radius: 8px;
  padding: .9rem;
}
.aircraft-observation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
}
.aircraft-observation-card {
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 16px;
  background: rgba(2,6,23,.26);
  padding: .8rem;
  min-width: 0;
}
.aircraft-observation-card.review { border-left: 3px solid #f59e0b; }
.aircraft-observation-card.known { border-left: 3px solid #22c55e; }
.aircraft-observation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .6rem;
  margin-bottom: .25rem;
}
.aircraft-observation-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aircraft-observation-head span {
  border: 1px solid rgba(147,197,253,.18);
  border-radius: 999px;
  padding: .08rem .45rem;
  font-size: .72rem;
  color: #bfdbfe;
  background: rgba(30,41,59,.45);
  flex: 0 0 auto;
}
.aircraft-observation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .65rem;
}
.aircraft-rule-row.row-highlight {
  outline: 2px solid rgba(34,211,238,.75);
  box-shadow: 0 0 0 4px rgba(34,211,238,.14);
}
.aircraft-classification-note,
.aviation-review-box {
  margin-top: .65rem;
}
.aviation-review-box .review-item {
  border: 1px solid rgba(245,158,11,.18);
  background: rgba(245,158,11,.06);
  border-radius: 14px;
  padding: .55rem .65rem;
  margin-top: .45rem;
}


/* V92 - Systemüberwachung / Produktivbasis */
.system-monitor-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: .75rem;
}
.system-monitor-item {
  min-width: 0;
  border-left: 3px solid rgba(96,165,250,.65);
}
.system-monitor-item.ok { border-left-color: #22c55e; }
.system-monitor-item.warning,
.system-monitor-item.limited,
.system-monitor-item.degraded { border-left-color: #f59e0b; }
.system-monitor-item.critical,
.system-monitor-item.fehlgeschlagen,
.system-monitor-item.fehler { border-left-color: #ef4444; }
.system-monitor-item.off,
.system-monitor-item.disabled { border-left-color: #64748b; }
.system-monitor-summary.ok { border-color: rgba(34,197,94,.28); background: rgba(6,78,59,.18); }
.system-monitor-summary.warning,
.system-monitor-summary.limited,
.system-monitor-summary.degraded { border-color: rgba(245,158,11,.36); background: rgba(120,53,15,.16); }
.system-monitor-summary.critical { border-color: rgba(239,68,68,.42); background: rgba(127,29,29,.18); }

/* V93 - Zugriffsschutz-Preflight */
.status-pill {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .12rem .5rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.86);
}
.status-pill.status-ok { background: rgba(31,185,129,.18); color: #b9f6da; border-color: rgba(31,185,129,.35); }
.status-pill.status-warning { background: rgba(245,158,11,.18); color: #fde68a; border-color: rgba(245,158,11,.35); }
.status-pill.status-critical { background: rgba(239,68,68,.18); color: #fecaca; border-color: rgba(239,68,68,.35); }
.security-preflight-box { border-color: rgba(92, 225, 230, .25); }


/* V95 - DB-Pflege / Retention */
.table-darkish {
  --bs-table-bg: rgba(15, 23, 42, .38);
  --bs-table-color: rgba(226, 232, 240, .94);
  --bs-table-border-color: rgba(148, 163, 184, .18);
  border-color: rgba(148, 163, 184, .18);
}
.table-darkish th {
  color: #bfdbfe;
  font-weight: 700;
  white-space: nowrap;
}
.table-darkish td {
  color: rgba(226, 232, 240, .90);
}
.table-darkish code {
  color: #bae6fd;
}


/* V96 - Produktiv UI */
.settings-panel .table-darkish td,
.settings-panel .table-darkish th {
    vertical-align: middle;
}
.settings-panel .maintenance-grid .btn {
    min-height: 42px;
}
.note-box code {
    word-break: break-word;
}


/* V1.0.0 - Produktiv-Finish */
html { scroll-padding-top: 86px; }
body { text-rendering: geometricPrecision; }
.container-fluid { padding-top: 1.15rem !important; }
.topbar {
  align-items: flex-end;
  gap: 1rem 1.25rem;
  margin-bottom: 1.05rem !important;
}
.topbar h1 {
  font-size: clamp(2rem, 2.45vw, 2.75rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  margin-bottom: .35rem !important;
}
.topbar .text-secondary {
  max-width: 72rem;
  font-size: .96rem;
  line-height: 1.42;
}
.topbar-badges {
  justify-content: flex-end;
  align-items: center;
  max-width: 100%;
}
.badge-soft,
.state-pill,
.provider-chip {
  min-height: 2.2rem;
  padding: .38rem .72rem;
  line-height: 1.1;
}
.panel {
  border-color: rgba(147,197,253,.16);
}
.panel-head {
  gap: .85rem;
}
.panel-head h2 {
  letter-spacing: -.015em;
}
.panel-head p {
  max-width: 78ch;
  line-height: 1.35;
}
.hero-grid-compact {
  gap: .75rem;
}
.hero-grid-compact .hero-card {
  min-height: 108px;
  padding: .9rem .95rem;
}
.hero-grid-compact .hero-value {
  font-size: clamp(1.55rem, 1.7vw, 1.95rem);
  margin: .28rem 0 .18rem;
}
.hero-grid-compact .hero-sub {
  line-height: 1.28;
}
.dashboard-tabs {
  top: .45rem;
  gap: .45rem;
  padding: .48rem;
  margin-bottom: 1rem !important;
}
.dash-tab {
  min-height: 2.45rem;
  padding: .58rem .88rem;
  line-height: 1.08;
}
.quick-view-strip {
  gap: .65rem;
}
.quick-view-card {
  min-height: 64px;
  padding: .7rem .82rem;
}
.quick-view-card strong {
  font-size: 1.08rem;
}
.toolbar-inline {
  gap: .45rem;
}
.toolbar-inline > * {
  flex-shrink: 0;
}
.view-toggle-btn,
.toggle-inline,
.radar-opacity-control {
  min-height: 2.15rem;
  line-height: 1.05;
}
.traffic-map-large {
  height: clamp(430px, 52vh, 610px);
  min-height: 430px;
}
body.right-rail-collapsed .traffic-map-large {
  height: clamp(500px, 62vh, 720px);
}
#tab-live .compact-list.tight,
#tab-live .compact-list {
  max-height: 230px;
}
#tab-live #incidentList,
#tab-live #roadStateList {
  max-height: 330px;
}
.legend-row {
  align-items: center;
  line-height: 1.2;
}
.radar-legend-rich {
  overflow: hidden;
}
.radar-legend-rich .radar-scale,
.radar-scale {
  grid-template-columns: repeat(4, minmax(175px, 1fr)) !important;
  gap: .62rem !important;
}
.radar-legend-rich .radar-step,
.radar-step {
  min-width: 0;
  align-items: center;
  overflow: hidden;
}
.radar-legend-rich .radar-step b,
.radar-step b {
  white-space: nowrap;
  line-height: 1.1;
}
.radar-legend-rich .radar-step small,
.radar-step small {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.18;
}
.radar-legend-hint {
  line-height: 1.42;
}
.quality-panel-map .quality-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.quality-panel-map .quality-card {
  min-height: 4rem;
  overflow: hidden;
}
.quality-panel-map .quality-card span,
.list-item .small,
.mini-sub {
  overflow-wrap: break-word;
  word-break: normal;
}
.compact-list,
.event-log-list,
#sourceStatusList,
#incidentList,
#roadStateList {
  scrollbar-color: rgba(148,163,184,.46) rgba(15,23,42,.35);
  scrollbar-width: thin;
}
.compact-list::-webkit-scrollbar,
.event-log-list::-webkit-scrollbar,
#sourceStatusList::-webkit-scrollbar,
#incidentList::-webkit-scrollbar,
#roadStateList::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
.compact-list::-webkit-scrollbar-track,
.event-log-list::-webkit-scrollbar-track,
#sourceStatusList::-webkit-scrollbar-track,
#incidentList::-webkit-scrollbar-track,
#roadStateList::-webkit-scrollbar-track {
  background: rgba(15,23,42,.45);
  border-radius: 999px;
}
.compact-list::-webkit-scrollbar-thumb,
.event-log-list::-webkit-scrollbar-thumb,
#sourceStatusList::-webkit-scrollbar-thumb,
#incidentList::-webkit-scrollbar-thumb,
#roadStateList::-webkit-scrollbar-thumb {
  background: rgba(148,163,184,.48);
  border: 2px solid rgba(15,23,42,.45);
  border-radius: 999px;
}
@media (min-width: 1600px) {
  #tab-live>.row:first-child>.col-xxl-9 { width: 75%; }
  #tab-live>.row:first-child>.col-xxl-3 { width: 25%; }
}
@media (max-width: 1500px) {
  .radar-legend-rich .radar-scale,
  .radar-scale { grid-template-columns: repeat(2, minmax(220px, 1fr)) !important; }
  .traffic-map-large { height: clamp(410px, 50vh, 560px); }
}
@media (max-width: 1200px) {
  .topbar { align-items: flex-start; }
  .topbar-badges { justify-content: flex-start; }
  .badge-soft { flex: 0 1 auto; }
  .dashboard-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .dash-tab { white-space: nowrap; }
}
@media (max-width: 768px) {
  html { scroll-padding-top: 64px; }
  .container-fluid { padding-top: .8rem !important; }
  .topbar h1 { font-size: 1.9rem; }
  .topbar .text-secondary { font-size: .9rem; }
  .hero-grid-compact .hero-card { min-height: 92px; }
  .dashboard-tabs { top: .25rem; padding: .42rem; }
  .traffic-map-large { height: 390px; min-height: 360px; }
  .radar-legend-rich .radar-scale,
  .radar-scale { grid-template-columns: 1fr !important; }
  .radar-legend-rich .radar-step,
  .radar-step { grid-template-columns: 38px 1fr; }
}
@media (max-width: 480px) {
  .topbar-badges .badge-soft { width: 100%; justify-content: center; }
  .traffic-map-large { height: 340px; min-height: 320px; }
}


/* V1.0.0 - Produktiv-Finish / finale UI-Glättung */
.topbar{
  gap:.75rem 1rem;
  margin-bottom:.9rem!important;
}
.topbar h1{
  font-size:clamp(2rem,2.7vw,2.8rem);
  line-height:1.02;
  letter-spacing:-.035em;
  margin-bottom:.35rem!important;
}
.topbar .text-secondary{
  font-size:.94rem;
  line-height:1.35;
}
.topbar-badges{
  gap:.45rem;
  align-items:center;
}
.badge-soft,
.state-pill,
.provider-chip{
  min-height:2.05rem;
  padding:.38rem .68rem;
  line-height:1.1;
}
.panel{
  border-color:rgba(147,197,253,.16);
}
.hero-grid-compact{
  gap:.75rem;
}
.hero-grid-compact .hero-card{
  min-height:86px;
  padding:.75rem .9rem;
}
.hero-grid-compact .hero-value{
  font-size:1.68rem;
  margin:.25rem 0 .12rem;
}
.hero-label{
  font-size:.74rem;
}
.dashboard-tabs{
  top:.45rem;
  padding:.45rem;
  gap:.42rem;
  border-radius:1.1rem;
  background:linear-gradient(180deg,rgba(7,16,30,.82),rgba(7,16,30,.66));
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.dash-tab{
  min-height:2.35rem;
  padding:.55rem .82rem;
  font-size:.94rem;
}
.quick-view-strip{
  gap:.65rem;
}
.quick-view-card{
  min-height:64px;
}
.radar-legend-rich .radar-scale,
.radar-scale{
  grid-template-columns:repeat(4,minmax(150px,1fr))!important;
}
.radar-legend-rich .radar-step,
.radar-step{
  min-height:68px;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center;
}
.radar-legend-rich .radar-step b,
.radar-step b{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.radar-legend-rich .radar-step small,
.radar-step small{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto;
  line-height:1.22;
}
.quality-grid{
  align-items:stretch;
}
.quality-panel-map .quality-card,
.quality-card{
  min-height:4.45rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.quality-card span{
  overflow-wrap:break-word;
}
.event-log-item{
  min-height:auto;
}
.event-log-item.resolved,
.event-log-item.erledigt{
  opacity:.62;
}
.event-detail-grid>div{
  min-height:56px;
}
.history-card-head strong,
.event-title-row strong,
.list-item strong{
  overflow-wrap:break-word;
}
#tab-system .note-box,
#tab-history .note-box,
#tab-events .note-box{
  line-height:1.45;
}
.state-pill.live,
.state-pill.good,
.state-pill.secured,
.state-pill.ok{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.10);
  color:#bbf7d0;
}
.state-pill.cache,
.state-pill.fallback{
  border-color:rgba(96,165,250,.35);
  background:rgba(96,165,250,.10);
  color:#bfdbfe;
}
.state-pill.stale,
.state-pill.rate_limited,
.state-pill.backoff,
.state-pill.limited,
.state-pill.degraded{
  border-color:rgba(245,158,11,.35);
  background:rgba(245,158,11,.10);
  color:#fde68a;
}
.state-pill.disabled,
.state-pill.off,
.state-pill.start{
  border-color:rgba(148,163,184,.28);
  background:rgba(148,163,184,.08);
  color:#cbd5e1;
}
@media (max-width:1200px){
  .radar-legend-rich .radar-scale,
  .radar-scale{grid-template-columns:repeat(2,minmax(220px,1fr))!important;}
  .topbar h1{font-size:2.25rem;}
}
@media (max-width:768px){
  .container-fluid{padding-top:1rem!important;}
  .topbar{margin-bottom:.75rem!important;}
  .topbar h1{font-size:1.85rem;}
  .dashboard-tabs{top:.25rem;}
  .dash-tab{padding:.5rem .72rem;}
  .hero-grid-compact .hero-card{min-height:82px;}
  .radar-legend-rich .radar-scale,
  .radar-scale{grid-template-columns:1fr!important;}
}

/* V1.0.1 Wartungsfinish: Lesbarkeit, Ereignisse, Sticky-Nav */
.dashboard-tabs{
  backdrop-filter: blur(14px);
  background:linear-gradient(180deg,rgba(7,16,30,.92),rgba(7,16,30,.78));
  z-index:30;
}
.radar-legend-rich .radar-scale,
.radar-scale{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(210px,1fr))!important;
  gap:.65rem!important;
}
.radar-legend-rich .radar-step,
.radar-step{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  min-height:70px;
  align-items:center;
}
.radar-legend-rich .radar-step i,
.radar-step i{
  grid-row:1/3;
  width:32px!important;
  height:22px!important;
  flex:0 0 32px!important;
}
.radar-legend-rich .radar-step b,
.radar-step b{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  hyphens:none!important;
}
.radar-legend-rich .radar-step small,
.radar-step small{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  line-height:1.24!important;
}
.event-log-item.resolved,
.event-log-item.erledigt{
  opacity:.74;
}
.event-log-item.resolved strong,
.event-log-item.erledigt strong,
.event-log-item.acknowledged strong{
  text-decoration:none!important;
}
.event-log-item.resolved .event-title-row strong,
.event-log-item.erledigt .event-title-row strong{
  color:#cbd5e1;
}
.event-detail-grid>div strong{
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
.event-title-row{
  gap:.45rem;
  flex-wrap:wrap;
}
.event-severity-chip{
  white-space:nowrap;
}
.source-status-card,.provider-card,.history-card,.event-summary-card,.quality-card{
  overflow-wrap:break-word;
}
.hero-card .hero-label{letter-spacing:.085em;}
@media(max-width:1300px){
  .radar-legend-rich .radar-scale,
  .radar-scale{grid-template-columns:repeat(2,minmax(220px,1fr))!important;}
}
@media(max-width:720px){
  .dashboard-tabs{position:sticky;top:.15rem;}
  .radar-legend-rich .radar-scale,
  .radar-scale{grid-template-columns:1fr!important;}
}

/* V1.4.0 Lagebild-Fokus: Ansichtsmodi, Einsatzmodus und Lesbarkeit */
.view-mode-bar{display:flex;align-items:stretch;gap:.55rem;flex-wrap:wrap;border:1px solid rgba(148,163,184,.16);background:linear-gradient(135deg,rgba(8,18,36,.86),rgba(9,21,42,.72));border-radius:1.1rem;padding:.45rem;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.view-mode-label{display:flex;align-items:center;gap:.42rem;padding:.45rem .75rem;color:#cbd5e1;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.view-mode-btn{border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.58);color:#dbeafe;border-radius:.85rem;padding:.45rem .8rem;display:flex;align-items:baseline;gap:.45rem;min-height:2.45rem;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.view-mode-btn strong{font-size:.9rem;color:#f8fafc}.view-mode-btn span{font-size:.76rem;color:#9fb0c9}.view-mode-btn:hover{background:rgba(30,64,175,.18);border-color:rgba(96,165,250,.32);transform:translateY(-1px)}
.view-mode-btn.active{background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(14,165,233,.14));border-color:rgba(96,165,250,.55);box-shadow:0 0 0 1px rgba(96,165,250,.14) inset}.view-mode-btn.active span{color:#bfdbfe}
body[data-dashboard-mode="compact"] .topbar{margin-bottom:1rem!important}body[data-dashboard-mode="compact"] .topbar h1{font-size:clamp(1.75rem,3vw,2.6rem);margin-bottom:.25rem!important}
body[data-dashboard-mode="compact"] .topbar .text-secondary{font-size:.92rem}body[data-dashboard-mode="compact"] .topbar-badges{gap:.38rem}body[data-dashboard-mode="compact"] .badge-soft{padding:.38rem .62rem;font-size:.78rem}
body[data-dashboard-mode="compact"] .hero-card{min-height:4.7rem;padding:.75rem .9rem}body[data-dashboard-mode="compact"] .hero-value{font-size:1.58rem}body[data-dashboard-mode="compact"] .hero-sub{font-size:.84rem}
body[data-dashboard-mode="compact"] .quick-view-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}body[data-dashboard-mode="compact"] .quick-view-card{min-height:3rem;padding:.55rem .75rem}
body[data-dashboard-mode="compact"] #tab-live .live-side-column{display:none!important}body[data-dashboard-mode="compact"] #tab-live .live-main-column{flex:0 0 100%;max-width:100%;width:100%}
body[data-dashboard-mode="compact"] #tab-live .live-detail-row{display:none!important}body[data-dashboard-mode="compact"] #tab-live .traffic-map-large{height:min(58vh,640px);min-height:430px}
body[data-dashboard-mode="compact"] #tab-live .panel-head{gap:.8rem;margin-bottom:.65rem}body[data-dashboard-mode="compact"] #tab-live .panel-head h2{font-size:1.03rem}body[data-dashboard-mode="compact"] #tab-live .panel-head p{font-size:.84rem;max-width:58rem}
body[data-dashboard-mode="compact"] #tab-live .toolbar-inline{gap:.4rem}body[data-dashboard-mode="compact"] #tab-live .toolbar-inline .toggle-inline,body[data-dashboard-mode="compact"] #tab-live .toolbar-inline .view-toggle-btn,body[data-dashboard-mode="compact"] #tab-live .toolbar-inline .radar-opacity-control{padding:.35rem .55rem;font-size:.78rem}
body[data-dashboard-mode="compact"] .quality-panel-map{padding:.72rem .85rem}body[data-dashboard-mode="compact"] .quality-panel-map .quality-head{margin-bottom:0;align-items:center}body[data-dashboard-mode="compact"] .quality-panel-map .quality-head p{display:none}body[data-dashboard-mode="compact"] .quality-panel-map .quality-grid{display:none}
body[data-dashboard-mode="compact"] .radar-legend-box{padding:.65rem .75rem}body[data-dashboard-mode="compact"] .radar-legend-title{margin-bottom:.45rem}body[data-dashboard-mode="compact"] .radar-legend-gradient{height:.55rem}body[data-dashboard-mode="compact"] .radar-legend-hint{display:none}
body[data-dashboard-mode="einsatz"] #tab-live .traffic-map-large{height:min(64vh,720px);min-height:500px}body[data-dashboard-mode="einsatz"] .quality-panel-map .quality-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
body[data-dashboard-mode="admin"] .view-mode-bar{border-color:rgba(125,211,252,.22)}body[data-dashboard-mode="admin"] #tab-live .live-detail-row{display:flex}
.radar-scale{grid-template-columns:repeat(4,minmax(135px,1fr));gap:.55rem}.radar-step{min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.45rem;padding:.55rem .65rem}.radar-step i{grid-row:1 / span 2;width:1.35rem;height:1.35rem}.radar-step b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.05}.radar-step small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;max-width:100%}
.event-log-list .event-row,.event-log-list .history-row{transition:opacity .18s ease,background .18s ease}.event-log-list .is-resolved,.event-log-list .resolved{opacity:.58}.event-log-list .details-grid{max-width:55rem}.event-detail-grid,.event-meta-grid{max-width:55rem}.event-row details,.event-card details{max-width:56rem}.event-row .detail-box,.event-card .detail-box{font-size:.8rem}
@media (max-width:992px){.view-mode-bar{position:relative}.view-mode-label{width:100%;padding:.25rem .45rem}.view-mode-btn{flex:1 1 30%;justify-content:center}.view-mode-btn span{display:none}body[data-dashboard-mode="compact"] #tab-live .traffic-map-large{height:56vh;min-height:360px}.radar-scale{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.view-mode-btn{flex:1 1 100%;justify-content:flex-start}.radar-scale{grid-template-columns:1fr}.radar-step small{white-space:normal}.quick-view-strip{grid-template-columns:1fr 1fr!important}}


/* V1.2.0 Ereignis- und Alarmworkflow */
.event-title-row{gap:.45rem;align-items:center;flex-wrap:wrap}
.event-workflow-chip{display:inline-flex;align-items:center;border:1px solid rgba(147,197,253,.22);border-radius:999px;padding:.14rem .48rem;font-size:.72rem;font-weight:700;letter-spacing:.01em;background:rgba(15,23,42,.55);color:#dbeafe;white-space:nowrap}
.event-workflow-chip.critical{border-color:rgba(248,113,113,.55);background:rgba(127,29,29,.24);color:#fecaca}
.event-workflow-chip.warning{border-color:rgba(245,158,11,.55);background:rgba(120,53,15,.24);color:#fde68a}
.event-workflow-chip.notice{border-color:rgba(56,189,248,.42);background:rgba(14,116,144,.18);color:#bae6fd}
.event-workflow-chip.system{border-color:rgba(148,163,184,.36);background:rgba(51,65,85,.24);color:#e2e8f0}
.event-workflow-chip.clear{border-color:rgba(34,197,94,.38);background:rgba(20,83,45,.20);color:#bbf7d0}
.event-workflow-chip.dry{border-color:rgba(167,139,250,.42);background:rgba(76,29,149,.18);color:#ddd6fe}
.event-log-item.resolved{opacity:.68}
.event-log-item.resolved .event-workflow-chip.clear{opacity:1}
.event-detail-grid div span{font-size:.72rem;text-transform:none;letter-spacing:0;color:var(--muted)}
.event-detail-grid div strong{word-break:break-word;hyphens:auto}
@media(max-width:760px){.event-title-row{align-items:flex-start}.event-workflow-chip,.event-severity-chip{font-size:.68rem}.event-detail-grid{grid-template-columns:1fr}}


/* V1.4.0 Einsatzmodus / Vollbild-Lagebild */
.einsatz-board{display:none;border:1px solid rgba(96,165,250,.22);background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(12,32,63,.74));border-radius:1.25rem;padding:1rem;box-shadow:0 18px 50px rgba(0,0,0,.18)}
body[data-dashboard-mode="einsatz"] .einsatz-board{display:block}
.einsatz-board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;border-bottom:1px solid rgba(148,163,184,.16);padding-bottom:.75rem}
.einsatz-kicker{display:inline-flex;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#93c5fd;font-weight:800;margin-bottom:.2rem}.einsatz-board h2{font-size:1.1rem;margin:0;color:#f8fafc}.einsatz-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.einsatz-live-dot{display:inline-flex;align-items:center;gap:.38rem;border:1px solid rgba(34,197,94,.25);background:rgba(20,83,45,.18);color:#bbf7d0;border-radius:999px;padding:.35rem .65rem;font-size:.78rem}.einsatz-live-dot:before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:#22c55e;box-shadow:0 0 0 .18rem rgba(34,197,94,.14)}.einsatz-live-dot.warn{border-color:rgba(245,158,11,.35);background:rgba(120,53,15,.2);color:#fde68a}.einsatz-live-dot.warn:before{background:#f59e0b;box-shadow:0 0 0 .18rem rgba(245,158,11,.15)}
.einsatz-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.einsatz-status-card{min-height:5.2rem;border:1px solid rgba(148,163,184,.17);background:rgba(15,23,42,.62);border-radius:1rem;padding:.75rem .85rem;display:flex;flex-direction:column;justify-content:center}.einsatz-status-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#93a4bd}.einsatz-status-card strong{font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.05;color:#fff}.einsatz-status-card em{font-style:normal;font-size:.78rem;color:#b6c5da;margin-top:.2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.einsatz-events{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.85rem}.einsatz-event-pill{display:inline-flex;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.6);border-radius:999px;padding:.34rem .62rem;font-size:.8rem;color:#dbeafe}.einsatz-event-pill.warning{border-color:rgba(245,158,11,.44);color:#fde68a;background:rgba(120,53,15,.2)}.einsatz-event-pill.critical{border-color:rgba(248,113,113,.46);color:#fecaca;background:rgba(127,29,29,.22)}.einsatz-event-pill.ok{border-color:rgba(34,197,94,.32);color:#bbf7d0;background:rgba(20,83,45,.18)}
body[data-dashboard-mode="einsatz"] .topbar{margin-bottom:.8rem!important}body[data-dashboard-mode="einsatz"] .topbar h1{font-size:clamp(1.9rem,3vw,2.9rem);margin-bottom:.2rem!important}body[data-dashboard-mode="einsatz"] .hero-card{min-height:4.5rem;padding:.72rem .9rem}body[data-dashboard-mode="einsatz"] .hero-value{font-size:1.62rem}body[data-dashboard-mode="einsatz"] .quick-view-strip{display:none}body[data-dashboard-mode="einsatz"] #tab-live .panel-head p{max-width:52rem}body[data-dashboard-mode="einsatz"] #tab-live .radar-legend-hint{display:none}body[data-dashboard-mode="einsatz"] .live-detail-row{display:none!important}
body.einsatz-monitor-active{overflow:hidden}body.einsatz-monitor-active .container-fluid{height:100vh;overflow:hidden;padding:.65rem!important}body.einsatz-monitor-active .topbar,body.einsatz-monitor-active .hero-grid,body.einsatz-monitor-active .dashboard-tabs,body.einsatz-monitor-active .view-mode-bar,body.einsatz-monitor-active .quick-view-strip,body.einsatz-monitor-active .radar-legend-box,body.einsatz-monitor-active .quality-panel-map,body.einsatz-monitor-active .live-detail-row{display:none!important}body.einsatz-monitor-active #tab-live{display:block!important}body.einsatz-monitor-active #tab-live>.row{height:calc(100vh - 7rem);margin:0}body.einsatz-monitor-active .einsatz-board{display:block;margin-bottom:.6rem!important;padding:.65rem .75rem;border-radius:.9rem}body.einsatz-monitor-active .einsatz-board-head{display:none}body.einsatz-monitor-active .einsatz-status-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}body.einsatz-monitor-active .einsatz-status-card{min-height:3.8rem;padding:.5rem .65rem}body.einsatz-monitor-active .einsatz-status-card strong{font-size:1.35rem}body.einsatz-monitor-active .einsatz-status-card span{font-size:.64rem}body.einsatz-monitor-active .einsatz-status-card em{font-size:.68rem;-webkit-line-clamp:1}body.einsatz-monitor-active .einsatz-events{margin-top:.45rem}.einsatz-monitor-active .live-main-column{flex:0 0 78%;max-width:78%;width:78%}.einsatz-monitor-active .live-side-column{flex:0 0 22%;max-width:22%;width:22%;display:block!important}.einsatz-monitor-active #tab-live .panel{height:100%!important;padding:.55rem}.einsatz-monitor-active #tab-live .panel-head{margin-bottom:.45rem}.einsatz-monitor-active #tab-live .toolbar-inline{gap:.3rem}.einsatz-monitor-active #tab-live .traffic-map-large{height:calc(100vh - 9.8rem)!important;min-height:0}.einsatz-monitor-active .legend-row{font-size:.72rem;gap:.45rem}.einsatz-monitor-active .compact-panel .panel-head p{display:none}.einsatz-monitor-active .compact-list{max-height:calc(100vh - 32rem);overflow:auto}
@media (max-width:1200px){.einsatz-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.einsatz-monitor-active .live-main-column,.einsatz-monitor-active .live-side-column{flex:0 0 100%;max-width:100%;width:100%}.einsatz-monitor-active .live-side-column{display:none!important}.einsatz-monitor-active #tab-live .traffic-map-large{height:calc(100vh - 10rem)!important}}
@media (max-width:760px){.einsatz-board-head{display:block}.einsatz-actions{justify-content:flex-start;margin-top:.55rem}.einsatz-status-grid{grid-template-columns:1fr 1fr}.einsatz-status-card{min-height:4.3rem}.einsatz-events{display:none}}

/* Codex cleanup: weniger visuelle Last in den Standard-/Kompaktansichten */
.quick-view-card span,
.hero-sub,
.panel-head p {
  overflow-wrap: anywhere;
}
body[data-dashboard-mode="compact"] .radar-legend-rich .radar-scale {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body[data-dashboard-mode="compact"] .radar-legend-rich .radar-step {
  min-height: 2.7rem;
  padding: .42rem .5rem;
}
body[data-dashboard-mode="compact"] .radar-legend-rich .radar-step small {
  display: none;
}
body[data-dashboard-mode="compact"] .quick-view-card span {
  display: none;
}
body[data-dashboard-mode="compact"] .quick-view-card strong {
  font-size: .95rem;
}
@media (max-width:760px) {
  .topbar-badges .source-badge {
    flex: 1 1 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
  }
  .radar-legend-rich .radar-step small,
  .radar-legend-hint,
  .panel-head p {
    display: none;
  }
}

.aircraft-classification-note {
  display: grid;
  gap: .2rem;
}
.aviation-review-box {
  margin-top: .65rem;
  border: 1px solid rgba(248, 113, 113, .24);
  background: rgba(127, 29, 29, .14);
  border-radius: .85rem;
  padding: .7rem;
}
.aviation-review-box > strong {
  display: block;
  margin-bottom: .45rem;
  color: #fecaca;
}
.review-item {
  border-top: 1px solid rgba(248, 113, 113, .16);
  padding: .55rem 0 0;
  margin-top: .5rem;
}
.timeline-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .55rem;
}
.timeline-item {
  text-align: left;
  border: 1px solid rgba(148, 163, 184, .16);
  background: rgba(15, 23, 42, .58);
  color: #e5edf8;
  border-radius: .85rem;
  padding: .62rem .72rem;
  min-height: 4.3rem;
}
.timeline-item span,
.timeline-item em {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  font-style: normal;
}
.timeline-item strong {
  display: block;
  line-height: 1.15;
  margin: .18rem 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.timeline-item.warnung,
.timeline-item.kritisch {
  border-color: rgba(245, 158, 11, .38);
  background: rgba(120, 53, 15, .18);
}
.timeline-item.erledigt,
.timeline-item.resolved,
.timeline-item.entwarnt {
  opacity: .66;
}
.provider-sla-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}
.provider-sla-card {
  border: 1px solid rgba(148, 163, 184, .17);
  background: rgba(15, 23, 42, .58);
  border-radius: .9rem;
  padding: .72rem .82rem;
}
.provider-sla-card span {
  display: block;
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.provider-sla-card strong {
  display: block;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1.1;
}
.provider-sla-card em {
  display: block;
  color: #b6c5da;
  font-size: .76rem;
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.provider-sla-card.ok { border-color: rgba(34, 197, 94, .28); background: rgba(20, 83, 45, .14); }
.provider-sla-card.warn { border-color: rgba(245, 158, 11, .3); background: rgba(120, 53, 15, .14); }
.provider-sla-card.bad { border-color: rgba(248, 113, 113, .34); background: rgba(127, 29, 29, .16); }
@media (max-width: 760px) {
  .provider-sla-grid,
  .timeline-strip {
    grid-template-columns: 1fr;
  }
}
.layer-preset-bar {
  display: inline-flex;
  gap: .35rem;
  flex-wrap: wrap;
}
.layer-preset-bar button {
  border: 1px solid rgba(147,197,253,.2);
  background: rgba(15,23,42,.58);
  color: #dbeafe;
  border-radius: 999px;
  min-height: 2rem;
  padding: .32rem .62rem;
  font-size: .78rem;
}
.layer-preset-bar button:hover {
  border-color: rgba(96,165,250,.48);
  background: rgba(37,99,235,.18);
}
.aircraft-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .45rem;
}
.aircraft-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: .75rem;
}
.aircraft-review-card {
  align-items: flex-start;
  min-height: 104px;
}
.daily-report-grid {
  display: grid;
}
.daily-report-card {
  border: 1px solid rgba(96,165,250,.22);
  border-left: 4px solid rgba(56,189,248,.72);
  background: rgba(15,23,42,.5);
  border-radius: .95rem;
  padding: .8rem .9rem;
}
.daily-report-card span,
.daily-report-card small {
  display: block;
  color: var(--muted);
  font-size: .78rem;
}
.daily-report-card strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
}
.daily-report-card em {
  display: block;
  color: #dbeafe;
  font-size: .88rem;
  font-style: normal;
  margin: .2rem 0;
}
.daily-report-actions {
  display: grid;
  gap: .35rem;
  margin-top: .75rem;
}
.daily-report-actions span {
  border: 1px solid rgba(96,165,250,.24);
  background: rgba(14,165,233,.08);
  border-radius: 8px;
  padding: .45rem .55rem;
  color: #dbeafe;
  font-size: .86rem;
}


/* V1.4.1 Einsatzmodus-Feinschliff / Kiosk-Ansicht */
body[data-dashboard-mode="einsatz"] .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem 1rem;margin-bottom:.65rem!important}
body[data-dashboard-mode="einsatz"] .topbar h1{font-size:clamp(1.65rem,2.35vw,2.35rem)!important;line-height:1.04;margin-bottom:.12rem!important}
body[data-dashboard-mode="einsatz"] .topbar .text-secondary{font-size:.82rem;max-width:760px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-dashboard-mode="einsatz"] .topbar-badges{justify-content:flex-end;gap:.32rem}
body[data-dashboard-mode="einsatz"] .topbar-badges .badge-soft{padding:.3rem .52rem;font-size:.73rem;min-height:2rem}
body[data-dashboard-mode="einsatz"] .hero-grid{display:none!important}
body[data-dashboard-mode="einsatz"] .dashboard-tabs{padding:.38rem;gap:.36rem;border-radius:1rem;margin-bottom:.55rem!important}
body[data-dashboard-mode="einsatz"] .dash-tab{padding:.48rem .72rem;min-height:2.1rem;font-size:.86rem}
body[data-dashboard-mode="einsatz"] .view-mode-bar{padding:.36rem;gap:.36rem;margin-bottom:.65rem!important}
body[data-dashboard-mode="einsatz"] .view-mode-label{padding:.34rem .55rem;font-size:.72rem}
body[data-dashboard-mode="einsatz"] .view-mode-btn{min-height:2.1rem;padding:.35rem .62rem;border-radius:.72rem}
body[data-dashboard-mode="einsatz"] .view-mode-btn strong{font-size:.82rem}body[data-dashboard-mode="einsatz"] .view-mode-btn span{font-size:.69rem}
body[data-dashboard-mode="einsatz"] .einsatz-board{padding:.72rem .85rem;border-radius:1rem;margin-bottom:.7rem!important}
body[data-dashboard-mode="einsatz"] .einsatz-board-head{margin-bottom:.58rem;padding-bottom:.52rem}
body[data-dashboard-mode="einsatz"] .einsatz-kicker{font-size:.64rem;margin-bottom:.08rem}
body[data-dashboard-mode="einsatz"] .einsatz-board h2{font-size:.98rem}
body[data-dashboard-mode="einsatz"] .einsatz-status-grid{gap:.5rem}
body[data-dashboard-mode="einsatz"] .einsatz-status-card{min-height:4.45rem;padding:.58rem .72rem;border-radius:.82rem}
body[data-dashboard-mode="einsatz"] .einsatz-status-card strong{font-size:clamp(1.15rem,1.8vw,1.55rem)}
body[data-dashboard-mode="einsatz"] .einsatz-status-card span{font-size:.64rem}
body[data-dashboard-mode="einsatz"] .einsatz-status-card em{font-size:.71rem}
body[data-dashboard-mode="einsatz"] .einsatz-events{margin-top:.55rem}.einsatz-event-pill{font-size:.75rem}
body[data-dashboard-mode="einsatz"] #tab-live .traffic-map-large{height:clamp(540px,66vh,820px);min-height:520px}
body[data-dashboard-mode="einsatz"] #tab-live .panel{padding:.85rem}
body[data-dashboard-mode="einsatz"] #tab-live .panel-head{margin-bottom:.55rem;padding-bottom:.45rem}
body[data-dashboard-mode="einsatz"] #tab-live .panel-head h2{font-size:1.02rem}
body[data-dashboard-mode="einsatz"] #tab-live .panel-head p{font-size:.8rem;max-width:48rem}
body[data-dashboard-mode="einsatz"] #tab-live .toolbar-inline{gap:.32rem}.toolbar-inline .view-toggle-btn,.toolbar-inline .toggle-inline,.toolbar-inline .state-pill,.radar-opacity-control{min-height:2rem}
body[data-dashboard-mode="einsatz"] .quality-panel-map{display:none!important}
body.einsatz-monitor-active{background:#06101f!important}
body.einsatz-monitor-active:before{content:"Kempten Live-Dashboard · Einsatzmonitor";position:fixed;left:.75rem;top:.45rem;z-index:2000;border:1px solid rgba(96,165,250,.28);background:rgba(8,18,36,.72);backdrop-filter:blur(10px);border-radius:999px;padding:.28rem .6rem;color:#bfdbfe;font-size:.72rem;font-weight:800;letter-spacing:.04em}
body.einsatz-monitor-active .container-fluid{max-width:none!important;height:100vh;overflow:hidden;padding:.5rem!important}
body.einsatz-monitor-active #tab-live>.row{height:calc(100vh - 5.85rem)!important;margin:0}
body.einsatz-monitor-active .einsatz-board{margin-top:1.8rem!important;margin-bottom:.45rem!important;padding:.45rem .58rem!important;border-radius:.75rem!important}
body.einsatz-monitor-active .einsatz-status-grid{gap:.35rem!important}
body.einsatz-monitor-active .einsatz-status-card{min-height:3.35rem!important;padding:.38rem .55rem!important;border-radius:.7rem!important}
body.einsatz-monitor-active .einsatz-status-card strong{font-size:1.18rem!important}body.einsatz-monitor-active .einsatz-status-card span{font-size:.58rem!important}body.einsatz-monitor-active .einsatz-status-card em{font-size:.62rem!important}
body.einsatz-monitor-active .einsatz-events{display:none!important}
body.einsatz-monitor-active #tab-live .traffic-map-large{height:calc(100vh - 8.3rem)!important;min-height:0!important}
body.einsatz-monitor-active #tab-live .panel{padding:.42rem!important;border-radius:.7rem!important}
body.einsatz-monitor-active #tab-live .panel-head h2{font-size:.92rem!important}body.einsatz-monitor-active #tab-live .panel-head p{display:none!important}
body.einsatz-monitor-active .legend-row{font-size:.66rem!important;gap:.32rem .5rem!important;white-space:nowrap;overflow:hidden}
body.einsatz-monitor-active .weather-now-temp{font-size:1.9rem!important}
body.einsatz-monitor-active .mini-grid{gap:.4rem!important}.einsatz-monitor-active .mini-box{padding:.55rem!important;border-radius:.7rem!important}.einsatz-monitor-active .compact-list{max-height:calc(100vh - 30rem)!important}
@media(max-width:1200px){body[data-dashboard-mode="einsatz"] .topbar{display:block}body[data-dashboard-mode="einsatz"] .topbar .text-secondary{white-space:normal}body[data-dashboard-mode="einsatz"] #tab-live .traffic-map-large{height:58vh;min-height:420px}}
@media(max-width:760px){body[data-dashboard-mode="einsatz"] .hero-grid{display:grid!important}body[data-dashboard-mode="einsatz"] .topbar h1{font-size:1.85rem!important}body[data-dashboard-mode="einsatz"] .einsatz-status-grid{grid-template-columns:1fr 1fr}body[data-dashboard-mode="einsatz"] #tab-live .traffic-map-large{height:430px;min-height:360px}}

/* V1.5.3 TomTom-Straßenerkennung & Verkehrszuordnung */
.lage-assessment{
  display:flex;
  gap:1rem;
  align-items:stretch;
  justify-content:space-between;
  padding:1rem 1.1rem;
  border:1px solid rgba(96,165,250,.22);
  border-left:4px solid rgba(96,165,250,.75);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(15,34,64,.92), rgba(10,24,46,.88));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}
.lage-assessment.ok{border-left-color:#22c55e;background:linear-gradient(135deg, rgba(8,53,45,.78), rgba(12,31,57,.88));}
.lage-assessment.notice{border-left-color:#38bdf8;}
.lage-assessment.warning{border-left-color:#f59e0b;background:linear-gradient(135deg, rgba(67,45,12,.55), rgba(12,31,57,.88));}
.lage-assessment.critical{border-left-color:#ef4444;background:linear-gradient(135deg, rgba(69,18,26,.65), rgba(12,31,57,.88));}
.lage-assessment-main{min-width:260px;display:flex;flex-direction:column;gap:.22rem;}
.lage-assessment-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:#93c5fd;display:flex;gap:.35rem;align-items:center;}
.lage-assessment-main strong{font-size:1.18rem;color:#f8fafc;line-height:1.15;}
.lage-assessment-main span:last-child{color:#cbd5e1;font-size:.92rem;}
.lage-assessment-chips{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:flex-end;}
.lage-chip{display:inline-flex;flex-direction:column;gap:.05rem;min-width:126px;max-width:230px;padding:.55rem .72rem;border-radius:15px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.52);font-size:.78rem;color:#cbd5e1;line-height:1.22;}
.lage-chip strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#f8fafc;}
.lage-chip.ok{border-left:3px solid #22c55e;background:rgba(20,83,45,.25);}
.lage-chip.notice{border-left:3px solid #38bdf8;background:rgba(14,116,144,.22);}
.lage-chip.warning{border-left:3px solid #f59e0b;background:rgba(146,64,14,.2);}
.lage-chip.critical{border-left:3px solid #ef4444;background:rgba(127,29,29,.23);}
.lage-chip.unknown{border-left:3px solid #64748b;}
body.dashboard-mode-compact .lage-assessment{margin-top:-.25rem;}
body.dashboard-mode-einsatz .lage-assessment{display:none;}
body.dashboard-mode-admin .lage-assessment{display:flex;}
body.einsatz-monitor-active .lage-assessment{display:none!important;}
@media (max-width: 1100px){.lage-assessment{flex-direction:column}.lage-assessment-chips{justify-content:flex-start}.lage-chip{min-width:calc(50% - .4rem)}}
@media (max-width: 640px){.lage-chip{min-width:100%}}

/* V1.5.3 Verkehrszuordnung Feinschliff */
.lage-assessment.notice{border-left-color:#38bdf8;background:linear-gradient(135deg, rgba(14,65,92,.42), rgba(12,31,57,.88));}
.lage-assessment.warning{border-left-color:#f97316;background:linear-gradient(135deg, rgba(94,55,18,.5), rgba(12,31,57,.9));}
.lage-assessment.critical{border-left-color:#ef4444;background:linear-gradient(135deg, rgba(76,19,33,.68), rgba(12,31,57,.9));}
.lage-assessment.critical .lage-assessment-main strong{color:#fee2e2;}
.lage-chip.ok{opacity:.92;}
.lage-chip.notice{border-left-color:#38bdf8;background:rgba(14,116,144,.16);}
.lage-chip.warning{border-left-color:#fb923c;background:rgba(154,52,18,.16);}
.lage-chip.critical{border-left-color:#ef4444;background:rgba(127,29,29,.2);}
.einsatz-assessment-line{display:flex;align-items:center;gap:.55rem;margin:.45rem 0 .55rem;padding:.48rem .65rem;border:1px solid rgba(96,165,250,.18);border-left:3px solid rgba(96,165,250,.65);border-radius:.75rem;background:rgba(15,23,42,.38);color:#cbd5e1;font-size:.82rem;line-height:1.25}
.einsatz-assessment-line strong{color:#f8fafc;white-space:nowrap}.einsatz-assessment-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.einsatz-assessment-line.ok{border-left-color:#22c55e;background:rgba(20,83,45,.16)}.einsatz-assessment-line.notice{border-left-color:#38bdf8;background:rgba(14,116,144,.14)}.einsatz-assessment-line.warning{border-left-color:#fb923c;background:rgba(154,52,18,.14)}.einsatz-assessment-line.critical{border-left-color:#ef4444;background:rgba(127,29,29,.18)}
body[data-dashboard-mode="compact"] .lage-assessment.critical{box-shadow:0 0 0 1px rgba(239,68,68,.22),0 18px 44px rgba(0,0,0,.18)}
body.einsatz-monitor-active .einsatz-assessment-line{display:flex!important;margin:.25rem 0 .38rem!important;padding:.32rem .5rem!important;font-size:.72rem!important;border-radius:.55rem!important}
body.einsatz-monitor-active .einsatz-assessment-line span{display:block!important}
@media (max-width:760px){.einsatz-assessment-line{align-items:flex-start;flex-direction:column;gap:.25rem}.einsatz-assessment-line span{white-space:normal}}

/* V1.6.0 Mobilithek/BayernInfo vorbereitet */
.datex-feed-card { border:1px solid rgba(96,165,250,.22); border-radius:18px; padding:.8rem; background:rgba(15,23,42,.38); }
.datex-status-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.65rem; }
.datex-code { min-height:5.5rem; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:.82rem; }

/* V1.7.0 Betriebszentrale & Wartungsqualität */
.operations-center .ops-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}
.operations-center .ops-kpi{border:1px solid rgba(96,165,250,.2);border-radius:18px;background:rgba(15,23,42,.42);padding:.85rem .95rem;min-height:6.1rem;display:flex;flex-direction:column;gap:.18rem}
.operations-center .ops-kpi span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#93c5fd;font-weight:800}
.operations-center .ops-kpi strong{font-size:1.25rem;color:#f8fafc;line-height:1.15}
.operations-center .ops-kpi em{font-style:normal;color:#cbd5e1;font-size:.82rem;line-height:1.25}
.cache-strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}
.cache-strategy-card{border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(15,23,42,.35);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.18rem}
.cache-strategy-card strong{color:#f8fafc;font-size:.92rem}.cache-strategy-card span{color:#bfdbfe;font-weight:800;font-size:.82rem}.cache-strategy-card small{color:#cbd5e1;line-height:1.35}
.ops-table-wrap{max-height:330px;overflow:auto;border-radius:14px;border:1px solid rgba(148,163,184,.14)}
.operations-center .table-darkish{margin:0}.operations-center .table-darkish code{color:#dbeafe;white-space:normal;word-break:break-word;font-size:.78rem}
.state-pill.warning{background:rgba(245,158,11,.14);color:#fde68a;border-color:rgba(245,158,11,.35)}
.state-pill.critical{background:rgba(239,68,68,.15);color:#fecaca;border-color:rgba(239,68,68,.35)}


/* V1.9.0 Redundanzpaket Verkehr & Luftlage */
.lage-briefing{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:.75rem}
.lage-briefing-card{border:1px solid rgba(96,165,250,.18);border-radius:18px;background:rgba(15,23,42,.38);padding:.8rem .95rem;display:flex;flex-direction:column;gap:.15rem;min-height:5.4rem}
.lage-briefing-card.primary{border-left:4px solid rgba(56,189,248,.75);background:linear-gradient(135deg,rgba(14,65,92,.28),rgba(15,23,42,.42))}
.lage-briefing-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#93c5fd;font-weight:800}
.lage-briefing-card strong{font-size:1.02rem;color:#f8fafc;line-height:1.18}.lage-briefing-card em{font-style:normal;color:#cbd5e1;font-size:.82rem;line-height:1.25}
.einsatz-focus-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.35rem 0 .55rem}
.einsatz-focus-strip span{border:1px solid rgba(148,163,184,.16);background:rgba(15,23,42,.32);border-radius:.75rem;padding:.43rem .55rem;color:#cbd5e1;font-size:.78rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.einsatz-focus-strip strong{display:block;color:#93c5fd;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;margin-bottom:.06rem}
body[data-dashboard-mode="compact"] .lage-briefing{grid-template-columns:1.25fr 1fr 1fr}
body[data-dashboard-mode="einsatz"] .lage-briefing{display:none!important}
body[data-dashboard-mode="admin"] .lage-briefing{display:grid}
body.einsatz-monitor-active .lage-briefing{display:none!important}
body.einsatz-monitor-active .einsatz-focus-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.32rem;margin:.22rem 0 .34rem!important}
body.einsatz-monitor-active .einsatz-focus-strip span{font-size:.66rem;padding:.28rem .42rem;border-radius:.5rem}
body.einsatz-monitor-active .einsatz-focus-strip strong{font-size:.55rem}
@media(max-width:1000px){.lage-briefing{grid-template-columns:1fr}.einsatz-focus-strip{grid-template-columns:1fr}}
@media(max-width:760px){.lage-briefing{display:none}.einsatz-focus-strip{display:none}}

/* V1.9.2 Autobahn-API Detaildaten */
.source-grid.compact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: .65rem;
}
.source-grid.compact .source-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .15rem .65rem;
  align-items: start;
  border: 1px solid rgba(147,197,253,.14);
  border-left: 3px solid rgba(148,163,184,.42);
  border-radius: 16px;
  padding: .7rem .85rem;
  background: rgba(15,23,42,.42);
  min-height: 4.35rem;
}
.source-grid.compact .source-card strong {
  display: block;
  min-width: 0;
  color: #f8fafc;
  overflow-wrap: anywhere;
}
.source-grid.compact .source-card > span {
  justify-self: end;
  white-space: nowrap;
  border: 1px solid rgba(147,197,253,.20);
  border-radius: 999px;
  padding: .18rem .55rem;
  color: #dbeafe;
  background: rgba(15,23,42,.54);
  font-size: .76rem;
}
.source-grid.compact .source-card small {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.source-grid.compact .source-card.live,
.source-grid.compact .source-card.secured { border-left-color: #22c55e; background: rgba(34,197,94,.06); }
.source-grid.compact .source-card.cache { border-left-color: #60a5fa; background: rgba(96,165,250,.055); }
.source-grid.compact .source-card.prepared { border-left-color: #38bdf8; background: rgba(56,189,248,.055); }
.source-grid.compact .source-card.disabled,
.source-grid.compact .source-card.off { border-left-color: #64748b; opacity: .82; }
.source-grid.compact .source-card.error,
.source-grid.compact .source-card.failed { border-left-color: #ef4444; background: rgba(239,68,68,.07); }

/* V1.9.4 Verkehrstexte: saubere Kurzansicht ohne Rohdaten */
.leaflet-popup-content {
  min-width: 220px;
  max-width: 320px;
  max-height: 230px;
  overflow-y: auto;
  overflow-x: hidden;
  line-height: 1.35;
}
.traffic-popup-compact {
  display: grid;
  gap: .22rem;
  color: #e5eefb;
}
.traffic-popup-title {
  font-weight: 800;
  font-size: .98rem;
  color: #fff;
  overflow-wrap: anywhere;
}
.traffic-popup-type {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  border: 1px solid rgba(96,165,250,.35);
  background: rgba(37,99,235,.18);
  color: #dbeafe;
  border-radius: 999px;
  padding: .12rem .48rem;
  font-size: .76rem;
  font-weight: 700;
}
.traffic-popup-row,
.traffic-popup-summary,
.traffic-popup-meta {
  font-size: .82rem;
  overflow-wrap: anywhere;
}
.traffic-popup-summary {
  color: #cbd5e1;
}
.traffic-popup-meta {
  color: #94a3b8;
  border-top: 1px solid rgba(148,163,184,.18);
  margin-top: .1rem;
  padding-top: .28rem;
}


/* V1.9.4: Lage- und Popup-Texte gegen Rohdaten/Überlagerung härten */
.lage-chip{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.einsatz-assessment-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.einsatz-focus-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traffic-popup-compact{max-width:18rem;line-height:1.28}
.traffic-popup-title{font-size:1rem;line-height:1.2;word-break:normal;overflow-wrap:break-word}
.traffic-popup-type{display:inline-flex;margin:.25rem 0 .35rem 0}
.traffic-popup-row,.traffic-popup-summary{display:block;max-height:3.4em;overflow:hidden}
.traffic-popup-meta{margin-top:.45rem;padding-top:.45rem;border-top:1px solid rgba(148,163,184,.22);font-size:.76rem;color:#cbd5e1}
.leaflet-popup-content{max-height:13.5rem;overflow:auto}


/* V1.9.7: Autobahn-API-Klassifizierung und Sperrungsbewertung stabilisieren */
.source-health strong{overflow-wrap:anywhere;word-break:normal;line-height:1.2;}
.source-health .state-pill{white-space:nowrap;align-self:flex-start;}
.provider-health-grid .list-item.source-health{align-items:flex-start;min-height:92px;}
.traffic-popup-compact{max-width:320px;max-height:220px;overflow:auto;}
.traffic-popup-title,.traffic-popup-type,.traffic-popup-row,.traffic-popup-summary,.traffic-popup-meta{overflow-wrap:break-word;word-break:normal;}
.einsatz-focus-strip,.lage-assessment-chip{overflow:hidden;}
.einsatz-focus-strip span,.lage-assessment-chip span{min-width:0;}
/* V1.9.7: Providerstatus und Redundanz-Abnahme optisch verdichten */
.source-status-chip{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.22rem .55rem;font-size:.78rem;line-height:1;color:#dbeafe;background:rgba(15,23,42,.55);white-space:nowrap;min-width:max-content;}
.source-health{gap:.8rem;}
.source-health strong{hyphens:auto;overflow-wrap:break-word;word-break:normal;}
