/* ERP-Ergänzungen zum Portal-Kern (styles.css bleibt unverändert).
   Rahmen seit 1.9.1 aus dem gemeinsamen Kern (kern.css), dazu Reiter, Angabenraster, Summen,
   Ampel, Rückverfolgungsbaum, Planungstafel, Rechteraster.
   Keine style-Attribute im HTML (Inhaltssicherheits-Regel): Breiten von
   Balken laufen über Klassen b0 bis b20. */

/* ------------------------------------------------------------ Rahmen
   Seit 1.9.1 (26.09.2026) der gemeinsame Rahmen nach UX-STANDARD: Aufbau aus
   lib/kern/rahmen.js, Stil aus kern.css (Kopie aus Gemeinsamer-Kern\php\kern).
   Marke (Hauptfarbe, Menügrund, Schriften, Status «Neu») seit 1.17.0 aus kern.css über data-marke="lw"
   (Designsystem 2.0, UX-STANDARD 10a). Hier nur, was die Grundstile aus styles.css sonst überschrieben. */
:root{--kern-seite-bg:var(--bg);--kern-text:var(--text);--kern-rand:var(--line);--kern-leise:var(--muted)}
body.erp{background:var(--bg)}
.modusband{background:var(--red);color:#fff;text-align:center;font-size:.85rem;padding:6px 12px;position:sticky;top:0;z-index:40}
.modusband strong{text-transform:uppercase;letter-spacing:.06em}
/* Auf der Anmeldeseite ist der Körper ein Flex-Container; das Band gehört darüber, nicht daneben. */
body.anmeldeseite .modusband{position:fixed;left:0;right:0;top:0}
body.erp .kern-app{font-family:var(--schrift)}
body.erp main.kern-inhalt{padding:20px 24px 80px;max-width:1368px;width:100%}
.kern-menue a:hover,.kern-kopf a:hover,.kern-profil-menue a:hover{text-decoration:none}
/* Prototyp-Band: oben im Inhalt statt über dem Rahmen, damit Menü und Kopfzeile ganz stehen */
body.erp .kern-inhalt .modusband{position:static;border-radius:8px;margin:0 0 14px}
/* Kopfzeile rechts: Suche, Mandant ▾ */
.erp-suche{margin:0;display:flex;align-items:center;gap:2px}
.erp-suche input{width:240px;min-height:36px;padding:6px 12px;font-size:14px;background:var(--grau-blass)}
#passwort{scroll-margin-top:80px}
.kern-kopf-rechts .mandantwahl{display:flex;align-items:center;gap:6px;margin:0}
.kern-kopf-rechts .mandantwahl-titel{font-size:.8rem;color:var(--muted);font-weight:600}
.kern-kopf-rechts .mandantwahl select{min-height:34px;padding:2px 8px;font-size:.85rem;max-width:16rem}
.kern-kopf-rechts .mandantname{font-weight:600;color:var(--navy);white-space:nowrap;font-size:.9rem}
@media(max-width:1100px){.erp-suche input{display:none}}
@media(max-width:859.98px){
  body.erp main.kern-inhalt{padding:16px 16px 60px}
  .kern-kopf-rechts .mandantwahl-titel{display:none}
  .kern-kopf-rechts .mandantwahl select{max-width:9.5rem}
  .kern-kopf-rechts .mandantname{max-width:9rem;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:520px){.kern-kopf-rechts .mandantname{display:none}}

/* ------------------------------------------------------------ Bausteine */
.reiter{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin-bottom:14px}
.reiter a{padding:8px 14px;font-weight:700;font-size:.88rem;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}
.reiter a:hover{color:var(--navy);text-decoration:none}
.reiter a.aktiv{color:var(--navy);border-bottom-color:var(--teal)}
.angaben{display:grid;gap:12px 20px;margin:0}
.angaben.s3{grid-template-columns:repeat(3,minmax(0,1fr))}
.angaben.s2{grid-template-columns:repeat(2,minmax(0,1fr))}
.angaben dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.angaben dd{margin:2px 0 0}
.gitter.g5{grid-template-columns:repeat(5,1fr)}
@media(max-width:700px){.angaben.s3,.angaben.s2{grid-template-columns:1fr}.gitter.g5{grid-template-columns:repeat(2,1fr)}}
a.zahl{display:block;color:inherit}
a.zahl:hover{text-decoration:none;box-shadow:0 3px 12px rgba(0,45,71,.1)}
.zeile{padding:7px 0;border-bottom:1px solid var(--line)}
.zeile:last-child{border-bottom:0}
.zeile .einzeiler,.zeile form.einzeiler{display:inline-block;margin-left:8px}
form.einzeiler{display:inline-block}
/* Feld mit Hinweis «aus Artikel» in der Positionstabelle (app.js): Hinweis unter dem Feld, auch auf dem Handy. */
.mit-hinweis{flex:1;min-width:0}
.vorformatiert{white-space:pre-line}
.spanne2{grid-column:span 2}
input.schmal{min-width:70px;max-width:120px;min-height:36px;padding:6px 8px}
table.positionen input,table.positionen select{min-height:36px;padding:6px 8px;font-size:14px}
table.positionen td{padding:5px 6px}
table.positionen td.pos-nr{color:var(--muted);width:36px}details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
details.karte>summary h2{display:inline;margin:0}
details.karte>summary::after{content:" ▸";color:var(--muted)}
details.karte[open]>summary::after{content:" ▾"}
details.karte[open]>summary{margin-bottom:10px}
pre.json{background:var(--grau-tint2);border:1px solid var(--line);border-radius:6px;padding:12px;font-family:var(--schrift-code);font-size:.8rem;
  overflow:auto;max-height:520px;white-space:pre}
.p-blau{background:var(--teal-tint);color:var(--teal-d);border-color:var(--teal-rand)}

/* Summenblock unter Belegen */
.summen{margin:0 0 16px auto;max-width:420px;background:var(--flaeche);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px}
.summen div{display:flex;justify-content:space-between;gap:20px;padding:3px 0;font-variant-numeric:tabular-nums}
.summen .total{border-top:2px solid var(--navy);margin-top:6px;padding-top:7px;font-weight:800;color:var(--navy);font-size:1.05rem}
tr.summe td{border-top:2px solid var(--navy);background:var(--grau-blass)}

/* Ampel auf der Seite Betrieb */
.ampelzeile{display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.ampelzeile:last-child{border-bottom:0}
.ampel{flex:none;width:14px;height:14px;border-radius:50%;margin-top:4px;border:1px solid rgba(0,0,0,.15)}
.a-gruen{background:#2e9d5c}.a-gelb{background:#e0a100}.a-rot{background:var(--red)}
/* 1.15.0 ERP-08: Zeile mit Kern-Zustand (Pille) statt Lampe; Platz bleibt, damit die Texte buendig stehen */
.a-kern{visibility:hidden}

/* Rückverfolgungsbaum */
ul.baum,ul.baum ul{list-style:none;margin:0;padding-left:18px}
ul.baum{padding-left:0}
ul.baum li{position:relative;padding:5px 0 5px 12px;border-left:2px solid var(--teal-rand)}
ul.baum li::before{content:"";position:absolute;left:0;top:15px;width:9px;border-top:2px solid var(--teal-rand)}

/* Belegkette */
.kette.t1{padding-left:18px}.kette.t2{padding-left:36px}.kette.t3{padding-left:54px}.kette.t4{padding-left:72px}

/* Kontaktverlauf */
.verlauf.offen{border-left:3px solid var(--gelb);padding-left:10px}

/* Planungstafel */
table.planung{table-layout:fixed;min-width:820px}
table.planung th[scope=row]{background:var(--grau-tint2);color:var(--navy);text-transform:none;letter-spacing:0;font-size:.85rem;width:160px;white-space:normal}
table.planung td{height:90px;background:var(--flaeche)}
table.planung td.voll{background:var(--gelb-tint)}
table.planung td.ueberlast{background:var(--rot-tint)}
table.planung .last{font-size:.75rem;color:var(--muted);font-weight:700;margin-bottom:4px}
.plan-fa{display:block;background:var(--teal-tint);border-left:3px solid var(--teal);border-radius:4px;padding:4px 6px;margin-bottom:4px;font-size:.78rem;
  font-weight:700;color:var(--navy);line-height:1.25}
.plan-fa span{font-weight:400;color:var(--muted)}
.plan-fa.s-in_arbeit{border-left-color:var(--gelb);background:var(--gelb-tint2)}
.plan-fa.s-geplant{border-left-color:var(--grau-rand3);background:var(--grau-tint2)}

/* Rechteraster */
table.rechte th[scope=row]{background:var(--grau-tint2);color:var(--navy);text-transform:none;letter-spacing:0;min-width:220px;white-space:normal;font-size:.88rem}
table.rechte th[scope=row] .klein{font-weight:400;color:var(--muted);font-size:.75rem}
table.rechte td{text-align:center}
table.rechte th[scope=row]{position:sticky;left:0;z-index:1}
.check{display:flex;gap:8px;align-items:center;margin:12px 0 4px}
.check input{width:18px;height:18px;flex:none}
.check label{margin:0;font-weight:600;color:var(--text)}
table.rechte select{min-height:32px;padding:4px 6px;font-size:13px;width:auto}
select.stufe.s0{color:var(--muted)}select.stufe.s3{font-weight:700;color:var(--gruen)}

/* Balken in Auswertungen: Breite in 5-%-Schritten über Klassen */
td.balkenzelle{width:22%;min-width:120px}
.balken{display:block;height:10px;border-radius:3px;background:var(--teal)}
.b0{width:0}.b1{width:5%}.b2{width:10%}.b3{width:15%}.b4{width:20%}.b5{width:25%}.b6{width:30%}.b7{width:35%}.b8{width:40%}.b9{width:45%}
.b10{width:50%}.b11{width:55%}.b12{width:60%}.b13{width:65%}.b14{width:70%}.b15{width:75%}.b16{width:80%}.b17{width:85%}.b18{width:90%}.b19{width:95%}.b20{width:100%}

@media print{
  .modusband,.erp-suche,.reiter{display:none}
}

/* Ankreuzzeile, etwa für die Auswahl der Lieferscheine einer Sammelrechnung. */
.zeile.wahl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zeile.wahl input[type=checkbox]{width:auto;margin:0}

/* Zeiten: Stempeluhr, Teamkalender, Monatsblatt (aus dem TM-Management-Tool, 13.09.2026) */
.stempel .stempel-uhr{font-family:var(--kern-schrift);font-weight:700;font-size:1.5rem;color:var(--navy);font-variant-numeric:tabular-nums}
.stempel .einzeiler{align-items:end}
table.kalender{border-collapse:collapse;font-size:.78rem;width:100%}
table.kalender th,table.kalender td{border:1px solid var(--line);padding:3px 0;text-align:center;min-width:24px;font-variant-numeric:tabular-nums}
table.kalender thead th{font-weight:700;color:var(--navy);background:var(--grau-blass)}
table.kalender th small{display:block;color:var(--muted);font-weight:400;font-size:.66rem}
table.kalender .name{text-align:left;padding:3px 10px;white-space:nowrap;min-width:150px;position:sticky;left:0;background:var(--flaeche);z-index:1}
table.kalender .we{background:var(--grau-tint)}
table.kalender .ft{background:var(--gelb-tint)}
table.kalender .heute{box-shadow:inset 0 0 0 2px var(--teal)}
table.kalender td.abs,.legende .lg.abs{font-weight:700;background:var(--teal-tint);color:var(--teal-d)}
table.kalender td.abs-krank,table.kalender td.abs-unfall,.legende .abs-krank,.legende .abs-unfall{background:var(--rot-tint);color:var(--rot-text)}
table.kalender td.abs-militaer,table.kalender td.abs-weiterbildung,.legende .abs-militaer,.legende .abs-weiterbildung{background:var(--gruen-tint);color:var(--gruen-text)}
table.kalender td.abs-kompensation,table.kalender td.abs-unbezahlt,.legende .abs-kompensation,.legende .abs-unbezahlt{background:var(--gelb-tint);color:var(--gelb-text)}
table.kalender td.abs-fremd,.legende .abs-fremd{background:var(--grau-rand);color:var(--text)}
table.kalender td.offen,.legende .offen{background-image:repeating-linear-gradient(45deg,transparent 0 3px,rgba(255,255,255,.75) 3px 6px)}
table.kalender td.halb{background-image:linear-gradient(135deg,transparent 50%,var(--flaeche) 50%)}
.legende{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.legende .lg{display:inline-block;min-width:20px;padding:0 5px;border:1px solid var(--line);border-radius:3px;text-align:center;margin-right:3px}
.legende .lg.ft{background:var(--gelb-tint)}
table.monat tr.we td{color:var(--muted);background:var(--grau-blass)}
.unterschriften{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:48px 0 18px}
.unterschriften div{border-top:1px solid var(--text);padding-top:6px;font-size:.8rem;color:var(--muted)}
@media print{
  .monatsblatt form.einzeiler{display:none}
  .monatsblatt .tabhuelle{border:0;overflow:visible}
  .monatsblatt table.monat{font-size:.72rem}
  .monatsblatt .zahl{padding:6px 10px}
  .monatsblatt .zahl .wert{font-size:1.1rem}
}

/* Mandant im Kopf: seit 1.9.1 im Rahmenblock oben (.kern-kopf-rechts) */
.mandantzeile{margin:0 0 8px}
.mandantzeile .knopf{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px}

/* Belegerkennung: PDF neben dem Entwurf, Farben je Feld (seit 14.09.2026) */
.beleg-geteilt{display:grid;grid-template-columns:minmax(280px,5fr) 7fr;gap:14px;align-items:start;margin-bottom:14px}
.beleg-pdf{position:sticky;top:12px}
.beleg-pdf iframe{width:100%;height:78vh;border:1px solid var(--line);border-radius:var(--radius);background:var(--flaeche)}
@media(max-width:1100px){.beleg-geteilt{grid-template-columns:1fr}.beleg-pdf{position:static}.beleg-pdf iframe{height:60vh}}
.beleg-gruppe{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 12px;margin:12px 0 0}
.beleg-gruppe legend{font-weight:700;color:var(--navy);padding:0 6px}
.bfeld{border-left:4px solid transparent;padding-left:8px}
.bfeld.b-rot{border-left-color:var(--red)}
.bfeld.b-rot input,.bfeld.b-rot select{border-color:var(--rot-rand);background:var(--rot-tint)}
.bfeld.b-gelb{border-left-color:var(--gelb-rand)}
.bfeld.b-gelb input,.bfeld.b-gelb select{background:var(--gelb-tint)}
.bfeld.b-gruen{border-left-color:var(--gruen-rand)}
.bfeld .gesehen{display:flex;gap:6px;align-items:center;font-size:.78rem;font-weight:600;color:var(--rot-text);margin-top:2px}
.bfeld .gesehen input{width:auto;margin:0}
table.beleg-liste td .bfeld{padding-left:4px}
table.beleg-liste input,table.beleg-liste select{min-width:5.5rem}
table.beleg-liste tr.neu td{background:var(--grau-blass)}
.farblegende .bfarbe{display:inline-block;padding:0 6px;margin:0 4px 0 10px;border-left:4px solid;font-weight:600}
.farblegende .bfarbe:first-child{margin-left:0}
.bfarbe.b-rot{border-color:var(--red)}
.bfarbe.b-gelb{border-color:var(--gelb-rand)}
.bfarbe.b-gruen{border-color:var(--gruen-rand)}
.zitat{display:block;font-size:.8rem;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.seitentext{max-height:24rem;overflow:auto;font-size:.8rem;border:1px solid var(--line);border-radius:var(--radius);padding:8px}

/* ------------------------------------------------------------ PPS (15.09.2026)
   Leitstand als SVG: Lage und Breite der Balken sind SVG-Attribute, Farben
   laufen über Klassen (kein style-Attribut). */
.gantt-huelle{overflow-x:auto;background:var(--flaeche);border:1px solid var(--line);border-radius:var(--radius);padding:8px 8px 4px}
svg.gantt{display:block;min-width:960px;width:100%;height:auto;font-family:var(--schrift)}
svg.gantt .g-kopf{fill:var(--navy);font-size:12px;font-weight:700}
svg.gantt .g-kopf2{fill:var(--muted);font-size:10px}
svg.gantt .g-name{fill:var(--navy);font-size:12px;font-weight:700}
svg.gantt .g-name2{fill:var(--muted);font-size:10px}
svg.gantt .g-frei{fill:var(--grau-tint2)}
svg.gantt .g-schicht{fill:#fff}
svg.gantt .g-feiertag{fill:var(--grau-tint)}
svg.gantt .g-linie{stroke:var(--grau-rand2);stroke-width:1}
svg.gantt .g-stunde{stroke:var(--grau-rand);stroke-width:.6;stroke-dasharray:2 3}
svg.gantt .g-lauf{fill:var(--teal)}
svg.gantt .g-ruest{fill:var(--teal-rand)}
svg.gantt .g-laeuft{fill:var(--gelb)}
svg.gantt .g-laeuft-ruest{fill:var(--gelb-rand)}
svg.gantt .g-spaet{fill:var(--red)}
svg.gantt .g-spaet-ruest{fill:var(--rot-rand)}
svg.gantt .g-fertig{fill:var(--gruen)}
svg.gantt .g-fertig-ruest{fill:var(--gruen-rand)}
svg.gantt .g-text{fill:#fff;font-size:10px;font-weight:700;pointer-events:none}
svg.gantt .g-jetzt{stroke:var(--red);stroke-width:2}
svg.gantt a:hover rect{opacity:.8}
.legende{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin:8px 2px 14px}
.legende i{display:inline-block;width:16px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}
.legende .l-lauf{background:var(--teal)}.legende .l-ruest{background:var(--teal-rand)}.legende .l-laeuft{background:var(--gelb)}
.legende .l-spaet{background:var(--red)}.legende .l-fertig{background:var(--gruen)}.legende .l-frei{background:var(--grau-tint2);border:1px solid var(--line)}
table.kap{table-layout:fixed;min-width:980px}
table.kap th:first-child,table.kap td:first-child{width:170px}
table.kap td{vertical-align:top;font-size:.82rem;line-height:1.45}
table.kap td .zeile1{display:block;white-space:nowrap;font-weight:700}
table.kap td .zeile2{display:block;white-space:nowrap}
table.kap td.voll{background:var(--gelb-tint)}
table.kap td.ueberlast{background:var(--rot-tint)}
table.kap .balken{margin-top:4px}
.pfeile form.einzeiler{margin-right:2px}
/* Breite Tafeln (Leitstand, Kapazität) dürfen die Spalte auf dem Handy nicht aufdrücken: sie scrollen in ihrer Hülle
   (seit 1.9.1 hält .kern-app die Spalte mit minmax(0, 1fr)). */
/* KI-Assistent (seit 15.09.2026): Antwort des Modells als Text mit seinen Zeilenumbrüchen. */
.ki-antwort{white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}

/* Seit 1.12.0: gespeichertes Geheimnis als Punkte (Kern geheim.js), in Tabellen und Karten */
.geheim-punkte { font-family: ui-monospace, monospace; letter-spacing: 1px; }
[data-ki-vorlage] legend .pille { margin-left: 6px; }

/* Seit 1.16.0 (M08): Häkchen mit Text in einer Zeile, statt Inline-Stil (CSP style-src self) */
.haken-zeile { display: flex; gap: 8px; align-items: center; margin: 6px 0; }
.haken-zeile.haken-weit { margin: 10px 0; }
.haken-zeile input[type=checkbox] { width: auto; margin: 0; }

/* Seit 1.16.0 (ERP-09): Betriebsanleitung zum Lesen; lange Befehle und Adressen brechen um, Tabellen scrollen in ihrer Hülle */
.betriebsanleitung { overflow-wrap: anywhere; min-width: 0; }
.betriebsanleitung pre.json { white-space: pre-wrap; overflow-wrap: anywhere; }
.betriebsanleitung code { overflow-wrap: anywhere; word-break: break-word; }
.betriebsanleitung .tabhuelle th, .betriebsanleitung .tabhuelle td { overflow-wrap: normal; min-width: 7rem; }

/* Status «Neu» in der Farbe der Marke (Designsystem 2.0, D2-7: Logistikwerk Teal) */
.p-neu { background: color-mix(in srgb, var(--kern-status-neu) 12%, white); color: color-mix(in srgb, var(--kern-status-neu) 70%, black); border-color: color-mix(in srgb, var(--kern-status-neu) 32%, white); }

/* Seit 1.18.0: CRM als Modul. Pipeline als Spalten je Phase (auf dem Handy untereinander), Prüfhinweise und Feld mit Fehler. */
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pipeline { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); align-items: start; }
.pipeline-spalte { background: var(--flaeche); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; min-width: 0; }
.pipeline-spalte h3 { margin: 0 0 4px; font-size: 1rem; }
.pipeline-karte { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; margin-top: 8px; border: 1px solid var(--line);
  border-left: 3px solid var(--teal); border-radius: 6px; text-decoration: none; color: inherit; overflow-wrap: anywhere; }
.pipeline-karte:hover, .pipeline-karte:focus-visible { border-color: var(--navy); }
.pruefhinweise ul { margin: 6px 0 0; padding-left: 18px; }
.feld-fehler input, .feld-fehler select, .feld-fehler textarea { border-color: var(--red); outline: 1px solid var(--red); }
.feld-fehler label { color: var(--red); }
/* Schnittstellen (1.18.0): Schlüssel einmal sichtbar, Webhook-Geheimnis, Doku-Seite */
.einmal-schluessel { font-family: ui-monospace, monospace; overflow-wrap: anywhere; user-select: all; background: var(--gelb-tint); padding: 8px 10px; border-radius: 6px; display: block; }
.api-doku { overflow-wrap: anywhere; min-width: 0; }
.api-doku pre.json { white-space: pre-wrap; overflow-wrap: anywhere; }
.api-doku img, .crm-doku img { max-width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; }
form.verschieben { display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap; }
form.verschieben input[type=date] { width: auto; max-width: 170px; min-height: 36px; padding: 6px 8px; }
/* 1.18.0: Spalten eines Gitters dürfen schmaler werden als ihr Inhalt (Chance auf dem Handy lief 64 px über) */
.gitter > * { min-width: 0; }
@media (max-width: 640px) { table.karten td .pille { white-space: normal; } }

/* V29-E-18 (1.21.0): Lizenz-Tabelle der Verwaltung, alle Zellen einer Zeile auf gleicher Höhe */
.lizenz-tabelle td{vertical-align:middle}
.lizenz-tabelle td label{margin:0}

/* ------------------------------------------------------------------ Fenster mit Eingabe (seit 1.22.0)
   Rückfragen als Fenster (UX-STANDARD). Grundform ist .kern-dialog (kern.css); hier nur, was ein Fenster mit Feldern braucht.
   Offen in der Seite (ohne JavaScript, Attribut open ohne showModal) steht es als Karte im Fluss. */
.erp-fenster { width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; text-align: left; }
.erp-fenster.breit { width: min(720px, calc(100vw - 32px)); }
.erp-fenster[open]:not(:modal) { position: static; margin: 0 0 18px; }
/* styles.css setzt jeden Aussenabstand auf 0; ein echtes Fenster (showModal) steht nur mit margin:auto in der Mitte. Gilt auch für die Rückfrage des Kerns. */
.kern-dialog:modal { margin: auto; }
.erp-fenster-titel { margin: 0 0 12px; font-size: 18px; line-height: 1.3; }
.erp-fenster p { margin: 0 0 12px; }
.erp-fenster ul { margin: 0 0 12px; padding-left: 20px; }
.erp-fenster label { display: block; margin-top: 10px; }
.erp-fenster .wahlzeile { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--kern-rand, #d8d6e4); border-radius: 8px; margin: 0 0 8px; cursor: pointer; }
.erp-fenster .wahlzeile input { margin-top: 3px; flex: 0 0 auto; }
.erp-fenster .wahlzeile span.klein { display: block; }
.erp-fenster textarea, .erp-fenster input[type=text], .erp-fenster input[type=date], .erp-fenster input:not([type]) { width: 100%; box-sizing: border-box; }
.erp-fenster .kern-dialog-fuss { margin-top: 18px; }
.erp-fenster .zahlen { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.erp-fenster .zahlen td { padding: 4px 0; border-bottom: 1px solid var(--kern-rand, #e4e2ee); vertical-align: top; }
.erp-fenster .zahlen td:last-child { text-align: right; white-space: nowrap; padding-left: 12px; font-variant-numeric: tabular-nums; }
.feldfehler { color: var(--rot, #b3261e); font-size: 13px; margin-top: 4px; font-weight: 600; }
input.fehlerhaft, textarea.fehlerhaft, select.fehlerhaft { border-color: var(--rot, #b3261e); outline: 1px solid var(--rot, #b3261e); }
/* 1.22.1: Bearbeitung in der Schweiz (Artikel). Lange Listentexte: Kästchen oben, Text umbrechend, ohne Fettdruck. */
.ch-bearbeitung-wahl{margin:4px 0 10px}
.ch-bearbeitung-wahl .check{margin:6px 0 2px;align-items:flex-start}
.ch-bearbeitung-wahl .check input{margin-top:2px}
.ch-bearbeitung-wahl .check label{font-weight:400;overflow-wrap:anywhere}
.ch-bearbeitung-liste{margin:6px 0 0;padding-left:18px}
.ch-bearbeitung-liste li{margin:2px 0}
/* 1.22.1: Code von Trade Monkey unter der Pille (in Tabellen und Karten), damit er bei 390 px nicht abgeschnitten wird. */
td .wup-code{display:block;margin-top:2px;overflow-wrap:anywhere}
