/* Modern Builder advanced 2.3.237 · zentrale-status-info-linkfix
   Vorsichtiger Dashboard-/Collapse-Comfort fuer die Modern Zentrale.
   Keine Runtime-, DB-, Livewert- oder Builder-Datenlogik-Aenderung.
*/

body.mzdp-dashboard-polish {
  --mzdp-border: rgba(148, 163, 184, .42);
  --mzdp-soft: rgba(255,255,255,.72);
  --mzdp-soft-2: rgba(248, 250, 252, .86);
  --mzdp-blue: #1d5f91;
  --mzdp-green: #16a34a;
  --mzdp-amber: #f59e0b;
  --mzdp-red: #dc2626;
}

body.mzdp-dashboard-polish .mzdp-card,
body.mzdp-dashboard-polish .mzdp-panel {
  border: 1px solid var(--mzdp-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
  background: linear-gradient(180deg, var(--mzdp-soft), var(--mzdp-soft-2)) !important;
}

body.mzdp-dashboard-polish .mzdp-section-title,
body.mzdp-dashboard-polish h2,
body.mzdp-dashboard-polish h3 {
  letter-spacing: -.015em;
}

body.mzdp-dashboard-polish .mzdp-system-card,
body.mzdp-dashboard-polish .mzdp-status-tile,
body.mzdp-dashboard-polish .mzdp-stat-tile {
  position: relative;
  overflow: hidden;
}

body.mzdp-dashboard-polish .mzdp-system-card::before,
body.mzdp-dashboard-polish .mzdp-status-tile::before,
body.mzdp-dashboard-polish .mzdp-stat-tile::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #34d399, #22c55e);
  opacity: .95;
}

body.mzdp-dashboard-polish .mzdp-status-warn::before { background: linear-gradient(180deg, #fbbf24, #f59e0b) !important; }
body.mzdp-dashboard-polish .mzdp-status-bad::before { background: linear-gradient(180deg, #f87171, #dc2626) !important; }

body.mzdp-dashboard-polish .mzdp-actions-grid,
body.mzdp-dashboard-polish .mzdp-start-actions {
  gap: 10px !important;
}

body.mzdp-dashboard-polish .mzdp-action-card,
body.mzdp-dashboard-polish .mzdp-tool-row,
body.mzdp-dashboard-polish .mzdp-backup-row,
body.mzdp-dashboard-polish .mzdp-file-row {
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

body.mzdp-dashboard-polish .mzdp-action-card:hover,
body.mzdp-dashboard-polish .mzdp-tool-row:hover,
body.mzdp-dashboard-polish .mzdp-backup-row:hover,
body.mzdp-dashboard-polish .mzdp-file-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08) !important;
  border-color: rgba(37, 99, 235, .28) !important;
}

body.mzdp-dashboard-polish .mzdp-kpi-value {
  font-size: clamp(1.15rem, 1.4vw, 1.65rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
}

body.mzdp-dashboard-polish .mzdp-kpi-label {
  color: #475569 !important;
  font-size: .84rem !important;
}

body.mzdp-dashboard-polish .mzdp-pill,
body.mzdp-dashboard-polish .mzdp-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border-radius: 999px !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(148,163,184,.38) !important;
  background: rgba(255,255,255,.78) !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body.mzdp-dashboard-polish .mzdp-pill-ok { color: #166534 !important; background: #dcfce7 !important; border-color: #bbf7d0 !important; }
body.mzdp-dashboard-polish .mzdp-pill-warn { color: #92400e !important; background: #fef3c7 !important; border-color: #fde68a !important; }
body.mzdp-dashboard-polish .mzdp-pill-bad { color: #991b1b !important; background: #fee2e2 !important; border-color: #fecaca !important; }

body.mzdp-dashboard-polish .mzdp-tools-section,
body.mzdp-dashboard-polish .mzdp-rare-tools,
body.mzdp-dashboard-polish .mzdp-technical-section {
  border-radius: 14px !important;
  overflow: hidden;
}

body.mzdp-dashboard-polish .mzdp-rare-tools .mzdp-tool-row,
body.mzdp-dashboard-polish .mzdp-technical-section .mzdp-file-row {
  min-height: 38px !important;
  border-bottom: 1px solid rgba(148,163,184,.26) !important;
}

body.mzdp-dashboard-polish .mzdp-rare-tools .mzdp-tool-count {
  margin-left: auto !important;
  opacity: .85 !important;
  font-size: .86rem !important;
}

body.mzdp-dashboard-polish .mzdp-backup-current {
  border-color: rgba(34,197,94,.35) !important;
  background: linear-gradient(90deg, rgba(220,252,231,.72), rgba(255,255,255,.86)) !important;
}

body.mzdp-dashboard-polish .mzdp-table-polish table,
body.mzdp-dashboard-polish table.mzdp-table-polish {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.mzdp-dashboard-polish .mzdp-table-polish tr,
body.mzdp-dashboard-polish table.mzdp-table-polish tr {
  transition: background-color .12s ease;
}

body.mzdp-dashboard-polish .mzdp-table-polish tr:hover,
body.mzdp-dashboard-polish table.mzdp-table-polish tr:hover {
  background: rgba(241,245,249,.82) !important;
}

body.mzdp-dashboard-polish .mzdp-table-polish th,
body.mzdp-dashboard-polish table.mzdp-table-polish th {
  background: rgba(226,232,240,.45) !important;
  color: #334155 !important;
  font-size: .82rem !important;
  text-transform: none !important;
}

body.mzdp-dashboard-polish .mzdp-table-polish td,
body.mzdp-dashboard-polish table.mzdp-table-polish td {
  vertical-align: middle !important;
}

body.mzdp-dashboard-polish .mzdp-dashboard-hint {
  border: 1px solid rgba(37,99,235,.20);
  background: rgba(239,246,255,.78);
  border-radius: 14px;
  padding: 9px 12px;
  color: #334155;
  font-weight: 700;
}

body.mzdp-dashboard-polish .mzdp-dashboard-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 10px 0 12px;
}

body.mzdp-dashboard-polish .mzdp-dashboard-summary .mzdp-summary-item {
  border: 1px solid rgba(148,163,184,.32);
  background: rgba(255,255,255,.75);
  border-radius: 14px;
  padding: 10px 12px;
}

body.mzdp-dashboard-polish .mzdp-dashboard-summary strong {
  display: block;
  font-size: 1.15rem;
  line-height: 1.05;
  margin-bottom: 3px;
}

body.mzdp-dashboard-polish .mzdp-dashboard-summary span {
  color: #64748b;
  font-size: .82rem;
}

@media (max-width: 900px) {
  body.mzdp-dashboard-polish .mzdp-dashboard-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.mzdp-dashboard-polish .mzdp-rare-tools .mzdp-tool-row,
  body.mzdp-dashboard-polish .mzdp-technical-section .mzdp-file-row {
    min-height: 44px !important;
  }
}

@media (max-width: 560px) {
  body.mzdp-dashboard-polish .mzdp-dashboard-summary {
    grid-template-columns: 1fr;
  }
}


/* 2.3.233 · Collapse Comfort -------------------------------------------------
   Nur Bedienkomfort: Einklappbare Zentrale-Bereiche, kompakter Dateicheck,
   Backup-Hervorhebung. Keine Datenlogik-Aenderung.
*/
body.mzdp-dashboard-polish.mzca-collapse-comfort {
  --mzca-line: rgba(148, 163, 184, .34);
  --mzca-head: rgba(239, 246, 255, .76);
  --mzca-head-2: rgba(248, 250, 252, .92);
}

body.mzca-collapse-comfort .mzca-section-head,
body.mzca-collapse-comfort .mzca-group-head {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 34px !important;
}

body.mzca-collapse-comfort .mzca-section-head > .mzca-heading-text,
body.mzca-collapse-comfort .mzca-group-head > .mzca-heading-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.mzca-collapse-comfort .mzca-toggle,
body.mzca-collapse-comfort .mzca-toggle-all,
body.mzca-collapse-comfort .mzca-reset-state {
  border: 1px solid rgba(59, 130, 246, .22) !important;
  background: rgba(255,255,255,.86) !important;
  color: #1e3a5f !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 10px rgba(15,23,42,.05) !important;
}

body.mzca-collapse-comfort .mzca-toggle:hover,
body.mzca-collapse-comfort .mzca-toggle-all:hover,
body.mzca-collapse-comfort .mzca-reset-state:hover {
  border-color: rgba(37, 99, 235, .45) !important;
  background: #eff6ff !important;
}

body.mzca-collapse-comfort .mzca-section-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 6px 0 10px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(191, 219, 254, .72) !important;
  border-radius: 14px !important;
  background: rgba(239, 246, 255, .55) !important;
}

body.mzca-collapse-comfort .mzca-section-toolbar small {
  color: #475569 !important;
  font-weight: 700 !important;
  margin-right: auto !important;
}

body.mzca-collapse-comfort .mzca-collapsible-panel {
  border-color: rgba(148,163,184,.34) !important;
}

body.mzca-collapse-comfort .mzca-collapsible-panel > .mzca-collapsible-body {
  transition: opacity .14s ease, transform .14s ease;
}

body.mzca-collapse-comfort .mzca-collapsible-panel.mzca-is-collapsed > .mzca-collapsible-body {
  display: none !important;
}

body.mzca-collapse-comfort .mzca-collapsible-panel.mzca-is-collapsed {
  background: linear-gradient(180deg, rgba(248,250,252,.94), rgba(241,245,249,.82)) !important;
}

body.mzca-collapse-comfort .mzca-collapsible-panel.mzca-is-collapsed .mzca-toggle::before,
body.mzca-collapse-comfort .mzca-group-collapsed .mzca-toggle::before {
  content: "▸ ";
}

body.mzca-collapse-comfort .mzca-collapsible-panel:not(.mzca-is-collapsed) .mzca-toggle::before,
body.mzca-collapse-comfort .mzca-group-head:not(.mzca-group-collapsed) .mzca-toggle::before {
  content: "▾ ";
}

body.mzca-collapse-comfort .mzca-group-head {
  padding: 9px 12px !important;
  margin-top: 8px !important;
  border: 1px solid var(--mzca-line) !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, var(--mzca-head), var(--mzca-head-2)) !important;
}

body.mzca-collapse-comfort .mzca-group-content-hidden {
  display: none !important;
}

body.mzca-collapse-comfort .mzca-technical-section.mzca-is-collapsed,
body.mzca-collapse-comfort .mzca-dateicheck-compact {
  min-height: auto !important;
}

body.mzca-collapse-comfort .mzca-dateicheck-summary {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin: 6px 0 8px !important;
  color: #334155 !important;
}

body.mzca-collapse-comfort .mzca-dateicheck-summary span {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  background: rgba(255,255,255,.82) !important;
  font-weight: 800 !important;
}

body.mzca-collapse-comfort .mzca-latest-backup,
body.mzca-collapse-comfort tr.mzca-latest-backup > td {
  background: linear-gradient(90deg, rgba(220,252,231,.88), rgba(255,255,255,.84)) !important;
}

body.mzca-collapse-comfort tr.mzca-latest-backup > td:first-child::before,
body.mzca-collapse-comfort .mzca-latest-backup:not(tr)::before {
  content: "Aktuell";
  display: inline-flex;
  margin-right: 7px;
  border-radius: 999px;
  padding: 2px 7px;
  background: #dcfce7;
  color: #166534;
  font-weight: 900;
  font-size: .74rem;
}

body.mzca-collapse-comfort .mzca-backup-section .mzca-collapsible-body,
body.mzca-collapse-comfort .mzca-technical-section .mzca-collapsible-body {
  padding-top: 4px !important;
}

body.mzca-collapse-comfort .mzca-collapse-note {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  padding: 4px 8px !important;
  color: #475569 !important;
  background: rgba(241,245,249,.82) !important;
  border: 1px solid rgba(148,163,184,.28) !important;
  font-weight: 800 !important;
  font-size: .76rem !important;
}

@media (max-width: 760px) {
  body.mzca-collapse-comfort .mzca-section-head,
  body.mzca-collapse-comfort .mzca-group-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.mzca-collapse-comfort .mzca-section-toolbar {
    align-items: stretch !important;
  }
  body.mzca-collapse-comfort .mzca-toggle,
  body.mzca-collapse-comfort .mzca-toggle-all,
  body.mzca-collapse-comfort .mzca-reset-state {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* Modern Builder advanced 2.3.234 · System-Cockpit-Link/Page removal fallback
   Entfernt nur verbliebene Links/Buttons zur alten Detailseite optisch, falls eine PHP-Datei sie noch ausgibt. */
body.mzca-system-cockpit-removal .mzca-system-cockpit-removed {
  display: none !important;
}
body.mzca-system-cockpit-removal .mzsc-removed-note {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  padding: 4px 9px !important;
  background: rgba(241,245,249,.88) !important;
  border: 1px solid rgba(148,163,184,.30) !important;
  color: #475569 !important;
  font-weight: 800 !important;
  font-size: .75rem !important;
}


/* Modern Builder advanced 2.3.235 · Zentrale Duplicate Cleanup
   Entfernt nur doppelte Komfort-/Hinweis-Elemente aus der Zentrale. */
body.mzdc-duplicate-cleanup .mzca-section-toolbar,
body.mzdc-duplicate-cleanup .mzsc-removed-note {
  display: none !important;
}
body.mzdc-duplicate-cleanup .mzdp-system-cockpit .mzsc-removed-note {
  display: none !important;
}
body.mzdc-duplicate-cleanup .mzdp-system-cockpit {
  position: relative !important;
}
body.mzdc-duplicate-cleanup .mzdp-system-cockpit .mzca-toggle-all,
body.mzdc-duplicate-cleanup .mzdp-system-cockpit .mzca-reset-state {
  display: none !important;
}
body.mzdc-duplicate-cleanup .mzdp-system-cockpit .mzca-toggle,
body.mzdc-duplicate-cleanup .mzdp-system-cockpit button:not(.mzca-toggle-all):not(.mzca-reset-state) {
  white-space: nowrap !important;
}


/* Modern Builder advanced 2.3.236 · Zentrale Status Info Fix
   Korrigiert nur Anzeige-Texte im System-Cockpit, keine Datenquelle. */
body.mzsf-status-info-fix .mzsf-normalized {
  box-shadow: inset 4px 0 0 rgba(34,197,94,.38), 0 1px 0 rgba(255,255,255,.75) !important;
}
body.mzsf-status-info-fix .mzsf-normalized .mzsf-value,
body.mzsf-status-info-fix .mzsf-normalized b,
body.mzsf-status-info-fix .mzsf-normalized strong {
  letter-spacing: .01em !important;
}
body.mzsf-status-info-fix .mzsf-source-note {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-left: 8px !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: rgba(226,232,240,.7) !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
}
body.mzsf-status-info-fix .mzdp-system-cockpit .mzdp-status-tile {
  min-height: 58px !important;
}


/* Modern Builder advanced 2.3.237 · Zentrale Status-Info Link/Fix
   Nachkorrektur fuer Cockpit-Anzeigen und falschen Repair-Link aus 2.3.236. */
body.mzsf-hard-status-fix-237 .mzsf-normalized,
body.mzsf-hard-status-fix-237 [data-mzsf-fixed="1"] {
  box-shadow: inset 4px 0 0 rgba(34,197,94,.42), 0 1px 0 rgba(255,255,255,.75) !important;
}
body.mzsf-hard-status-fix-237 [data-mzsf-fixed="1"] b,
body.mzsf-hard-status-fix-237 [data-mzsf-fixed="1"] strong {
  color: #0f172a !important;
}
body.mzsf-hard-status-fix-237 .mzsf-fix-note { display:none !important; }


/* 2.3.238 · Summary Dedup Fix -----------------------------------------------
   Entfernt doppelte Alarm-KPI-Karten im rechten Kennzahlenblock der Zentrale.
   Keine Datenlogik-Aenderung. */
body.mzdp-dashboard-polish .mzsf-hide-summary-duplicate {
  display: none !important;
}

body.mzdp-dashboard-polish .mzsf-summary-dedup-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}


/* 2.3.239 · KPI Dedup Fix ----------------------------------------------------
   Blendet im rechten KPI-Zusammenfassungsblock doppelte Karten für
   "aktive Alarme" und "nicht quittiert" aus. */
body.mzdp-dashboard-polish .mzkdf-hide-kpi-duplicate {
  display: none !important;
}

body.mzdp-dashboard-polish .mzkdf-kpi-grid-tight {
  grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
}


/* 2.3.244 · Alarm KPI Hardremove --------------------------------------------
   Entfernt die doppelten Alarm-KPI-Karten im rechten Kennzahlenblock.
   Das obere System-Cockpit bleibt unverändert. */
body.mzdp-dashboard-polish .mzakhr-hide-duplicate-alarm-kpi,
.mzakhr-hide-duplicate-alarm-kpi {
  display: none !important;
}

body.mzdp-dashboard-polish .mzakhr-summary-compacted {
  align-content: start !important;
}
