/* v918: Bautagesberichte – Liste, Bericht und Einstellungen (bautagesberichte.js). Ruhig wie die Arbeitslisten:
   eine Akzentfarbe, Karten, klare Zahlen. Alles in der Ansicht, nichts schwebt. */

/* ---------- Arbeitsbereich: Eintrag „Bautagesberichte“ (wie Arbeitslisten); Farbe des Symbolfelds: arbeitsbereich.css */
#bautagesberichteCard::before { content: ""; }
#bauleiterArbeitsbereich #bautagesberichteCard { min-height: 78px !important; padding: 15px 76px 15px 70px !important; }
#bauleiterArbeitsbereich #bautagesberichteCard > #btnBautagesberichteOeffnen {
  position: absolute !important; inset: 0 !important; z-index: 4 !important; width: 100% !important; min-width: 0 !important; max-width: none !important;
  height: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; transform: none !important; border: 0 !important;
  border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: transparent !important; font-size: 0 !important; cursor: pointer !important;
}
#bauleiterArbeitsbereich #bautagesberichteCard::after {
  content: "›"; position: absolute; right: 20px; top: 39px; transform: translateY(-50%); z-index: 3;
  color: var(--text-muted); font-size: 26px; font-weight: 400; line-height: 1; pointer-events: none;
}
@media (max-width: 900px) {
  #bauleiterArbeitsbereich #bautagesberichteCard { min-height: 74px !important; padding: 14px 58px 14px 60px !important; }
  #bauleiterArbeitsbereich #bautagesberichteCard::after { right: 14px; top: 37px; }
}
@media (max-width: 620px) {
  #bauleiterArbeitsbereich #bautagesberichteCard { min-height: 72px !important; padding: 13px 48px 13px 56px !important; }
  #bauleiterArbeitsbereich #bautagesberichteCard::after { right: 10px; top: 36px; font-size: 24px; }
}

/* ---------- Tokens */
#view-bautagesberichte {
  --bt-bg: #f4f6f9; --bt-surface: #ffffff; --bt-surface-2: #f8fafc; --bt-surface-3: #f1f4f8;
  --bt-border: #e3e8ef; --bt-border-strong: #cfd6e0; --bt-line: #edf1f5;
  --bt-text: #0f1a2a; --bt-text-2: #44536a; --bt-text-3: #5f6b7f;
  --bt-accent: #2563eb; --bt-accent-soft: #eaf1ff; --bt-on-accent: #ffffff;
  --bt-rot: #b42318; --bt-rot-soft: #fef3f2; --bt-gruen: #067647; --bt-gruen-soft: #ecfdf3; --bt-warn: #b54708; --bt-warn-soft: #fffaeb;
  --bt-shadow-sm: 0 1px 2px rgba(15, 26, 42, .05);
  --bt-shadow: 0 1px 2px rgba(15, 26, 42, .04), 0 2px 8px -2px rgba(15, 26, 42, .06);
  --bt-font: "Segoe UI Variable Text", "Segoe UI", Inter, system-ui, -apple-system, Roboto, Arial, sans-serif;
  --bt-font-display: "Segoe UI Variable Display", "Segoe UI", Inter, system-ui, -apple-system, Roboto, sans-serif;
}
html[data-theme="dark"] #view-bautagesberichte {
  --bt-bg: #1a1d21; --bt-surface: #21252b; --bt-surface-2: #252a31; --bt-surface-3: #2a3038;
  --bt-border: #323942; --bt-border-strong: #424b56; --bt-line: #2b3139;
  --bt-text: #eef1f5; --bt-text-2: #bac3cf; --bt-text-3: #8d97a5;
  --bt-accent: #6b9bff; --bt-accent-soft: rgba(107, 155, 255, .14); --bt-on-accent: #0b1424;
  --bt-rot: #f97066; --bt-rot-soft: rgba(249, 112, 102, .12); --bt-gruen: #47cd89; --bt-gruen-soft: rgba(71, 205, 137, .12); --bt-warn: #fdb022; --bt-warn-soft: rgba(253, 176, 34, .12);
  --bt-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3); --bt-shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 4px 14px -6px rgba(0, 0, 0, .4);
}
body[data-app-view="bautagesberichte"] .app-layout, body[data-app-view="bautagesberichte"] .app-layout > main { max-width: none; width: 100%; margin: 0; padding: 0; display: block; }
#view-bautagesberichte { background: var(--bt-bg); color: var(--bt-text); font-family: var(--bt-font); min-height: calc(100vh - 60px); }
:where(#view-bautagesberichte) :is(button, input, select, textarea) { font-family: var(--bt-font); box-shadow: none; margin: 0; min-height: 0; line-height: 1.3; }
:where(#view-bautagesberichte) svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

/* ---------- Gerüst */
.bt { display: grid; gap: 16px; padding: 20px 24px 28px; }
.bt-laedt { padding: 48px 16px; color: var(--bt-text-2); text-align: center; }
.bt-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; }
.bt-titel { display: grid; gap: 3px; min-width: 0; }
.bt-eyebrow { color: var(--bt-text-3); font-size: 11.5px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.bt-titel h2 { margin: 0; font: 650 26px/1.15 var(--bt-font-display); letter-spacing: -.01em; color: var(--bt-text); overflow-wrap: anywhere; }
.bt-titel small { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--bt-text-2); font-size: 12.5px; }
.bt-titel small svg { width: 14px; height: 14px; }
.bt-kennzahl { display: grid; justify-items: end; gap: 2px; text-align: right; }
.bt-kennzahl b { font: 700 28px/1.1 var(--bt-font-display); color: var(--bt-text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.bt-kennzahl small { color: var(--bt-text-2); font-size: 12.5px; }
.bt-oben { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: -4px; }
.bt-stand { color: var(--bt-text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; }
.bt-aktionen { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bt-karte { border: 1px solid var(--bt-border); border-radius: 10px; background: var(--bt-surface); box-shadow: var(--bt-shadow); overflow: hidden; overflow: clip; }
.bt-k-kopf { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 12px; flex-wrap: wrap; padding: 13px 16px 11px; border-bottom: 1px solid var(--bt-border); }
.bt-k-kopf h3 { margin: 0; font: 650 15px/1.3 var(--bt-font-display); color: var(--bt-text); }
.bt-k-kopf h3.rot { color: var(--bt-rot); }
.bt-k-kopf small { color: var(--bt-text-2); font-size: 12.5px; }
.bt-raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 420px); gap: 16px; align-items: stretch; }
.bt-raster.gleich { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bt-spalte { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.bt-spalte > .bt-karte:last-of-type { flex: 1 1 auto; }   /* v921: beide Spalten enden auf einer Linie */
.bt-raster.gleich { align-items: start; }

/* ---------- Knöpfe, Eingaben */
.bt-knopf { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 14px; box-sizing: border-box; border: 1px solid var(--bt-border); border-radius: 8px; background: var(--bt-surface); color: var(--bt-text); font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.bt-knopf:hover { border-color: var(--bt-border-strong); background: var(--bt-surface-2); }
.bt-knopf:focus-visible, .bt-eingabe:focus-visible, .bt-zeile:focus-visible, .bt-zeile-neu:focus-visible { outline: 2px solid color-mix(in srgb, var(--bt-accent) 55%, transparent); outline-offset: 1px; }
.bt-knopf.primaer { border-color: var(--bt-accent); background: var(--bt-accent); color: var(--bt-on-accent); }
.bt-knopf.primaer:hover { background: color-mix(in srgb, var(--bt-accent) 88%, #000); }
.bt-knopf.gefahr { justify-self: start; border-color: color-mix(in srgb, var(--bt-rot) 35%, var(--bt-border)); color: var(--bt-rot); }
.bt-knopf.klein { height: 32px; padding: 0 11px; font-size: 12.5px; }
.bt-knopf.nur-symbol { width: 36px; padding: 0; }
.bt-knopf.nur-symbol.klein { width: 30px; height: 30px; border-color: transparent; background: transparent; color: var(--bt-text-3); }
.bt-knopf.nur-symbol.klein:hover { border-color: var(--bt-border); color: var(--bt-text); }
.bt-knopf:disabled { opacity: .5; cursor: not-allowed; }
.bt-eingabe { width: 100%; height: 36px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--bt-border-strong); border-radius: 7px; background: var(--bt-surface); color: var(--bt-text); font-size: 13.5px; }
.bt-eingabe::placeholder { color: var(--bt-text-3); opacity: .85; }
.bt-eingabe:disabled { border-color: var(--bt-border); background: var(--bt-surface-2); color: var(--bt-text-2); opacity: 1; }
textarea.bt-eingabe { height: auto; min-height: 34px; padding: 7px 10px; resize: none; overflow: hidden; line-height: 1.4; }
html[data-theme="dark"] #view-bautagesberichte .bt-eingabe { color-scheme: dark; }
.bt-felder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px 16px 16px; }
.bt-feld { display: grid; gap: 5px; min-width: 0; margin: 0; }
.bt-feld > span { color: var(--bt-text-2); font-size: 12px; font-weight: 600; }
.bt-feld.breit, .bt-schalter.breit, .bt-erkl.breit { grid-column: 1 / -1; }
.bt-wert { font: 650 18px/36px var(--bt-font-display); font-variant-numeric: tabular-nums; }
.bt-erkl { margin: 0; color: var(--bt-text-2); font-size: 12.5px; line-height: 1.45; }
.bt-schalter { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--bt-text); font-size: 13.5px; cursor: pointer; }
.bt-schalter input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--bt-accent); }
.bt-seg { display: flex; height: 36px; padding: 3px; gap: 2px; box-sizing: border-box; border: 1px solid var(--bt-border); border-radius: 8px; background: var(--bt-surface-2); }
.bt-seg button { flex: 1 1 0; min-width: 0; padding: 0 8px; border: 0; border-radius: 5px; background: transparent; color: var(--bt-text-2); font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.bt-seg button[aria-pressed="true"] { background: var(--bt-surface); color: var(--bt-text); box-shadow: var(--bt-shadow-sm); }
.bt-seg button:disabled { cursor: not-allowed; }
.bt-seg .bt-kurz { display: none; }
.bt-hinweis { display: flex; align-items: center; justify-content: space-between; gap: 10px 14px; flex-wrap: wrap; padding: 12px 16px; border: 1px solid color-mix(in srgb, var(--bt-accent) 30%, var(--bt-border)); border-radius: 10px; background: var(--bt-accent-soft); color: var(--bt-text); font-size: 13.5px; }
.bt-hinweis.ruhig { justify-content: flex-start; border-color: var(--bt-border); background: var(--bt-surface-2); color: var(--bt-text-2); }
.bt-hinweis.warn { margin: 12px 16px 0; border-color: color-mix(in srgb, var(--bt-warn) 35%, var(--bt-border)); background: var(--bt-warn-soft); }
.bt-chip { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 650; white-space: nowrap; }
.bt-chip svg { width: 13px; height: 13px; }
.bt-chip.entwurf { background: var(--bt-warn-soft); color: var(--bt-warn); }
.bt-chip.fertig { background: var(--bt-gruen-soft); color: var(--bt-gruen); }

/* ---------- Liste */
.bt-leiste { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; padding: 12px 16px; border-bottom: 1px solid var(--bt-border); }
.bt-neu { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--bt-text-2); font-size: 13px; font-weight: 600; }
.bt-neu input { width: 160px; height: 36px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--bt-border-strong); border-radius: 7px; background: var(--bt-surface); color: var(--bt-text); font-size: 13.5px; }
html[data-theme="dark"] #view-bautagesberichte .bt-neu input { color-scheme: dark; }
.bt-auto { margin-left: auto; color: var(--bt-text-3); font-size: 12.5px; }
.bt-auto.an { color: var(--bt-gruen); font-weight: 600; }
.bt-tab { display: block; }
.bt-zeile { display: grid; grid-template-columns: 72px minmax(120px, 1fr) minmax(90px, .7fr) minmax(130px, .9fr) minmax(150px, 1.2fr) minmax(130px, .9fr) 168px; align-items: center; min-height: 56px; padding: 0 12px 0 16px; border-bottom: 1px solid var(--bt-line); cursor: pointer; }
.bt-zeile > span { display: grid; gap: 1px; min-width: 0; padding: 8px 8px 8px 0; }
.bt-zeile b { font-weight: 650; font-variant-numeric: tabular-nums; }
.bt-zeile small { color: var(--bt-text-3); font-size: 12px; }
.bt-zeile:hover { background: color-mix(in srgb, var(--bt-accent) 5%, var(--bt-surface)); }
.bt-zeile.kopf { min-height: 38px; background: var(--bt-surface-2); border-bottom-color: var(--bt-border); color: var(--bt-text-3); font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; cursor: default; }
.bt-zeile.kopf:hover { background: var(--bt-surface-2); }
.bt-z-nr b { font: 700 17px/1.2 var(--bt-font-display); }
.bt-z-wetter { color: var(--bt-text-2); font-size: 13px; }
.bt-z-status { justify-items: start; }
.bt-z-export { display: flex !important; gap: 4px; justify-content: flex-end; }
.bt-leer { display: grid; justify-items: center; gap: 6px; padding: 40px 16px; color: var(--bt-text-2); font-size: 14px; text-align: center; }
.bt-leer b { color: var(--bt-text); font-size: 15px; }

/* ---------- Bericht: Zeilen je Schicht */
.bt-schicht { display: grid; gap: 0; padding: 4px 0 8px; border-bottom: 1px solid var(--bt-line); }
.bt-schicht:last-child { border-bottom: 0; }
.bt-schicht-kopf { display: flex; align-items: baseline; gap: 10px; padding: 10px 16px 6px; }
.bt-schicht-kopf b { font-size: 13.5px; font-weight: 700; }
.bt-schicht-kopf small { color: var(--bt-text-3); font-size: 12.5px; }
.bt-z { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: start; gap: 8px; padding: 3px 12px 3px 16px; }
/* v921: Schicht und Firma je vertraglicher Zeile, Firma/Personen/Stunden je außervertraglicher Zeile */
/* Text bekommt die Breite; Schicht/Firma (bzw. Firma/Personen/Stunden) stehen klein darunter – ab 1500 px rechts daneben */
.bt-z { grid-template-columns: 28px minmax(0, 1fr) 120px; }
.bt-z-meta { grid-column: 2; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bt-z .bt-z-schicht { width: 104px; } .bt-z .bt-z-firma { width: 170px; } .bt-z .bt-z-zahl { width: 72px; }
.bt-z .bt-z-schicht, .bt-z .bt-z-firma, .bt-z .bt-z-zahl { height: 30px; padding: 0 8px; font-size: 12.5px; }
.bt-z-rechts { grid-column: 3; grid-row: 1; }
@media (min-width: 1500px) {
  .bt-z.vertraglich { grid-template-columns: 28px minmax(0, 1fr) auto 120px; }
  .bt-z.ausservertraglich { grid-template-columns: 28px minmax(0, 1fr) auto 120px; }
  .bt-z-meta { grid-column: 3; grid-row: 1; flex-wrap: nowrap; }
  .bt-z.vertraglich .bt-z-rechts, .bt-z.ausservertraglich .bt-z-rechts { grid-column: 4; }
  .bt-z .bt-z-schicht, .bt-z .bt-z-firma, .bt-z .bt-z-zahl { height: 34px; }
}
.bt-z-rechts { justify-content: flex-end; }
.bt-z-vorschau { grid-column: 2 / -1; margin-top: -2px; color: var(--bt-text-3); font-size: 12px; line-height: 1.35; }
.bt-zeile-neu-reihe { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 4px 0 0 52px; }
.bt-zeile-neu-reihe .bt-zeile-neu { margin: 0; }
.bt-baustein { max-width: 360px; height: 32px; padding: 0 8px; border: 1px dashed var(--bt-border-strong); border-radius: 7px; background: var(--bt-surface); color: var(--bt-text-2); font-size: 12.5px; cursor: pointer; }
.bt-baustein:hover, .bt-baustein:focus-visible { border-color: var(--bt-accent); color: var(--bt-accent); }
html[data-theme="dark"] #view-bautagesberichte .bt-baustein { color-scheme: dark; }
.bt-nz { margin: 12px 16px 4px; }
.bt-nz > svg { color: var(--bt-warn); }
.bt-nz > span { flex: 1 1 320px; }
.bt-knopf.gefahr.bestaetigen { border-color: var(--bt-rot); background: var(--bt-rot); color: #fff; }
.bt-sb-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 16px 16px; }
textarea.bt-sb { min-height: 240px; overflow: auto; resize: vertical; font-size: 12.5px; line-height: 1.5; }
.bt-z-n { padding-top: 9px; color: var(--bt-text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; text-align: right; }
.bt-z-text { font-size: 13.5px; }
.bt-z.aus .bt-z-text { color: var(--bt-text-3); text-decoration: line-through; }
.bt-z-firma { font-size: 12.5px; }
.bt-z-rechts { display: flex; align-items: center; gap: 4px; min-height: 34px; }
.bt-badge { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 999px; background: var(--bt-surface-3); color: var(--bt-text-2); font-size: 11px; font-weight: 650; white-space: nowrap; }
.bt-badge.auto { background: var(--bt-accent-soft); color: var(--bt-accent); }
.bt-badge.warn { background: var(--bt-warn-soft); color: var(--bt-warn); }
.bt-z-leer { padding: 8px 16px; color: var(--bt-text-3); font-size: 13px; }
.bt-zeile-neu { display: inline-flex; align-items: center; gap: 6px; justify-self: start; height: 32px; margin: 4px 0 0 52px; padding: 0 10px; border: 1px dashed var(--bt-border-strong); border-radius: 7px; background: transparent; color: var(--bt-text-2); font-size: 12.5px; font-weight: 600; cursor: pointer; }
.bt-zeile-neu:hover { border-color: var(--bt-accent); color: var(--bt-accent); }
.bt-zeile-neu svg { width: 15px; height: 15px; }

/* ---------- Bericht: Seite rechts */
.bt-schichtzeiten { display: grid; gap: 8px; padding: 14px 16px 0; }
.bt-sz { display: grid; grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 8px; }
.bt-sz b { font-size: 13px; }
.bt-sz label { display: flex; align-items: center; gap: 6px; min-width: 0; margin: 0; color: var(--bt-text-2); font-size: 12px; }
.bt-sz label .bt-eingabe { flex: 1 1 auto; width: 100%; min-width: 0; }   /* Uhrzeitfelder schrumpfen mit (Handy) */
.bt-sz + .bt-felder, .bt-schichtzeiten:last-child { padding-bottom: 16px; }
.bt-wetter-fuss { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; padding: 0 16px 14px; }
.bt-wetter-fuss small { color: var(--bt-text-3); font-size: 12px; }
.bt-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 16px 10px; }
.bt-fz { display: inline-flex; align-items: center; gap: 7px; height: 34px; margin: 0; padding: 0 12px 0 10px; border: 1px solid var(--bt-border); border-radius: 999px; background: var(--bt-surface); font-size: 13px; font-weight: 600; cursor: pointer; }
.bt-fz:has(input:checked) { border-color: var(--bt-accent); background: var(--bt-accent-soft); }
.bt-fz input { width: 15px !important; height: 15px !important; margin: 0 !important; accent-color: var(--bt-accent); }
.bt-zufuegen { display: flex; gap: 8px; padding: 6px 16px 16px; }
.bt-zufuegen .bt-eingabe { flex: 1 1 auto; }
.bt-personal { display: grid; }
/* zwei Zeilen je Person: oben Häkchen und der volle Name (nie abgeschnitten), darunter Kürzel, Firma, Schicht */
.bt-p { display: grid; grid-template-columns: 26px 68px minmax(0, 1fr) 104px 30px; grid-template-areas: "da name name name weg" ". kz firma schicht ."; align-items: center; gap: 6px 8px; padding: 8px 12px 10px 14px; border-bottom: 1px solid var(--bt-line); }
.bt-p > .bt-p-da { grid-area: da; } .bt-p > .bt-p-name { grid-area: name; } .bt-p > .bt-p-kz { grid-area: kz; } .bt-p > .bt-p-firma { grid-area: firma; } .bt-p > .bt-p-schicht { grid-area: schicht; }
.bt-p > .bt-knopf, .bt-p-platz { grid-area: weg; }
.bt-p.weg .bt-p-name b { color: var(--bt-text-3); text-decoration: line-through; }
.bt-p-da { display: grid; place-items: center; margin: 0; }
.bt-p-da input { width: 17px !important; height: 17px !important; margin: 0 !important; accent-color: var(--bt-accent); }
.bt-p-name { display: grid; gap: 1px; min-width: 0; }
.bt-p-name b { font-size: 13.5px; font-weight: 600; overflow-wrap: anywhere; }
.bt-p-name small { color: var(--bt-text-3); font-size: 11.5px; }
.bt-p .bt-eingabe { height: 32px; padding: 0 8px; font-size: 12.5px; }
.bt-p-platz { width: 30px; }

/* ---------- Tätigkeitsnachweis */
/* v922: Anlagen im PDF – Tätigkeitsnachweis und Statusplan-Ausschnitte */
.bt-anlagen { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; padding: 10px 16px; border-bottom: 1px solid var(--bt-line); background: var(--bt-surface-2); }
.bt-anlagen-titel { color: var(--bt-text-3); font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.bt-anlagen .bt-schalter small { margin-left: 4px; color: var(--bt-text-3); font-size: 12px; }
.bt-anlagen-info { flex-basis: 100%; color: var(--bt-text-2); font-size: 12.5px; line-height: 1.45; }
.bt-nw { display: block; max-height: 520px; overflow: auto; overscroll-behavior: contain; }
.bt-nw-z { display: grid; grid-template-columns: 60px minmax(90px, .8fr) 60px minmax(132px, 1.3fr) minmax(160px, 1.6fr) 104px; align-items: baseline; gap: 8px; padding: 7px 16px; border-bottom: 1px solid var(--bt-line); font-size: 13px; }
.bt-nw-z small { color: var(--bt-text-3); font-size: 11.5px; }
/* v922: lange Elementnamen ohne Leerzeichen (81308/W478/W469/W472) umbrechen statt in die Nachbarspalte zu laufen */
.bt-nw-z > span { min-width: 0; overflow-wrap: anywhere; }
.bt-nw-z.kopf > span { overflow-wrap: normal; white-space: nowrap; }   /* „Betriebsstelle“ braucht 99 px – Spalte 104 px */
.bt-nw-z.kopf { position: sticky; top: 0; z-index: 1; background: var(--bt-surface-2); color: var(--bt-text-3); font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- Einstellungen */
.bt-logo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bt-logo img { max-width: 180px; max-height: 44px; padding: 4px; border: 1px solid var(--bt-border); border-radius: 6px; background: #fff; }
.bt-datei { overflow: hidden; }
.bt-datei input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.bt-fz-liste { display: grid; padding: 8px 0 0; }
.bt-fz-z { display: flex; align-items: center; gap: 12px; padding: 6px 12px 6px 16px; border-bottom: 1px solid var(--bt-line); }
.bt-fz-z b { flex: 1 1 auto; font-size: 13.5px; font-weight: 650; }
.bt-gruppen, .bt-personen { display: grid; }
.bt-g-z { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 220px); align-items: center; gap: 10px; margin: 0; padding: 7px 16px; border-bottom: 1px solid var(--bt-line); font-size: 13.5px; }
.bt-pe-z { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, 180px) 74px; align-items: center; gap: 8px; padding: 7px 16px; border-bottom: 1px solid var(--bt-line); }
.bt-pe-z .bt-eingabe { height: 32px; font-size: 12.5px; }
.bt-konto { color: var(--bt-gruen); font-weight: 650; }
.bt-g-z > span { display: grid; gap: 2px; min-width: 0; }
.bt-g-z > span small { color: var(--bt-warn); font-size: 11.5px; line-height: 1.35; }
/* v920: Textbausteine je Arbeitsschritt – ganze Breite, drei Spalten (Schritt | Text | bei Demontage) */
.bt-bausteine { grid-column: 1 / -1; }
.bt-bs-erkl { padding: 12px 16px 4px; }
.bt-bs-erkl code { padding: 1px 4px; border-radius: 4px; background: var(--bt-surface-3); color: var(--bt-text); font-size: 12px; }
.bt-bs-kopf, .bt-bs-z { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.6fr) minmax(0, 1.2fr); align-items: center; gap: 10px; padding: 7px 16px; }
.bt-bs-kopf { margin-top: 6px; border-bottom: 1px solid var(--bt-border); background: var(--bt-surface-2); color: var(--bt-text-3); font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.bt-bs-z { border-bottom: 1px solid var(--bt-line); }
.bt-bs-z .bt-eingabe { height: 34px; font-size: 12.5px; }
.bt-bs-name { display: grid; gap: 1px; min-width: 0; }
.bt-bs-name b { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.bt-bs-name small { color: var(--bt-text-3); font-size: 11.5px; }
.bt-bs-art { padding: 12px 16px 6px; border-bottom: 1px solid var(--bt-border); background: var(--bt-surface-2); font: 650 13.5px/1.3 var(--bt-font-display); }
@media (max-width: 900px) {
  .bt-bs-kopf { display: none; }
  .bt-bs-z { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 10px 14px; }
}

/* ---------- schmaler: eine Spalte, Reihenfolge wie auf dem Papier */
@media (max-width: 1180px) {
  .bt-raster:not(.gleich) { grid-template-columns: minmax(0, 1fr); }
  .bt-raster:not(.gleich) > .bt-spalte { display: contents; }
  .bt-k-kopfdaten { order: 1; } .bt-k-wetter { order: 2; } .bt-k-vertraglich { order: 3; } .bt-k-ausser { order: 4; } .bt-k-fahrzeuge { order: 5; }
  .bt-k-personal { order: 6; } .bt-k-vorkommnisse { order: 7; } .bt-k-unterschriften { order: 8; } .bt-k-nachweis { order: 9; }
  .bt-raster:not(.gleich) > .bt-spalte > .bt-knopf.gefahr { order: 10; }
  .bt-zeile { grid-template-columns: 60px minmax(110px, 1fr) minmax(80px, .7fr) minmax(120px, .9fr) minmax(120px, 1fr) minmax(120px, .9fr) 160px; }
}
@media (max-width: 900px) {
  .bt-raster.gleich { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .bt { gap: 12px; padding: 14px 16px 22px; }
  .bt-titel h2 { font-size: 21px; }
  .bt-kennzahl b { font-size: 22px; }
  .bt-aktionen { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bt-aktionen > .bt-knopf { width: 100%; }
  .bt-aktionen > .bt-knopf.primaer:nth-child(odd):last-child { grid-column: 1 / -1; }
  .bt-leiste { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .bt-neu { display: grid; gap: 4px; min-width: 0; font-size: 12px; }   /* Beschriftung über dem Feld – das Datum hat ganz Platz */
  .bt-neu input { width: 100%; min-width: 0; }
  .bt-leiste > .bt-knopf.primaer { align-self: end; }
  .bt-auto { grid-column: 1 / -1; order: 3; margin-left: 0; }
  .bt-leiste > [data-bt-einstellungen] { grid-column: 1 / -1; order: 4; }
  /* Liste als Karten: Nr. + Datum oben, darunter die Zahlen */
  .bt-zeile.kopf { display: none; }
  .bt-zeile { grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "nr datum export" "nr zahl status" "nr personal wetter"; gap: 0 8px; padding: 10px 12px 10px 14px; }
  .bt-zeile > span { padding: 2px 0; }
  .bt-z-nr { grid-area: nr; align-self: start; }
  .bt-z-datum { grid-area: datum; }
  .bt-z-zahl:nth-of-type(3) { grid-area: zahl; }
  .bt-z-zahl:nth-of-type(4) { grid-area: personal; }
  .bt-z-wetter { grid-area: wetter; justify-self: end; text-align: right; font-size: 12px; }
  .bt-z-status { grid-area: status; justify-items: end; }
  .bt-z-export { grid-area: export; }
  .bt-zeile .bt-z-zahl { display: flex; gap: 5px; align-items: baseline; }
  .bt-felder { grid-template-columns: minmax(0, 1fr); }
  /* Text über die ganze Breite; Schicht/Firma/Personen/Stunden, Kennzeichen und Knöpfe darunter in einer Reihe */
  .bt-z, .bt-z.vertraglich, .bt-z.ausservertraglich, .bt-z.vorkommnisse { grid-template-columns: 22px minmax(0, 1fr); gap: 6px; padding: 6px 10px; }
  .bt-z-text, .bt-z-meta, .bt-z-vorschau, .bt-z-rechts { grid-column: 2; grid-row: auto; }
  .bt-z-meta .bt-z-schicht { flex: 0 0 100px; } .bt-z-meta .bt-z-firma { flex: 1 1 120px; width: auto; } .bt-z-meta .bt-z-zahl { flex: 0 0 64px; }
  .bt-z-rechts { justify-content: flex-end; min-height: 0; }
  .bt-zeile-neu-reihe { margin-left: 32px; }
  .bt-baustein { max-width: 100%; flex: 1 1 100%; }
  .bt-sb-raster { grid-template-columns: minmax(0, 1fr); }
  .bt-z-rechts { min-height: 0; justify-content: flex-end; }
  .bt-z-rechts:empty { display: none; }
  .bt-zeile-neu { margin-left: 40px; }
  .bt-sz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 8px; }
  .bt-sz b { grid-column: 1 / -1; }   /* „Schicht 1“ über von/bis – die Uhrzeit hat ganz Platz */
  .bt-seg .bt-lang { display: none; }
  .bt-seg .bt-kurz { display: inline; }
  .bt-p { grid-template-columns: 26px 58px minmax(0, 1fr) 96px 30px; padding: 8px 8px 10px 10px; }
  .bt-nw-z { grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1.2fr); grid-template-areas: "zeit person element" "zeit schritt schritt"; row-gap: 2px; }
  .bt-nw-z.kopf { display: none; }
  .bt-anlagen-titel { flex-basis: 100%; }   /* v922: beide Schalter untereinander, gleich eingerückt */
  .bt-nw-z > :nth-child(1) { grid-area: zeit; } .bt-nw-z > :nth-child(2) { grid-area: person; } .bt-nw-z > :nth-child(3), .bt-nw-z > :nth-child(6) { display: none; }
  .bt-nw-z > :nth-child(4) { grid-area: element; } .bt-nw-z > :nth-child(5) { grid-area: schritt; color: var(--bt-text-2); }
  .bt-g-z, .bt-pe-z { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .bt-pe-z .bt-p-name { grid-column: 1 / -1; }
}
@media (pointer: coarse) {
  .bt-knopf { height: 42px; }
  .bt-knopf.nur-symbol.klein { width: 38px; height: 38px; }
  .bt-eingabe, .bt-neu input { height: 42px; font-size: 16px; }
  textarea.bt-eingabe { font-size: 16px; min-height: 42px; }
  .bt-p .bt-eingabe, .bt-pe-z .bt-eingabe { height: 40px; font-size: 16px; }
}
