/* Partner-Oberfläche P009 (ADR 006 (d)): Ergänzungen zu app/pbx.css (V003), nur Klassen, kein Inline-Stil (CSP style-src 'self'). */
table[data-rolle^='bestand048-'] { table-layout: fixed; width: 100%; }
table[data-rolle^='bestand048-'] td { overflow-wrap: anywhere; }
table[data-rolle^='bestand048-'] td p { margin: 0 0 var(--pb-a-2xs); }
.pb-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--pb-a-m); }
.pb-formular { display: grid; gap: var(--pb-a-s); max-width: 520px; }
.pb-formular h2 { margin: 0 0 var(--pb-a-xs); font-size: var(--pb-schrift-xl); }
.pb-formular label { display: grid; gap: var(--pb-a-xs); font-size: var(--pb-schrift-s); color: var(--pb-muted); }
.pb-formular label.pb-haken { grid-template-columns: max-content 1fr; align-items: center; }
.pb-formular input, .pb-formular select, .pb-main td select { border: 1px solid var(--pb-line); border-radius: var(--pb-radius-klein); background: var(--pb-bg); color: var(--pb-ink); font: inherit; font-size: var(--pb-schrift-s); padding: var(--pb-a-s) var(--pb-a-s); }
.pb-main h2 { margin: 0 0 var(--pb-a-s); font-size: var(--pb-schrift-xl); }
.pb-main h3 { margin: 0 0 var(--pb-a-s); font-size: var(--pb-schrift-l); font-weight: 600; }
.pb-main .aktionen { display: flex; flex-wrap: wrap; gap: var(--pb-a-s); margin-top: var(--pb-a-m); }
.pb-main button:disabled { opacity: .45; cursor: not-allowed; }
.pb-meldungen { margin: 0 0 var(--pb-a-l); padding: var(--pb-a-m) var(--pb-a-l) var(--pb-a-m) var(--pb-a-2xl); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: var(--pb-panel); font-size: var(--pb-schrift-s); }
.pb-meldung-ok { color: var(--pb-accent); }
.pb-meldung-fehler { color: var(--pb-error); }
.pb-meldung-hinweis { color: var(--pb-warn); }
.pb-stufen-lauf { margin-bottom: var(--pb-a-l); grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.pb-stufen-lauf li { padding: var(--pb-a-m); }
.pb-stufen-lauf li.aktuell { border-color: var(--pb-accent); background: var(--pb-tint); }
.pb-stufen-lauf li.erledigt span { color: var(--pb-accent); }
tr.pb-unterdeckung td { color: var(--pb-error); font-weight: 600; }
.pb-protokoll h4 { margin: 0 0 var(--pb-a-s); font-size: var(--pb-schrift-m); }
.pb-protokoll h5 { margin: var(--pb-a-m) 0 var(--pb-a-xs); font-size: var(--pb-schrift-s); color: var(--pb-accent); }
.pb-protokoll p { margin: var(--pb-a-2xs) 0; font-size: var(--pb-schrift-s); }
.pb-protokoll .pb-p-klein { color: var(--pb-muted); font-size: var(--pb-schrift-xs); }
.pb-zuend { color: var(--pb-warn); background: var(--pb-warnbg); border-radius: var(--pb-radius-klein); padding: var(--pb-a-2xs) var(--pb-a-s); font-size: var(--pb-schrift-xs); }
@media (max-width: 620px) { .pb-formular { max-width: none; } .pb-stufen-lauf { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pb-reiter { display: flex; flex-wrap: wrap; gap: var(--pb-a-s); margin: var(--pb-a-s) 0 var(--pb-a-l); }
.pb-reiter button[aria-selected=true] { border-color: var(--pb-accent); color: var(--pb-accent); background: var(--pb-tint); }
.pb-ressource { margin: var(--pb-a-m) 0; }
.pb-ressource h4, .pb-detail h4 { margin: var(--pb-a-m) 0 var(--pb-a-s); font-size: var(--pb-schrift-m); }
.pb-json, .pb-vor { white-space: pre-wrap; font-size: var(--pb-schrift-xs); margin: 0; }
.pb-haken-liste { display: grid; gap: var(--pb-a-xs); margin: var(--pb-a-s) 0; }
.pb-haken { display: flex; gap: var(--pb-a-s); align-items: center; font-size: var(--pb-schrift-s); }
tr.pb-sonde-vorhanden td:nth-child(4) { color: var(--pb-accent); font-weight: 600; }
tr.pb-sonde-fehlt td:nth-child(4) { color: var(--pb-warn); }
tr.pb-sonde-fehler td:nth-child(4) { color: var(--pb-error); font-weight: 600; }

/* Bestehende Journalbedienung: Auswahl und Belege bleiben auch auf schmalen Ansichten lesbar. */
.pb-journal { margin-block: var(--pb-a-l); }
.pb-journal p { overflow-wrap: anywhere; }
.pb-journal select { width: 100%; min-width: 0; }

/* 215: gemeinsame Informationshierarchie für Kunden, Anlagen, Migrationen und Schablonen. */
.pb-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--pb-a-m); padding: var(--pb-a-l); margin-bottom: var(--pb-a-l); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: var(--pb-panel); }
.pb-toolbar > label { display: grid; flex: 1 1 240px; gap: var(--pb-a-xs); color: var(--pb-muted); font-size: var(--pb-schrift-s); }
.pb-toolbar :is(input,select) { width: 100%; min-width: 0; min-height: var(--pb-feldhoehe); padding: var(--pb-a-s) var(--pb-a-m); border: 1px solid var(--pb-line); border-radius: var(--pb-radius-klein); background: var(--pb-panel); color: var(--pb-ink); font: inherit; }
.pb-toolbar > p { flex: 0 1 auto; margin: 0; align-self: center; color: var(--pb-muted); font-size: var(--pb-schrift-s); }
.pb-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--pb-a-l); margin-block: var(--pb-a-l) var(--pb-a-xl); }
.pb-stats > .pb-stat { min-width: 0; padding: var(--pb-a-l) var(--pb-a-xl); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: var(--pb-panel); box-shadow: var(--pb-panel-schatten); }
.pb-stat strong { font-weight: 650; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pb-stat > span { color: var(--pb-muted); font-size: var(--pb-schrift-s); }
.pb-page-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: var(--pb-a-l); margin-block: var(--pb-a-l) var(--pb-a-xl); }
.pb-page-header h2 { margin: 0; font-size: var(--pb-schrift-2xl); font-weight: 700; letter-spacing: -.03em; }
.pb-page-header p, .pb-subtitle { margin: var(--pb-a-xs) 0 0; color: var(--pb-muted); font-size: var(--pb-schrift-s); }
.pb-sectionhead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--pb-a-m); margin-bottom: var(--pb-a-l); }
.pb-sectionhead h2, .pb-sectionhead h3 { margin: 0; }
.pb-customer-name { display: block; color: var(--pb-ink); font-weight: 650; overflow-wrap: anywhere; }
.pb-secondary { display: block; margin-top: var(--pb-a-2xs); color: var(--pb-muted); font-size: var(--pb-schrift-s); overflow-wrap: anywhere; }
.pb-statuspill { display: inline-flex; align-items: center; justify-content: center; gap: var(--pb-a-xs); max-width: 100%; padding: var(--pb-a-xs) var(--pb-a-s); border: 1px solid var(--pb-line); border-radius: var(--pb-radius-klein); background: var(--pb-soft); color: var(--pb-ink); font-size: var(--pb-schrift-xs); font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.pb-statuspill-aktiv { color: var(--pb-accent); background: var(--pb-tint); border-color: transparent; }
.pb-statuspill-inaktiv { color: var(--pb-muted); background: var(--pb-soft); }
.pb-statuspill-warnung { color: var(--pb-warn); background: var(--pb-warnbg); border-color: transparent; }
.pb-statuspill-fehler { color: var(--pb-error); background: var(--pb-errorbg); border-color: transparent; }
.pb-detailgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pb-a-xl); align-items: start; }
.pb-detailgrid > * { min-width: 0; }
.pb-meta { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 3fr); gap: var(--pb-a-s) var(--pb-a-l); margin: 0; }
.pb-meta dt, .pb-meta-label { color: var(--pb-muted); font-size: var(--pb-schrift-s); font-weight: 500; }
.pb-meta dd, .pb-meta-value { min-width: 0; margin: 0; color: var(--pb-ink); font-size: var(--pb-schrift-s); overflow-wrap: anywhere; }
.pb-meta-item { display: grid; gap: var(--pb-a-xs); padding-block: var(--pb-a-s); border-bottom: 1px solid var(--pb-line); }
.pb-disclosure { min-width: 0; margin-block: var(--pb-a-m); border: 1px solid var(--pb-line); border-radius: var(--pb-radius-klein); background: var(--pb-panel); }
.pb-disclosure > summary { padding: var(--pb-a-m) var(--pb-a-l); min-height: var(--pb-feldhoehe); color: var(--pb-muted); font-size: var(--pb-schrift-s); font-weight: 550; cursor: pointer; overflow-wrap: anywhere; }
.pb-disclosure > summary::marker { color: var(--pb-accent); }
.pb-disclosure[open] > summary { border-bottom: 1px solid var(--pb-line); color: var(--pb-ink); }
.pb-disclosure > :not(summary) { margin: var(--pb-a-l); }
.pb-disclosure .pb-meta { padding: 0; }
.pb-disclosure .pb-tablewrap { margin: 0; border-radius: 0; }
.pb-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--pb-a-m); padding: var(--pb-a-m) var(--pb-a-l); border-top: 1px solid var(--pb-line); color: var(--pb-muted); font-size: var(--pb-schrift-s); }
.pb-json, .pb-vor { padding: var(--pb-a-m); border-radius: var(--pb-radius-klein); background: var(--pb-soft); color: var(--pb-ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; line-height: 1.6; overflow-wrap: anywhere; }
.pb-main .pb-meldungen { border-left: 3px solid var(--pb-accent); }
.pb-main .pb-meldung-fehler { color: var(--pb-error); }
.pb-protokoll { padding-block: var(--pb-a-s); }
.pb-protokoll h4 { margin-top: var(--pb-a-l); }
.pb-main .pb-reiter { gap: var(--pb-a-xs); }
.pb-main .pb-reiter button { color: var(--pb-muted); }
.pb-main .pb-reiter button[aria-selected=true] { color: var(--pb-accent); background: var(--pb-tint); border-color: var(--pb-accent); }
@media (max-width: 1000px) { .pb-detailgrid { grid-template-columns: minmax(0, 1fr); gap: var(--pb-a-l); } }
@media (max-width: 620px) {
 .pb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pb-a-s); }
 .pb-stats > .pb-stat { padding: var(--pb-a-m); }
 .pb-stat strong { font-size: var(--pb-schrift-2xl); }
 .pb-toolbar { padding: var(--pb-a-m); }
 .pb-toolbar > label { flex-basis: 100%; }
 .pb-toolbar > button { flex: 1 1 auto; }
 .pb-page-header { gap: var(--pb-a-m); }
 .pb-page-header h2 { font-size: var(--pb-schrift-xl); }
 .pb-meta { grid-template-columns: minmax(0, 1fr); gap: var(--pb-a-xs); }
 .pb-meta dd { margin-bottom: var(--pb-a-m); }
 .pb-disclosure > :not(summary) { margin: var(--pb-a-m); }
}

/* 215 Browsernachlese: Shell kann direkt eingebettet sein; Kennzahlen bleiben als kompakte Reihe. */
.pb-page-header > div:first-child { flex: 1 1 240px; min-width: 0; }
.pb-page-header > .pb-stats { flex: 0 1 calc(var(--pb-formbreite) / 2); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pb-a-s); margin: 0; align-self: center; }
.pb-page-header > .pb-stats > .pb-stat { padding: var(--pb-a-m); box-shadow: none; background: var(--pb-soft); border-color: transparent; }
.pb-page-header .pb-stat span { font-size: var(--pb-schrift-xs); }
.pb-panel > .pb-sectionhead { padding: var(--pb-a-l) var(--pb-a-xl); margin: 0; border-bottom: 1px solid var(--pb-line); }
.pb-table td > .pb-disclosure { display: inline-block; margin: 0 var(--pb-a-s) 0 0; vertical-align: middle; border: 0; background: transparent; }
.pb-table td > .pb-disclosure > summary { display: list-item; min-height: var(--pb-feldhoehe); padding: var(--pb-a-m) var(--pb-a-xs); font-size: var(--pb-schrift-xs); color: var(--pb-accent); }
.pb-table td > .pb-disclosure[open] { display: block; margin-block: var(--pb-a-s); border: 1px solid var(--pb-line); background: var(--pb-soft); }
.pb-table td > time { display: inline-block; color: var(--pb-muted); font-size: var(--pb-schrift-xs); white-space: nowrap; }
@media (max-width: 620px) {
 .pb-page-header > .pb-stats { flex-basis: 100%; width: 100%; }
 .pb-page-header > .pb-stats > .pb-stat { padding: var(--pb-a-s); }
 .pb-panel > .pb-sectionhead { padding: var(--pb-a-l); }
}

/* 222: bounded source graph table; every row stays reachable in its named region. */
[data-rolle="callflow222"] .pb-tablewrap {
  max-height: min(60vh, 40rem);
  overflow: auto;
  overscroll-behavior: contain;
}
[data-rolle="callflow222"] .pb-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--pb-panel);
}
[data-rolle="callflow222"] .pb-tablewrap:focus-visible {
  outline: 2px solid var(--pb-accent);
  outline-offset: 2px;
}

/* 215 Anlagen: bounded information groups instead of eight compressed columns. */
.pb-anlagen-liste .pb-tablewrap table.pb-table { min-width: 0; table-layout: auto; }
.pb-anlagen-liste .pb-table td { padding: var(--pb-a-m); vertical-align: top; }
.pb-anlagen-liste .pb-table td:last-child { width: 1%; white-space: nowrap; }
.pb-anlagen-liste .pb-statuspill, .pb-anlagen-code { white-space: nowrap; overflow-wrap: normal; flex-shrink: 0; }
.pb-anlagen-name .pb-statuspill { margin-top: calc(var(--pb-a-xs) + var(--pb-a-2xs)); }
.pb-anlagen-status .pb-anlagen-code { display: inline-block; margin-left: calc(var(--pb-a-xs) + var(--pb-a-2xs)); font-size: var(--pb-schrift-xs); color: var(--pb-muted); }
.pb-anlagen-kennung > span:first-child { display: block; overflow-wrap: anywhere; }
.pb-anlagen-aktionen { min-width: 104px; }
.pb-anlagen-aktionen > button { white-space: nowrap; }
.pb-anlagen-mehr { margin-top: var(--pb-a-s); white-space: normal; }
.pb-anlagen-mehr > summary { white-space: nowrap; overflow-wrap: normal; word-break: normal; color: var(--pb-accent); cursor: pointer; font-size: var(--pb-schrift-xs); min-height: 24px; }
.pb-anlagen-mehr[open] { min-width: 150px; }
.pb-anlagen-detail > .pb-page-header { margin-bottom: var(--pb-a-l); }
.pb-anlagen-detail .pb-subtitle { overflow-wrap: anywhere; }
.pb-anlagen-wechsel > .pb-anlagen-liste { margin: 0; }
@media (max-width: 1100px) {
 .pb-anlagen-liste thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .pb-anlagen-liste table, .pb-anlagen-liste tbody { display: block; width: 100%; }
 .pb-anlagen-liste tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name status" "kennung aktionen"; gap: var(--pb-a-s) var(--pb-a-m); padding: var(--pb-a-l); border-bottom: 1px solid var(--pb-line); }
 .pb-anlagen-liste .pb-table td { display: block; padding: 0; border: 0; min-width: 0; }
 .pb-anlagen-liste .pb-anlagen-name { grid-area: name; }
 .pb-anlagen-liste .pb-anlagen-kennung { grid-area: kennung; font-size: var(--pb-schrift-xs); }
 .pb-anlagen-liste .pb-anlagen-status { grid-area: status; text-align: right; }
 .pb-anlagen-liste .pb-table .pb-anlagen-aktionen { grid-area: aktionen; width: auto; text-align: right; align-self: start; }
 .pb-anlagen-liste .pb-customer-name { line-height: 1.4; }
 .pb-anlagen-liste .pb-anlagen-status .pb-secondary { max-width: 125px; font-size: var(--pb-schrift-xs); }
}
@media (max-width: 420px) {
 .pb-anlagen-liste tr { padding: var(--pb-a-m); gap: var(--pb-a-s); }
 .pb-anlagen-status .pb-anlagen-code { display: block; margin: var(--pb-a-xs) 0 0; }
}

.pb-anlagen-werkzeuge { display: flex; flex-wrap: wrap; align-items: start; gap: var(--pb-a-s); margin-bottom: var(--pb-a-m); }
.pb-anlagen-werkzeuge > .pb-disclosure { margin: 0; }
.pb-anlagen-werkzeuge > .pb-disclosure > summary { padding: var(--pb-a-s) var(--pb-a-m); min-height: 40px; }
.pb-anlagen-werkzeuge > .pb-disclosure[open] { flex-basis: 100%; }
