.dbsm-wrapper { max-width: 100%; }
.dbsm-wrapper table { width: 100%; border-collapse: collapse; }
.dbsm-wrapper th, .dbsm-wrapper td { padding: .6rem .8rem; border-bottom: 1px solid #e5e7eb; vertical-align: top; }
.dbsm-wrapper thead th { text-align: left; font-weight: 600; }
.dbsm-wrapper table tbody tr:nth-child(even),
.dbsm-wrapper table tbody tr:nth-child(even) > *,
.dbsm-wrapper table tbody tr.table-light,
.dbsm-wrapper table tbody tr.table-light > * {
  background-color: #f8f9fa !important;
}
.dbsm-wrapper p {margin: 0!important;}
  /* Ampel-Farben (anpassbar an dein CSS-Framework) */
.text-success { color: #166534; }
.text-warning { color: #b45309; }
.text-danger  { color: #991b1b; }

/* Mobile: Tabellenzeilen werden "untereinander" gestapelt */
@media (max-width: 640px) {
  .dbsm-wrapper thead { display: none; }
  .dbsm-wrapper table, .dbsm-wrapper tbody, .dbsm-wrapper tr, .dbsm-wrapper td { display: block; width: 100%; }
  .dbsm-wrapper tr { margin-bottom: 1rem; border: 1px solid #e5e7eb; border-radius: .5rem; padding: .4rem .6rem; }
  .dbsm-wrapper td { border: none; position: relative; padding-left: 50%; }
  .dbsm-wrapper td::before {
    content: attr(data-label);
    position: absolute; left: .8rem; top: .6rem; font-weight: 600; width: 45%;
  }
}
