.bve-mm-wrap{font-family:inherit;color:inherit}.bve-mm-stats{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px;margin:0 0 20px}.bve-mm-stat{background:#fff;border:1px solid #e1e5ea;border-top:4px solid #4066af;border-radius:9px;padding:13px 14px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.bve-mm-stat strong{display:block;font-size:24px;line-height:1.1;color:#222}.bve-mm-stat span{display:block;margin-top:5px;font-size:12px;color:#5e6670;line-height:1.25}.bve-mm-stat-geplant{border-top-color:#6b93d6}.bve-mm-stat-vorbereitung{border-top-color:#d9a900}.bve-mm-stat-umsetzung{border-top-color:#4066af}.bve-mm-stat-abgeschlossen{border-top-color:#2e8b57}.bve-mm-stat-zurueckgestellt{border-top-color:#888}.bve-mm-stat-nicht_umgesetzt{border-top-color:#c44}.bve-mm-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.bve-mm-view-switch{display:inline-flex;border:1px solid #d7dce2;border-radius:8px;overflow:hidden;background:#fff}.bve-mm-view{border:0;background:#fff;padding:10px 16px;cursor:pointer;font:inherit}.bve-mm-view+.bve-mm-view{border-left:1px solid #d7dce2}.bve-mm-view.active{background:#4066af;color:#fff}.bve-mm-count{color:#555}.bve-mm-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.bve-mm-toolbar input,.bve-mm-toolbar select,.bve-mm-reset{min-height:42px;padding:8px 11px;border:1px solid #ccd0d4;border-radius:6px;background:#fff;font:inherit}.bve-mm-search{flex:1 1 270px}.bve-mm-toolbar select{flex:0 1 190px}.bve-mm-reset{cursor:pointer}.bve-mm-table-scroll{overflow-x:auto}.bve-mm-table{width:100%;border-collapse:collapse;background:#fff}.bve-mm-table th,.bve-mm-table td{padding:12px 10px;border-bottom:1px solid #e6e8eb;text-align:left;vertical-align:middle}.bve-mm-table th{font-weight:700;white-space:nowrap}.bve-mm-sort{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.bve-mm-sort span{font-weight:400;color:#7b838c}.bve-mm-sort.active{color:#4066af}.bve-mm-open-detail{cursor:pointer}.bve-mm-table tr.bve-mm-open-detail:hover{background:#f5f8fc}.bve-mm-table tr.bve-mm-open-detail:focus{outline:2px solid #4066af;outline-offset:-2px}.bve-mm-title-link{color:#315ea8;font-weight:600}.bve-mm-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef1f5;font-size:.88em;white-space:nowrap;border:1px solid transparent}.bve-mm-status-geplant{background:#e8f0fe;border-color:#cbdaf6}.bve-mm-status-vorbereitung{background:#fff3cd;border-color:#ead893}.bve-mm-status-umsetzung{background:#dbeafe;border-color:#b9d1f2;font-weight:600}.bve-mm-status-abgeschlossen{background:#dcfce7;border-color:#b9e7c7;font-weight:600}.bve-mm-status-zurueckgestellt{background:#f3f4f6;border-color:#dddfe3}.bve-mm-status-nicht_umgesetzt{background:#fee2e2;border-color:#f1bcbc}.bve-mm-priority{display:inline-block;padding:5px 9px;border-radius:999px;background:#f3f4f6;font-size:.88em}.bve-mm-progress{width:110px;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:3px}.bve-mm-progress span{display:block;height:100%;background:#4066af}.bve-mm-progress.wide{width:100%;margin:5px 0 0}.bve-mm-kanban{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:14px;overflow-x:auto;padding:2px 2px 16px}.bve-mm-column{background:#f5f6f8;border:1px solid #e1e4e8;border-radius:9px;min-height:180px;border-top:4px solid #9aa2aa}.bve-mm-column-geplant{border-top-color:#6b93d6}.bve-mm-column-vorbereitung{border-top-color:#d9a900}.bve-mm-column-umsetzung{border-top-color:#4066af}.bve-mm-column-abgeschlossen{border-top-color:#2e8b57}.bve-mm-column-zurueckgestellt{border-top-color:#888}.bve-mm-column-nicht_umgesetzt{border-top-color:#c44}.bve-mm-column>header{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:13px;border-bottom:1px solid #e1e4e8}.bve-mm-column-count{min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;font-size:12px}.bve-mm-cards{padding:10px}.bve-mm-card{background:#fff;border:1px solid #e2e5e9;border-radius:8px;padding:13px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .12s ease,box-shadow .12s ease}.bve-mm-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.08)}.bve-mm-card:focus{outline:2px solid #4066af;outline-offset:2px}.bve-mm-card-number{font-size:12px;font-weight:700;color:#4066af;margin-bottom:5px}.bve-mm-card h3{font-size:16px;line-height:1.3;margin:0 0 9px}.bve-mm-card .bve-mm-status{margin-bottom:7px}.bve-mm-card-meta,.bve-mm-card-date{font-size:13px;color:#626b76;margin-top:5px}.bve-mm-card-progress{margin-top:12px}.bve-mm-card-progress>div:first-child{display:flex;justify-content:space-between;font-size:12px}.bve-mm-card-more{margin-top:12px;color:#4066af;font-size:13px;font-weight:600}.bve-mm-kanban-empty,.bve-mm-noresults td{text-align:center;padding:24px;color:#666}.bve-mm-panel[hidden]{display:none!important}.bve-mm-modal[hidden]{display:none!important}.bve-mm-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.bve-mm-modal-backdrop{position:absolute;inset:0;background:rgba(10,18,28,.58)}.bve-mm-modal-dialog{position:relative;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.bve-mm-modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#555}.bve-mm-modal-number{font-size:13px;font-weight:700;color:#4066af;text-transform:uppercase;letter-spacing:.03em;margin-right:40px}.bve-mm-modal-title{font-size:26px;line-height:1.25;margin:5px 42px 12px 0}.bve-mm-modal-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.bve-mm-detail-grid{display:grid;grid-template-columns:170px 1fr;gap:8px 16px;margin:0;padding:16px 0;border-top:1px solid #e6e8eb;border-bottom:1px solid #e6e8eb}.bve-mm-detail-grid dt{font-weight:700;color:#4b535d}.bve-mm-detail-grid dd{margin:0}.bve-mm-detail-section{margin-top:20px}.bve-mm-detail-section h3{font-size:17px;margin:0 0 7px}.bve-mm-detail-section p{margin:0;white-space:pre-line}.bve-mm-detail-link{margin-top:22px}.bve-mm-detail-link a{display:inline-block;background:#4066af;color:#fff!important;text-decoration:none;padding:10px 14px;border-radius:7px;font-weight:600}.bve-mm-modal-open{overflow:hidden}
@media(max-width:1100px){.bve-mm-stats{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media(max-width:700px){.bve-mm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bve-mm-topbar{align-items:flex-start;flex-direction:column}.bve-mm-toolbar>*{flex:1 1 100%!important}.bve-mm-table{font-size:14px}.bve-mm-table th,.bve-mm-table td{padding:9px 7px}.bve-mm-kanban{grid-template-columns:repeat(6,minmax(82vw,1fr))}.bve-mm-modal{padding:12px}.bve-mm-modal-dialog{padding:22px 18px}.bve-mm-modal-title{font-size:22px}.bve-mm-detail-grid{grid-template-columns:1fr;gap:3px}.bve-mm-detail-grid dd{margin-bottom:8px}}


/* v0.5.1 – Tabellenlayout und responsive Darstellung */
.bve-mm-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.bve-mm-table {
    width: 100%;
    min-width: 1050px;
    table-layout: auto;
}

.bve-mm-table th,
.bve-mm-table td {
    vertical-align: middle;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.bve-mm-table th:nth-child(1),
.bve-mm-table td:nth-child(1) {
    width: 130px;
    min-width: 130px;
}

.bve-mm-table th:nth-child(2),
.bve-mm-table td:nth-child(2) {
    width: 34%;
    min-width: 300px;
}

.bve-mm-table th:nth-child(3),
.bve-mm-table td:nth-child(3) {
    min-width: 115px;
}

.bve-mm-table th:nth-child(4),
.bve-mm-table td:nth-child(4) {
    min-width: 120px;
    white-space: nowrap;
}

.bve-mm-table th:nth-child(5),
.bve-mm-table td:nth-child(5) {
    min-width: 140px;
    white-space: nowrap;
}

.bve-mm-table th:nth-child(6),
.bve-mm-table td:nth-child(6) {
    min-width: 125px;
    white-space: nowrap;
}

.bve-mm-table th:nth-child(7),
.bve-mm-table td:nth-child(7) {
    min-width: 110px;
    white-space: nowrap;
}

.bve-mm-progress-track {
    max-width: 110px;
}

.bve-mm-table td:nth-child(6) .bve-mm-progress-track:has(.bve-mm-progress-bar[style*="width:0%"]),
.bve-mm-table td:nth-child(6) .bve-mm-progress-track:has(.bve-mm-progress-bar[style*="width: 0%"]) {
    opacity: .55;
}

@media (max-width: 1100px) {
    .bve-mm-table {
        min-width: 1000px;
    }
}

@media (max-width: 767px) {
    .bve-mm-table {
        min-width: 980px;
    }

    .bve-mm-table th,
    .bve-mm-table td {
        white-space: normal;
    }

    .bve-mm-table th:nth-child(1),
    .bve-mm-table td:nth-child(1),
    .bve-mm-table th:nth-child(4),
    .bve-mm-table td:nth-child(4),
    .bve-mm-table th:nth-child(5),
    .bve-mm-table td:nth-child(5),
    .bve-mm-table th:nth-child(6),
    .bve-mm-table td:nth-child(6),
    .bve-mm-table th:nth-child(7),
    .bve-mm-table td:nth-child(7) {
        white-space: nowrap;
    }
}


/* v0.5.2 – Feinschliff Tabelle */
.bve-mm-table th:nth-child(1),
.bve-mm-table td:nth-child(1) {
    min-width: 150px;
    width: 150px;
    white-space: nowrap !important;
}

.bve-mm-table th:nth-child(2),
.bve-mm-table td:nth-child(2) {
    width: auto;
    min-width: 320px;
}

.bve-mm-table tbody tr {
    transition: background-color .15s ease, box-shadow .15s ease;
    cursor: pointer;
}

.bve-mm-table tbody tr:hover {
    background-color: rgba(64, 102, 175, 0.055);
    box-shadow: inset 3px 0 0 #4066af;
}

.bve-mm-table tbody tr:focus-within {
    background-color: rgba(64, 102, 175, 0.075);
}

.bve-mm-table td:nth-child(2) a {
    display: inline-block;
    max-width: 100%;
}

@media (max-width: 767px) {
    .bve-mm-table th:nth-child(1),
    .bve-mm-table td:nth-child(1) {
        min-width: 150px;
        width: 150px;
        white-space: nowrap !important;
    }

    .bve-mm-table th:nth-child(2),
    .bve-mm-table td:nth-child(2) {
        min-width: 300px;
    }
}


/* v0.5.3 – kompaktere Kanban-Ansicht */
.bve-mm-kanban {
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 10px;
}

.bve-mm-kanban-column {
    flex: 0 0 245px;
    width: 245px;
    min-width: 245px;
    align-self: flex-start;
    min-height: 150px;
}

.bve-mm-kanban-column-body {
    min-height: 95px;
    padding: 10px;
}

.bve-mm-kanban-card {
    padding: 12px;
    margin-bottom: 10px;
}

.bve-mm-kanban-card:last-child {
    margin-bottom: 0;
}

.bve-mm-kanban-card h3,
.bve-mm-kanban-card h4,
.bve-mm-kanban-card .bve-mm-card-title {
    margin-top: 4px;
    margin-bottom: 8px;
    line-height: 1.25;
}

.bve-mm-kanban-card .bve-mm-card-meta,
.bve-mm-kanban-card p {
    margin-top: 4px;
    margin-bottom: 4px;
}

.bve-mm-kanban-card .bve-mm-progress {
    margin-top: 8px;
    margin-bottom: 5px;
}

.bve-mm-kanban-card .bve-mm-details-link {
    display: inline-block;
    margin-top: 9px;
}

/* In einer Kanban-Spalte ist der Status bereits durch die Spaltenüberschrift eindeutig. */
.bve-mm-kanban-card .bve-mm-status,
.bve-mm-kanban-card .bve-mm-status-badge {
    display: none !important;
}

@media (min-width: 1200px) {
    .bve-mm-kanban-column {
        flex-basis: 240px;
        width: 240px;
        min-width: 240px;
    }
}

@media (max-width: 767px) {
    .bve-mm-kanban {
        gap: 10px;
    }

    .bve-mm-kanban-column {
        flex: 0 0 230px;
        width: 230px;
        min-width: 230px;
    }
}


/* v0.5.4 – Kanban-Feinschliff nach Entfernen des redundanten Status-Badges */
.bve-mm-kanban-card {
    padding-top: 11px;
    padding-bottom: 11px;
}

.bve-mm-kanban-card .bve-mm-card-title,
.bve-mm-kanban-card h3,
.bve-mm-kanban-card h4 {
    margin-bottom: 7px;
}

.bve-mm-kanban-card .bve-mm-card-meta:first-of-type,
.bve-mm-kanban-card p:first-of-type {
    margin-top: 3px;
}


/* v0.6.0 – Priorität und Überfällig-Kennzeichnung */
.bve-mm-priority {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    border: 1px solid rgba(0,0,0,.10);
}
.bve-mm-priority-niedrig { background: #eef7ee; color: #27632a; }
.bve-mm-priority-mittel  { background: #fff6d8; color: #765b00; }
.bve-mm-priority-hoch    { background: #fde8e8; color: #a12622; }
.bve-mm-priority-none    { background: #f3f4f6; color: #666; }

.bve-mm-overdue {
    box-shadow: inset 4px 0 0 #b42318 !important;
}
.bve-mm-overdue-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #fde8e8;
    color: #a12622;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
.bve-mm-kanban-card.bve-mm-overdue {
    border-left: 4px solid #b42318;
}

/* v0.6.1 – serverseitige Priorität/Überfällig-Ausgabe */
.bve-mm-table th:nth-child(6),
.bve-mm-table td:nth-child(6) { min-width: 105px; white-space: nowrap; }
.bve-mm-card-priority { margin-top: 7px; margin-bottom: 4px; }
.bve-mm-card-date .bve-mm-overdue-badge,
.bve-mm-table td .bve-mm-overdue-badge { margin-left: 7px; }

/* v0.6.2 – Priorität zuverlässig in Tabelle und Kanban */
.bve-mm-table { min-width: 1160px; }
.bve-mm-table th:nth-child(6),
.bve-mm-table td:nth-child(6) {
    min-width: 105px;
    white-space: nowrap;
}
.bve-mm-card-priority {
    margin: 7px 0 5px;
}
.bve-mm-priority-niedrig::before { content: "● "; }
.bve-mm-priority-mittel::before  { content: "● "; }
.bve-mm-priority-hoch::before    { content: "● "; }


/* v0.6.3 – Kanban-Priorität neben Maßnahmen-Nr. + kompaktere Tabelle */
.bve-mm-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
}

.bve-mm-card-head .bve-mm-card-number {
    margin: 0;
    min-width: 0;
}

.bve-mm-card-head .bve-mm-priority {
    flex: 0 0 auto;
    padding: 3px 7px;
    font-size: 11px;
}

.bve-mm-card-priority {
    display: none !important;
}

/* Tabelle etwas kompakter, damit Zieltermin/Überfällig besser sichtbar bleiben */
.bve-mm-table {
    min-width: 1080px;
}

.bve-mm-table th,
.bve-mm-table td {
    padding-left: 10px;
    padding-right: 10px;
}

.bve-mm-table th:nth-child(1),
.bve-mm-table td:nth-child(1) {
    min-width: 135px;
    width: 135px;
}

.bve-mm-table th:nth-child(2),
.bve-mm-table td:nth-child(2) {
    min-width: 280px;
}

.bve-mm-table th:nth-child(3),
.bve-mm-table td:nth-child(3) {
    min-width: 105px;
}

.bve-mm-table th:nth-child(4),
.bve-mm-table td:nth-child(4) {
    min-width: 105px;
}

.bve-mm-table th:nth-child(5),
.bve-mm-table td:nth-child(5) {
    min-width: 125px;
}

.bve-mm-table th:nth-child(6),
.bve-mm-table td:nth-child(6) {
    min-width: 90px;
}

.bve-mm-table th:nth-child(7),
.bve-mm-table td:nth-child(7) {
    min-width: 105px;
}

.bve-mm-table th:nth-child(8),
.bve-mm-table td:nth-child(8) {
    min-width: 150px;
    white-space: nowrap;
}

.bve-mm-table td:nth-child(8) .bve-mm-overdue-badge {
    display: inline-flex;
    margin-left: 5px;
    vertical-align: middle;
}

@media (max-width: 1100px) {
    .bve-mm-table {
        min-width: 1040px;
    }
}


/* v0.6.4 – Tabellen-Feinschliff für Zieltermin / Überfällig */
.bve-mm-table {
    min-width: 1040px;
}

.bve-mm-table th,
.bve-mm-table td {
    padding-left: 8px;
    padding-right: 8px;
}

.bve-mm-table th:nth-child(1),
.bve-mm-table td:nth-child(1) {
    min-width: 125px;
    width: 125px;
}

.bve-mm-table th:nth-child(2),
.bve-mm-table td:nth-child(2) {
    min-width: 260px;
}

.bve-mm-table th:nth-child(3),
.bve-mm-table td:nth-child(3) {
    min-width: 100px;
}

.bve-mm-table th:nth-child(4),
.bve-mm-table td:nth-child(4) {
    min-width: 95px;
}

.bve-mm-table th:nth-child(5),
.bve-mm-table td:nth-child(5) {
    min-width: 120px;
}

.bve-mm-table th:nth-child(6),
.bve-mm-table td:nth-child(6) {
    min-width: 85px;
}

.bve-mm-table th:nth-child(7),
.bve-mm-table td:nth-child(7) {
    min-width: 100px;
}

.bve-mm-table th:nth-child(8),
.bve-mm-table td:nth-child(8) {
    min-width: 115px;
    width: 115px;
    white-space: nowrap;
}

/* Überfällig in der Tabelle bewusst unter dem Datum statt daneben */
.bve-mm-table td:nth-child(8) .bve-mm-overdue-badge {
    display: table;
    margin: 5px 0 0 0;
    width: max-content;
}

/* Kanban aus 0.6.3 unverändert: dort bleibt das Badge neben dem Zieltermin */
.bve-mm-kanban .bve-mm-card-date .bve-mm-overdue-badge {
    display: inline-flex;
    margin-left: 6px;
    margin-top: 0;
}

@media (max-width: 1100px) {
    .bve-mm-table {
        min-width: 1020px;
    }
}


/* v0.7.0 – zusätzliche Filter */
.bve-mm-toolbar .bve-mm-filter-priority,
.bve-mm-toolbar .bve-mm-filter-overdue {
    flex: 0 1 170px;
}

@media (max-width: 900px) {
    .bve-mm-toolbar select,
    .bve-mm-toolbar .bve-mm-filter-priority,
    .bve-mm-toolbar .bve-mm-filter-overdue {
        flex: 1 1 180px;
    }
}

/* 0.9.4: Statistik-Karten als Status-Schnellfilter */
.bve-mm-stat{
  appearance:none;
  width:100%;
  margin:0;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;
}
@media (hover:hover) and (pointer:fine){
  .bve-mm-stat:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
}
.bve-mm-stat:focus-visible{outline:3px solid #4066af;outline-offset:3px}
.bve-mm-stat.active{background:#f4f7fc;box-shadow:0 0 0 2px #4066af inset,0 2px 7px rgba(0,0,0,.07)}
.bve-mm-stat.active strong,.bve-mm-stat.active span{color:inherit}
