/* DEV v3.0.33 — calm, progressive-disclosure operations view.
   Fixed road-condition colours and all MZ API / measurement behaviour unchanged. */

/* The drawer toggle belongs to mobile navigation only. Previous global icon
   button display styles accidentally made it appear beside the desktop title. */
#mobileMenu{display:none}
@media (max-width:730px){#mobileMenu{display:inline-grid}}

/* Minimal entry view: provide only decisions and real road conditions, not
   product-filter statistics or technical diagnostics. Important API errors
   remain visible in the global status notice. */
body:has(#einsatz.tab.active) #subtitle{display:none}
body:has(#einsatz.tab.active) #notice:not(.error){display:none}
#einsatz .ops-primary-filters{margin:0 0 14px}
#einsatz .ops-primary-filters>label{min-width:min(100%,200px)}
#einsatz .panelheader{align-items:center;margin-bottom:14px}
#einsatz .panelheader h2{margin:0}

/* One stable map card. It has a separate header so the visibility toggle is
   available even while the map itself is hidden. */
#einsatz .ops-map-shell{margin-top:2px;padding:12px;background:var(--m3-surface-container,var(--surface));border:1px solid var(--m3-outline-variant,var(--line));border-radius:var(--m3-radius-lg,18px);min-width:0}
#einsatz .ops-map-shell-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
#einsatz .ops-map-shell-head h3{font-size:15px;font-weight:600;margin:0;line-height:1.4}
#einsatz .ops-map-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-width:145px;min-height:40px;padding:7px 13px;border:1px solid var(--m3-outline-variant,var(--line));background:var(--panel);color:var(--primary);box-shadow:none;white-space:nowrap}
#einsatz .ops-map-toggle svg{width:18px;height:18px;flex:none;transition:transform .18s ease}
#einsatz .ops-map-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}
#einsatz .ops-map-toggle:hover{background:var(--m3-surface-high,var(--surface))}
#einsatz .ops-map{border:0;background:transparent;padding:0;margin:7px 0 0;border-radius:0;overflow:visible}
#einsatz .ops-map[hidden]{display:none!important}
#einsatz .ops-map-head{justify-content:flex-end;margin:0 0 8px;min-height:32px}
#einsatz .ops-map-head .ops-map-controls{justify-content:flex-end}
#einsatz .ops-map-controls button{min-width:36px;min-height:36px;border-radius:18px;background:var(--panel)}
#einsatz .ops-map-canvas{border-radius:12px}
#einsatz .ops-map-info{right:12px;top:53px;max-width:min(365px,calc(100% - 24px))}
#einsatz .ops-map>p.muted.small{display:none!important}
body.ops-diagnostics-open:has(#opsDiagnostics[open]:not([style*="display: none"])) #einsatz .ops-map>p.muted.small{display:block!important;margin:7px 0 0!important}

/* Diagnostics only via explicit disclosure for staff roles. The original
   status and counts remain in DOM and continue updating normally. */
#einsatz .ops-diagnostics{margin:12px 0 0;border:1px solid var(--m3-outline-variant,var(--line));border-radius:12px;background:var(--m3-surface-container,var(--surface));overflow:hidden}
#einsatz .ops-diagnostics summary{cursor:pointer;padding:11px 14px;color:var(--muted);font-size:12px;font-weight:600;min-height:42px;display:list-item;list-style-position:inside}
#einsatz .ops-diagnostics[open] summary{border-bottom:1px solid var(--line)}
#einsatz .ops-diagnostics-content{padding:12px 14px 14px;color:var(--muted);font-size:12px}
#einsatz .ops-diagnostics-content>p{margin:0 0 8px}
#einsatz .ops-diagnostics-content>.notice{margin:4px 0 9px;padding:9px 12px}
#einsatz .ops-diagnostics:not([open]) .ops-diagnostics-content{display:none}
#einsatz .ops-sensors{margin-top:12px}

@media(max-width:600px){
 #einsatz .ops-map-shell{padding:10px}
 #einsatz .ops-map-shell-head{flex-wrap:wrap;gap:6px 10px}
 #einsatz .ops-map-shell-head h3{flex:1 1 185px}
 #einsatz .ops-map-toggle{min-width:0;padding:7px 12px}
 #einsatz .ops-map-head{margin-top:4px}
 #einsatz .ops-map-info{position:relative;top:auto;right:auto;max-width:100%;max-height:215px;margin:8px 0 0;overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){#einsatz .ops-map-toggle svg{transition:none}}
