/* KI-MARO Model Hub · Stile des Angebotsvergleich-Arbeitsbereichs
   ---------------------------------------------------------------------------
   Gehoert zu assets/angebotsvergleich.js; sitzt auf der aufgeklappten Karte des
   Werkzeugs `angebotsvergleich`. Alle Klassen tragen den Praefix avg-; keine
   Bestandsklasse wird umdefiniert. Farbregel wie ueberall: Gruen nur auf
   Gerechnetem (Reihung, Summen), Blau + Raute fuer den KI-Leseschritt. */

.avg-bereich{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--rand);
  margin-top:6px;padding-top:10px}
.avg-label{font-size:11.5px;color:var(--mittelgrau);font-weight:600;white-space:nowrap}
.avg-hinweis{font-size:11.5px;color:var(--mittelgrau)}
.avg-leer{font-size:13px;color:var(--mittelgrau);padding:6px 2px}

.avg-kopf{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.avg-select{font:inherit;font-size:12.5px;padding:4px 6px;border:1px solid var(--rand);
  border-radius:7px;background:#fff;max-width:240px}
.avg-select.mini{font-size:11.5px;padding:3px 4px}
.avg-name{font:inherit;font-size:12.5px;padding:4px 8px;border:1px solid var(--rand);
  border-radius:7px;flex:1 1 160px;min-width:120px}

.avg-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border:1px dashed var(--rand);border-radius:10px;padding:9px 12px}
.avg-upload .avg-hinweis{flex:1 1 260px}
.wz-chip-ki-mini{color:var(--dt-ki);font-size:11px}

.avg-laufend{display:flex;flex-direction:column;gap:4px}
.avg-lauf{font-size:12.5px;color:var(--dt-ki);background:var(--dt-ki-bg);
  border:1px solid var(--dt-ki-rand);border-radius:8px;padding:6px 10px}

.avg-bieterliste{display:flex;flex-direction:column;gap:6px}
.avg-bieter{border:1px solid var(--rand);border-radius:10px;padding:8px 10px;background:#fff}
.avg-b-zeile{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.avg-b-name{font:inherit;font-size:13px;font-weight:700;padding:3px 6px;
  border:1px solid transparent;border-radius:6px;flex:1 1 150px;min-width:120px}
.avg-b-name:hover,.avg-b-name:focus{border-color:var(--rand)}
.avg-b-datum{font:inherit;font-size:12px;padding:3px 6px;border:1px solid transparent;
  border-radius:6px;width:98px;color:var(--mittelgrau)}
.avg-b-datum:hover,.avg-b-datum:focus{border-color:var(--rand)}
.avg-b-fakt{font-size:11.5px;color:var(--mittelgrau);white-space:nowrap}
.avg-b-neu{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.25px;
  color:var(--dt-gruen-tief);background:var(--dt-gruen-bg);border:1px solid var(--dt-gruen-rand);
  border-radius:999px;padding:2px 6px;white-space:nowrap}

.avg-bericht{font-size:12px;margin-top:5px}
.avg-bericht summary,.avg-leseprotokoll > summary{cursor:pointer;color:var(--mittelgrau)}
.avg-bericht-punkt.ok{color:var(--dt-gruen)}
.avg-bericht-punkt.warn{color:var(--goldd)}
.avg-bericht-inhalt{padding:6px 2px 2px 14px;display:flex;flex-direction:column;gap:3px;
  color:var(--mittelgrau)}
.avg-bericht-zeile{border-left:2px solid var(--hairline);padding-left:8px}
.avg-leseprotokoll{margin-top:6px}
.avg-summencheck{border:1px solid var(--rand);border-left:3px solid var(--blau);border-radius:8px;
  padding:8px 10px;display:flex;flex-direction:column;gap:5px;background:#fff}
.avg-summencheck > b{font-size:12.5px}.avg-summencheck > span,.avg-summencheck p{margin:0;
  color:var(--mittelgrau);line-height:1.4}.avg-summencheck.ok{border-color:var(--dt-gruen-rand);
  border-left-color:var(--dt-gruen);background:var(--dt-gruen-bg)}
.avg-summencheck.ok > b{color:var(--dt-gruen-tief)}.avg-summencheck.warn{border-color:var(--goldrand);
  border-left-color:var(--gold);background:var(--goldf)}.avg-summencheck.warn > b{color:var(--goldd)}
.avg-summencheck.leer{border-left-color:var(--rand);background:var(--creme)}
.avg-summenwerte{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:6px 12px}
.avg-summenwerte span{display:flex;flex-direction:column;gap:1px;font-variant-numeric:tabular-nums;font-weight:750;color:var(--blau)}
.avg-summenwerte small{font-size:10.5px;font-weight:600;color:var(--mittelgrau)}
.avg-summencheck-tun{display:flex;gap:6px;flex-wrap:wrap;margin-top:1px}
@media (max-width:620px){.avg-summenwerte{grid-template-columns:1fr}}
.avg-ursachen{margin-top:3px;display:flex;flex-direction:column;gap:6px}
.avg-ursachen-kopf{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.25px;color:var(--mittelgrau)}
.avg-ursache{padding:7px 8px;border:1px solid var(--hairline);border-left:3px solid var(--rand);border-radius:6px;background:#fff}
.avg-ursache.eindeutig{border-color:var(--goldrand);border-left-color:var(--gold)}
.avg-ursache.plausibel{border-left-color:var(--blau)}
.avg-ursache.hinweis{border-color:var(--dt-gruen-rand);border-left-color:var(--dt-gruen);background:var(--dt-gruen-bg)}
.avg-ursache > div:first-child{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;color:var(--blau)}
.avg-ursache > div:first-child small{font-size:10px;font-weight:600;color:var(--mittelgrau)}
.avg-ursache p{margin:3px 0 0;line-height:1.38;color:var(--mittelgrau)}
.avg-ursache-ref{display:block;margin-top:3px;font-size:10.5px;font-weight:650;color:var(--blau)}
.avg-ursache .avg-summencheck-tun{margin-top:5px}

.avg-tun{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Eingelesene Positionen je Bieter — aufklappbar und direkt bearbeitbar,
   lange Listen scrollen intern */
.avg-positionen{font-size:12px;margin-top:5px}
.avg-positionen > summary{cursor:pointer;color:var(--blau);font-weight:600}
.avg-postab-wrap{max-height:340px;overflow:auto;margin-top:6px;
  border:1px solid var(--rand);border-radius:8px}
.avg-postab{font-size:12px}
.avg-postab thead th{position:sticky;top:0;background:var(--goldf);z-index:1}
.avg-postab td{padding:1px 4px}
.avg-postab td.m,.avg-postab th.m{text-align:center;width:44px}
.avg-postab td:nth-child(2){max-width:420px}
.avg-pos-opt td{color:var(--mittelgrau);font-style:italic}
.avg-pos-in{font:inherit;font-size:12px;width:100%;min-width:52px;padding:3px 5px;
  border:1px solid transparent;border-radius:5px;background:transparent}
.avg-pos-in:hover{border-color:var(--rand)}
.avg-pos-in:focus{border-color:var(--goldrand);background:#fff;outline:none}
.avg-pos-in.z{text-align:right;font-variant-numeric:tabular-nums}
.avg-pos-bez{min-width:220px}
.avg-pos-einh{width:64px;min-width:44px}
.avg-pos-fuss{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}

.avg-ergebnis{display:flex;flex-direction:column;gap:9px;border:1px solid var(--dt-gruen-rand);
  border-radius:10px;background:var(--dt-gruen-bg);padding:10px 12px}
.avg-e-kopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.avg-scroll{overflow-x:auto}
.avg-tabelle{border-collapse:collapse;font-size:12.5px;background:#fff;width:100%}
.avg-tabelle th,.avg-tabelle td{border:1px solid var(--rand);padding:4px 8px;text-align:left;
  vertical-align:top}
.avg-tabelle th{font-size:11px;color:var(--mittelgrau);font-weight:700;background:var(--goldf)}
.avg-tabelle td.z,.avg-tabelle th.z{text-align:right;white-space:nowrap;
  font-variant-numeric:tabular-nums}
.avg-beste td{background:var(--gruenf);font-weight:600}
.avg-summe{font-weight:800;color:var(--dt-gruen-tief)}

.avg-details{font-size:12.5px}
.avg-details > summary{cursor:pointer;font-weight:600;color:var(--blau)}
.avg-befunde{margin:6px 0;display:flex;flex-direction:column;gap:2px}
.avg-befund{font-size:12px;color:var(--mittelgrau);padding-left:8px}
.avg-befund.warnung,.avg-befund.fehler{color:var(--goldd)}
.avg-nichtwertung{font-size:12.5px;color:var(--mittelgrau);display:flex;
  flex-direction:column;gap:2px}

.avg-pv td:first-child{max-width:340px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.avg-pv-min{color:var(--dt-gruen-tief);font-weight:700}
.avg-pv-max{color:var(--goldd);font-weight:700}
.avg-pv-fehlt{color:var(--mittelgrau)}
.avg-pv-einzel td{color:var(--mittelgrau)}
.avg-pv-summen td{border-top:2px solid var(--goldrand);font-weight:600}

.avg-schritt{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;
  padding:3px 0;border-bottom:1px dashed var(--hairline);font-size:12.5px}
.avg-formel{color:var(--mittelgrau);font-size:12px}
.avg-wert{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}

/* ===== Darstellungswahl: Übersicht | Tabelle | Details ===== */
.avg-ansicht{display:flex;align-items:center;gap:0;margin-left:auto}
.avg-ansicht .avg-label{margin-right:8px}
.avg-seg{font:inherit;font-size:11.5px;font-weight:600;padding:3px 10px;cursor:pointer;
  border:1px solid var(--rand);background:#fff;color:var(--mittelgrau)}
.avg-seg:first-of-type{border-radius:7px 0 0 7px}
.avg-seg:last-of-type{border-radius:0 7px 7px 0}
.avg-seg + .avg-seg{border-left:0}
.avg-seg.aktiv{background:var(--dt-gruen-bg);border-color:var(--dt-gruen-rand);
  color:var(--dt-gruen-tief)}

/* Übersicht: Beste Wahl gross, weitere kompakt */
.avg-best{background:#fff;border:1px solid var(--dt-gruen-rand);border-radius:10px;
  padding:10px 14px}
.avg-best-kopf{font-size:11px;font-weight:700;letter-spacing:.4px;color:var(--dt-gruen-tief);
  text-transform:uppercase}
.avg-best-zeile{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:3px}
.avg-best-name{font-size:17px;font-weight:800}
.avg-best-summe{margin-left:auto;font-size:19px;font-weight:800;
  color:var(--dt-gruen-tief);font-variant-numeric:tabular-nums}
.avg-best-sub{font-size:11.5px;color:var(--mittelgrau);margin-top:2px}
.avg-weitere{display:flex;flex-direction:column}
.avg-weitere-zeile{display:flex;align-items:baseline;gap:10px;padding:5px 14px;
  border-bottom:1px dashed var(--hairline);font-size:13px;background:#fff}
.avg-weitere-zeile:last-child{border-bottom:0}
.avg-w-rang{color:var(--mittelgrau);font-weight:700;width:18px}
.avg-w-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}
.avg-w-abstand{color:var(--mittelgrau);font-size:12px}
.avg-w-summe{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}
.avg-warnchip{color:var(--goldd);font-size:11.5px;font-weight:700;white-space:nowrap}
.avg-okchip{color:var(--dt-gruen);font-size:11.5px}

/* Kompakte Eingabe-Zusammenfassung auf der Berechnet-Karte */
.avg-eingabe-kompakt{display:flex;flex-direction:column;gap:2px}
.avg-ek-zeile{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:12.5px;
  padding:3px 0;border-bottom:1px dashed var(--hairline)}
.avg-ek-zeile:last-child{border-bottom:0}
.avg-ek-name{font-weight:700}
.avg-ek-fakt{color:var(--mittelgrau);font-size:12px;white-space:nowrap}

/* --- Grundlage: gewählter LV-Stand ------------------------------------- */
.avg-grundlage{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  border:1px solid var(--rand);border-radius:10px;padding:8px 12px;background:var(--goldf)}
.avg-grundlage .avg-hinweis{flex:1 1 220px}
.avg-grundlage .hinweisbox{flex:1 1 100%;margin:2px 0 0}

/* --- Angaben des Prüfers ----------------------------------------------- */
.avg-bieter.ausgeschlossen{opacity:.72}
.avg-pruefung{font-size:12.5px;border-top:1px dashed var(--rand);margin-top:6px;padding-top:6px}
.avg-pruefung > summary{cursor:pointer;font-weight:600;color:var(--blau)}
.avg-feldraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:8px 12px;margin:8px 0}
.avg-feldraster label{display:flex;flex-direction:column;gap:3px;font-size:11px;
  color:var(--mittelgrau);font-weight:600}
.avg-pruefgruppe{margin-top:9px;padding:8px 9px;border:1px solid var(--hairline);border-radius:8px;background:var(--creme)}
.avg-pruefgruppe-titel{font-size:11.5px;font-weight:750;color:var(--blau);display:flex;gap:6px;
  flex-wrap:wrap;align-items:baseline}.avg-pruefgruppe-titel span{font-size:10.5px;font-weight:400;color:var(--mittelgrau)}
.avg-pruefgruppe .avg-feldraster{margin-bottom:0}.avg-feldhinweis{font-size:10px;line-height:1.3;font-weight:400;color:var(--dt-gruen-tief)}
.avg-pruef-tabelle-wrap{overflow-x:auto;margin-top:8px;border:1px solid var(--rand);border-radius:7px;background:#fff}
.avg-pruef-tabelle{min-width:620px;margin:0;border:0}
.avg-pruef-tabelle th,.avg-pruef-tabelle td{padding:6px 8px;vertical-align:middle}
.avg-pruef-tabelle th[scope="row"]{width:27%;color:var(--blau);font-size:11.5px;background:#fff}
.avg-pruef-tabelle th[scope="row"] label{display:block;cursor:text}
.avg-pruef-tabelle .avg-pruef-eingabe{width:22%;min-width:126px;background:var(--creme)}
.avg-pruef-tabelle .avg-pruef-eingabe .avg-pos-in{border-color:var(--rand);background:#fff;padding:4px 6px}
.avg-pruef-tabelle .avg-pruef-erklaerung{color:var(--mittelgrau);font-size:11px;line-height:1.38}
.avg-pruef-status{display:block;margin-top:3px;color:var(--dt-gruen-tief);font-weight:600}
@media (max-width:620px){
  .avg-pruef-tabelle-wrap{overflow:visible}
  .avg-pruef-tabelle,.avg-pruef-tabelle tbody,.avg-pruef-tabelle tr,.avg-pruef-tabelle th,.avg-pruef-tabelle td{display:block;width:100%;min-width:0}
  .avg-pruef-tabelle thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .avg-pruef-tabelle tr{padding:7px 8px;border-bottom:1px solid var(--rand)}
  .avg-pruef-tabelle tr:last-child{border-bottom:0}
  .avg-pruef-tabelle th,.avg-pruef-tabelle td{border:0;padding:2px 0;text-align:left}
  .avg-pruef-tabelle td.z{white-space:normal}
  .avg-pruef-tabelle th[scope="row"]{background:transparent}
  .avg-pruef-tabelle .avg-pruef-eingabe{background:transparent}
  .avg-pruef-tabelle .avg-pruef-eingabe .avg-pos-in{max-width:none}
}
.avg-weitere-angaben{margin-top:8px}.avg-weitere-angaben > summary{cursor:pointer;font-size:11.5px;font-weight:650;color:var(--mittelgrau)}
.avg-zusatz{margin-top:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.avg-zusatz-kopf{font-size:11.5px;font-weight:700;display:flex;gap:8px;flex-wrap:wrap;
  align-items:baseline}
.avg-zusatz-kopf .avg-hinweis{font-weight:400;flex:1 1 240px}
.avg-zusatztab{width:100%}
.avg-zusatztab td.m,.avg-zusatztab th.m{text-align:center;width:44px}
.avg-wertung{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.avg-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.avg-wertung .avg-pos-in{flex:1 1 260px}
.avg-anmerkung{display:flex;flex-direction:column;gap:3px;font-size:11px;
  color:var(--mittelgrau);font-weight:600;margin-top:8px}
.avg-anmerkung textarea{font:inherit;font-size:12px;resize:vertical}

/* --- Die drei Bieter-Karten -------------------------------------------- */
.avg-cmp3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}
@media (max-width:860px){.avg-cmp3{grid-template-columns:1fr}}
.avg-bcard{background:#fff;border:1px solid var(--rand);border-top:3px solid var(--rand);
  border-radius:10px;padding:10px 12px 11px;display:flex;flex-direction:column;gap:2px}
.avg-bcard.beste{border-top-color:var(--dt-gruen)}
.avg-bcard.alt2{border-top-color:var(--blau)}
.avg-bcard.alt3{border-top-color:var(--goldrand)}
.avg-bcard.leer{background:var(--goldf);border-style:dashed;justify-content:center}
.avg-bc-rang{display:flex;justify-content:space-between;align-items:baseline;gap:8px;
  font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  color:var(--mittelgrau)}
.avg-bc-abstand{font-weight:600;letter-spacing:0;text-transform:none}
.avg-bc-leer{font-size:12px;color:var(--mittelgrau);text-align:center;padding:14px 4px}
.avg-bc-name{font-size:15px;font-weight:800;line-height:1.25;margin-top:4px}
.avg-bc-meta{font-size:11px;color:var(--mittelgrau)}
.avg-bc-preis{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;
  color:var(--dt-gruen-tief);margin-top:7px;line-height:1.15}
.avg-bc-sub{font-size:11px;color:var(--mittelgrau);font-variant-numeric:tabular-nums}
.avg-bc-kontakt{font-size:11px;color:var(--mittelgrau);margin-top:3px}
.avg-bc-flag{align-self:flex-start;font-size:11px;font-weight:700;margin-top:7px}
.avg-bc-flag.ok{color:var(--dt-gruen)}
.avg-bc-flag.warn{color:var(--goldd)}
.avg-bc-akt{font-size:10.5px;color:var(--dt-gruen);margin-top:4px}
.avg-bc-anmerkung{font-size:11px;color:var(--mittelgrau);border-left:2px solid var(--goldrand);
  padding-left:7px;margin-top:6px}
.avg-bc-tun{margin-top:8px}

/* Reine Sichtprüfung: Das Original-PDF wird direkt im Dialog eingebettet.
   Der Bereich bekommt bewusst viel Platz, ohne einen neuen Tab oder Download
   zu öffnen. */
#dlg.avg-beleg-dialog{width:min(1280px,96vw);max-width:min(1280px,96vw)}
.avg-beleg-vorschau{width:100%;height:min(78vh,900px);min-height:460px;
  border:1px solid var(--rand);border-radius:8px;overflow:hidden;background:#fff}
.avg-beleg-vorschau iframe{display:block;width:100%;height:100%;border:0;background:#fff}
@media (max-width:640px){
  .avg-beleg-vorschau{height:72vh;min-height:360px}
}

/* --- Vergabe-Empfehlung ------------------------------------------------ */
.avg-empfehlung{background:#fff;border:1px solid var(--dt-gruen-rand);border-left:3px solid var(--dt-gruen);
  border-radius:10px;padding:10px 14px 12px;display:flex;flex-direction:column;gap:5px}
.avg-emp-kopf{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  color:var(--dt-gruen-tief)}
.avg-emp-name{font-size:16px;font-weight:800}
.avg-emp-tab{border-collapse:collapse;font-size:12.5px;width:100%;margin-top:4px}
.avg-emp-tab td{padding:3px 0;border-bottom:1px solid var(--goldf)}
.avg-emp-tab td.z{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.avg-emp-diff td{border-top:1px solid var(--rand);border-bottom:0;padding-top:5px}
.avg-emp-klaeren{font-size:12px;color:var(--goldd);background:var(--goldf);
  border-left:2px solid var(--goldrand);padding:6px 10px;border-radius:0 6px 6px 0;margin-top:4px}
.avg-emp-anmerkungen{margin-top:4px;display:flex;flex-direction:column;gap:3px}
.avg-emp-anm-kopf{font-size:11px;font-weight:700;color:var(--mittelgrau)}
.avg-emp-anm{font-size:12px;border-left:2px solid var(--rand);padding-left:8px}

/* --- Kostenvergleich als Balken ---------------------------------------- */
.avg-chart{background:#fff;border:1px solid var(--rand);border-radius:10px;
  padding:9px 12px 11px;display:flex;flex-direction:column;gap:4px}
.avg-chart-kopf{font-size:11.5px;font-weight:700;display:flex;gap:10px;flex-wrap:wrap;
  align-items:baseline;margin-bottom:3px}
.avg-chart-leg{font-size:10.5px;font-weight:400;color:var(--mittelgrau);
  display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}
.avg-leg-punkt{width:9px;height:9px;border-radius:2px;display:inline-block}
.avg-leg-punkt.angebot{background:var(--dt-gruen)}
.avg-leg-punkt.zusatz{background:var(--goldd)}
.avg-chart-zeile{display:flex;align-items:center;gap:8px;font-size:11.5px}
.avg-chart-name{flex:0 0 34%;max-width:34%;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.avg-chart-bahn{flex:1 1 auto;display:flex;height:13px;background:var(--goldf);
  border-radius:3px;overflow:hidden;min-width:40px}
.avg-chart-balken{height:100%}
.avg-chart-balken.angebot{background:var(--dt-gruen)}
.avg-chart-balken.zusatz{background:var(--goldd)}
.avg-chart-wert{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700;
  white-space:nowrap}

/* --- Ausgabe ----------------------------------------------------------- */
.avg-export{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  border-top:1px solid var(--rand);padding-top:8px;margin-top:2px}
.avg-export .avg-hinweis{flex:1 1 200px}

/* --- Fokussierter Angebotspruef-Arbeitsplatz --------------------------- */
.avg-arbeitsplatz{max-width:1420px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.gewobau-werkzeugleiste{position:sticky;top:8px;z-index:20;max-width:1420px;margin:0 auto 10px;display:flex;align-items:stretch;
  gap:10px;padding:8px 11px;background:rgba(255,255,255,.97);border:1px solid var(--goldrand);
  border-left:4px solid var(--gold);border-radius:10px;box-shadow:0 3px 12px rgba(10,31,68,.08)}
.gewobau-werkzeugleiste-label{display:flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:.45px;
  text-transform:uppercase;color:var(--mittelgrau);white-space:nowrap}
.gewobau-werkzeugleiste-liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1;min-width:0}
.gewobau-werkzeug{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:7px 9px;text-align:left;
  font:inherit;color:var(--blau);background:#fff;border:1px solid var(--rand);border-radius:8px;cursor:pointer}
.gewobau-werkzeug:hover{border-color:var(--goldrand);background:var(--creme)}
.gewobau-werkzeug.aktiv{background:var(--goldf);border-color:var(--goldd);box-shadow:inset 0 0 0 1px var(--gold)}
.gewobau-werkzeug-name{font-size:12px;font-weight:800;line-height:1.2}.gewobau-werkzeug-name b{font-size:9.5px;
  letter-spacing:.35px;text-transform:uppercase;color:var(--goldd);margin-left:4px}.gewobau-werkzeug-status{font-size:10.5px;color:var(--mittelgrau);line-height:1.3}
.gewobau-weg{max-width:1420px;margin:0 auto 8px;display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;padding:0 2px;font-size:12px;color:var(--mittelgrau)}
.gewobau-weg-pfad{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--mittelgrau)}
.gewobau-weg-pfad button{font:inherit;font-size:12.5px;font-weight:700;color:var(--blau);cursor:pointer;padding:2px 3px;
  background:transparent;border:0;border-radius:4px;text-decoration:underline;text-underline-offset:2px}
.gewobau-weg-pfad button:hover{background:var(--creme)}
.gewobau-weg-pfad strong{color:var(--blau);font-size:12.5px}
.gewobau-weg-hinweis{margin-left:auto;font-size:11.5px;color:var(--mittelgrau)}
.avg-arbeits-kopf{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--rand);padding-bottom:10px}
.avg-arbeits-kopf > div{margin-right:auto}
.avg-arbeits-kopf h1{font-size:22px;letter-spacing:-.45px;margin:0;color:var(--blau)}
.avg-arbeits-kopf p{margin:3px 0 0;font-size:12.5px;color:var(--mittelgrau)}
.avg-arbeits-kontext{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--creme);
  border:1px solid var(--rand);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:8px 11px}
.avg-arbeits-kontext > div:first-child{display:flex;flex-direction:column;gap:1px;min-width:190px}
.avg-arbeits-kontext > div:first-child b{font-size:11px;letter-spacing:.45px;text-transform:uppercase;color:var(--mittelgrau)}
.avg-arbeits-kontext > div:first-child span{font-size:12.5px;font-weight:700;color:var(--blau)}
.avg-arbeits-kontext .akte-auswahl{margin-left:auto;flex:1 1 310px}
.avg-arbeits-kontext .akte-label{min-width:220px;flex:1 1 220px}
.avg-kontext-status{font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:7px;background:#fff;border:1px solid var(--rand)}
.avg-kontext-status.ok{color:var(--dt-gruen-tief);background:var(--dt-gruen-bg);border-color:var(--dt-gruen-rand)}
.avg-kontext-status.warn{color:var(--goldd);background:var(--goldf);border-color:var(--goldrand)}
.avg-arbeits-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--rand);padding:0 2px}
.avg-arbeits-tabs button{font:inherit;font-size:12.5px;font-weight:650;color:var(--mittelgrau);white-space:nowrap;
  padding:8px 11px;border:0;border-bottom:3px solid transparent;background:transparent;cursor:pointer}
.avg-arbeits-tabs button:hover{color:var(--blau);background:var(--creme)}
.avg-arbeits-tabs button.aktiv{color:var(--blau);border-bottom-color:var(--gold);font-weight:800}
.avg-arbeits-spalten{display:grid;grid-template-columns:minmax(0,var(--wz-a-links,1.05fr)) 14px minmax(330px,var(--wz-a-rechts,.95fr));align-items:start}
.avg-arbeitsplatz .avg-bereich{border:1px solid var(--rand);border-radius:10px;margin:0;padding:11px 12px;background:#fff;min-width:0}
.avg-arbeitsplatz .avg-rechts{position:sticky;top:10px;display:flex;flex-direction:column;gap:9px;min-width:0}
.avg-arbeitsplatz .avg-rechts > .avg-tun{background:var(--creme);border:1px solid var(--rand);border-radius:10px;padding:9px 11px}
.avg-pruefstand{display:flex;flex-direction:column;gap:9px;border:1px solid var(--rand);border-radius:10px;padding:10px 12px;background:var(--creme)}
.avg-ps-kopf{display:flex;align-items:baseline;gap:8px}.avg-ps-kopf b{font-size:13px;color:var(--blau)}
.avg-ps-kopf span{font-size:11.5px;color:var(--mittelgrau);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avg-ps-raster{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:6px}
.avg-ps-raster > div{display:flex;flex-direction:column;gap:1px;padding:7px 8px;background:#fff;border:1px solid var(--rand);border-radius:8px}
.avg-ps-raster b{font-size:17px;color:var(--blau);line-height:1.05}.avg-ps-raster span{font-size:10.5px;color:var(--mittelgrau)}
.avg-ps-raster .ok b{color:var(--dt-gruen)}.avg-ps-raster .warn b{color:var(--goldd)}.avg-ps-raster .leer b{color:var(--mittelgrau)}
.avg-ps-ergebnis{font-size:12px;line-height:1.4;color:var(--mittelgrau);border-left:2px solid var(--goldrand);padding-left:8px}
.avg-zuletzt-eingelesen{display:flex;flex-direction:column;gap:7px;border:1px solid var(--dt-gruen-rand);
  border-left:3px solid var(--dt-gruen);border-radius:10px;padding:10px 12px;background:var(--dt-gruen-bg)}
.avg-zuletzt-kopf{display:flex;align-items:start;justify-content:space-between;gap:9px;flex-wrap:wrap}
.avg-zuletzt-kopf > div{display:flex;flex-direction:column;gap:2px}.avg-zuletzt-kopf span{font-size:10.5px;
  font-weight:800;letter-spacing:.35px;text-transform:uppercase;color:var(--dt-gruen-tief)}
.avg-zuletzt-kopf b{font-size:14px;color:var(--blau)}
.avg-zuletzt-fakten{display:flex;gap:6px 11px;flex-wrap:wrap;font-size:11.5px;color:var(--mittelgrau)}
.avg-zuletzt-fakten span{padding-right:11px;border-right:1px solid var(--dt-gruen-rand);font-variant-numeric:tabular-nums}
.avg-zuletzt-fakten span:last-child{padding-right:0;border-right:0}
.avg-zuletzt-eingelesen .avg-bericht{margin-top:0}
.avg-angebotauswahl{display:flex;flex-direction:column;gap:8px;border:1px solid var(--rand);border-radius:10px;padding:10px 11px;background:var(--creme)}
.avg-angebotauswahl-kopf{display:flex;align-items:start;justify-content:space-between;gap:10px}.avg-angebotauswahl-kopf > div{display:flex;flex-direction:column;gap:2px}
.avg-angebotauswahl-kopf b{font-size:13px;color:var(--blau)}.avg-angebotauswahl-kopf span{font-size:11.5px;color:var(--mittelgrau);line-height:1.38}
.avg-angebotstabelle{min-width:700px}.avg-angebotstabelle td{vertical-align:middle}.avg-angebotstabelle tr.aktiv td{background:var(--dt-gruen-bg);border-top-color:var(--dt-gruen-rand);border-bottom-color:var(--dt-gruen-rand)}
.avg-angebotstabelle tr.aktiv td:first-child{border-left:3px solid var(--dt-gruen)}.avg-angebotstabelle tr.aktiv td:last-child{border-right-color:var(--dt-gruen-rand)}
.avg-angebot-name{font:inherit;font-size:12.5px;font-weight:750;color:var(--blau);padding:0;border:0;background:transparent;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}
.avg-angebot-name:hover,.avg-angebot-name:focus{color:var(--goldd);text-decoration-color:currentColor;outline:none}.avg-angebot-stand{font-size:11px;color:var(--mittelgrau);white-space:nowrap}.avg-angebot-stand.ausgeschlossen{color:var(--goldd);font-weight:700}
.avg-aktives-angebot{display:flex;flex-direction:column;gap:9px;border:1px solid var(--dt-gruen-rand);border-left:3px solid var(--dt-gruen);border-radius:10px;padding:11px 12px;background:#fff}
.avg-aktives-kopf{display:flex;align-items:start;justify-content:space-between;gap:10px;flex-wrap:wrap}.avg-aktives-kopf > div:first-child{display:flex;flex-direction:column;gap:3px}
.avg-aktives-kopf > div:first-child > span:first-child{font-size:10.5px;font-weight:800;letter-spacing:.35px;text-transform:uppercase;color:var(--dt-gruen-tief)}.avg-aktives-kopf b{font-size:15px;color:var(--blau)}
.avg-aktives-fakten{display:flex;gap:6px 11px;flex-wrap:wrap;font-size:11.5px;color:var(--mittelgrau);font-variant-numeric:tabular-nums}.avg-aktives-fakten span{padding-right:11px;border-right:1px solid var(--dt-gruen-rand)}.avg-aktives-fakten span:last-child{padding-right:0;border-right:0}
.avg-aktives-tun{display:flex;gap:6px;flex-wrap:wrap}.avg-angebot-positionen{border-top:1px solid var(--hairline);padding-top:9px}.avg-angebot-positionen-kopf{display:flex;align-items:start;justify-content:space-between;gap:9px;flex-wrap:wrap}.avg-angebot-positionen-kopf > div{display:flex;flex-direction:column;gap:2px}.avg-angebot-positionen-kopf b{font-size:13px;color:var(--blau)}.avg-angebot-positionen-kopf span{font-size:11.5px;color:var(--mittelgrau);line-height:1.35;max-width:68ch}
.avg-angebot-positionen .avg-positionen{margin-top:7px}.avg-angebot-wertung{border-top:1px solid var(--hairline);padding-top:2px}
.avg-standbaum{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.avg-standgruppe{border:1px solid var(--rand);border-radius:9px;padding:8px 10px;background:#fff}
.avg-standgruppe > b{font-size:13px;color:var(--blau)}.avg-standgruppe ol{margin:5px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.avg-standgruppe li{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px;color:var(--mittelgrau);padding-left:8px;border-left:2px solid var(--rand)}
.avg-standgruppe li.aktuell{border-left-color:var(--dt-gruen);color:var(--dt-gruen-tief);font-weight:600}.avg-standgruppe li.ersetzt{opacity:.74}.avg-standgruppe li.klaerung{border-left-color:var(--gold);color:var(--goldd);font-weight:650}
.avg-standgruppe li .btn{margin-left:auto}.avg-rohdaten{margin-top:8px;font-size:12px}.avg-rohdaten > summary{cursor:pointer;color:var(--blau);font-weight:650}
.avg-aenderungen{display:flex;flex-direction:column;gap:8px;border:1px solid var(--rand);border-radius:10px;padding:9px 11px;background:#fff}
.avg-aenderungen-kopf{display:flex;justify-content:space-between;gap:10px;align-items:start}.avg-aenderungen-kopf > div{display:flex;flex-direction:column;gap:2px}
.avg-aenderungen-kopf b{font-size:12.5px;color:var(--blau)}.avg-aenderungen-kopf span{font-size:11px;color:var(--mittelgrau);line-height:1.35}
.avg-aenderungstab{min-width:620px}.avg-aenderungstab td{min-width:110px}.avg-aenderungstab td:first-child{min-width:240px}
.avg-bericht-panel{display:flex;flex-direction:column;gap:7px;border:1px solid var(--dt-gruen-rand);border-radius:10px;padding:10px 12px;background:var(--dt-gruen-bg)}
.avg-bericht-panel b{color:var(--dt-gruen-tief)}.avg-bericht-panel p{font-size:12px;color:var(--mittelgrau);line-height:1.4;margin:0}

/* Persoenlicher Rueckblick: bewusst am Ende des Arbeitsplatzes, nicht als
   Dauermeldung zwischen Bieterzahlen und Prüferentscheidungen. */
.aprot{border:1px solid var(--rand);border-radius:10px;padding:9px 11px;background:#fff;display:flex;flex-direction:column;gap:8px}
.aprot-kopf{display:flex;align-items:start;justify-content:space-between;gap:10px}.aprot-kopf > div{display:flex;flex-direction:column;gap:2px}
.aprot-kopf b{font-size:12.5px;color:var(--blau)}.aprot-kopf span{font-size:11px;color:var(--mittelgrau);line-height:1.35}
.aprot-frage{display:flex;align-items:center;gap:6px}.aprot-frage .avg-pos-in{border:1px solid var(--rand);background:var(--creme);padding:5px 7px}
.aprot-antwort{font-size:12.5px;line-height:1.45;background:var(--goldf);border-left:2px solid var(--goldrand);padding:7px 9px}
.aprot-sitzungen{display:flex;flex-direction:column;gap:4px}.aprot-sitzung{font-size:11.5px}.aprot-sitzung summary{cursor:pointer;color:var(--blau);font-weight:650}
.aprot-sitzung ul{margin:5px 0 0;padding-left:20px;color:var(--mittelgrau);display:flex;flex-direction:column;gap:2px}.aprot-sitzung time{display:inline-block;width:40px;color:var(--blau);font-variant-numeric:tabular-nums}

@media (max-width:980px){.avg-arbeits-spalten{grid-template-columns:1fr;gap:14px}.avg-arbeits-spalten .wz-a-griff{display:none}.avg-arbeitsplatz .avg-rechts{position:static}.avg-arbeits-kontext .akte-auswahl{margin-left:0;width:100%}}
@media (max-width:620px){.avg-arbeits-kopf{align-items:start}.avg-arbeits-kopf > div{flex:1 1 100%}.avg-ps-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.avg-arbeits-kontext{align-items:start}.avg-arbeits-kontext .akte-auswahl{display:block}.avg-arbeits-kontext .akte-label{margin-bottom:7px}.gewobau-werkzeugleiste{top:3px;align-items:flex-start}.gewobau-werkzeugleiste-label{display:none}.gewobau-werkzeugleiste-liste{grid-template-columns:1fr}.gewobau-weg{align-items:flex-start}.gewobau-weg-hinweis{margin-left:0;flex-basis:100%}.avg-zuletzt-fakten span,.avg-aktives-fakten span{padding-right:0;border-right:0}.avg-angebotauswahl{padding:9px}.avg-aktives-angebot{padding:10px}.aprot-kopf{flex-direction:column}.aprot-frage{align-items:stretch;flex-direction:column}}

/* --- Leistungsverzeichnis (assets/lv.js) -------------------------------- */
.lv-bereich{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--rand);
  margin-top:6px;padding-top:10px}
.lv-standkopf{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lv-standkopf.frei{flex-direction:column;align-items:flex-start;gap:3px;
  background:var(--gruenf);border:1px solid var(--dt-gruen-rand);border-radius:10px;
  padding:9px 13px}
.lv-sk-titel{font-size:14px;font-weight:800}
.lv-sk-marke{font-size:11px;font-weight:700;color:var(--dt-gruen-tief)}
.lv-sk-marke.entwurf{color:var(--mittelgrau);background:var(--goldf);
  border:1px solid var(--goldrand);border-radius:8px;padding:2px 8px}
.lv-sk-text{font-size:11.5px;color:var(--mittelgrau);max-width:70ch}
.lv-marke{font-size:11.5px;font-weight:700}
.lv-marke.ok{color:var(--dt-gruen)}
.lv-marke.fehler{color:var(--rot,#9a3b3b)}
.lv-summen{display:flex;flex-direction:column;gap:2px;background:#fff;
  border:1px solid var(--rand);border-radius:10px;padding:9px 13px}
.lv-summe{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}
.lv-summe b{font-variant-numeric:tabular-nums}
.lv-summe.gross{font-size:14px;font-weight:700;border-top:1px solid var(--rand);
  padding-top:4px;margin-top:2px;color:var(--dt-gruen-tief)}
.lv-summe.bedarf{color:var(--mittelgrau);font-size:11.5px;margin-top:4px}
.avg-befund.fehler{color:var(--rot,#9a3b3b);font-weight:600}

/* --- HOAI-Honorarvergleich (assets/hoai.js) ---------------------------- */
.hoai-bereich{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--rand);
  margin-top:6px;padding-top:10px}
.hoai-tun{flex-wrap:wrap}
.hoai-schalter{display:inline-flex;align-items:center;gap:0}
.hoai-schalter .avg-label{margin-right:8px}
.avg-feldraster label.breit{grid-column:1/-1}
.hoai-lp{margin-top:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.hoai-lp-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  gap:6px 8px;width:100%}
.hoai-lp-raster label{display:flex;flex-direction:column;gap:2px}
.hoai-lp-nr{font-size:10.5px;font-weight:700;color:var(--mittelgrau)}
.avg-chart-balken.pauschal{background:var(--blau)}
.avg-leg-punkt.pauschal{background:var(--blau)}
.avg-chart-bahn{position:relative}
.hoai-marke{position:absolute;top:-3px;transform:translateX(-50%);font-size:12px;
  line-height:1;color:var(--tiefgrau,#3d4454);pointer-events:auto}
.hoai-marke-leg{font-size:12px;color:var(--tiefgrau,#3d4454)}
.hoai-bogen td,.hoai-bogen th{white-space:nowrap}
.hoai-bogen td.hoai-ag{white-space:normal;min-width:190px;font-size:11.5px}
.hoai-norm{color:var(--blau);font-variant-numeric:tabular-nums}
.hoai-fehlt{color:var(--mittelgrau)}
.hoai-offen{color:var(--goldd);font-weight:600;font-size:11.5px;
  border-bottom:1px dotted var(--goldrand);cursor:help}

/* --- Demodaten kenntlich machen ---------------------------------------- */
.avg-demoband{font-size:12.5px;font-weight:600;color:var(--goldd);
  background:var(--goldf);border:1px solid var(--goldrand);border-left-width:3px;
  border-radius:0 8px 8px 0;padding:7px 11px;line-height:1.45}
.avg-demomarke{font-size:10.5px;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:var(--goldd);background:var(--goldf);
  border:1px solid var(--goldrand);border-radius:8px;padding:1px 8px;white-space:nowrap}

/* --- Ablauf auf einen Blick --------------------------------------------- */
.avg-ablauf{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;
  list-style:none;border:1px solid var(--rand);border-radius:10px;background:#fff;
  overflow:hidden}
@media (max-width:980px){ .avg-ablauf{grid-template-columns:1fr 1fr} }
@media (max-width:620px){ .avg-ablauf{grid-template-columns:1fr} }
.avg-ab-schritt{padding:9px 12px 10px;border-right:1px solid var(--rand);
  display:flex;flex-direction:column;gap:2px;min-width:0}
.avg-ab-schritt:last-child{border-right:0}
@media (max-width:980px){
  .avg-ab-schritt{border-bottom:1px solid var(--rand)}
  .avg-ab-schritt:nth-child(2n){border-right:0}
}
@media (max-width:620px){ .avg-ab-schritt{border-right:0} }
.avg-ab-kopf{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.avg-ab-marke{font-size:12px;line-height:1;width:13px;flex:0 0 13px;text-align:center}
.avg-ab-titel{font-size:12px;font-weight:700;letter-spacing:-.1px}
.avg-ab-optional{font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  color:var(--mittelgrau);border:1px solid var(--rand);border-radius:7px;padding:0 5px}
.avg-ab-was{font-size:11.5px;font-weight:600;padding-left:19px;
  overflow:hidden;text-overflow:ellipsis}
.avg-ab-folge{font-size:11px;color:var(--mittelgrau);line-height:1.4;padding-left:19px}
.avg-ab-schritt.erledigt .avg-ab-marke,.avg-ab-schritt.erledigt .avg-ab-was{color:var(--dt-gruen)}
.avg-ab-schritt.dran{background:var(--goldf)}
.avg-ab-schritt.dran .avg-ab-marke,.avg-ab-schritt.dran .avg-ab-was{color:var(--goldd)}
.avg-ab-schritt.offen{opacity:.62}
.avg-ab-schritt.offen .avg-ab-marke,.avg-ab-schritt.uebersprungen .avg-ab-marke{color:var(--mittelgrau)}
.avg-ab-schritt.uebersprungen .avg-ab-was{color:var(--mittelgrau);font-weight:500}

.avg-demoknopf{color:var(--blau)}
.avg-leer-tun{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.avg-leer-tun .avg-hinweis{flex:1 1 260px}
.avg-ab-tun{margin-top:5px}

/* ---------- Speicherstand ----------
   Der Angebotsvergleich hat keinen Speichern-Knopf: jede Änderung geht nach
   kurzer Ruhe von selbst an den Server. Bis 7.98T war das unsichtbar — wer
   eine Position bearbeitete, sah nirgends, ob sie angekommen war. Diese
   Anzeige ist bewusst leise: klein, grau, ohne Rahmen. Nur der Fehlerfall
   wird laut. */
.avg-speicherstand{
  margin-left:auto; font-size:12px; color:var(--soft,#6b7a89);
  white-space:nowrap; align-self:center;
}
.avg-speicherstand.laeuft{ opacity:.7; font-style:italic; }
.avg-speicherstand.fehler{ color:var(--rust,#a2412a); font-weight:600; }
