/* /Pages/Abrechnung/AufteilungEditor.razor.rz.scp.css */
/* KOSTENSTELLEN-AUFTEILUNG - Editor (21.10.2026) wie ErtragAufteilungView.xaml: Meldungskachel oben, Kopf, Tabelle fuellend.
   Nur Palette; Zustandsfarben ueber den Kachelstatus. */
.af-editor[b-zqv51h57id] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.af-meldung[b-zqv51h57id] {
    font-weight: 600;
}

.af-ertragtext[b-zqv51h57id] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    align-self: center;
}

.af-betrag-kopf[b-zqv51h57id] {
    align-self: center;
    margin-right: 5px;
    font-variant-numeric: tabular-nums;
}

.af-tabelle[b-zqv51h57id] {
    height: 100%;
    overflow: auto;
}

.af-x[b-zqv51h57id] {
    width: 30px;
    text-align: center;
}

.af-spalte-betrag[b-zqv51h57id] {
    width: 120px;
}

.af-spalte-ks[b-zqv51h57id] {
    width: 270px;
}

.af-spalte-fibu[b-zqv51h57id] {
    width: 160px;
}

.af-betrag[b-zqv51h57id] {
    width: 105px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.af-ks[b-zqv51h57id] {
    width: 260px;
}

.af-fibu[b-zqv51h57id] {
    width: 145px;
}

.af-fett[b-zqv51h57id] {
    font-weight: 600;
}
/* /Pages/Abrechnung/AusgangBelegView.razor.rz.scp.css */
/* AUSGANGSBELEGE (11.10.2026) - Hauptgrid wie AusgangBelegView.xaml: Zeilen Auto | Auto | *. Farben aus der Palette
   (var(--nem-...)); nur die FACHLICHEN SIGNALFARBEN der Vorlage (Kontierung, Kunde fehlt) stehen als benannte Klassen
   unten. Die Belegtabelle ist seit 16.10.2026 das NemesisDataGrid (Client/Shared/Grid). */
.ab-maske[b-fchomx59am] {
    /* Dunkelrot der Kachel "Nicht gefundene Belege" und der Kunde-fehlt-Zellen (#A03C32 der Vorlage) aus der Fehlerfarbe. */
    --ab-nicht-gefunden: color-mix(in srgb, var(--nem-fehler) 78%, black);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    height: 100%;
    min-height: 560px;
    padding: 2px;
    box-sizing: border-box;
}

/* Im Dunkelmodus das helle Gegenstueck - dunkelrot auf dunklem Grund waere nicht lesbar. */
html[data-theme="dunkel"] .ab-maske[b-fchomx59am] {
    --ab-nicht-gefunden: color-mix(in srgb, var(--nem-fehler) 65%, white);
}

/* ---------- 0. Import-Hinweiskarte: Rand unten 4, Rundung 4, Kontur, Verlauf im Akzent, Schatten; Spalten 4 | Auto | * ---------- */
.ab-import[b-fchomx59am] {
    display: grid;
    grid-template-columns: 4px auto minmax(0, 1fr);
    align-items: center;
    margin: 0 0 4px 0;
    border: 1px solid var(--nem-kontur);
    border-radius: 4px;
    background: linear-gradient(to bottom,
        color-mix(in srgb, var(--nem-akzent) 7%, var(--nem-flaeche)),
        color-mix(in srgb, var(--nem-akzent) 15%, var(--nem-flaeche)));
    box-shadow: 0 1px 6px color-mix(in srgb, var(--nem-akzent) 25%, transparent);
    animation: ab-einblenden-b-fchomx59am .5s ease-out;
}

@keyframes ab-einblenden-b-fchomx59am {
    from { opacity: 0; }
    to { opacity: 1; }
}

.ab-import-streifen[b-fchomx59am] {
    align-self: stretch;
    margin: 1px 0 1px 1px;
    border-radius: 3px 0 0 3px;
    background: var(--nem-akzent);
}

.ab-import-haken[b-fchomx59am] {
    margin: 5px 8px;
}

.ab-import-haken > circle[b-fchomx59am] {
    fill: var(--nem-akzent);
}

.ab-import-haken > path[b-fchomx59am] {
    fill: none;
    stroke: var(--nem-flaeche);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ab-import-text[b-fchomx59am] {
    margin: 5px 10px 5px 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-akzent);
}

/* ---------- 1. Filter (* ) und nicht gefundene Belege (Auto) ---------- */
.ab-kopf[b-fchomx59am] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.ab-filter-huelle[b-fchomx59am] {
    position: relative;
}

/* UcRechnungSuchen: Spalten 130|100|5|120|228|15|160|5|200|200|10|260, Zeilen 3 x 24. */
.ab-filter[b-fchomx59am] {
    grid-template-columns: 130px 100px 5px 120px 228px 15px 160px 5px 200px 200px 10px 260px;
    grid-template-rows: repeat(3, 24px);
}

/* Waehrend des Ladens bleibt der Filter stehen, wird aber versteckt (Hidden) - das Skelett liegt darueber. */
.ab-versteckt[b-fchomx59am] {
    visibility: hidden;
}

.ab-fett[b-fchomx59am] {
    font-weight: 600;
}

.ab-belegnummer[b-fchomx59am] {
    padding-right: 20px;
}

.ab-pickliste > img[b-fchomx59am] {
    width: 15px;
    height: 15px;
}

.ab-datum-paar[b-fchomx59am] {
    display: flex;
    align-items: center;
}

/* "bis" zwischen den Datumsfeldern (Label im StackPanel): nicht gekuerzt. */
.ab-bis[b-fchomx59am] {
    flex: 0 0 auto;
    padding: 2px 3px;
    overflow: visible;
}

.ab-datum-von[b-fchomx59am] {
    width: 100px;
}

.ab-datum-bis[b-fchomx59am] {
    width: 103px;
}

/* Abrechnungsmodul (Rand links 10) und Historie: Kopf gedimmt, Haken bzw. Knopf darunter, ueber alle drei Zeilen. */
.ab-modul-block[b-fchomx59am],
.ab-historie-block[b-fchomx59am] {
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 17px;
}

.ab-modul-block[b-fchomx59am] {
    margin-left: 10px;
}

.ab-codes-knopf[b-fchomx59am] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 20px;
    margin-top: 2px;
    padding: 1px 8px;
    font: inherit;
    color: var(--nem-schrift);
    background: var(--nem-reiter-flaeche);
    border: 1px solid var(--nem-reiter-kontur);
    border-radius: 2px;
    cursor: pointer;
}

.ab-codes-knopf:hover[b-fchomx59am] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-knopf-hover);
}

.ab-codes-knopf > img[b-fchomx59am] {
    width: 14px;
    height: 14px;
}

.ab-historie-text[b-fchomx59am] {
    margin-top: 4px;
    max-height: 34px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--nem-schrift-gedimmt);
}

.ab-historie-text.aktiv[b-fchomx59am] {
    color: var(--nem-akzent);
    font-weight: 600;
}

/* Nicht gefundene Belege: Baustein NichtGefundenKachel (seit 11.11.2026, auch im Rechnungslauf). */

/* ---------- Lade-Skelett des Filters (NemesisLadeSkelett / NemesisSkeleton) ---------- */
.ab-skelett[b-fchomx59am] {
    display: block;
    height: 12px;
    border-radius: 3px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 30%,
        color-mix(in srgb, var(--nem-schrift) 3%, var(--nem-flaeche)) 50%,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 70%);
    background-size: 300% 100%;
    animation: ab-schimmer-b-fchomx59am 1.2s linear infinite;
}

@keyframes ab-schimmer-b-fchomx59am {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

/* Filter: 3 Zeilen in 72 Hoehe ueber dem versteckten Filter. */
.ab-skelett-filter[b-fchomx59am] {
    position: absolute;
    inset: 0 auto auto 0;
    width: 420px;
    height: 72px;
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    align-items: center;
}

.ab-skelett-filter > .ab-skelett[b-fchomx59am] {
    height: 14px;
}

/* ---------- 2. Belegtabelle (Rand oben 5): NemesisDataGrid fuellt den Rest der Maske ---------- */
.ab-tabelle-bereich[b-fchomx59am] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 5px;
}

.ab-quelle > img[b-fchomx59am] {
    height: 16px;
    margin: 0 2px;
    vertical-align: middle;
}

/* Kopf-Haken mit drei Zustaenden (alle / teils / keiner). */
.ab-dreistufig[b-fchomx59am] {
    display: inline-block;
    position: relative;
    width: 13px;
    height: 13px;
    vertical-align: middle;
    background: var(--nem-eingabe-flaeche);
    border: 1px solid var(--nem-griff);
    border-radius: 2px;
    cursor: pointer;
}

.ab-dreistufig.an[b-fchomx59am] {
    background: var(--nem-akzent);
    border-color: var(--nem-akzent);
}

.ab-dreistufig.an[b-fchomx59am]::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid var(--nem-schrift-auf-akzent);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ab-dreistufig.teils[b-fchomx59am]::after {
    content: "";
    position: absolute;
    left: 2px;
    top: 4px;
    width: 7px;
    height: 3px;
    background: var(--nem-akzent);
}

/* Typ: Gutschrift und Rechnungskorrektur in der Akzentfarbe, halbfett (Klasse an der Zelle, KlasseVon). */
.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-typ-gutschrift {
    color: var(--nem-akzent);
    font-weight: 600;
}

/* Status "storniert": rot und fett. */
.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-storniert {
    color: var(--nem-fehler);
    font-weight: 700;
}

/* FACHLICHE SIGNALFARBE "Kunde fehlt" (#F9E3E1 / #A03C32 der Vorlage): Konto, Debitor, Name hellrot, Schrift dunkelrot.
   Die Klassen der Zellen setzt das Grid je Zeile (KlasseVon); sie schlagen Zebra, Hover und Auswahl wie im Desktop. */
.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-kunde-fehlt {
    background-color: color-mix(in srgb, var(--nem-fehler) 15%, var(--nem-flaeche));
    color: var(--ab-nicht-gefunden);
    font-weight: 600;
}

/* FACHLICHE SIGNALFARBEN DER KONTIERUNG (UcRechnungTabelleR2, 2026-08-06): Kontiert LightGreen, Teilweise Gold (Schrift
   #222528), Nicht kontiert LightCoral, storniert Violet - bewusst die Farben des Desktops, in Hell und Dunkel gleich. */
.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-kontiert {
    background-color: lightgreen;
    color: rgb(34, 37, 40);
}

.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-teilweise-kontiert {
    background-color: gold;
    color: rgb(34, 37, 40);
}

.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-nicht-kontiert {
    background-color: lightcoral;
}

.ab-tabelle-bereich[b-fchomx59am]  .ndg-tabelle > tbody > tr > td.ab-kontierung-storniert {
    background-color: violet;
}

/* Summenzeile: Beschriftungen gedimmt, "Summe Auswahl" in der Akzentfarbe. */
.ab-beschriftung[b-fchomx59am] {
    margin-right: 6px;
    font-weight: 400;
}

.ab-auswahl[b-fchomx59am] {
    color: var(--nem-akzent);
    white-space: nowrap;
}

.ab-auswahl > b[b-fchomx59am] {
    margin-right: 12px;
}

.ab-auswahl-gedimmt[b-fchomx59am] {
    margin: 0 4px 0 6px;
    opacity: .8;
    font-weight: 400;
}

/* ---------- Kontextmenue (WPF-ContextMenu: Symbole 20 hoch, Trennlinien) ---------- */
.ab-kontext-schleier[b-fchomx59am] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.ab-kontext[b-fchomx59am] {
    position: fixed;
    z-index: 1041;
    min-width: 280px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
    user-select: none;
}

.ab-kontext-eintrag[b-fchomx59am] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.ab-kontext-eintrag:hover[b-fchomx59am] {
    background: var(--nem-tabelle-hover);
}

.ab-kontext-bild[b-fchomx59am] {
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}

.ab-kontext-bild > img[b-fchomx59am] {
    height: 20px;
}

.ab-kontext-linie[b-fchomx59am] {
    height: 1px;
    margin: 4px 4px 4px 34px;
    background: var(--nem-kontur);
}
/* /Pages/Abrechnung/BelegDetails.razor.rz.scp.css */
/* DETAILS EINES BELEGS (11.10.2026) - TabControl Margin 10, Hoehe 320 (RowDetailsTemplate der Belegtabellen). Farben nur
   aus der Palette; Reiterbild aus nemesis-design.css, Tabellen = NemesisDataGrid (seit 16.10.2026). */
.bd-rahmen[b-yn86mzncxk] {
    height: 320px;
    margin: 10px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.bd-rahmen[b-yn86mzncxk]  .bd-reiter {
    flex: 1 1 auto;
    min-height: 0;
}

/* Reiter "Historie" in Warnorange (Tag #E7A229 im Desktop - NemesisReiter faerbt Kante und Schrift). */
.bd-rahmen[b-yn86mzncxk]  .bd-reiter-warnung {
    color: var(--nem-warnung);
}

.bd-rahmen[b-yn86mzncxk]  .rz-tabview-selected.bd-reiter-warnung {
    box-shadow: inset 0 2px 0 var(--nem-warnung);
}

/* Der Inhalt des gewaehlten Reiters fuellt die Hoehe (320 abzueglich Reiterkopf) - die NemesisDataGrids darin rollen selbst. */
.bd-rahmen[b-yn86mzncxk]  .bd-reiter > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.bd-spalte[b-yn86mzncxk] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.bd-mitte[b-yn86mzncxk] {
    display: block;
    text-align: center;
}

/* Historie (HistorieTabelleView): Abstand unter der Menueleiste, Symbol 20, Ereignis 500 umbrechend. */
.bd-rahmen[b-yn86mzncxk]  .bd-historie {
    margin-top: 5px;
}

.bd-rahmen[b-yn86mzncxk]  .bd-symbolspalte img {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.bd-rahmen[b-yn86mzncxk]  .ndg-tabelle > tbody > tr > td.bd-umbruch {
    white-space: normal;
}

/* Details: Spalten 180 | *, Werte markierbar (TextBox ohne Rahmen). */
.bd-details[b-yn86mzncxk] {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    row-gap: 6px;
    align-items: start;
    margin: 10px;
}

.bd-markierbar[b-yn86mzncxk] {
    width: 100%;
    padding: 0;
    font: inherit;
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    outline: none;
    resize: none;
}

.bd-hinweis[b-yn86mzncxk] {
    margin: 10px;
}

/* Fibuuebergaben: oben die Version (ComboBox MinWidth 360), darunter die Tabelle aus der CSV-Kopfzeile. */
.bd-fibu[b-yn86mzncxk] {
    padding: 4px;
}

.bd-fibu-kopf[b-yn86mzncxk] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.bd-fibu-version[b-yn86mzncxk] {
    width: auto;
    min-width: 360px;
}

.bd-fibu-leer[b-yn86mzncxk] {
    margin: 8px 2px;
}
/* /Pages/Abrechnung/BelegDokumenteReiter.razor.rz.scp.css */
/* REITER „DOKUMENTE“ DER BELEGDETAILS (21.10.2026) - wie der Reiter der Sendung: Menü, Tabelle füllend, Statusleiste. Nur Palette. */
.bdr-wurzel[b-643b9bh15i] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    gap: 3px;
}

.bdr-menueknopf[b-643b9bh15i] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.bdr-menueknopf-aus[b-643b9bh15i] {
    opacity: 0.5;
    pointer-events: none;
}

.bdr-menueknopf img[b-643b9bh15i] {
    height: 16px;
}

/* Das Dateifeld liegt unsichtbar über dem Menüpunkt - der Klick öffnet den Dateidialog. */
.bdr-menueknopf[b-643b9bh15i]  .bdr-datei-feld {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.bdr-typwahl[b-643b9bh15i] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
}

.bdr-fortschritt[b-643b9bh15i] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
    color: var(--nem-akzent);
}

.bdr-tabelle[b-643b9bh15i] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.bdr-zellknopf[b-643b9bh15i] {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.bdr-zellknopf img[b-643b9bh15i] {
    height: 16px;
}
/* /Pages/Abrechnung/BelegNummernOverlay.razor.rz.scp.css */
/* OVERLAY "MEHRERE BELEGNUMMERN" (11.10.2026) - Kachel mit Moduswahl und Nummerntabelle (UcBelegNummernEingabe). Die
   Kachel fuellt das Overlay, das NemesisDataGrid (seit 16.10.2026) den Rest der Kachel. */
.bn-knopfbild[b-je9u8bdptl] {
    height: 16px;
}

.bn-fuellend[b-je9u8bdptl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.bn-modus[b-je9u8bdptl] {
    display: flex;
    gap: 16px;
    margin: 4px 4px 2px 4px;
}

.bn-fuellend[b-je9u8bdptl]  .bn-tabelle {
    margin: 4px;
}

.bn-feld[b-je9u8bdptl] {
    width: 100%;
}

/* Neuanlage-Zeile: mehrzeilig einfuegen (Zeilenumbrueche aus Excel), einzeilig hoch wie ein Feld. */
.bn-neu[b-je9u8bdptl] {
    width: 100%;
    height: var(--nem-feld-hoehe);
    resize: none;
    line-height: 18px;
    overflow: hidden;
}
/* /Pages/Abrechnung/BetragTabelle.razor.rz.scp.css */
/* ERTRÄGE-/KOSTENTABELLE (11.10.2026) - DockPanel von UcBetragTabelle: Menü oben, Tabelle füllt, Statusleiste unten.
   Farben nur aus der Palette (var(--nem-...)). Die Tabelle ist seit 16.10.2026 das NemesisDataGrid (Client/Shared/Grid). */

/* Die Hülle reicht ihre Höhe bis ins Grid durch - auch als Flex-Kind (Sendungsreiter: Style="flex: 1 1 auto; min-height: 0;"):
   Menü und Statusleiste fest, das Grid nimmt den ganzen Rest. */
.bt-huelle[b-ob39b1mvht] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.bt-huelle > .nem-menueleiste[b-ob39b1mvht] {
    flex: 0 0 auto;
}

.bt-huelle[b-ob39b1mvht]  .bt-grid {
    flex: 1 1 auto;
    min-height: 0;
}

/* Menü im Spaltenkopfton: Disketten- und Aufteilen-Symbol hell auf dem Grau (wie die Vektoren der XAML). */
.bt-diskette[b-ob39b1mvht] {
    fill: var(--nem-flaeche);
}

.bt-diskette-teil[b-ob39b1mvht] {
    fill: var(--nem-schrift-gedimmt);
}

.bt-pfeile[b-ob39b1mvht] {
    fill: none;
    stroke: var(--nem-flaeche);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Knopf- und Symbolspalten. */
.bt-huelle[b-ob39b1mvht]  .ndg-tabelle > tbody > tr > td.bt-mitte {
    text-align: center;
}

.bt-loeschknopf > img[b-ob39b1mvht] {
    width: 18px;
    height: 18px;
}

.bt-loeschknopf:disabled[b-ob39b1mvht] {
    cursor: default;
}

.bt-loeschknopf:disabled:hover[b-ob39b1mvht] {
    background: transparent;
}

/* Ohne Löschkennzeichen nur angedeutet, mit Kennzeichen kräftig (Opacity 0,3 bzw. 1). */
.bt-loesch-aus[b-ob39b1mvht] {
    opacity: .3;
}

.bt-loesch-an[b-ob39b1mvht] {
    opacity: 1;
}

.bt-meldungen img[b-ob39b1mvht],
.bt-kopfbild[b-ob39b1mvht] {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

/* Abweichender Rechnungstext: Breite 300, mindestens 200, umbrechend. */
.bt-huelle[b-ob39b1mvht]  .ndg-tabelle > tbody > tr > td.bt-text {
    white-space: normal;
}

.bt-textfeld[b-ob39b1mvht] {
    /* waechst mit dem Text wie die umbrechende Zelle des Desktops */
    field-sizing: content;
    height: auto;
    min-height: var(--nem-feld-hoehe);
    resize: vertical;
    line-height: 16px;
    padding-top: 2px;
}

/* Kostenstelle Breite 200: die Auswahl füllt ihre Spalte. */
.bt-kostenstelle-feld[b-ob39b1mvht] {
    width: 100%;
}

/* Zustände und Aktion der Kostenstellen-Liste (-78, -79, "Betrag aufteilen"): halbfett in der Akzentfarbe. */
.bt-zustand[b-ob39b1mvht],
.bt-sondereintrag[b-ob39b1mvht] {
    color: var(--nem-akzent);
    font-weight: 600;
}

.bt-typ[b-ob39b1mvht] {
    min-width: 110px;
}

.bt-tarifnr[b-ob39b1mvht] {
    width: 70px;
}

.bt-betrag[b-ob39b1mvht],
.bt-steuer[b-ob39b1mvht] {
    width: 80px;
}

.bt-fibukonto[b-ob39b1mvht] {
    width: 80px;
}

.bt-adressid[b-ob39b1mvht] {
    width: 100px;
}

/* Fibu-Konto fett, wenn von Hand überschrieben. */
.bt-fett[b-ob39b1mvht] {
    font-weight: 700;
}

/* Statusleiste: Beschriftung gedimmt, Gewinn grün/rot (FarbeGewinn), Speicher-Status in Erfolgsfarbe und fett. */
.bt-beschriftung[b-ob39b1mvht] {
    margin-right: 6px;
}

.bt-gewinn-plus[b-ob39b1mvht] {
    color: var(--nem-erfolg);
}

.bt-gewinn-minus[b-ob39b1mvht] {
    color: var(--nem-fehler);
}

.bt-status-gespeichert[b-ob39b1mvht] {
    color: var(--nem-erfolg);
    font-weight: 700;
}

/* „Gelöschte anzeigen“ im Menü (21.10.2026) */
.bt-geloeschte[b-ob39b1mvht] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 10px;
}
/* /Pages/Abrechnung/EingangBelegView.razor.rz.scp.css */
/* EINGANGSBELEGE (11.10.2026) - DockPanel wie EingangBelegView.xaml: Filterkachel oben (Rand unten 5), darunter das
   NemesisDataGrid (seit 16.10.2026, Gruppierleiste, Summenzeile unten) bis zum Seitenende. Farben aus der Palette. */
.eb-maske[b-0k9lxqrl42] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
    padding: 2px;
    box-sizing: border-box;
}

/* Filter: Spalten 130|210|15|90|240|20|*, Zeilen 3 x 26. */
.eb-filter[b-0k9lxqrl42] {
    grid-template-columns: 130px 210px 15px 90px 240px 20px minmax(0, 1fr);
    grid-template-rows: repeat(3, var(--nem-zeile));
}

.eb-fett[b-0k9lxqrl42] {
    font-weight: 600;
}

/* Belegnummer und Sendungsnummer: Box 205 breit (wie die Adressbox des Belegversenders). */
.eb-feld-205[b-0k9lxqrl42] {
    width: 205px;
}

.eb-belegnummer[b-0k9lxqrl42] {
    padding-right: 20px;
}

.eb-pickliste > img[b-0k9lxqrl42] {
    width: 15px;
    height: 15px;
}

.eb-datum-paar[b-0k9lxqrl42] {
    display: flex;
    align-items: center;
}

/* "bis" zwischen den Datumsfeldern (Label im StackPanel): nicht gekuerzt. */
.eb-bis[b-0k9lxqrl42] {
    flex: 0 0 auto;
    padding: 2px 3px;
    overflow: visible;
}

.eb-datum[b-0k9lxqrl42] {
    width: 105px;
}

/* Belegtyp und Abrechnungsmodul nebeneinander (Rand links 10, Module Rand 24), Koepfe gedimmt. */
.eb-listen[b-0k9lxqrl42] {
    align-self: start;
    display: flex;
    margin-left: 10px;
}

.eb-liste[b-0k9lxqrl42] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 18px;
}

.eb-liste-modul[b-0k9lxqrl42] {
    margin-left: 24px;
}

/* ---------- Lade-Skelett des Filters: 3 Balken 320 x 20 (die Tabelle zeigt den Ladeschleier des Grids) ---------- */
.eb-skelett[b-0k9lxqrl42] {
    display: block;
    height: 12px;
    border-radius: 3px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 30%,
        color-mix(in srgb, var(--nem-schrift) 3%, var(--nem-flaeche)) 50%,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 70%);
    background-size: 300% 100%;
    animation: eb-schimmer-b-0k9lxqrl42 1.2s linear infinite;
}

@keyframes eb-schimmer-b-0k9lxqrl42 {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

.eb-skelett-filter[b-0k9lxqrl42] {
    margin: 2px;
}

.eb-skelett-filter > .eb-skelett[b-0k9lxqrl42] {
    width: 320px;
    height: 20px;
    margin: 3px 0;
}

/* ---------- Tabelle: NemesisDataGrid fuellt den Rest ---------- */
.eb-tabelle-bereich[b-0k9lxqrl42] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.eb-dreistufig[b-0k9lxqrl42] {
    display: inline-block;
    position: relative;
    width: 13px;
    height: 13px;
    vertical-align: middle;
    background: var(--nem-eingabe-flaeche);
    border: 1px solid var(--nem-griff);
    border-radius: 2px;
    cursor: pointer;
}

.eb-dreistufig.an[b-0k9lxqrl42] {
    background: var(--nem-akzent);
    border-color: var(--nem-akzent);
}

.eb-dreistufig.an[b-0k9lxqrl42]::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid var(--nem-schrift-auf-akzent);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.eb-dreistufig.teils[b-0k9lxqrl42]::after {
    content: "";
    position: absolute;
    left: 2px;
    top: 4px;
    width: 7px;
    height: 3px;
    background: var(--nem-akzent);
}

/* Summenzeile: "Belege" unter der Belegnummer, Betrag unter seiner Spalte, "Summe Auswahl" in der Akzentfarbe. */
.eb-beschriftung[b-0k9lxqrl42] {
    margin-right: 6px;
    font-weight: 400;
}

.eb-auswahl[b-0k9lxqrl42] {
    color: var(--nem-akzent);
    white-space: nowrap;
}

/* ---------- Kontextmenue "Oeffnen" ---------- */
.eb-kontext-schleier[b-0k9lxqrl42] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.eb-kontext[b-0k9lxqrl42] {
    position: fixed;
    z-index: 1041;
    min-width: 160px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
    user-select: none;
}

.eb-kontext-eintrag[b-0k9lxqrl42] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 38px;
    white-space: nowrap;
    cursor: pointer;
}

.eb-kontext-eintrag:hover[b-0k9lxqrl42] {
    background: var(--nem-tabelle-hover);
}
/* /Pages/Abrechnung/ErtragAufteilungOverlay.razor.rz.scp.css */
/* "Betrag aufteilen" (21.10.2026) - Flaeche wie das Desktop-Overlay (Rand 5, Editor fuellend). */
.af-flaeche[b-jb985ioybb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 5px;
    box-sizing: border-box;
}

.af-fettknopf[b-jb985ioybb] {
    font-weight: 600;
}
/* /Pages/Abrechnung/ErtragPruefungOverlay.razor.rz.scp.css */
/* ERTRÄGE PRÜFEN (17.10.2026) - wie UcErtragPruefung.xaml: eine Kachel mit Rand 4, darin „nur Abweichungen“ (Rand unten 6) und die Tabelle
   über die restliche Höhe. Nur Palette. */
.ep-bereich[b-y1flrngo0t] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 4px;
    box-sizing: border-box;
}

.ep-bereich[b-y1flrngo0t]  .ep-kachel {
    flex: 1 1 auto;
    min-height: 0;
}

.ep-inhalt[b-y1flrngo0t] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.ep-nur[b-y1flrngo0t] {
    margin: 0 0 6px 0;
}

.ep-tabelle[b-y1flrngo0t] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Abrechnung/FibuUebergabeErgebnisOverlay.razor.rz.scp.css */
/* ERGEBNIS DER FIBU-ÜBERGABE (17.10.2026) - links die Kacheln wie UcFibuUebergabeDateien (Bilanz, Dateien, Summen) plus Versand und
   Meldungen (rollbar), rechts das gewählte Protokoll im iframe (wie PdfOverlay/RechnungslaufBelegeOverlay). Nur Palette. */
.fe-bereich[b-bj28vae5dq] {
    display: flex;
    flex-direction: row;
    gap: 6px;
    height: 100%;
    min-height: 0;
}

.fe-links[b-bj28vae5dq] {
    flex: 0 0 auto;
    width: max(50%, 520px);
    max-width: 65%;
    min-height: 0;
    overflow-y: auto;
}

.fe-text[b-bj28vae5dq] {
    margin: 2px 6px;
    white-space: pre-wrap;
}

.fe-nur[b-bj28vae5dq] {
    margin: 0 0 6px 0;
}

.fe-tabelle[b-bj28vae5dq] {
    display: flex;
    flex-direction: column;
    height: 220px;
    min-height: 0;
}

.fe-meldung[b-bj28vae5dq] {
    margin: 4px 6px 8px 6px;
}

.fe-warnung[b-bj28vae5dq] {
    color: var(--nem-fehler);
}

.fe-pdf[b-bj28vae5dq] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.fe-rahmen[b-bj28vae5dq] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

/* Bis das PDF da ist: iframe ohne Platz (das src setzt druck.js erst, wenn er sichtbar ist). */
.fe-verborgen[b-bj28vae5dq] {
    display: none;
}

.fe-hinweis[b-bj28vae5dq] {
    margin: 10px;
}
/* /Pages/Abrechnung/FrachtfuehrerLaufDetails.razor.rz.scp.css */
/* DETAILS EINER LADEEINHEIT (10.11.2026, Aufgabe #121) - Rahmen wie die Beleg-Details: Rand 10, feste Hoehe, der Inhalt des gewaehlten Reiters
   fuellt sie, die Tabellen darin rollen selbst. */
.ffd-rahmen[b-cwltusqfce] {
    height: 340px;
    margin: 10px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ffd-rahmen[b-cwltusqfce]  .ffd-reiter {
    flex: 1 1 auto;
    min-height: 0;
}

.ffd-rahmen[b-cwltusqfce]  .ffd-reiter > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* /Pages/Abrechnung/GutschriftErstellenOverlay.razor.rz.scp.css */
/* GUTSCHRIFT ERSTELLEN (17.10.2026) - wie GutschriftErstellenView.xaml: DockPanel mit Rand 5, MinWidth 700. Nur Palette, keine festen
   Farben; der rote Hinweis zum Steuersatz nimmt die Fehlerfarbe (#D9534F der Vorlage). */
.gs-maske[b-68lx49oxv2] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    min-width: 700px;
    padding: 5px;
    box-sizing: border-box;
}

.gs-titel[b-68lx49oxv2] {
    font-weight: 600;
    font-size: 14px;
}

.gs-kunde[b-68lx49oxv2] {
    margin: 2px 0 8px 0;
}

.gs-optionen[b-68lx49oxv2] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 6px 0;
}

.gs-steuer[b-68lx49oxv2] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.gs-steuersatz[b-68lx49oxv2] {
    width: 60px;
}

.gs-steuerhinweis[b-68lx49oxv2] {
    margin-left: 12px;
    max-width: 420px;
    color: var(--nem-fehler);
}

.gs-summe[b-68lx49oxv2] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    font-weight: 600;
}

.gs-fehler[b-68lx49oxv2] {
    margin: 0 0 6px 0;
}

.gs-tabelle[b-68lx49oxv2] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.gs-haken[b-68lx49oxv2] {
    width: 30px;
    text-align: center;
}

.gs-text[b-68lx49oxv2] {
    width: 100%;
}

.gs-freitext[b-68lx49oxv2] {
    width: 100%;
    box-sizing: border-box;
}

.gs-betrag[b-68lx49oxv2] {
    width: 110px;
    text-align: right;
}

.gs-fett[b-68lx49oxv2] {
    font-weight: 600;
}
/* /Pages/Abrechnung/HistorienFilterOverlay.razor.rz.scp.css */
/* OVERLAY "HISTORIEN-FILTER" (11.10.2026) - UcHistorienCodesAuswahl: mit (45) | ohne (45) | Code | Bezeichnung (*).
   Die Kachel fuellt das Overlay, das NemesisDataGrid (seit 16.10.2026) die Kachel; Streifen ueber ZeilenStatus. */
.hf-knopfbild[b-3e1wy44i3y] {
    height: 16px;
}

.hf-fuellend[b-3e1wy44i3y] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.hf-fuellend[b-3e1wy44i3y]  .hf-tabelle {
    margin: 4px;
}

.hf-fuellend[b-3e1wy44i3y]  .ndg-tabelle > tbody > tr > td.hf-haken {
    text-align: center;
}
/* /Pages/Abrechnung/LadeeinheitKostenTabelle.razor.rz.scp.css */
/* KOSTEN DER LADEEINHEIT (LadeeinheitKostenTabelle, 03.11.2026): Menueleiste fest, das Grid nimmt den Rest der Kachel. Farben nur aus der Palette. */
.lk-huelle[b-06riy7lgfs] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lk-hinweis[b-06riy7lgfs] {
    align-self: center;
    margin-left: 8px;
}

/* Entfernen-Knopf: ohne Flaeche, rot (entfernen) bzw. Akzent (zuruecknehmen). */
.lk-knopf[b-06riy7lgfs] {
    min-width: var(--nem-feld-hoehe);
    padding: 0 4px;
    font: inherit;
    color: var(--nem-akzent);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.lk-knopf.lk-loeschen[b-06riy7lgfs] {
    color: var(--nem-fehler);
}

/* Zum Entfernen vorgemerkt: durchgestrichen und gedimmt; gutgeschrieben: gedimmt. */
.lk-huelle[b-06riy7lgfs]  .ndg-tabelle > tbody > tr.lk-entfernt > td {
    text-decoration: line-through;
    color: var(--nem-schrift-gedimmt);
}

.lk-huelle[b-06riy7lgfs]  .ndg-tabelle > tbody > tr.lk-gutgeschrieben > td {
    color: var(--nem-schrift-gedimmt);
}

/* Quelle als Datenquellen-Symbol (05.11.2026, wie UcLadeeinheitKosten): 16 px mittig. */
.lk-quelle[b-06riy7lgfs] {
    display: block;
    text-align: center;
}

.lk-quelle > img[b-06riy7lgfs] {
    height: 16px;
    width: 16px;
    vertical-align: middle;
}
/* /Pages/Abrechnung/MehrfachAuswahlFeld.razor.rz.scp.css */
/* MEHRFACHAUSWAHL (NemesisAuswahlfeld, 11.10.2026) - Feld im Hausbild (.nem-feld), Liste als Aufklapper darunter.
   Farben nur aus der Palette. */
.mf-huelle[b-1wl5s8xr1s] {
    position: relative;
    min-width: 0;
}

.mf-feld[b-1wl5s8xr1s] {
    display: flex;
    align-items: center;
    gap: 4px;
    text-align: left;
    cursor: pointer;
}

.mf-text[b-1wl5s8xr1s] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.mf-platzhalter .mf-text[b-1wl5s8xr1s] {
    color: var(--nem-schrift-gedimmt);
}

.mf-pfeil[b-1wl5s8xr1s] {
    flex: 0 0 auto;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
}

/* Klick ausserhalb schliesst: unsichtbare Flaeche ueber der Seite (wie das Kontextmenue des Eingangs). */
.mf-schleier[b-1wl5s8xr1s] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.mf-liste[b-1wl5s8xr1s] {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 1041;
    min-width: 100%;
    max-width: 420px;
    padding: 4px;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: 3px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.mf-suche[b-1wl5s8xr1s] {
    margin-bottom: 4px;
}

.mf-eintraege[b-1wl5s8xr1s] {
    max-height: 260px;
    overflow: auto;
}

.mf-eintrag[b-1wl5s8xr1s] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 4px;
    white-space: nowrap;
    cursor: pointer;
}

.mf-eintrag:hover[b-1wl5s8xr1s] {
    background: var(--nem-tabelle-hover);
}

.mf-eintrag > input[b-1wl5s8xr1s] {
    margin: 0;
}

.mf-leer[b-1wl5s8xr1s] {
    padding: 4px;
    text-align: center;
    color: var(--nem-schrift-gedimmt);
}
/* /Pages/Abrechnung/NichtGefundenKachel.razor.rz.scp.css */
/* NICHT GEFUNDENE NUMMERN (11.11.2026, aus AusgangBelegView) - Kachel 220-360 breit, Pillen scrollbar ab 90 px. Dunkelrot der Vorlage
   (#A03C32) aus der Fehlerfarbe; im Dunkelmodus das helle Gegenstueck - dunkelrot auf dunklem Grund waere nicht lesbar. */
.nng[b-h2meu7oxti] {
    --nng-farbe: color-mix(in srgb, var(--nem-fehler) 78%, black);
    min-width: 220px;
    max-width: 360px;
}

html[data-theme="dunkel"] .nng[b-h2meu7oxti] {
    --nng-farbe: color-mix(in srgb, var(--nem-fehler) 65%, white);
}

.nng-pillen[b-h2meu7oxti] {
    display: flex;
    flex-wrap: wrap;
    max-height: 90px;
    overflow-y: auto;
}

.nng-pille[b-h2meu7oxti] {
    margin: 2px 4px 2px 0;
    padding: 1px 8px;
    border: 1px solid color-mix(in srgb, var(--nem-fehler) 45%, var(--nem-flaeche));
    border-radius: 9px;
    background: color-mix(in srgb, var(--nem-fehler) 15%, var(--nem-flaeche));
    color: var(--nng-farbe);
    font-weight: 600;
}
/* /Pages/Abrechnung/RechnungErfassungImportOverlay.razor.rz.scp.css */
/* IMPORT DER BELEGERFASSUNG (17.10.2026) - "Datei waehlen..." ist ein label um das versteckte InputFile; es sieht aus wie die Knoepfe
   der Overlay-Leiste (Muster DokumentDateiOverlay). Erklaerung in der Kachel. Nur Palette, keine festen Farben. */
.ri-dateiknopf[b-hx95nbpnio] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: var(--nem-zeile);
    margin: 0;
    padding: 0 10px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border-radius: 2px;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.ri-dateiknopf:hover[b-hx95nbpnio] {
    background: var(--nem-knopf-hover);
}

.ri-dateiknopf .rzi[b-hx95nbpnio] {
    font-size: 16px;
}

/* Waehrend des Lesens gesperrt wie ein deaktivierter Knopf (voll deckend; das InputFile bleibt im DOM). */
.ri-dateiknopf.ri-gesperrt[b-hx95nbpnio],
.ri-dateiknopf.ri-gesperrt:hover[b-hx95nbpnio] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

.ri-text[b-hx95nbpnio] {
    margin: 4px;
    line-height: 18px;
}

.ri-text > p[b-hx95nbpnio] {
    margin: 0 0 6px 0;
}
/* /Pages/Abrechnung/RechnungslaufBelegeOverlay.razor.rz.scp.css */
/* BELEGE EINES RECHNUNGSLAUFS (17.10.2026) - links die Belegliste (Zusammenfassung, NemesisDataGrid), rechts das PDF des gewaehlten
   Belegs im iframe (wie PdfOverlay). Nur Palette, keine festen Farben. */
.rb-bereich[b-7gzln6aoty] {
    display: flex;
    flex-direction: row;
    gap: 6px;
    height: 100%;
    min-height: 0;
}

.rb-liste[b-7gzln6aoty] {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: max(40%, 460px);
    max-width: 60%;
    min-height: 0;
}

.rb-text[b-7gzln6aoty] {
    margin: 4px;
    white-space: pre-wrap;
}

.rb-tabelle[b-7gzln6aoty] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin: 4px;
}

.rb-pdf[b-7gzln6aoty] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.rb-rahmen[b-7gzln6aoty] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

/* Bis das PDF da ist: iframe ohne Platz (das src setzt druck.js erst, wenn er sichtbar ist). */
.rb-verborgen[b-7gzln6aoty] {
    display: none;
}

.rb-meldung[b-7gzln6aoty] {
    margin: 10px;
}

.rb-knopfbild[b-7gzln6aoty] {
    height: 16px;
    width: 16px;
}

button[b-7gzln6aoty] {
    white-space: nowrap;
}

/* Deaktivierte Knoepfe voll deckend wie im Desktop (graue Flaeche, gedimmte Schrift). */
button:disabled[b-7gzln6aoty] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

button:disabled img[b-7gzln6aoty] {
    opacity: .5;
}
/* /Pages/Abrechnung/RueckrechnungView.razor.rz.scp.css */
/* RUECKRECHNUNG (RueckrechnungView, 11.10.2026) - nur, was die Hausregeln (nemesis-design.css Abschnitt 6/7) und das
   NemesisDataGrid nicht liefern. Farben aus der Palette; die Statusfarben der Details (LightGreen/LightYellow) setzt die Seite
   ueber ZeilenFlaeche/ZeilenSchrift des Grids. */

.rr-maske[b-z9mdwns3rr] {
    padding: 2px 0;
}

/* Zeitraum: StackPanel waagrecht - DatePicker 105, "bis", DatePicker 105. */
.rr-zeitraum[b-z9mdwns3rr] {
    display: flex;
    align-items: center;
}

.rr-datum[b-z9mdwns3rr] {
    width: 105px;
}

.rr-haken[b-z9mdwns3rr] {
    margin-right: 16px;
}

/* Grid "Partner" (NemesisDataGrid, seit 16.10.2026) fuellt die Kachel und rollt selbst. Details: die Sendungen mit Rand
   25,5,5,10 und hoechstens 260 hoch (Stil am inneren Grid). */
.rr-details[b-z9mdwns3rr] {
    margin: 5px 5px 10px 25px;
}
/* /Pages/Abrechnung/SendungAufteilungOverlay.razor.rz.scp.css */
/* "Ertraege nach Sendungen aufteilen" (21.10.2026) wie SendungAufteilungView.xaml: Info-Karte im Hausakzent, links die Sendungen
   (270 px), rechts der Editor. Nur Palette. */
.af-flaeche[b-sa49rank6t] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 5px;
    box-sizing: border-box;
    gap: 6px;
}

.af-fettknopf[b-sa49rank6t] {
    font-weight: 600;
}

.af-info[b-sa49rank6t] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 8px;
    border: 1px solid var(--nem-kontur);
    border-left: 4px solid var(--nem-akzent);
    border-radius: 4px;
    background: var(--nem-zeilen-kopf);
    color: var(--nem-akzent);
    font-size: var(--nem-schriftgroesse);
    flex: 0 0 auto;
}

.af-info-i[b-sa49rank6t] {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
    font-weight: 700;
    font-style: italic;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.af-master-detail[b-sa49rank6t] {
    display: grid;
    grid-template-columns: 270px minmax(360px, 1fr);
    gap: 5px;
    flex: 1 1 auto;
    min-height: 0;
}

.af-detail[b-sa49rank6t] {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.af-tabelle[b-sa49rank6t] {
    height: 100%;
    overflow: auto;
}

.af-sendungzeile[b-sa49rank6t] {
    cursor: pointer;
}

.af-sendungzeile:hover[b-sa49rank6t] {
    background: var(--nem-tabelle-hover);
}

.af-gewaehlt[b-sa49rank6t] {
    background: var(--nem-selektion);
}

.af-geaendert[b-sa49rank6t] {
    color: var(--nem-akzent);
    font-weight: 600;
}
/* /Pages/Abrechnung/TarifKopierenOverlay.razor.rz.scp.css */
/* OVERLAY „TARIF KOPIEREN“ (UcTarifKopieren, 17.10.2026) - zwei Zeilen Label | Feld wie die XAML; Farben nur aus der Palette. */
.tk-maske[b-e2ghzw0us8] {
    padding: 6px 4px;
}

/* Prozent rechtsbuendig (StringFormat N3). */
.tk-zahl[b-e2ghzw0us8] {
    text-align: right;
}
/* /Pages/Abrechnung/TarifSucheOverlay.razor.rz.scp.css */
/* OVERLAY „TARIF SUCHEN“ (UcTarifeTabelle, 11.10.2026) - DockPanel: Label oben, darunter das NemesisDataGrid
   (seit 16.10.2026, mit Gruppierleiste), das den Rest fuellt. Farben nur aus der Palette (var(--nem-...)). */
.ts-maske[b-74fras30f4] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Label "Tarifsuche": Schrift 20, fett (Label-Polster 5). */
.ts-titel[b-74fras30f4] {
    flex: 0 0 auto;
    padding: 5px;
    font-size: 20px;
    font-weight: 700;
    color: var(--nem-schrift);
}

.ts-maske[b-74fras30f4]  .ndg-tabelle > tbody > tr {
    cursor: pointer;
}
/* /Pages/Abrechnung/UcFrachtfuehrerLauf.razor.rz.scp.css */
/* FRACHTFUEHRER-LAUF (UcFrachtfuehrerLauf, 03.11.2026) - Raster wie die XAML: Zeilen Auto | * | Auto | 5 | *. Statt des GridSplitters
   teilen sich Tabelle und Kosten die Hoehe (je mindestens 120 wie die MinHeight der XAML). Farben nur aus der Palette. */
.ffl-maske[b-apc64bn0gv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(120px, 1fr) auto;
    flex: 1 1 auto;
    min-height: 600px;
    padding: 2px;
    box-sizing: border-box;
}

/* FILTERKOPF (seit 11.11.2026 wie die XAML, Aufgabe #122): Filter (*) und rechts die nicht gefundenen Nummern (Auto). */
.ffl-kopf[b-apc64bn0gv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

/* Raster wie die XAML: Spalten 90 | 130 | 15 | Auto | Auto | 15 | Auto | Auto | Auto | *, Zeilen 3 x 26 | Auto (die Gruppen rechts
   duerfen die Kachel hoeher machen). */
.ffl-filter[b-apc64bn0gv] {
    grid-template-columns: 90px 130px 15px auto auto 15px auto auto auto minmax(0, 1fr);
    grid-template-rows: repeat(3, var(--nem-zeile)) auto;
    align-items: center;
}

/* Waehrend "Suchen" bleibt der Filter stehen, wird aber versteckt (Hidden) - das Skelett liegt darueber. */
.ffl-filter-huelle[b-apc64bn0gv] {
    position: relative;
}

.ffl-versteckt[b-apc64bn0gv] {
    visibility: hidden;
}

.ffl-skelett[b-apc64bn0gv] {
    position: absolute;
    inset: 0 auto auto 0;
    width: 420px;
    height: calc(3 * var(--nem-zeile));
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    align-items: center;
}

/* "ohne Nummer" beim Ausschliessen halbfett (DataTrigger der XAML). */
.ffl-fett[b-apc64bn0gv] {
    font-weight: 600;
}

/* Platz fuer das Listen-Symbol im Feld (Padding 0,0,20,0 der XAML). */
.ffl-nummer[b-apc64bn0gv] {
    padding-right: 22px;
}

.ffl-pickliste > img[b-apc64bn0gv] {
    width: 15px;
    height: 15px;
}

/* Zeitraum: DatePicker 105, "bis", DatePicker 105. */
.ffl-zeitraum[b-apc64bn0gv] {
    display: flex;
    align-items: center;
}

.ffl-datum[b-apc64bn0gv] {
    width: 105px;
}

.ffl-haken[b-apc64bn0gv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    margin: 0;
}

/* Gruppen "Bereich" und "Neuberechnung" (HeaderedContentControl der XAML): Ueberschrift gedimmt, darunter die Haken untereinander,
   Rand links 25, oben ausgerichtet; Abstand der Haken 1 wie die CheckBox-Margin. */
.ffl-gruppe[b-apc64bn0gv] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    margin-left: 25px;
    align-self: start;
}

.ffl-gruppe-kopf[b-apc64bn0gv] {
    line-height: var(--nem-zeilenhoehe);
    margin-bottom: 2px;
}

/* Tabelle und Kosten fuellen ihre Kachel (das Grid bzw. die Betragstabelle rollt selbst). */
.ffl-maske[b-apc64bn0gv]  .ffl-tabellenkachel {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ffl-maske[b-apc64bn0gv]  .ffl-tabellenkachel > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Zusammenfassung unter der Tabelle (TextBlock, Rand 6,3). */
.ffl-zusammenfassung[b-apc64bn0gv] {
    margin: 3px 6px;
    min-height: var(--nem-zeilenhoehe);
}

/* ---------- Kontextmenue "Bordero/Tour korrigieren" (11.11.2026, wie die Ausgangsborderos) ---------- */
.ffl-kontext-schleier[b-apc64bn0gv] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.ffl-kontext[b-apc64bn0gv] {
    position: fixed;
    z-index: 1041;
    min-width: 240px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
    user-select: none;
}

.ffl-kontext-eintrag[b-apc64bn0gv] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.ffl-kontext-eintrag:hover[b-apc64bn0gv] {
    background: var(--nem-tabelle-hover);
}

.ffl-kontext-aus[b-apc64bn0gv] {
    cursor: default;
    color: var(--nem-schrift-gedimmt);
}

.ffl-kontext-aus:hover[b-apc64bn0gv] {
    background: transparent;
}

.ffl-kontext-bild[b-apc64bn0gv] {
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}
/* /Pages/Abrechnung/UcRechnungErfassung.razor.rz.scp.css */
/* BELEGERFASSUNG (UcRechnungErfassung, 17.10.2026) - Grid Auto | * | Auto wie die XAML: Hinweis- und Kopfkachel oben, die Positionen
   (Rand oben 5) bis zum Seitenende, darunter Statusleiste und die rote Kachel der nicht gefundenen Sendungen. Farben nur aus der Palette. */
.re-maske[b-kueaw6vobt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 480px;
    padding: 2px;
    box-sizing: border-box;
}

/* Kopf: Spalten 100|180|26|5|80|180|5|*, Zeilen 3 x 24 (UcRechnungErfassungDaten). */
.re-kopf[b-kueaw6vobt] {
    grid-template-columns: 100px 180px var(--nem-zeile) 5px 80px 180px 5px minmax(0, 1fr);
    grid-template-rows: repeat(3, 24px);
}

/* Hinweis-Kachel: Text rot und halbfett wie im Desktop (#A03C32 = Fehlerfarbe der Palette), Rand 4. */
.re-hinweis[b-kueaw6vobt] {
    margin: 4px;
    white-space: pre-line;
    font-weight: 600;
    color: var(--nem-fehler);
}

/* Positionen: das Grid fuellt den Rest; die Sperrschicht liegt darueber (Deckkraft 0,85 der Flaeche). */
.re-positionen[b-kueaw6vobt] {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
    display: flex;
    flex-direction: column;
}

.re-sperre[b-kueaw6vobt] {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    font-size: 18px;
    color: var(--nem-schrift-gedimmt);
    background: color-mix(in srgb, var(--nem-flaeche) 85%, transparent);
}

/* Nummernzelle: Eingabe (bzw. Text) und Lupe rechts in der Zelle. */
[b-kueaw6vobt] .re-nummer {
    display: flex;
    align-items: center;
    gap: 2px;
    width: 100%;
}

[b-kueaw6vobt] .re-nummer > input {
    flex: 1 1 auto;
    min-width: 0;
}

[b-kueaw6vobt] .re-lupe {
    flex: 0 0 20px;
    width: 20px;
}

[b-kueaw6vobt] .re-lupe > img {
    width: 14px;
    height: 14px;
}

[b-kueaw6vobt] .re-nummer-text {
    margin-left: 4px;
}

[b-kueaw6vobt] .re-ort {
    margin-left: 5px;
}

/* Details: Rand 10, Hoehe 280 (TabControl der RowDetails), Reiter Kosten | Ertraege mit je einer Betragstabelle. */
[b-kueaw6vobt] .re-details {
    margin: 10px;
    height: 280px;
    display: flex;
    flex-direction: column;
}

[b-kueaw6vobt] .re-details > .re-reiter {
    flex: 1 1 auto;
    min-height: 0;
}

/* Statusleiste: Beschriftung gedimmt, Wert halbfett, 18 Abstand bis zur naechsten Angabe. */
.re-beschriftung[b-kueaw6vobt] {
    margin-right: 6px;
}

.re-wert[b-kueaw6vobt] {
    margin-right: 18px;
}

/* Nicht gefundene Sendungen: die Nummern untereinander, rollbar. */
.re-merkliste[b-kueaw6vobt] {
    display: flex;
    flex-direction: column;
    max-height: 120px;
    overflow-y: auto;
    margin: 2px 4px;
}

.re-merkliste-eintrag[b-kueaw6vobt] {
    line-height: 20px;
}
/* /Pages/Abrechnung/UcRueckstellungsliste.razor.rz.scp.css */
/* RUECKSTELLUNGSLISTE (17.10.2026) - DockPanel mit Rand 4 wie UcRueckstellungsliste.xaml: Kopfzeile fett und gedimmt (Rand 2,0,0,6),
   darunter die Tabelle bis zum Ende des Overlays. Farben nur aus der Palette. */
.rl-maske[b-2gjgyc69re] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 4px;
    box-sizing: border-box;
}

.rl-kopf[b-2gjgyc69re] {
    flex: 0 0 auto;
    margin: 0 0 6px 2px;
    font-weight: 600;
    color: var(--nem-schrift-gedimmt);
}

.rl-tabelle[b-2gjgyc69re] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* /Pages/Abrechnung/UcSendungBerechnung.razor.rz.scp.css */
/* RECHNUNGSLAUF (UcSendungBerechnung, 11.10.2026) - Raster wie die XAML: Spalten * | 5 | *, Zeilen Auto | 5 | * | Auto.
   Farben aus der Palette; Signalfarben (Unklar-Kreis #E7A229, Steuersaetze Orange/Rot) als benannte Klassen wie im Desktop. */
.sb-maske[b-d9kv02dsmj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5px minmax(0, 1fr);
    grid-template-rows: auto 5px minmax(0, 1fr) auto;
    flex: 1 1 auto;
    min-height: 600px;
    padding: 2px;
    box-sizing: border-box;
}

/* TABS Kunden / Rollkarten / Touren (03.11.2026): die Reiter oben, das aktive Register fuellt den Rest (nem-tabs-fuellend), ohne das
   Polster des Radzen-Registers - die Kacheln bringen ihren Rand selbst mit. */
.sb-wurzel[b-d9kv02dsmj] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.sb-wurzel[b-d9kv02dsmj]  .sb-reiter > .rz-tabview-panels,
.sb-wurzel[b-d9kv02dsmj]  .sb-reiter > .rz-tabview-panels > .rz-tabview-panel {
    padding: 0;
}

/* Filter: Sendungsdatum von DatePicker 100, "bis", DatePicker 100. */
.sb-zeitraum[b-d9kv02dsmj] {
    display: flex;
    align-items: center;
}

.sb-datum[b-d9kv02dsmj] {
    width: 100px;
}

/* "Ohne Betrag": ComboBox 120, links, Rand 0,2. */
.sb-ohnebetrag[b-d9kv02dsmj] {
    width: 120px;
    margin: 2px 0;
}

/* ---------- Tabelle: das NemesisDataGrid (seit 16.10.2026, mit Gruppierleiste) fuellt die Kachel und rollt selbst ---------- */
.sb-maske[b-d9kv02dsmj]  .sb-tabellenkachel {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.sb-maske[b-d9kv02dsmj]  .sb-tabellenkachel > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.sb-maske[b-d9kv02dsmj]  .ndg-tabelle > tbody > tr > td.sb-mitte {
    text-align: center;
}

/* "Unklar": Kreis 18 x 18 in der Warnfarbe (#E7A229) mit weissem, fettem "?". */
.sb-unklar[b-d9kv02dsmj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--nem-warnung);
    color: #FFFFFF;
    font-size: var(--nem-schriftgroesse);
    font-weight: 700;
    line-height: 1;
    cursor: help;
}

/* Steuersaetze: Warnstufe 1 Orange mit dunkler Schrift, Stufe 2 Rot mit weisser Schrift (CellStyle der XAML) - die Klasse
   setzt das Grid je Zeile an die Zelle (KlasseVon). */
.sb-maske[b-d9kv02dsmj]  .ndg-tabelle > tbody > tr > td.sb-steuer-warnung {
    background-color: orange;
    color: #222528;
}

.sb-maske[b-d9kv02dsmj]  .ndg-tabelle > tbody > tr > td.sb-steuer-fehler {
    background-color: red;
    color: #FFFFFF;
}

/* "Abrechungsmeldungen": Knopf ohne Hintergrund und Rahmen mit der Anzahl. */
.sb-meldungen[b-d9kv02dsmj] {
    min-width: var(--nem-feld-hoehe);
    padding: 0 4px;
    font: inherit;
    color: var(--nem-akzent);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.sb-meldungen:hover[b-d9kv02dsmj] {
    text-decoration: underline;
}

/* Details: BetragTabelle mit Rand 10 auf der Hover-Flaeche (hoechstens 320 hoch, die Tabelle rollt darin). In der sichtbaren
   Breite haelt das Grid die Details selbst - die Spalten des Rechnungslaufs weiten sich nicht auf. */
.sb-details[b-d9kv02dsmj] {
    margin: 6px 10px 10px 0;
    padding: 4px;
    background-color: var(--nem-hover-flaeche);
}
/* /Pages/Abrechnung/UcTarifEintrag.razor.rz.scp.css */
/* TARIFE (UcTarifEintrag, 11.10.2026) - nur, was die Hausregeln (nemesis-design.css Abschnitt 6/7) nicht schon liefern.
   Farben aus der Palette (var(--nem-...)); Signalfarben der Staffel (Ueberschneidung, Betrag 0, Fehlerpunkt) sind aus der
   Warn-/Fehlerfarbe gemischt wie die halbtransparenten Flaechen der XAML (#33E7A229, #55D9534F, #D9534F). */

.te-maske[b-terczffa2h] {
    padding: 2px 0;
}

/* ---------- Reiter: TabControl mit Rand oben 5, fuellt die Resthoehe (DockPanel) ---------- */
.te-maske[b-terczffa2h]  .te-reiter {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
    display: flex;
    flex-direction: column;
}

.te-maske[b-terczffa2h]  .te-reiter > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.te-maske[b-terczffa2h]  .te-reiter > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
}

/* Reiter "Tarif": links die Filterebenen (Rand rechts 5), daneben die Staffel - beide NemesisDataGrids (seit 16.10.2026)
   fuellen die Hoehe des Reiters. */
.te-tarif[b-terczffa2h] {
    display: flex;
    align-items: stretch;
    gap: 0;
    height: 100%;
    min-height: 0;
}

.te-filter[b-terczffa2h] {
    flex: 0 0 auto;
    min-width: 260px;
    margin-right: 5px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.te-staffel[b-terczffa2h] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Menue (Spaltenkopf-Grau): gesperrte Eintraege wie das WPF-MenuItem mit IsEnabled=false (nur lesend, vor dem Laden). */
.te-maske .nem-menueleiste > button:disabled[b-terczffa2h] {
    opacity: .5;
    cursor: default;
    background: transparent;
}

.te-plus[b-terczffa2h] {
    fill: none;
    stroke: var(--nem-erfolg);
    stroke-width: 2.5;
    stroke-linecap: round;
}

.te-kreuz[b-terczffa2h] {
    fill: none;
    stroke: var(--nem-fehler);
    stroke-width: 2.5;
    stroke-linecap: round;
}

.te-pfeil[b-terczffa2h] {
    font-size: 14px;
    color: var(--nem-akzent);
}

/* ---------- Staffel: Spaltenbreiten stehen an den Spalten des Grids; hier nur Zellinhalte ---------- */
.te-maske[b-terczffa2h]  .ndg-tabelle > tbody > tr > td.te-mitte {
    text-align: center;
}

.te-maske[b-terczffa2h]  .ndg-tabelle > tbody > tr > td.te-umbruch {
    white-space: normal;
}

.te-auswahl[b-terczffa2h] {
    width: 100%;
}

/* Erste Spalte: Bereichspfeil (18), "+n" (Schrift 10, 75 %) und rechts der Auswahl-Haken. */
.te-bereichzelle[b-terczffa2h] {
    display: flex;
    align-items: center;
    width: 100%;
}

.te-bereichpfeil[b-terczffa2h] {
    display: inline-block;
    width: 18px;
    margin-left: 1px;
    font-size: calc(var(--nem-schriftgroesse) + 1px);
    line-height: 18px;
    text-align: center;
    color: var(--nem-akzent);
    cursor: pointer;
}

.te-zugeklappt[b-terczffa2h] {
    margin: 0 2px 0 1px;
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    opacity: .75;
}

.te-haken[b-terczffa2h] {
    margin: 0 4px 0 auto;
}

/* Roter Punkt 11 x 11 bei Ueberschneidung bzw. fehlerhafter Zone. */
.te-fehlerpunkt[b-terczffa2h] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--nem-fehler);
    vertical-align: middle;
}

.te-loeschbild[b-terczffa2h] {
    width: 16px;
    height: 16px;
}

/* Werte der Ebenen im Nur-Lesen: Felder der XAML (TextBox ohne Rahmen) als Text in der Feldbreite. */
.te-wert[b-terczffa2h] {
    display: inline-block;
    padding: 0 4px;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
}

.te-wert-50[b-terczffa2h] {
    min-width: 50px;
}

.te-wert-100[b-terczffa2h] {
    width: 100px;
}

.te-wert-180[b-terczffa2h] {
    width: 180px;
}

/* Eingabefelder der Ebenen im Bearbeiten (17.10.2026): Breiten der XAML-TextBoxen (von/bis je 50, Komma 100, enthaelt 180)
   nebeneinander statt der vollen Zellbreite von .nem-feld. */
.te-eingabe[b-terczffa2h] {
    display: inline-block;
    vertical-align: middle;
}

.te-eingabe-50[b-terczffa2h] {
    width: 52px;
    margin-right: 2px;
}

.te-eingabe-100[b-terczffa2h] {
    width: 100px;
}

.te-eingabe-180[b-terczffa2h] {
    width: 180px;
}

/* Zahlenfelder (Betrag, je angef., Steuersatz) rechtsbuendig wie die XAML. */
.te-zahl[b-terczffa2h] {
    text-align: right;
}

/* Auswahl-Ebene (NemesisAuswahlfeld, MinWidth 170, Platzhalter "wählen..."). */
.te-auswahlfeld[b-terczffa2h] {
    display: inline-block;
    min-width: 165px;
    max-width: 320px;
    margin: 1px;
    padding: 0 4px;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    border: 1px solid color-mix(in srgb, var(--nem-rahmen) 35%, transparent);
    border-radius: 3px;
}

.te-platzhalter[b-terczffa2h] {
    color: var(--nem-schrift-gedimmt);
}

/* Betrag rechtsbuendig; bei 0 die halbtransparente Fehlerflaeche (#55D9534F) ueber dem Feld. */
.te-betrag[b-terczffa2h] {
    display: block;
    padding: 0 4px;
    text-align: right;
}

.te-betrag-null[b-terczffa2h] {
    background-color: color-mix(in srgb, var(--nem-fehler) 33%, transparent);
}

/* "je angef." nur bei Art Multiplizieren bedienbar - sonst gedaempft. */
.te-gesperrt[b-terczffa2h] {
    color: var(--nem-schrift-gedimmt);
}

/* ---------- Zeilenbild der Staffel und der Zonen (RowStyle der XAML) ---------- */
/* Die Flaeche einer Ueberschneidung bzw. fehlerhaften Zone setzt die Seite ueber ZeilenFlaeche des Grids. */

/* Trennstrich: Linie oben 2 px in der Akzentfarbe ueber der ersten Zeile eines neuen Bereichs der Ebene 1. */
.te-maske[b-terczffa2h]  .ndg-tabelle > tbody > tr.te-zeile-gruppenanfang > * {
    border-top: 2px solid var(--nem-akzent);
}

/* Loeschkennzeichen: Deckkraft 0,45 und durchgestrichen. */
.te-maske[b-terczffa2h]  .ndg-tabelle > tbody > tr.te-zeile-geloescht > * {
    opacity: .45;
    text-decoration: line-through;
}

/* ---------- Zonen (UcTarifZonen): Menue, Hinweistext (80 %), roter Pruefhinweis, darunter das Grid bis unten ---------- */
.te-zonen[b-terczffa2h] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.te-zonen-hinweise[b-terczffa2h] {
    margin: 6px 4px;
}

.te-zonen-text[b-terczffa2h] {
    opacity: .8;
}

.te-pruefhinweis[b-terczffa2h] {
    margin-top: 4px;
    font-weight: 600;
    color: var(--nem-fehler);
}


/* ---------- Fibu / Einstellungen ---------- */
.te-fibu[b-terczffa2h],
.te-einstellungen[b-terczffa2h] {
    padding: 4px 0;
}

/* "Tarife bei Steuersaetzen": kleine feste Tabelle (Grid 220 hoch) unter dem Steuersatz. */
.te-steuerwechsel[b-terczffa2h] {
    display: flex;
    flex-direction: column;
    align-self: start;
    min-width: 240px;
}

/* ---------- Lade-Skelett (NemesisLadeSkelett: Rundung 3, Lichtstreifen in 1,2 s, Toene aus der Palette) ---------- */
.te-skelett-block[b-terczffa2h] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 2px;
    padding: 6px 8px;
}

.te-skelett[b-terczffa2h] {
    display: block;
    height: 18px;
    border-radius: 3px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 30%,
        color-mix(in srgb, var(--nem-schrift) 3%, var(--nem-flaeche)) 50%,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 70%);
    background-size: 300% 100%;
    animation: te-schimmer-b-terczffa2h 1.2s linear infinite;
}

@keyframes te-schimmer-b-terczffa2h {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

/* „Zeilen kopieren“ und „Tarif importieren“ (21.10.2026) */
.te-fett[b-terczffa2h] {
    font-weight: 600;
}

.te-kopieren[b-terczffa2h],
.te-import[b-terczffa2h] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
}

.te-kopieren-anzahl[b-terczffa2h] {
    font-weight: 600;
}
/* /Pages/Abrechnung/ZusatzabrechnungSucheOverlay.razor.rz.scp.css */
/* OVERLAY „AUFTRAG SUCHEN“ (ZusatzabrechnungTabelleView, 11.10.2026) - das NemesisDataGrid (seit 16.10.2026) fuellt das
   Overlay. Abgerechnete Auftraege hellgruen (LightGreen wie im Desktop, mit dunkler Schrift) ueber ZeilenFlaeche/ZeilenSchrift
   des Grids. */
.zs-maske[b-mp3k8bn36p] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
/* /Pages/Abrechnung/ZusatzabrechnungView.razor.rz.scp.css */
/* ZUSATZABRECHNUNG (ZusatzabrechnungErfassungView, 11.10.2026) - DockPanel mit Rand 5: Kopfkachel, darunter die
   Erträgetabelle bis zum Seitenende. Farben nur aus der Palette. */
.za-maske[b-nai8u4nws1] {
    padding: 3px;
}

/* Belegtexte: Label mit Rand links 10, Textfeld ueber zwei Zeilen mit Rand 12,2,2,2, oben ausgerichtet, umbrechend. */
.za-belegtext-label[b-nai8u4nws1] {
    margin-left: 10px;
}

.za-belegtext[b-nai8u4nws1] {
    align-self: stretch;
    height: auto;
    margin: 2px 2px 2px 12px;
    padding: 2px 4px;
    resize: none;
    overflow-y: auto;
    width: auto;
}

.za-zeilen[b-nai8u4nws1] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* /Pages/Admin/Benutzerverwaltung/AbteilungView.razor.rz.scp.css */
/* ABTEILUNGEN (AbteilungView, 17.10.2026) - eine Tabelle, die die Maske fuellt; unten die Statusleiste. */
.av-maske[b-uwjbm5hfzy] {
    padding: 2px;
}

.av-tabelle[b-uwjbm5hfzy] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.av-maske .nem-zellfeld[b-uwjbm5hfzy] {
    width: 100%;
}

/* Geaenderte bzw. neue Abteilung (noch nicht gespeichert): kursiv. */
.av-maske[b-uwjbm5hfzy]  .ndg-tabelle > tbody > tr.av-geaendert > td {
    font-style: italic;
}
/* /Pages/Admin/Benutzerverwaltung/BenutzerEintragView.razor.rz.scp.css */
/* BENUTZERVERWALTUNG (BenutzerEintragView, 17.10.2026) - Raster wie die XAML: oben BenutzerView (80|180|5|115|180|5|130|180,
   6 Zeilen a 26), darunter die Reiter bis zur Reiterleiste, unten die Statusleiste. Farben nur aus der Palette (--nem-*). */
.bv-maske[b-hds1v7wo1c] {
    padding: 2px;
}

.bv-raster[b-hds1v7wo1c] {
    grid-template-columns: 80px 180px 5px 115px 180px 5px 130px 180px;
    grid-template-rows: repeat(6, var(--nem-zeile));
}

/* Plz/Ort: Plz 70 breit, Ort der Rest (DockPanel der XAML). */
.bv-plzort[b-hds1v7wo1c] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.bv-plz[b-hds1v7wo1c] {
    flex: 0 0 70px;
    width: 70px;
}

.bv-ort[b-hds1v7wo1c] {
    flex: 1 1 auto;
    min-width: 0;
}

/* Reiter: die Tabellen fuellen den Reiter. */
.bv-tabelle[b-hds1v7wo1c] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.bv-maske[b-hds1v7wo1c]  .ndg-tabelle > tbody > tr > td.bv-mitte {
    text-align: center;
}

/* Reiter "Einstellungen" (BenutzerKonfigurationView): Menue links (min. 200) | 5 | Seite. */
.bv-einstellungen[b-hds1v7wo1c] {
    display: grid;
    grid-template-columns: minmax(200px, auto) minmax(0, 1fr);
    column-gap: 5px;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.bv-menue[b-hds1v7wo1c] {
    background: var(--nem-spalten-kopf);
    padding: 4px 0;
    min-height: 0;
    overflow: auto;
}

.bv-menue-eintrag[b-hds1v7wo1c] {
    padding: 2px 10px;
    color: var(--nem-spalten-kopf-schrift);
    cursor: default;
}

.bv-menue-gewaehlt[b-hds1v7wo1c] {
    font-weight: 600;
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
}

/* KonfigurationLagerView: 100 | 100 | 120 | 100 | 120, eine Zeile 26; "Labeldrucker" als Akzent-Beschriftung. */
.bv-lager[b-hds1v7wo1c] {
    align-self: start;
    grid-template-columns: 100px 100px 120px 100px 120px;
    grid-template-rows: var(--nem-zeile);
}

.bv-lager-titel[b-hds1v7wo1c] {
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
}

/* Suche (Overlay): Kachel "Anzeige" oben, das NemesisDataGrid fuellt den Rest. */
.bv-suche[b-hds1v7wo1c] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.bv-suche[b-hds1v7wo1c]  .ndg-tabelle > tbody > tr {
    cursor: pointer;
}

.bv-haken[b-hds1v7wo1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 6px;
}

.bv-beschriftung[b-hds1v7wo1c] {
    margin-right: 6px;
    font-weight: 400;
}
/* /Pages/Admin/Benutzerverwaltung/RollenView.razor.rz.scp.css */
/* ROLLEN (RollenView, 17.10.2026) - Spalten wie die XAML: * (min. 220) | 8 | 2* (min. 320); beide Kacheln fuellen die Hoehe,
   unten die Statusleiste. Farben nur aus der Palette (--nem-*). */
.rv-maske[b-ovhnd7s2yr] {
    padding: 2px;
}

.rv-raster[b-ovhnd7s2yr] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 8px minmax(320px, 2fr);
    flex: 1 1 auto;
    min-height: 0;
}

/* Kacheln fuellen die Hoehe; ihr Inhalt ist eine Spalte (Tabelle oben, Beschreibung unten). */
.rv-raster[b-ovhnd7s2yr]  .rv-kachel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    margin: 0;
}

.rv-raster[b-ovhnd7s2yr]  .rv-kachel > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.rv-links[b-ovhnd7s2yr] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.rv-tabelle[b-ovhnd7s2yr] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Beschreibung der angeklickten Rolle: mehrzeilig, Hoehe 110 wie die XAML. */
.rv-beschreibung[b-ovhnd7s2yr] {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    margin-top: 6px;
}

.rv-text[b-ovhnd7s2yr] {
    height: 110px;
    resize: vertical;
    white-space: pre-wrap;
}

.rv-hinweis[b-ovhnd7s2yr] {
    margin: 6px;
}

.rv-maske .nem-zellfeld[b-ovhnd7s2yr] {
    width: 100%;
}

.rv-maske[b-ovhnd7s2yr]  .ndg-tabelle > tbody > tr > td.rv-mitte {
    text-align: center;
}

/* Geaenderte bzw. neue Rolle (noch nicht gespeichert): Name kursiv. */
.rv-maske[b-ovhnd7s2yr]  .ndg-tabelle > tbody > tr.rv-geaendert > td {
    font-style: italic;
}

/* Beschriftung ueber der Beschreibung (Label der XAML, Polster 2,0,0,2) - links. */
.rv-label[b-ovhnd7s2yr] {
    align-self: flex-start;
    padding: 0 0 2px 2px;
}
/* /Pages/Admin/ConfigMasterView.razor.rz.scp.css */
/* NEMESIS.ADMIN - KONFIGURATION (11.10.2026). Raster wie ConfigMasterView.xaml: Spalten 200 | 5 | * (der Status steht seit
   19.10.2026 in der Statusleiste des Fensters). Menue und Inhalt scrollen je fuer sich senkrecht; der Inhalt waagerecht nicht (Disabled im Desktop).
   Farben nur aus der Palette (var(--nem-...)). */
.kfg-maske[b-ptn3jjkrq0] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 480px;
    box-sizing: border-box;
}

.kfg-rahmen[b-ptn3jjkrq0] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 200px 5px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

/* ---------- Menuebaum (ConfigMenuView: TreeView auf NemesisSpaltenKopf, ohne Rahmen) ---------- */
.kfg-menue[b-ptn3jjkrq0] {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1px 0;
    background: var(--nem-spalten-kopf);
    color: var(--nem-spalten-kopf-schrift);
    user-select: none;
}

.kfg-knoten[b-ptn3jjkrq0] {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding-right: 4px;
    white-space: nowrap;
    cursor: pointer;
    color: var(--nem-schrift-auf-akzent);
}

/* IsMouseOver: Schrift in der Akzentfarbe. */
.kfg-knoten:hover[b-ptn3jjkrq0] {
    color: var(--nem-akzent-hell);
}

/* IsSelected: Schrift NemesisSchrift und fett - auf der Selektionsflaeche des TreeView. */
.kfg-knoten.kfg-gewaehlt[b-ptn3jjkrq0] {
    font-weight: bold;
    color: var(--nem-schrift);
    background: var(--nem-selektion);
}

.kfg-pfeil[b-ptn3jjkrq0] {
    flex: 0 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 16px;
}

.kfg-pfeil svg path.kfg-pfeil-offen[b-ptn3jjkrq0] {
    fill: currentColor;
    stroke: none;
}

.kfg-pfeil svg path.kfg-pfeil-zu[b-ptn3jjkrq0] {
    fill: none;
    stroke: currentColor;
    stroke-width: 1;
}

.kfg-name[b-ptn3jjkrq0] {
    padding: 1px 3px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- Inhalt (ScrollViewer: senkrecht Auto, waagerecht Disabled) ---------- */
.kfg-inhalt[b-ptn3jjkrq0] {
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Die Seite ist so hoch wie der Inhaltsbereich (16.10.2026): Seiten mit grosser Liste (Nummernkreise, Export-Schema,
   Scannermenue, Programmablaeufe) legen eine Wurzel mit height: 100% an und lassen das Grid den Rest fuellen, statt mit
   calc(100vh - ...) zu raten. Laengere Seiten ragen hinaus und rollen wie bisher im Inhaltsbereich. */
.kfg-seite[b-ptn3jjkrq0] {
    min-width: 0;
    height: 100%;
}
/* /Pages/Admin/Druckverwaltung/DokumentDateiOverlay.razor.rz.scp.css */
/* VORLAGENDATEI (17.10.2026) - "Hochladen..." ist ein label um das versteckte InputFile; es sieht aus wie die Knoepfe der
   Overlay-Leiste (.nem-overlay-leiste > button). Nur Palette, keine festen Farben. */
.dv-dateiknopf[b-54g4z9zrhw] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: var(--nem-zeile);
    margin: 0;
    padding: 0 10px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border-radius: 2px;
    cursor: pointer;
    white-space: nowrap;
}

.dv-dateiknopf:hover[b-54g4z9zrhw] {
    background: var(--nem-knopf-hover);
}

.dv-dateiknopf .rzi[b-54g4z9zrhw] {
    font-size: 16px;
}

/* Waehrend der Uebertragung gesperrt wie ein deaktivierter Knopf (das InputFile bleibt im DOM). */
.dv-dateiknopf.dv-gesperrt[b-54g4z9zrhw],
.dv-dateiknopf.dv-gesperrt:hover[b-54g4z9zrhw] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

/* Deaktivierte Knoepfe voll deckend wie im Desktop (graue Flaeche, gedimmte Schrift). */
button:disabled[b-54g4z9zrhw] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

.dv-umbruch[b-54g4z9zrhw] {
    overflow-wrap: anywhere;
}
/* /Pages/Admin/Druckverwaltung/ExportSchemaOverlay.razor.rz.scp.css */
/* EXPORTSCHEMA (17.10.2026) - die Tabelle fuellt den Inhalt des Overlays. Nur Palette, keine festen Farben. */
.dv-schema[b-ocwvsoaj3j] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dv-pfeile[b-ocwvsoaj3j] {
    display: inline-flex;
    gap: 2px;
}

.dv-pfeile > span[b-ocwvsoaj3j] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 2px;
    color: var(--nem-schrift-gedimmt);
    cursor: pointer;
}

.dv-pfeile > span:hover[b-ocwvsoaj3j] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}

button:disabled[b-ocwvsoaj3j] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Admin/Druckverwaltung/UcDokumentVerwaltung.razor.rz.scp.css */
/* DRUCKVERWALTUNG (17.10.2026) - Tabelle fuellt die Maske, Statusleiste unten. Nur Palette, keine festen Farben.
   Die Zellen-Vorlagen (Symbol, Stift, Kunde) stehen im Grid (Kindkomponente) - deshalb ::deep unter der Maske. */
.dv-maske[b-bcao4rv59z] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dv-maske[b-bcao4rv59z]  .dv-typbild {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.dv-maske[b-bcao4rv59z]  .dv-stift,
.dv-maske[b-bcao4rv59z]  .dv-kunde {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dv-maske[b-bcao4rv59z]  .dv-knopf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 2px;
    border-radius: 3px;
    cursor: pointer;
}

.dv-maske[b-bcao4rv59z]  .dv-knopf:hover {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.dv-maske[b-bcao4rv59z]  .dv-knopf img {
    width: 16px;
    height: 16px;
}

.dv-maske[b-bcao4rv59z]  .dv-db {
    font-size: 15px;
    color: var(--nem-akzent);
}

/* Knoepfe der Overlay-Leiste (Testdruck): deaktiviert voll deckend wie im Desktop. */
button:disabled[b-bcao4rv59z] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Admin/Druckverwaltung/ZplEditorOverlay.razor.rz.scp.css */
/* ZPL-EDITOR (17.10.2026) - das Textfeld fuellt den Inhalt des Overlays wie die TextBox der ZPLEditorView (DockPanel). */
.dv-zpl[b-0126ktkjhy] {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 240px;
    resize: none;
    padding: 4px 6px;
    font-family: Consolas, "Courier New", monospace;
    white-space: pre-wrap;
    overflow-y: scroll;
}
/* /Pages/Admin/Konfiguration/ConfigPartAbfertigungView.razor.rz.scp.css */
/* DISPOSITION › ABFERTIGUNG: StackPanel der Kacheln (links, untereinander) wie "Allgemein". */
.kfg-abfertigung[b-ipcigcldcx] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
/* /Pages/Admin/Konfiguration/ConfigPartAllgemeinView.razor.rz.scp.css */
/* ALLGEMEIN: StackPanel der Kacheln (links, untereinander) wie "Eingang". */
.kfg-allgemein[b-mf4hvheogh] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* StackPanel waagerecht in einer Rasterzelle (TextBox 70 + "Tage"). */
.kfg-zeile[b-mf4hvheogh] {
    display: flex;
    align-items: center;
    min-width: 0;
}
/* /Pages/Admin/Konfiguration/ConfigPartBetriebsstammView.razor.rz.scp.css */
/* BETRIEBSSTAMM (11.10.2026): nur waagerechter Bildlauf (ScrollViewer Horizontal=Auto, Vertical=Disabled), darin
   drei Spalten a 440 px (StackPanel horizontal, Rand 5). Kachelraster 130 | *, Zeilen 26. */
.bs-scroll[b-38kon6fx5l] {
    overflow-x: auto;
    overflow-y: hidden;
}

.bs-spalten[b-38kon6fx5l] {
    display: flex;
    align-items: flex-start;
    margin: 5px;
    width: max-content;
}

.bs-spalte[b-38kon6fx5l] {
    flex: 0 0 440px;
    width: 440px;
    min-width: 0;
}

.bs-raster[b-38kon6fx5l] {
    grid-template-columns: 130px minmax(0, 1fr);
}

/* Stil "Feld": Label mit Polster 0,2, senkrecht mittig, Spalte 1. */
.bs-feld[b-38kon6fx5l] {
    grid-column: 1;
    padding: 2px 0;
}

/* Felder nebeneinander (Lkz/PLZ/Ort, Sitz/Gerichtsstand) - StackPanel waagerecht. */
.bs-reihe[b-38kon6fx5l] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.bs-reihe > .nem-feld[b-38kon6fx5l] {
    flex: 0 0 auto;
}

/* GLN / EORI / Zoll untereinander (TextBox-Rand 0,1). */
.bs-untereinander[b-38kon6fx5l] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 1px 0;
}

/* Logo: 150 hoch, Rahmen in der Tabellenkontur auf der Flaeche, Knoepfe unten rechts (Rand 0,0,6,6). */
.bs-logo[b-38kon6fx5l] {
    position: relative;
    height: 150px;
}

.bs-logo-rahmen[b-38kon6fx5l] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    box-sizing: border-box;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
}

.bs-logo-bild[b-38kon6fx5l] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.bs-logo-knoepfe[b-38kon6fx5l] {
    position: absolute;
    right: 6px;
    bottom: 6px;
    display: flex;
}

.bs-logo-knopf[b-38kon6fx5l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-zeile);
    height: var(--nem-zeile);
}

.bs-logo-symbol[b-38kon6fx5l] {
    font-size: 18px;
    color: var(--nem-akzent);
}

.bs-logo-x[b-38kon6fx5l] {
    font-size: 14px;
    color: var(--nem-schrift);
}

/* Die Dateiauswahl selbst bleibt unsichtbar - der Knopf ist ihr Label. */
.bs-logo-knopf[b-38kon6fx5l]  input[type=file],
.bs-logo-knopf input[type=file][b-38kon6fx5l] {
    display: none;
}
/* /Pages/Admin/Konfiguration/ConfigPartDispositionView.razor.rz.scp.css */
/* Einleitungstext der Seite: NemesisSchriftGedimmt, kursiv, Rand 8, umbrechend (TextBlock der XAML). */
.kfg-einleitung[b-tov7h1pk7v] {
    margin: 8px;
    font-style: italic;
    white-space: normal;
    color: var(--nem-schrift-gedimmt);
}
/* /Pages/Admin/Konfiguration/ConfigPartDispoView.razor.rz.scp.css */
/* DISPOSITION › NAHVERKEHR – nur Palette (var(--nem-...)). */

/* Beschriftung mit VerticalAlignment=Top in einer Auto-Zeile: auf Hoehe der Code-Zeile (28) ausgerichtet. */
.kfg-oben[b-emylta3ucp] {
    align-self: start;
    margin-top: 3px;
}

/* StackPanel senkrecht in einer Rasterzelle (668, 673). */
.kfg-stapel[b-emylta3ucp] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

/* WrapPanel waagerecht (664 Depot-Adresse): Beschriftung und Feld im Wechsel, bricht bei Platzmangel um. */
.kfg-umbruch[b-emylta3ucp] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 2px;
    min-width: 0;
}

/* Hinweis unter der Nominatim-Option: NemesisSchriftGedimmt, umbrechend, Rand oben 4. */
.kfg-gedimmt-text[b-emylta3ucp] {
    margin-top: 4px;
    white-space: normal;
    color: var(--nem-schrift-gedimmt);
}

/* Border BorderThickness 0,1,0,0 in NemesisTabelle.Kontur, Rand 0,6,0,4, Polster oben 6 (Block 680). */
.kfg-trenner[b-emylta3ucp] {
    margin: 6px 0 4px 0;
    padding-top: 6px;
    border-top: 1px solid var(--nem-kontur);
}

/* ---------- 663: ComboBox mit CheckBoxen (IsEditable + IsReadOnly) ---------- */
.kfg-mehrfach[b-emylta3ucp] {
    position: relative;
    justify-self: start;
    min-width: 260px;
}

.kfg-mehrfach-feld[b-emylta3ucp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 0 2px 0 4px;
    text-align: left;
    cursor: pointer;
}

.kfg-mehrfach-text[b-emylta3ucp] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kfg-mehrfach-pfeil[b-emylta3ucp] {
    flex: 0 0 auto;
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
}

/* Klick daneben schliesst die Liste (wie das Zuklappen der ComboBox). */
.kfg-mehrfach-schleier[b-emylta3ucp] {
    position: fixed;
    inset: 0;
    z-index: 19;
    background: transparent;
}

.kfg-mehrfach-liste[b-emylta3ucp] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 20;
    min-width: 100%;
    box-sizing: border-box;
    padding: 2px 0;
    background: var(--nem-eingabe-flaeche);
    border: 1px solid var(--nem-rahmen);
    border-radius: 3px;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
}

/* Eintrag = CheckBox mit Margin 4,2. */
.kfg-mehrfach-eintrag[b-emylta3ucp] {
    display: flex;
    padding: 2px 4px;
}

.kfg-mehrfach-eintrag:hover[b-emylta3ucp] {
    background: var(--nem-selektion);
}
/* /Pages/Admin/Konfiguration/ConfigPartDruckerView.razor.rz.scp.css */
/* Spaltenkoepfe der Druckerliste: FontWeight=Bold. */
.kfg-fett[b-9hhkwfr03h] {
    font-weight: bold;
}
/* /Pages/Admin/Konfiguration/ConfigPartEingangView.razor.rz.scp.css */
/* EINGANG: StackPanel der drei Kacheln (links, untereinander). */
.kfg-eingang[b-bd8em6u3ue] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Hinweis, wenn der Code im Zustands-Stamm fehlt: Rand 5,4,5,2, umbrechend, in der Fehlerfarbe (im Desktop ein festes Rot). */
.kfg-fehlerhinweis[b-bd8em6u3ue] {
    margin: 4px 5px 2px 5px;
    white-space: normal;
    color: var(--nem-fehler);
}

/* StackPanel waagerecht in einer Rasterzelle (CheckBox "aktiv" + Uhrzeit). */
.kfg-zeile[b-bd8em6u3ue] {
    display: flex;
    align-items: center;
    min-width: 0;
}
/* /Pages/Admin/Konfiguration/ConfigPartExportSchemaView.razor.rz.scp.css */
/* Export-Schema: Knoepfe Neu / Loeschen / Speichern im StackPanel auf NemesisAkzent (Spalte 3, 80 breit). */
.kfg-schema-knoepfe[b-m5fld8epfx] {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 2px;
    background: var(--nem-akzent);
}

.kfg-schema-knoepfe > .nem-symbolknopf[b-m5fld8epfx] {
    width: 24px;
    height: 24px;
    color: var(--nem-schrift-auf-akzent);
}

.kfg-schema-knoepfe > .nem-symbolknopf .rzi[b-m5fld8epfx] {
    font-size: 18px;
    vertical-align: middle;
}

.kfg-schema-knoepfe > .nem-symbolknopf:disabled[b-m5fld8epfx] {
    opacity: .5;
    cursor: default;
}

/* Zeile 1: Label ueber alle Spalten mit NemesisAkzent (5 hoch). */
.kfg-schema-streifen[b-m5fld8epfx] {
    align-self: stretch;
    background: var(--nem-akzent);
}

/* Die Seite fuellt den Inhaltsbereich (.kfg-seite ist so hoch wie er): Kopfraster oben, das Grid nimmt den Rest (flex). */
.kfg-schema-seite[b-m5fld8epfx] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 400px;
}

.kfg-schema-mitte[b-m5fld8epfx] {
    display: block;
    text-align: center;
}

/* Ziehen & Ablegen der Zeilen (GongSolutions DragDrop des Desktops): die gezogene Zeile gedimmt, an der Zielzeile ein Strich
   in der Akzentfarbe, wo die gezogene landet (die Zeilen baut das Grid - ::deep). */
.kfg-schema-seite[b-m5fld8epfx]  .kfg-schema-gezogen > td {
    opacity: .5;
}

.kfg-schema-seite[b-m5fld8epfx]  .kfg-schema-ziel-oben > td {
    box-shadow: inset 0 2px 0 var(--nem-akzent);
}

.kfg-schema-seite[b-m5fld8epfx]  .kfg-schema-ziel-unten > td {
    box-shadow: inset 0 -2px 0 var(--nem-akzent);
}
/* /Pages/Admin/Konfiguration/ConfigPartFibuUebergabeView.razor.rz.scp.css */
/* Fibu-Uebergabe: Ueberschriften (Erloeskonten, Beleglink ...) mit FontWeight=Bold. */
.kfg-fibu-fett[b-poavpiukz1] {
    font-weight: bold;
}

/* CheckBox auf den bool-Ansichten des ViewModels: links in der Zelle, senkrecht mittig. */
.kfg-fibu-haken[b-poavpiukz1] {
    justify-self: start;
    align-self: center;
    margin: 0 0 0 2px;
}

/* "..." neben dem Ausgabepfad: Width=26, HorizontalAlignment=Left. */
.kfg-fibu-pfadknopf[b-poavpiukz1] {
    justify-self: start;
    width: var(--nem-zeile);
    height: var(--nem-feld-hoehe);
    min-width: 0;
    padding: 0;
    font-size: var(--nem-schriftgroesse);
    line-height: 20px;
}

/* Hinweis unter dem SFTP-Konto: kursiv, Deckkraft 0,85, Rand 2,6,2,2, umbrechend. */
.kfg-fibu-sftp-hinweis[b-poavpiukz1] {
    margin: 6px 2px 2px 2px;
    font-style: italic;
    opacity: .85;
    white-space: normal;
    color: var(--nem-schrift);
}

/* Haken "Aktiv" der eMail-Adressen mittig in der Zelle (die Tabelle ist ein NemesisDataGrid). */
.kfg-fibu-mitte[b-poavpiukz1] {
    display: block;
    text-align: center;
}
/* /Pages/Admin/Konfiguration/ConfigPartKommEmailView.razor.rz.scp.css */
/* Testmail-Kachel (ConfigPartKommEmailView.xaml): TextBlock ueber zwei Spalten mit Rand 0,2, umbrechend, in der
   Warnfarbe des Desktops (--nem-hinweis-schrift); Knopf linksbuendig mit Polster 12,3. */
.kfg-email-testhinweis[b-b8ax3i3izo] {
    margin: 2px 0;
    white-space: normal;
    line-height: 16px;
    color: var(--nem-hinweis-schrift);
}

.kfg-email-testknopf[b-b8ax3i3izo] {
    justify-self: start;
    padding: 3px 12px;
}
/* /Pages/Admin/Konfiguration/ConfigPartLagerKiView.razor.rz.scp.css */
/* LAGER-KI: StackPanel Margin 0,0,5,5, MaxWidth 620, links ausgerichtet. */
.ki-seite[b-j75xdzv2sl] {
    max-width: 620px;
    margin: 0 5px 5px 0;
}

/* Zeilen der Kacheln: Code 60 | Beschriftung 230 | Feld * ... */
.ki-zeile[b-j75xdzv2sl] {
    grid-template-columns: 60px 230px minmax(0, 1fr);
    grid-auto-rows: var(--nem-zeile);
}

/* ... und mit der CheckBox "aktiv" dahinter (Auto). */
.ki-zeile-haken[b-j75xdzv2sl] {
    grid-template-columns: 60px 230px minmax(0, 1fr) auto;
    grid-auto-rows: var(--nem-zeile);
}
/* /Pages/Admin/Konfiguration/ConfigPartLagerReportingView.razor.rz.scp.css */
/* LAGER-REPORTING: StackPanel Margin 5; Zeilen 50 | 200 | *. */
.rep-seite[b-ffwxb4e5ra] {
    margin: 5px;
}

.rep-zeile[b-ffwxb4e5ra] {
    grid-template-columns: 50px 200px minmax(0, 1fr);
}

/* CheckBox links, senkrecht mittig. */
.rep-haken[b-ffwxb4e5ra] {
    justify-self: start;
    margin: 0 0 0 2px;
}

/* TextBlock mit TextWrapping=Wrap. */
.rep-text[b-ffwxb4e5ra] {
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Letzter Fehler: in der Fehlerfarbe. */
.rep-fehler[b-ffwxb4e5ra] {
    color: var(--nem-fehler);
}

/* Haken "Aktiv" in der Zelle mittig (die Tabelle selbst ist ein NemesisDataGrid, Hoehe 140 am Grid). */
.rep-mitte[b-ffwxb4e5ra] {
    display: block;
    text-align: center;
}
/* /Pages/Admin/Konfiguration/ConfigPartLagerVerwaltungView.razor.rz.scp.css */
/* LAGERVERWALTUNG: Raster der Seite wie die XAML - Grid Margin 0,0,5,5, Spalten 6* (380-680) | 10 | 5* (300-620).
   Waagerecht wird nicht gerollt; beide Spalten wachsen von ihrer Mindest- bis zur Hoechstbreite mit. */
.lv-seite[b-garexb0awo] {
    display: grid;
    grid-template-columns: minmax(380px, 680px) 10px minmax(300px, 620px);
    align-items: start;
    margin: 0 5px 5px 0;
}

.lv-spalte[b-garexb0awo] {
    min-width: 0;
}

/* Zeilenraster der Kacheln: Code 60 | Beschriftung 240 | Feld * ... */
.lv-zeile-240[b-garexb0awo] {
    grid-template-columns: 60px 240px minmax(0, 1fr);
    grid-auto-rows: var(--nem-zeile);
}

/* ... bzw. Code 60 | Beschriftung * | CheckBox Auto. */
.lv-zeile-auto[b-garexb0awo] {
    grid-template-columns: 60px minmax(0, 1fr) auto;
    grid-auto-rows: var(--nem-zeile);
}
/* /Pages/Admin/Konfiguration/ConfigPartMcpView.razor.rz.scp.css */
/* Wie ConfigPartMcpView.xaml: höchstens 640 breit, Kacheln untereinander, je Zeile die Code-Marke (60) vor dem Schalter bzw. Beschriftung
   (230) und Zahlfeld (90). */
.kfg-mcp[b-031a8i730d] {
    max-width: 640px;
    margin: 0 5px 5px 0;
}

.kfg-mcp-zeile[b-031a8i730d] {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    column-gap: 8px;
    align-items: center;
    min-height: var(--nem-zeile);
    margin-bottom: 4px;
}

    .kfg-mcp-zeile.kfg-mcp-grenze[b-031a8i730d] {
        grid-template-columns: 60px 230px 90px;
    }
/* /Pages/Admin/Konfiguration/ConfigPartNemesisScanAppR5MenuView.razor.rz.scp.css */
/* Die Seite fuellt den Inhaltsbereich (.kfg-seite ist so hoch wie er), das Grid nimmt den Rest (flex). */
.kfg-menu-seite[b-oollysyfi1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 300px;
}

/* Waagerechte Leiste ueber dem Scannermenue (StackPanel Orientation=Horizontal): Labels 26 hoch, CheckBox mittig. */
.kfg-menu-kopf[b-oollysyfi1] {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    height: var(--nem-zeile);
}

.kfg-menu-haken[b-oollysyfi1] {
    align-self: center;
    padding: 0 5px;
}

.kfg-menu-titel[b-oollysyfi1] {
    align-self: center;
}

/* Spalte "Code": TextBlock auf der Akzentflaeche (ElementStyle der Desktop-Spalte) - fuellt die Zelle. */
.kfg-menu-code[b-oollysyfi1] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    margin: 0 -4px;
    padding: 0 4px;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}
/* /Pages/Admin/Konfiguration/ConfigPartNummernkreiseView.razor.rz.scp.css */
/* NUMMERNKREISE (11.10.2026, seit 16.10.2026 im NemesisDataGrid): Spaltenbreiten wie die XAML stehen an den Spalten
   (Beschreibung nimmt den Rest); hier nur der Inhalt der Zellen. */

/* Die Seite fuellt den Inhaltsbereich (.kfg-seite ist so hoch wie er), das Grid nimmt den Rest (flex). */
.nk-seite[b-uryrog57tm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 400px;
}
.nk-mitte[b-uryrog57tm] {
    display: block;
    text-align: center;
}

/* Loeschen und Kopieren vorne (14.11.2026, XAML: Spalte 58, zwei Knoepfe je 22 breit): Papierkorb 14 x 14 (NemesisPapierkorb),
   daneben das Kopierzeichen (Desktop: Segoe MDL2 E8C8 in der Schriftfarbe, FontStyle Normal - auch in der kursiven Vorgabezeile). */
.nk-knoepfe[b-uryrog57tm] {
    display: flex;
    align-items: center;
    gap: 0;
}

.nk-knopf[b-uryrog57tm] {
    width: 22px;
    min-width: 22px;
}

.nk-kopieren[b-uryrog57tm] {
    font-size: 15px;
    font-style: normal;
    line-height: 1;
    color: var(--nem-schrift);
}

/* AMPEL UND VORGABEZEILE (14.11.2026, wie die DataTrigger der XAML): Schrift der Zeile in der Signalfarbe - die Zellen sind im Web
   Eingabefelder, deshalb auch .nem-zellfeld. Orange als Schrift = NemesisHinweis.Schrift (--nem-hinweis-schrift), weil das reine
   Warnorange auf heller Flaeche kaum lesbar ist; rot = NemesisTabelle.Fehler (--nem-fehler). Abgeloeste Kreise gedimmt, Vorgabezeilen
   gedimmt und kursiv. Den Statusstreifen links setzt das Grid (ZeilenStatus). */
[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-laeuft-aus > td,
[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-laeuft-aus .nem-zellfeld {
    color: var(--nem-hinweis-schrift);
}

[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-abgelaufen > td,
[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-abgelaufen .nem-zellfeld {
    color: var(--nem-fehler);
}

[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-abgeloest > td,
[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-abgeloest .nem-zellfeld {
    color: var(--nem-schrift-gedimmt);
}

[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-vorgabe > td,
[b-uryrog57tm] .ndg-tabelle > tbody > tr.nk-vorgabe .nem-zellfeld {
    color: var(--nem-schrift-gedimmt);
    font-style: italic;
}

/* Kunde: Name (abgeschnitten mit ...), rechts Lupe und x je 20 breit. */
.nk-kunde[b-uryrog57tm] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.nk-kunde-name[b-uryrog57tm] {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 4px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.nk-kunde-knopf[b-uryrog57tm] {
    width: 20px;
}

.nk-lupe[b-uryrog57tm] {
    width: 14px;
    height: 14px;
}

.nk-entfernen[b-uryrog57tm] {
    font-size: calc(var(--nem-schriftgroesse) + 1px);
    vertical-align: middle;
    color: var(--nem-schrift);
}
/* /Pages/Admin/Konfiguration/ConfigPartPfadeView.razor.rz.scp.css */
/* DOKUMENTENVERWALTUNG: Kacheln untereinander, links (HorizontalAlignment Left, Width 756). */
.pf-seite[b-hjp4dbnoc6] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Raster der Pfadzeilen: Margin 4, Spalten 80 | 300 | 350, Zeilen 26. */
.pf-raster[b-hjp4dbnoc6] {
    grid-template-columns: 80px 300px 350px;
    grid-auto-rows: var(--nem-zeile);
    margin: 4px;
}

/* Haken "SSL" mittig in der Zelle (die Tabellen sind NemesisDataGrids). */
.pf-mitte[b-hjp4dbnoc6] {
    display: block;
    text-align: center;
}
/* /Pages/Admin/Konfiguration/ConfigPartProgrammAblaufView.razor.rz.scp.css */
/* PROGRAMMABLAEUFE (11.10.2026): Raster wie die XAML - Rand 6, Spalten 360 | * (min 380) | 380. Das Raster ist so hoch wie
   die Seite (.kfg-seite = Inhaltsbereich): die Kachel "Abläufe" fuellt die Hoehe, ihr Grid rollt selbst. Die Kacheln der
   Spalten 1 und 2 wachsen mit ihrem Inhalt; sind sie hoeher, rollt die Seite im Inhaltsbereich des Rahmens. */
.pa-raster[b-4ul5butrb1] {
    display: grid;
    grid-template-columns: 360px minmax(380px, 1fr) 380px;
    grid-template-rows: minmax(0, 1fr);
    align-items: start;
    height: calc(100% - 12px);
    min-height: 420px;
    margin: 6px;
}

/* IsEnabled der Spalten 1 und 2: ein fieldset sperrt alle Felder darin - ohne eigenen Rahmen. */
.pa-spalte[b-4ul5butrb1] {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.pa-spalte[disabled][b-4ul5butrb1] {
    opacity: .6;
}

/* Knopf ueber der Tabelle (Padding 10,3, links, Abstand unten 6). */
.pa-knopf[b-4ul5butrb1] {
    align-self: flex-start;
    margin: 0 0 6px 0;
}

/* Inhalt mittig in der Zelle (Papierkorb, Haken) - die Tabellen sind NemesisDataGrids. */
.pa-mitte[b-4ul5butrb1] {
    display: block;
    text-align: center;
}

.pa-reihe[b-4ul5butrb1] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.pa-papierkorb[b-4ul5butrb1] {
    font-size: 15px;
    vertical-align: middle;
    color: var(--nem-schrift);
}

/* Knoepfe 22 x 22 in der Schrittzeile (▲, ▼, Papierkorb). */
.pa-zeilenknopf[b-4ul5butrb1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-feld-hoehe);
    height: var(--nem-feld-hoehe);
    padding: 0;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift);
    background: var(--nem-reiter-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: 2px;
    cursor: pointer;
}

.pa-zeilenknopf:hover[b-4ul5butrb1] {
    background: var(--nem-tabelle-hover);
}

.pa-mehrzeilig[b-4ul5butrb1] {
    height: auto;
    min-height: 44px;
    padding: 2px 4px;
    resize: vertical;
}
/* /Pages/Admin/Konfiguration/ConfigPartWeisseWareViewAdressFeld.razor.rz.scp.css */
/* Adressfeld (UcAdressFeld): Namenslabel | Feld AdressId | Anschrift - nebeneinander wie das DockPanel der XAML. */
.kfg-adressfeld[b-i19x41kwvo] {
    display: flex;
    align-items: center;
    min-width: 0;
    height: var(--nem-zeile);
}

/* Anschrift: StackPanel waagerecht mit fester Breite (AdressLabelBreite), Rand 5 links; was nicht passt, wird abgeschnitten. */
.kfg-adressfeld-anzeige[b-i19x41kwvo] {
    display: flex;
    align-items: center;
    min-width: 0;
    margin-left: 5px;
    overflow: hidden;
    white-space: nowrap;
    color: var(--nem-schrift);
}

/* Jede Adresszeile mit 5 Abstand (Stil "AdressZeile": Margin 5,3,0,0). */
.kfg-adressfeld-anzeige > span[b-i19x41kwvo] {
    flex: 0 0 auto;
    margin-left: 5px;
}

.kfg-adressfeld-anzeige > span:empty[b-i19x41kwvo] {
    display: none;
}

/* NemesisKreisel 21 x 20 waehrend des Ladens (IsAddressLoading) - Shared/NemesisKreisel, eigene Komponente (deshalb ::deep). */
.kfg-adressfeld[b-i19x41kwvo]  .kfg-adressfeld-kreisel {
    margin: 0 1px;
}
/* /Pages/Admin/Konfiguration/KonfigCode.razor.rz.scp.css */
/* Code-Label (Spalte 0 der Desktop-Raster): Akzentflaeche, Schrift auf Akzent, fuellt die Zelle 26 hoch. */
.kfg-code[b-9ipmctupv3] {
    align-self: stretch;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}

.kfg-code-mittig[b-9ipmctupv3] {
    justify-content: center;
}

.kfg-code-fett[b-9ipmctupv3] {
    font-weight: bold;
}
/* /Pages/Admin/Konfiguration/KonfigHaken.razor.rz.scp.css */
/* CheckBox im Raster: links in der Zelle, senkrecht mittig (die Zeilen sind 26 hoch). */
.kfg-haken[b-cyolbefvvi] {
    justify-self: start;
    align-self: center;
}

input.kfg-haken[b-cyolbefvvi] {
    margin: 0 0 0 2px;
}
/* /Pages/Admin/Konfiguration/KonfigText.razor.rz.scp.css */
/* Mehrzeiliges Feld: Hoehe nach Zeilen statt der 22 eines einzeiligen Feldes. */
.kfg-mehrzeilig[b-ay7musjipi] {
    height: auto;
    min-height: var(--nem-feld-hoehe);
    padding: 2px 4px;
    resize: vertical;
}
/* /Pages/Admin/Ribbon/RibbonVerwaltungView.razor.rz.scp.css */
/* RIBBON-VERWALTUNG (17.10.2026). Raster wie RibbonVerwaltungView.xaml: oben Ribbontabs | Ribbongroups, darunter
   Ribbonbuttons und Assemblys (zwei gleich hohe Zeilen); links zusaetzlich die Menueband-Struktur. Keine eigene Statusleiste (19.10.2026) -
   der Status steht in der Statusleiste des Fensters.
   Alle Tabellen fuellen ihre Kachel und rollen selbst. Nur Palette (var(--nem-...)). Die Regeln gelten auch fuer den Baum und die
   Overlays (eigene Komponenten) - deshalb ::deep unter .rv-maske. */
.rv-maske[b-jg14sq64sb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 560px;
    box-sizing: border-box;
}

.rv-rahmen[b-jg14sq64sb] {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    column-gap: 5px;
    padding: 2px;
}

.rv-rechts[b-jg14sq64sb] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 5px;
}

.rv-oben[b-jg14sq64sb] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    grid-template-rows: minmax(0, 1fr);
    column-gap: 5px;
}

/* Kacheln fuellen ihre Rasterzelle (nem-kachel-fuellend macht sie zur Flex-Spalte, das Grid fuellt den Rest). */
.rv-maske[b-jg14sq64sb]  .rv-kachel {
    margin: 0;
    height: 100%;
    min-height: 0;
}

/* ---------- Kopf der Kacheln: Filter-Chip und Verschiebeknoepfe ---------- */
.rv-maske[b-jg14sq64sb]  .rv-kopfknoepfe {
    display: inline-flex;
    gap: 1px;
}

.rv-maske[b-jg14sq64sb]  .rv-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 20px;
    max-width: 320px;
    padding: 0 3px 0 9px;
    margin-right: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: var(--nem-schriftgroesse);
    font-weight: normal;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
    border-radius: 9px;
}

.rv-maske[b-jg14sq64sb]  .rv-filter-chip > button {
    padding: 0 3px;
    font: inherit;
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
}

/* ---------- Zellen ---------- */
.rv-maske[b-jg14sq64sb]  .rv-zelle-mit-knopf {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    min-width: 0;
}

.rv-maske[b-jg14sq64sb]  .rv-zelltext {
    min-width: 0;
    max-width: 180px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.rv-maske[b-jg14sq64sb]  .rv-zellknopf {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: var(--nem-feld-hoehe);
    height: 20px;
    padding: 0;
    font: inherit;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.rv-maske[b-jg14sq64sb]  .rv-zellknopf:hover {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.rv-maske[b-jg14sq64sb]  .rv-zellknopf:disabled {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

.rv-maske[b-jg14sq64sb]  .rv-zellknopf .rzi {
    font-size: 15px;
}

.rv-maske[b-jg14sq64sb]  .rv-unsichtbar {
    display: none;
}

/* Bild-Spalten wie im Desktop: 26 x 26, Rand 5,0. */
.rv-maske[b-jg14sq64sb]  .rv-bild {
    display: inline-block;
    width: var(--nem-zeile);
    height: var(--nem-zeile);
    margin: 0 5px;
    object-fit: contain;
}

.rv-maske[b-jg14sq64sb]  .rv-zahl {
    width: 64px;
    text-align: right;
}

.rv-maske[b-jg14sq64sb]  .rv-warntext {
    color: var(--nem-warnung);
    font-weight: 600;
}

/* ---------- Menueband-Struktur (Baum, Optik wie der Menuebaum der Konfiguration, aber hell) ---------- */
.rv-maske[b-jg14sq64sb]  .rv-baum {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 2px 0;
    user-select: none;
}

.rv-maske[b-jg14sq64sb]  .rv-knoten {
    display: flex;
    align-items: center;
    min-height: 20px;
    padding-right: 4px;
    white-space: nowrap;
    cursor: pointer;
}

.rv-maske[b-jg14sq64sb]  .rv-knoten:hover {
    color: var(--nem-akzent);
    background: var(--nem-hover-flaeche);
}

.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-gewaehlt {
    font-weight: 600;
    color: var(--nem-schrift);
    background: var(--nem-selektion);
}

/* Filter wirkt auf diesen Tab bzw. diese Gruppe: Streifen links in der Akzentfarbe. */
.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-filter {
    box-shadow: inset 3px 0 0 var(--nem-akzent);
}

.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-ebene2 {
    padding-left: 14px;
}

.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-ebene3 {
    padding-left: 28px;
}

/* Aktion direkt unter IHRER Maske (RibbonVerwaltungRegeln.NachMaskeGeordnet): 16 px weiter eingerückt als die übrigen Knöpfe der Gruppe –
   wie der Menüband-Baum in i3.UserControls.View (19.10.2026, Vorgabe Bastian „die Aktionen an der View nach rechts einrücken“). */
.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-ebene3.rv-aktion-maske {
    padding-left: 44px;
}

.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-inaktiv .rv-name {
    color: var(--nem-schrift-gedimmt);
    text-decoration: line-through;
}

.rv-maske[b-jg14sq64sb]  .rv-knoten.rv-ohne {
    color: var(--nem-warnung);
    border-top: 1px solid var(--nem-kontur);
    margin-top: 4px;
}

.rv-maske[b-jg14sq64sb]  .rv-pfeil {
    flex: 0 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 16px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
}

.rv-maske[b-jg14sq64sb]  .rv-name {
    padding: 1px 3px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rv-maske[b-jg14sq64sb]  .rv-baum-bild {
    width: 14px;
    height: 14px;
    object-fit: contain;
}

/* ---------- Overlays (Rollen, View, Methoden, Web-Route, Import) ---------- */
.rv-maske[b-jg14sq64sb]  .rv-overlay-fuellend {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 260px;
    box-sizing: border-box;
    padding: 4px;
}

.rv-maske[b-jg14sq64sb]  .rv-overlay-kopf {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 0 6px 0;
}

.rv-maske[b-jg14sq64sb]  .rv-text-lang {
    max-width: 420px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: 600;
}

.rv-maske[b-jg14sq64sb]  .rv-import {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 6px;
}

.rv-maske[b-jg14sq64sb]  .rv-import-zeile {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rv-maske[b-jg14sq64sb]  .rv-import-ergebnis {
    padding: 6px 8px;
    border: 1px solid var(--nem-kontur);
    border-left: 4px solid var(--nem-erfolg);
    border-radius: var(--nem-radius);
}

.rv-maske[b-jg14sq64sb]  .rv-warnung {
    color: var(--nem-warnung);
}

.rv-maske[b-jg14sq64sb]  .rv-liste {
    margin: 2px 0 0 0;
    padding-left: 18px;
}
/* /Pages/Admin/ShipmentAdminView.razor.rz.scp.css */
/* STAMMDATEN DER SENDUNGSVERWALTUNG (11.10.2026) - Raster wie ShipmentAdminView.xaml: Spalten 200 | 5 | *, eine Zeile
   ueber die ganze Hoehe des Tabs. Menue wie ShipmentAdminMenuView.xaml. Nur Palette. */
.sa-shell[b-811orrkyy8] {
    display: grid;
    grid-template-columns: 200px 5px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    height: 100%;
    min-height: 560px;
    box-sizing: border-box;
}

/* TreeView auf NemesisSpaltenKopf, ohne Rahmen. */
.sa-menue[b-811orrkyy8] {
    padding: 2px 0;
    overflow-y: auto;
    background: var(--nem-spalten-kopf);
    font-size: var(--nem-schriftgroesse);
}

/* Eintrag als Balken ueber die ganze Breite: Polster 6,3, Rundung 2, Schrift auf Akzent. Der Rand 1,0 entspricht dem
   Einzug der TreeViewItems. */
.sa-balken[b-811orrkyy8] {
    display: flex;
    align-items: center;
    margin: 0 2px 0 1px;
    padding: 3px 6px;
    border-radius: 2px;
    color: var(--nem-schrift-auf-akzent);
    background: transparent;
    cursor: pointer;
    user-select: none;
    line-height: 16px;
}

/* Hover = NemesisTabelle.Hover. */
.sa-balken:hover[b-811orrkyy8] {
    background: var(--nem-tabelle-hover);
    color: var(--nem-schrift);
}

/* Gewaehlt = NemesisAkzent und fett (der Trigger IsSelected steht im Desktop vor dem IsMouseOver - gewaehlt bleibt blau). */
.sa-balken.gewaehlt[b-811orrkyy8],
.sa-balken.gewaehlt:hover[b-811orrkyy8] {
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
    font-weight: bold;
}

.sa-balken:focus-visible[b-811orrkyy8] {
    outline: 1px solid var(--nem-akzent-hell);
    outline-offset: -1px;
}

.sa-balken-text[b-811orrkyy8] {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Punkt hinter einer geaenderten, noch nicht gespeicherten Maske (Web-Zusatz). */
.sa-geaendert-punkt[b-811orrkyy8] {
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-left: 6px;
    border-radius: 50%;
    background: var(--nem-warnung);
}

.sa-inhalt[b-811orrkyy8] {
    min-width: 0;
    min-height: 0;
    position: relative;
}

.sa-flaeche[b-811orrkyy8] {
    height: 100%;
    min-height: 0;
}

/* Bereits angezeigte Masken bleiben bestehen, sind aber unsichtbar (Eingaben gehen beim Wechsel nicht verloren). */
.sa-verborgen[b-811orrkyy8] {
    display: none;
}
/* /Pages/Admin/ShipmentAdmin/StammMehrfachauswahl.razor.rz.scp.css */
/* MEHRFACHAUSWAHL (NemesisAuswahlfeld mit Mehrfachauswahl) - Feld im Hausbild (.nem-feld), Liste darunter. Nur Palette. */
.sa-mehrfach[b-abgxmdqefo] {
    position: relative;
    min-width: 0;
}

.sa-mehrfach-feld[b-abgxmdqefo] {
    display: flex;
    align-items: center;
    gap: 4px;
    text-align: left;
    cursor: pointer;
}

.sa-mehrfach-text[b-abgxmdqefo] {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sa-mehrfach-pfeil[b-abgxmdqefo] {
    flex: 0 0 auto;
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
}

.sa-mehrfach-gesperrt .sa-mehrfach-feld[b-abgxmdqefo] {
    cursor: default;
    color: var(--nem-schrift-gedimmt);
}

/* Unsichtbare Flaeche hinter der Liste: ein Klick daneben schliesst sie. */
.sa-mehrfach-schleier[b-abgxmdqefo] {
    position: fixed;
    inset: 0;
    z-index: 30;
}

.sa-mehrfach-liste[b-abgxmdqefo] {
    position: absolute;
    top: 23px;
    left: 0;
    z-index: 31;
    min-width: 100%;
    max-height: 260px;
    overflow-y: auto;
    padding: 2px 0;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.sa-mehrfach-eintrag[b-abgxmdqefo] {
    display: flex;
    padding: 2px 8px;
    line-height: 20px;
    white-space: nowrap;
}

.sa-mehrfach-eintrag:hover[b-abgxmdqefo] {
    background: var(--nem-tabelle-hover);
}

.sa-mehrfach-leer[b-abgxmdqefo] {
    padding: 4px 8px;
    color: var(--nem-schrift-gedimmt);
}
/* /Pages/Admin/ShipmentAdmin/StammRahmen.razor.rz.scp.css */
/* STAMMDATENMASKEN (ShipmentAdminView, 11.10.2026) - gemeinsame Regeln aller Masken. Nur Palette (var(--nem-...)),
   Kachel-, Tabellen- und Feldbild kommen aus nemesis-design.css (Abschnitte 6 und 7). */

/* Die Maske fuellt ihre Flaeche als Spalte: Kopfteile (Kacheln, Leisten) nach Inhalt, die Tabelle nimmt den Rest. */
.sa-maske[b-d3j6nblr54] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    min-width: 0;
    box-sizing: border-box;
}

/* Kachel, die den Rest der Hoehe fuellt (Tabelle darin scrollt). */
.sa-maske[b-d3j6nblr54]  .sa-fuellend {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.sa-maske[b-d3j6nblr54]  .sa-fuellend > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Kopfteile behalten ihre Hoehe. */
.sa-maske[b-d3j6nblr54]  .sa-fest {
    flex: 0 0 auto;
}

/* Kopfleiste ueber einer Tabelle: "+ Relation anlegen" und daneben ein grauer Hinweis (StackPanel Margin 2,0,2,4). */
.sa-maske[b-d3j6nblr54]  .sa-kopfleiste {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin: 0 2px 4px 2px;
}

/* Transparenter Knopf mit Plus-Bild 16x16 und Text (Button Padding 2, Cursor Hand). */
.sa-maske[b-d3j6nblr54]  .sa-plusknopf {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px;
    font: inherit;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--nem-radius);
    cursor: pointer;
}

.sa-maske[b-d3j6nblr54]  .sa-plusknopf:hover {
    background: var(--nem-reiter-flaeche);
    border-color: var(--nem-reiter-kontur);
}

.sa-maske[b-d3j6nblr54]  .sa-plusknopf:disabled {
    opacity: .5;
    cursor: default;
}

.sa-maske[b-d3j6nblr54]  .sa-plusknopf > img {
    width: 16px;
    height: 16px;
}

/* Grauer Hinweis neben bzw. unter Bedienelementen (NemesisSchriftGedimmt). */
.sa-maske[b-d3j6nblr54]  .sa-gedimmt {
    color: var(--nem-schrift-gedimmt);
}

/* Knopf in einer Zeile (Papierkorb, Stift): transparent, 22 breit, Zeichen 14 (NemesisPapierkorb/NemesisStift 14x14). */
.sa-maske[b-d3j6nblr54]  .sa-zeilenknopf {
    width: var(--nem-feld-hoehe);
    height: 20px;
    padding: 0;
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    border-radius: var(--nem-radius);
    cursor: pointer;
    line-height: 18px;
}

.sa-maske[b-d3j6nblr54]  .sa-zeilenknopf:hover {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.sa-maske[b-d3j6nblr54]  .sa-zeilenknopf .rzi {
    font-size: 14px;
    vertical-align: middle;
}

/* Infokasten (KooperationenView: Border NemesisFlaeche, Rahmen NemesisAkzent, Radius 4, Padding 8,4). */
.sa-maske[b-d3j6nblr54]  .sa-infokasten {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px 0;
    padding: 4px 8px;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-akzent);
    border-radius: 4px;
}

.sa-maske[b-d3j6nblr54]  .sa-infokasten-zeichen {
    font-size: 15px;
    color: var(--nem-akzent);
}

/* Code-Beschriftung der Konfigurationskacheln (Label auf Akzent, zentriert, Margin 0,2). */
.sa-maske[b-d3j6nblr54]  .sa-codelabel {
    margin: 2px 0;
    padding: 2px 5px;
    text-align: center;
    line-height: 18px;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}

/* Fachliche Warnung im Text (Foreground #C62828 bzw. #C0392B im Desktop) - aus der Fehlerfarbe der Palette. */
.sa-maske[b-d3j6nblr54]  .sa-warntext {
    color: var(--nem-fehler);
    font-weight: 600;
    white-space: normal;
}

/* Flache Knoepfe in Filterkacheln (Suchen, Leeren, Neuer Ort): wie die Overlay-Knoepfe der Palette. */
.sa-maske[b-d3j6nblr54]  .sa-knopf {
    height: 24px;
    padding: 0 10px;
    font: inherit;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border: 0;
    border-radius: var(--nem-radius);
    cursor: pointer;
}

.sa-maske[b-d3j6nblr54]  .sa-knopf:hover {
    background: var(--nem-knopf-hover);
}

.sa-maske[b-d3j6nblr54]  .sa-knopf:disabled {
    opacity: .6;
    cursor: default;
}

/* Feld, das wegen eines Desktop-Fehlers nicht gespeichert wird: schreibgeschuetzt, gedimmt, mit ToolTip. */
.sa-maske[b-d3j6nblr54]  .sa-nicht-gespeichert {
    color: var(--nem-schrift-gedimmt);
    cursor: help;
}

/* Gesperrte Zeile/Feld in der Bedienung (IsEnabled=False). */
.sa-maske[b-d3j6nblr54]  .sa-gesperrt {
    opacity: .55;
    pointer-events: none;
}

/* Trefferzeile unter einer Tabelle (TextBlock Margin 8,4). */
.sa-maske[b-d3j6nblr54]  .sa-trefferzeile {
    flex: 0 0 auto;
    margin: 4px 8px;
    color: var(--nem-schrift-gedimmt);
}

/* Platzhalter "Diese Maske folgt". */
.sa-maske[b-d3j6nblr54]  .sa-folgt {
    margin: 8px 2px;
}

/* Icon-Spalte (Hinweistexte, Sendungszustaende): Bild 20 x 20, "..." laedt, "x" entfernt (Knoepfe 22 breit). */
.sa-maske[b-d3j6nblr54]  .sa-icon-zelle {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.sa-maske[b-d3j6nblr54]  .sa-icon20 {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 2px;
    object-fit: contain;
}

.sa-maske[b-d3j6nblr54]  .sa-icon32 {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.sa-maske[b-d3j6nblr54]  .sa-iconknopf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-feld-hoehe);
    height: 20px;
    padding: 0;
    font: inherit;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-eingabe-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    cursor: pointer;
}

.sa-maske[b-d3j6nblr54]  .sa-iconknopf:hover {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.sa-maske[b-d3j6nblr54]  .sa-unsichtbar {
    display: none;
}

/* Raster der Masken wie ein WPF-Grid: Auto- und feste Spalten bekommen keinen Rest (nur *-Spalten = minmax(0, 1fr)) -
   der Inhalt steht links, statt dass sich die Auto-Spalten ueber die Breite verteilen. */
.sa-maske[b-d3j6nblr54]  .nem-raster {
    justify-content: start;
}

/* Gesperrte Felder (IsEnabled=False) sichtbar gedimmt - die Hausregel fuer .nem-feld kennt keinen gesperrten Zustand. */
.sa-maske[b-d3j6nblr54]  .nem-feld:disabled {
    color: var(--nem-schrift-gedimmt);
    background: var(--nem-deaktiviert-flaeche);
    cursor: default;
}
/* /Pages/Admin/ShipmentAdmin/StammTabelle.razor.rz.scp.css */
/* HAUSTABELLE DER STAMMDATENMASKEN - das Bild kommt jetzt vom NemesisDataGrid (Shared/Grid/NemesisDataGrid.razor.css). */
/* /Pages/Admin/ShipmentAdmin/UcHinweistexte.razor.rz.scp.css */
/* HINWEISTEXTE (11.10.2026) - Raster wie UcHinweistexte.xaml: Tabelle (*) | Trennlinie 3 | Details 320 (+ Rand 5), Rand
   oben 5. Die Tabelle scrollt in sich, die Details bei Bedarf auch. Nur Palette. */
.sa-hw-raster[b-om7s90oa3d] {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
}

/* Beschriftungen der Details: Rand 0,2,6,2 wie die Labels der XAML. */
.sa-hw-details .nem-label[b-om7s90oa3d] {
    margin: 2px 6px 2px 0;
    padding-left: 0;
}

.sa-hw-details .nem-feld[b-om7s90oa3d] {
    margin: 2px 0;
}
/* /Pages/Admin/ShipmentAdmin/UcKooperationRoutung.razor.rz.scp.css */
/* ROUTING KOOPERATION (11.10.2026) - Filterraster wie UcKooperationRoutung.xaml:
   90 | 150 | 20 | 70 | 110 | 20 | 70 | 110 | 20 | *, Zeilen 26 | 26 | 30. Import-Overlay als Spalte (Datei oben,
   Protokoll fuellt den Rest). */
.sa-kor-filter[b-l8uhwo09nz] {
    grid-template-columns: 90px 150px 20px 70px 110px 20px 70px 110px 20px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile) var(--nem-zeile) 30px;
}

.sa-kor-import[b-l8uhwo09nz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
/* /Pages/Admin/ShipmentAdmin/UcKundenRoutungVerwaltung.razor.rz.scp.css */
/* ROUTING KUNDEN (11.10.2026) - Filterraster wie UcKundenRoutungVerwaltung.xaml:
   90 | 150 | 20 | 70 | 110 | 20 | 70 | 220 | 20 | *, Zeilen 26 | 26 | 26 | 30. */
.sa-kr-filter[b-hayea0ji9s] {
    grid-template-columns: 90px 150px 20px 70px 110px 20px 70px 220px 20px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile) var(--nem-zeile) var(--nem-zeile) 30px;
}
/* /Pages/Admin/ShipmentAdmin/UcOrte.razor.rz.scp.css */
/* ORTE (11.10.2026) - Filterraster wie UcOrte.xaml: Auto | 60 | 16 | Auto | 90 | Auto | 90 | 16 | Auto | * | Auto,
   Rand 4,2. Nur Palette. */
.sa-ort-filter[b-t8bgw9xw8c] {
    grid-template-columns: auto 60px 16px auto 90px auto 90px 16px auto minmax(0, 1fr) auto;
    grid-auto-rows: var(--nem-zeile);
    margin: 2px 4px;
}
/* /Pages/Admin/ShipmentAdmin/UcRelationen.razor.rz.scp.css */
/* RELATIONEN (11.10.2026) - zwei Zeilen je * (UcRelationen.xaml): oben die Relationen mit Transportweg, unten die uebrigen;
   die Tabellen scrollen in ihrer Kachel. Detailseite als Spalte (Relation oben, Subrelationen fuellen den Rest). */
.sa-rel-zeilen[b-vj19h74ox8] {
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    flex: 1 1 auto;
    min-height: 0;
}

.sa-rel-detail[b-vj19h74ox8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
/* /Pages/Admin/ShipmentAdmin/UcRoutung.razor.rz.scp.css */
/* ROUTUNG (11.10.2026) - Kopfbereich 200 hoch mit vier Kacheln nebeneinander (DockPanel der XAML), die Tabelle darunter
   fuellt den Rest. */
.sa-ro-kopf[b-729voijbv3] {
    display: flex;
    align-items: stretch;
    height: 200px;
    min-height: 200px;
    overflow-x: auto;
}
/* /Pages/Admin/ShipmentAdmin/UcStatus.razor.rz.scp.css */
/* STATUS (11.10.2026) - Filterhinweis, Wertungspunkt und Statusfarbe der Tabelle (UcStatusFilter/UcStatusTabelle). */

/* Hinweis hinter dem Statusbereich: halbfett in der Akzentfarbe, Rand 8 links (TextBlock der XAML). */
.sa-status-hinweis[b-118jjiuosd] {
    margin-left: 8px;
    font-weight: 600;
    color: var(--nem-akzent);
    white-space: normal;
    line-height: 14px;
}

/* Wertung: Punkt 12 px (Rand 0,0,6,0, Kontur NemesisRahmen 0,5) + Text. */
.sa-wertung[b-118jjiuosd] {
    display: inline-flex;
    align-items: center;
}

.sa-wertung-punkt[b-118jjiuosd] {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    margin-right: 6px;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--nem-rahmen) 50%, transparent);
    background: transparent;
}

/* FACHLICHE SIGNALFARBEN der Wertung (WertungZuFarbeConv des Desktops) - bewusst feste Werte, keine Palette:
   1 Positiv = gruen #43A047, 2 Negativ = rot #E53935, 3 Neutral = grau #9E9E9E. */
.sa-wertung-1[b-118jjiuosd] {
    background: #43A047;
}

.sa-wertung-2[b-118jjiuosd] {
    background: #E53935;
}

.sa-wertung-3[b-118jjiuosd] {
    background: #9E9E9E;
}

/* Statusfarbe: Farbfeld 16 x 16 (Rand 0,0,6,0, Kontur NemesisRahmen) + #RRGGBB; der Farbwaehler liegt unsichtbar darueber. */
.sa-farbe[b-118jjiuosd] {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    cursor: pointer;
}

.sa-farbfeld[b-118jjiuosd] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    border: 1px solid var(--nem-rahmen);
}

.sa-farbwaehler[b-118jjiuosd] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
/* /Pages/Admin/ShipmentAdmin/UcTransportWeg.razor.rz.scp.css */
/* TRANSPORTWEGE (11.10.2026) - Raster wie UcTransportWeg.xaml: Spalten * | 5 | Auto (Kachel 520), Zeilen Auto | *.
   Die Tabelle links scrollt in sich, die Kachel rechts bei Bedarf auch. */
.sa-tw-raster[b-v1y5ije3pj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5px auto;
    grid-template-rows: auto minmax(0, 1fr);
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Authentication/Login.razor.rz.scp.css */
.form-signin-outer[b-y2za56dpke] {
    position: absolute;
    left: 37.5%;
    top: 20%;
    min-width: 380px;
    max-width: 380px;
}

.form-signin[b-y2za56dpke] {
    padding: 15px 35px 45px;
    margin: 0 auto;
    background-color: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    box-sizing: border-box;
    border-radius: 10px;
}



.form-signin-heading[b-y2za56dpke], .checkbox[b-y2za56dpke] {
    margin-bottom: 30px;
}

.checkbox[b-y2za56dpke] {
    font-weight: normal;
}

.login-bg[b-y2za56dpke] {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    position: fixed;
    width: 100%;
    filter: blur(4px);
    -webkit-filter: blur(4px);
    /* Ebene 0 statt -1 (10.10.2026): seit body eine eigene Hintergrundfarbe hat (nemesis-design.css), malt sie ueber
       alles mit negativem z-index - das Bild war oben verdeckt, im Dunkelmodus als dunkler Balken. Das Anmeldefeld
       liegt darueber (#bg-container, Ebene 1). */
    z-index: 0;
    top: 0;
    left: 0;
}

.is-hidden[b-y2za56dpke] {
    display: none;
}

.loading-nemesis[b-y2za56dpke] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10%;
    height: 100%;
}

#bg-container[b-y2za56dpke] {
    /* ueber dem Hintergrundbild (.login-bg, Ebene 0) */
    position: relative;
    z-index: 1;
    /* Text zentrieren */
    /* Inhalt vertikal mittig platzieren */
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 100%;
    height: auto !important;
    height: 100%;
    display: block;
}

.inside[b-y2za56dpke] {
    /* Container horizontal mittig platzieren */
    margin: auto !important;
    top:150px;
    min-width: 380px;
    max-width: 380px;
    padding: 15px 35px 45px;
    background-color: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    box-sizing: border-box;
    border-radius: 10px;
}

/* ANMELDEN-KNOPF (17.10.2026, Rückmeldung Bastian "Beim Login ist der Button zu schmal geworden"): Seit der Umstellung auf
   Segoe UI 12 px (nemesis-design.css, Abschnitt 9) machte "btn-sm" ihn 20 px flach - neben den großen Feldern der
   Anmeldung (16 px, Polster 10) viel zu schmal. Jetzt so hoch wie die Felder und über die ganze Breite. */
.login-knopf[b-y2za56dpke] {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    line-height: 1.25;
}

/* ---------- ANMELDUNG (21.10.2026, Vorgabe Bastian: „Mach das Login moderner. Ich will, dass Nemesis Logistiksoftware sichtbar ist und
   auch das Logo aus dem Desktoplogin. Dazu aber auch das Logo des Kunden“) ----------
   Karte in zwei Hälften: links die Marke (Würfel + Schriftzug aus UcLoginR2 auf heller Fläche --nem-marke-*, auch im Dunkelmodus hell),
   rechts die Anmeldung (Fläche der Palette, Kundenlogo auf eigener heller Kachel). Felder mit Symbol, Passwort mit Auge, „Anmelden“ über
   die ganze Breite. Fehler: rot in der Fortschrittszeile, Rahmen der Karte rot (wie BorderBrush in UcLoginR2). Unter 860 px steht die Marke
   als schmale Zeile oben. Größen bewusst über den 12 px der Masken (Überschrift 22, Felder/Knopf 14) – die Anmeldung ist die Visitenkarte,
   keine Maske (Ausnahme zu „Keine neuen Schriftgrößen“, siehe CLAUDE.md). Vorher (17.10.2026) die Karte wie UcLoginR2 (Rundung 25,
   Raster 300 | 100 | 300). Dunkelmodus: Markenfläche dunkel mit Akzentglanz, Schriftzug in der hellen Fassung (Rückmeldung Bastian 21.10.2026).
   Nur div, kein section – metro4.css setzt „section { margin: 0 auto }“ und ein ::after (siehe Login.razor). */
#bg-container[b-y2za56dpke] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 24px 16px;
    box-sizing: border-box;
}

/* Schleier über dem Hintergrundbild: Akzent oben links, dunkel unten rechts - die Karte hebt sich von jedem Bild ab. */
.anm-schleier[b-y2za56dpke] {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(1200px 600px at 15% 10%, color-mix(in srgb, var(--nem-akzent) 45%, transparent), transparent 70%),
        linear-gradient(135deg, color-mix(in srgb, var(--nem-akzent) 25%, transparent) 0%, color-mix(in srgb, black 55%, transparent) 100%);
}

.anm-karte[b-y2za56dpke] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 380px 420px;
    overflow: hidden;
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: 18px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.15);
    animation: anm-ein-b-y2za56dpke 0.35s ease-out;
}

    .anm-karte.anm-fehler[b-y2za56dpke] {
        border-color: var(--nem-fehler);
        box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), 0 0 0 3px color-mix(in srgb, var(--nem-fehler) 35%, transparent);
    }

@keyframes anm-ein-b-y2za56dpke {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

/* ----- Marke ----- */
.anm-marke[b-y2za56dpke] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 40px 32px;
    background:
        radial-gradient(circle at 50% 38%, var(--nem-marke-glanz) 0%, transparent 62%),
        linear-gradient(160deg, var(--nem-marke-flaeche) 0%, var(--nem-marke-verlauf) 100%);
    border-right: 1px solid var(--nem-marke-kontur);
}

/* DIE MARKE WIRD ZUR LADEGRAFIK (10.11.2026, wie UcLoginR2): Feld 300 × 300, das Bild 272 hoch (= Würfel der Ladegrafik in Ruhe, 80 × 1,7 von 150)
   mit dem Schatten der Marke, darüber die NemesisLadegrafik. Das Bild blendet zu Beginn der Verwandlung in 0,3 s aus, beim Zurückgehen nach 0,5 s in
   0,25 s wieder ein (Schatten nur in Ruhe – Desktop 05.11.2026). */
.anm-marke-buehne[b-y2za56dpke] {
    position: relative;
    flex: none;
    width: 300px;
    max-width: 100%;
    aspect-ratio: 1 / 1;
}

.anm-marke-logo[b-y2za56dpke] {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 90.6667%;
    width: auto;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 12px 18px var(--nem-marke-schatten));
    transition: opacity .25s ease .5s;
}

.anm-verwandelt .anm-marke-logo[b-y2za56dpke] {
    opacity: 0;
    transition: opacity .3s ease 0s;
}

.anm-marke-grafik[b-y2za56dpke] {
    position: absolute;
    inset: 0;
}

.anm-marke-schriftzug[b-y2za56dpke] {
    width: 260px;
    max-width: 100%;
    height: auto;
}

/* Schriftzug je Modus: das Grau von „LOGISTIKSOFTWARE“ verschwände auf dunklem Grund. */
.anm-nur-dunkel[b-y2za56dpke] {
    display: none;
}

html[data-theme="dunkel"] .anm-nur-hell[b-y2za56dpke] {
    display: none;
}

html[data-theme="dunkel"] .anm-nur-dunkel[b-y2za56dpke] {
    display: block;
}

/* ----- Anmeldung ----- */
.anm-formular[b-y2za56dpke] {
    position: relative;   /* Bezug für die Version unten rechts */
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    padding: 36px 40px 40px 40px;
    min-height: 460px;
    box-sizing: border-box;
}

/* KOPF (22.10.2026, Vorgabe Bastian): Kundenlogo und Name des Portals waagerecht mittig; der Kopf füllt den Platz über der Anmeldung
   (flex 1), beide stehen darin in der Höhe mittig. */
.anm-kopf[b-y2za56dpke] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 120px;
    text-align: center;
}

/* Name des Portals: so groß wie vorher „Anmelden“. */
.anm-portal[b-y2za56dpke] {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--nem-schrift);
}

/* Kundenlogo auf eigener heller Kachel - Kundenlogos sind meist für weißen Grund gemacht. */
.anm-kunde[b-y2za56dpke] {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 10px 16px;
    background: var(--nem-kundenlogo-flaeche);
    border: 1px solid var(--nem-kundenlogo-kontur);
    border-radius: 10px;
}

    .anm-kunde img[b-y2za56dpke] {
        max-width: 300px;
        max-height: 64px;
        object-fit: contain;
    }

/* „Anmelden“ klein direkt über „Benutzer“ (22.10.2026). */
.anm-titel[b-y2za56dpke] {
    margin: 0 0 12px 2px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--nem-schrift);
}

.anm-felder[b-y2za56dpke] {
    display: flex;
    flex-direction: column;
}

    .anm-felder label[b-y2za56dpke] {
        margin: 0 0 5px 2px;
        padding: 0;
        font-size: 12px;
        font-weight: 600;
        color: var(--nem-schrift-gedimmt);
    }

.anm-eingabe[b-y2za56dpke] {
    position: relative;
    margin-bottom: 14px;
}

    .anm-eingabe:last-child[b-y2za56dpke] {
        margin-bottom: 0;
    }

    .anm-eingabe .nem-feld[b-y2za56dpke] {
        width: 100%;
        height: 38px;
        padding: 0 12px 0 38px;
        box-sizing: border-box;
        font-size: 14px;
        border-radius: 8px;
        transition: border-color 0.15s, box-shadow 0.15s;
    }

        .anm-eingabe .nem-feld:focus[b-y2za56dpke] {
            outline: none;
            border-color: var(--nem-akzent);
            box-shadow: 0 0 0 3px color-mix(in srgb, var(--nem-akzent) 25%, transparent);
        }

        .anm-eingabe .nem-feld.anm-feld-auge[b-y2za56dpke] {
            padding-right: 40px;
        }

.anm-symbol[b-y2za56dpke] {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: var(--nem-schrift-gedimmt);
    pointer-events: none;
}

.anm-eingabe:focus-within .anm-symbol[b-y2za56dpke] {
    color: var(--nem-akzent);
}

.anm-auge[b-y2za56dpke] {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--nem-schrift-gedimmt);
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

    .anm-auge:hover[b-y2za56dpke] {
        color: var(--nem-akzent);
        background: var(--nem-hover-flaeche);
    }

    .anm-auge .rzi[b-y2za56dpke] {
        font-size: 18px;
    }

.anm-fortschritt[b-y2za56dpke] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 22px;
}

.anm-meldung[b-y2za56dpke] {
    white-space: pre-wrap;
    font-size: 13px;
}

.anm-meldung-fehler[b-y2za56dpke] {
    color: var(--nem-fehler);
}

.anm-fehler-symbol[b-y2za56dpke] {
    font-size: 20px;
    color: var(--nem-fehler);
}

/* „Anmelden“: Akzentfarbe, weiße Schrift (SuccessButton der XAML), über die ganze Breite. */
.anm-anmelden[b-y2za56dpke] {
    width: 100%;
    height: 42px;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--nem-knopf-schrift);
    background: var(--nem-akzent);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 6px 16px color-mix(in srgb, var(--nem-akzent) 35%, transparent);
    transition: background 0.15s, box-shadow 0.15s, transform 0.05s;
}

    .anm-anmelden:hover:not(:disabled)[b-y2za56dpke] {
        background: var(--nem-knopf-hover);
    }

    .anm-anmelden:active:not(:disabled)[b-y2za56dpke] {
        transform: translateY(1px);
    }

    .anm-anmelden:focus-visible[b-y2za56dpke] {
        outline: none;
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--nem-akzent) 35%, transparent);
    }

    .anm-anmelden:disabled[b-y2za56dpke] {
        cursor: default;
        opacity: 0.7;
        box-shadow: none;
    }

/* Fußzeile IN der Karte: links die IP-Adresse des Aufrufers (10.11.2026, Vorgabe Bastian), rechts die Version (19.10.2026). Eine Zeile –
   eine lange IPv6-Adresse wird gekürzt (ganz im ToolTip), die Version nie. */
.anm-fuss[b-y2za56dpke] {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 10px;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 12px;
    font-size: 11px;
    line-height: 16px;
    color: var(--nem-schrift-gedimmt);
}

.anm-adresse[b-y2za56dpke] {
    margin-right: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.anm-version[b-y2za56dpke] {
    flex: none;
    white-space: nowrap;
}

/* Schmal: Marke als Zeile über der Anmeldung. */
@media (max-width: 860px) {
    .anm-karte[b-y2za56dpke] {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        max-width: 460px;
    }

    .anm-marke[b-y2za56dpke] {
        flex-direction: row;
        gap: 16px;
        padding: 18px 20px;
        border-right: 0;
        border-bottom: 1px solid var(--nem-marke-kontur);
    }

    .anm-marke-buehne[b-y2za56dpke] {
        width: 80px;
    }

    .anm-marke-logo[b-y2za56dpke] {
        filter: drop-shadow(0 4px 6px var(--nem-marke-schatten));
    }

    .anm-marke-schriftzug[b-y2za56dpke] {
        width: 200px;
    }

    .anm-formular[b-y2za56dpke] {
        min-height: 0;
        padding: 24px 24px 36px 24px;
    }

    .anm-kopf[b-y2za56dpke] {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .anm-karte[b-y2za56dpke] {
        animation: none;
    }
}
/* /Pages/Client/AbfertigungErfassenView.razor.rz.scp.css */
/* MASKE „ABFERTIGUNG ERFASSEN“ (18.10.2026) – Raster 1:1 aus UcAbfertigungKopf.xaml (Spalten 110 | 100 | 100 | 180 | 150 | 90 | *,
   die Spalte „Verkehrsart“ vom 05.11.2026 ist wieder entfallen – Tour ist eine Art; Zeilen 22 Beschriftung | 24 Feld), Spalte 7 als Reihe Zustellrelation 180 | Kooperation 180. Nur Palette (Hell/Dunkel aus einer Quelle). */
.abf-wurzel[b-awny1hs958] {
    display: flex;
    flex-direction: column;
}

.abf-kopf[b-awny1hs958] {
    grid-template-columns: 110px 100px 100px 180px 150px 90px minmax(0, 1fr);
    grid-template-rows: var(--nem-feld-hoehe) 24px;
}

.abf-feld[b-awny1hs958] {
    grid-row: 2;
    min-width: 0;
    padding: 0 2px;
}

.abf-reihe[b-awny1hs958] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.abf-breit[b-awny1hs958] {
    flex: 0 0 180px;
    width: 180px;
    min-width: 0;
}

.abf-reihe > .abf-breit + .abf-breit[b-awny1hs958] {
    margin-left: 2px;
}

.abf-sammeln[b-awny1hs958] {
    display: flex;
    align-items: center;
    margin: 0 0 4px 0;
    min-height: var(--nem-feld-hoehe);
}

.abf-haken[b-awny1hs958] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    cursor: pointer;
    white-space: nowrap;
}

.abf-text[b-awny1hs958] {
    margin-left: 15px;
}

/* MaxHeight 160 der XAML: die Liste bleibt kompakt, die Trefferliste darunter behält ihren Platz. */
.abf-offene[b-awny1hs958] {
    height: 160px;
    min-height: 0;
}

.abf-relation-zeile[b-awny1hs958] {
    display: grid;
    grid-template-columns: 35px 200px minmax(0, 1fr);
    column-gap: 3px;
    height: 23px;
    align-items: center;
    white-space: nowrap;
}

.abf-relation-zeile > *[b-awny1hs958] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.abf-relation-zeile > b[b-awny1hs958] {
    background: var(--nem-hover-flaeche, transparent);
}

/* Sendungsliste des manuellen Eingangsborderos (F03, 23.10.2026) */
.abf-eingabe[b-awny1hs958] {
    gap: 6px;
}

/* Stand gegen den geladenen Beleg im Fuss rechts neben den Summen (#766). */
.abf-aenderung[b-awny1hs958] {
    margin-left: 16px;
    white-space: nowrap;
}

/* Sendungsnummer der Neuanlage-Zeile: Feld und Lupe (wie die Eingangsbeleg-Erfassung). */
.abf-wurzel[b-awny1hs958]  .abf-nummer {
    display: flex;
    align-items: center;
    gap: 2px;
}

.abf-wurzel[b-awny1hs958]  .abf-lupe > img {
    width: 15px;
    height: 15px;
}

.abf-knopf[b-awny1hs958] {
    height: 24px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.abf-knopf .rzi[b-awny1hs958] {
    font-size: 16px;
}

.abf-wurzel[b-awny1hs958]  .abf-zeilenknopf {
    width: var(--nem-feld-hoehe);
    height: 20px;
    padding: 0;
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    border-radius: var(--nem-radius);
    cursor: pointer;
}

.abf-wurzel[b-awny1hs958]  .abf-zeilenknopf:hover:not(:disabled) {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.abf-wurzel[b-awny1hs958]  .abf-zeilenknopf .rzi {
    font-size: 14px;
    vertical-align: middle;
}

/* KORREKTUR (11.11.2026, Aufgabe #123): Hinweis über der Maske - was korrigiert wird bzw. (Warnfarbe) warum der Beleg gesperrt ist. */
.abf-korrektur[b-awny1hs958] {
    margin: 0 0 4px 0;
}

.abf-korrektur-gesperrt[b-awny1hs958] {
    border-left: 4px solid var(--nem-warnung);
    font-weight: 600;
}
/* /Pages/Client/AbfertigungsdatenEingangOverlay.razor.rz.scp.css */
/* OVERLAY „ABFERTIGUNGSDATEN“ (17.10.2026) - Raster wie UcAbfertigungsdatenEingang.xaml: Spalten 130 | 180 | 20 | 110 | *,
   Zeilen 30 | 30 | 28 | 28 | 28, Kachel mit Rand 2. Adressfeld wie UcAdressFeld (NameLabelBreite 130, AdressIdBreite 180,
   Anschrift daneben mit Rand 5). Farben nur aus der Palette. */
.abe-maske[b-cv5i1eivxp] {
    padding: 2px;
}

.abe-raster[b-cv5i1eivxp] {
    grid-template-columns: 130px 180px 20px 110px minmax(0, 1fr);
    grid-template-rows: 30px 30px 28px 28px 28px;
}

.abe-raster-leer[b-cv5i1eivxp] {
    height: 144px;
}

.abe-zeile-1[b-cv5i1eivxp] { grid-row: 1; }
.abe-zeile-2[b-cv5i1eivxp] { grid-row: 2; }
.abe-zeile-3[b-cv5i1eivxp] { grid-row: 3; }
.abe-zeile-4[b-cv5i1eivxp] { grid-row: 4; }
.abe-zeile-5[b-cv5i1eivxp] { grid-row: 5; }

.abe-spalte-1[b-cv5i1eivxp] { grid-column: 1; }
.abe-spalte-2[b-cv5i1eivxp] { grid-column: 2; }
.abe-spalte-4[b-cv5i1eivxp] { grid-column: 4; }
.abe-spalte-5[b-cv5i1eivxp] { grid-column: 5; }
.abe-spalte-2-5[b-cv5i1eivxp] { grid-column: 2 / span 4; }

/* Adressfelder über alle Spalten (ColumnSpan 5), Rand 0,2. */
.abe-zeile-adresse[b-cv5i1eivxp] {
    grid-column: 1 / -1;
    min-width: 0;
}

.abe-adressfeld[b-cv5i1eivxp] {
    display: flex;
    align-items: center;
    min-width: 0;
    height: var(--nem-zeile);
}

.abe-feldname[b-cv5i1eivxp] {
    flex: 0 0 130px;
    width: 130px;
    box-sizing: border-box;
}

.abe-adressid[b-cv5i1eivxp] {
    flex: 0 0 180px;
    width: 180px;
}

/* Platz für Kreisel und Lupe rechts im Feld. */
.abe-adressid-feld[b-cv5i1eivxp] {
    padding-right: 46px;
}

/* Anschrift (AdressLabelBreite NaN = so breit wie nötig): Zeilen mit 5 Abstand, was nicht passt, wird abgeschnitten. */
.abe-anschrift[b-cv5i1eivxp] {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 5px;
    overflow: hidden;
    white-space: nowrap;
    color: var(--nem-schrift);
}

.abe-anschrift > span[b-cv5i1eivxp] {
    flex: 0 0 auto;
    margin-left: 5px;
}

/* Anhänger: Breite 180, links (die Spalte ist *). Fahrer: Breite 310, links über die Spalten 2-5. */
.abe-anhaenger[b-cv5i1eivxp] {
    width: 180px;
    justify-self: start;
}

.abe-fahrer[b-cv5i1eivxp] {
    width: 310px;
    max-width: 100%;
    justify-self: start;
}

/* NemesisKreisel waehrend des Ladens (IsAddressLoading) - nur die Lage im Symbolbereich des Feldes; Drehung und Farbe bringt die
   Komponente mit (Client/Shared/NemesisKreisel, Vorgabe Bastian 18.10.2026). */
.nem-feld-symbole-rechts[b-cv5i1eivxp]  .abe-kreisel {
    margin: 0 1px;
}
/* /Pages/Client/AbrechnungStatistikView.razor.rz.scp.css */
/* ABRECHNUNGSSTATISTIK – Filter, Verlauf (200 hoch mit Rahmen) und Tabelle untereinander. */
.abst-maske[b-q3uldcgyuw] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.abst-filter[b-q3uldcgyuw] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.abst-verlauf[b-q3uldcgyuw] {
    display: flex;
    flex-direction: column;
}

.abst-hinweis[b-q3uldcgyuw] {
    margin-bottom: 4px;
}

.abst-flaeche[b-q3uldcgyuw] {
    height: 200px;
    border: 1px solid var(--nem-tabelle-kontur, #80808040);
    background: transparent;
}

.abst-svg[b-q3uldcgyuw] {
    width: 100%;
    height: 100%;
}

.abst-legende[b-q3uldcgyuw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 4px 0 0 4px;
}

.abst-legende-liste[b-q3uldcgyuw] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.abst-legende-eintrag[b-q3uldcgyuw] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-right: 14px;
}

.abst-strich[b-q3uldcgyuw] {
    display: block;
    width: 20px;
}

.abst-tabelle[b-q3uldcgyuw] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Farbpunkt der Kurve in der Zeile. */
.abst-haken[b-q3uldcgyuw] {
    display: flex;
    align-items: center;
    gap: 3px;
}

.abst-punkt[b-q3uldcgyuw] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* Gesamtzeile fett, Entwicklung grün bei Plus und rot bei Minus (wie im Desktop). */
.abst-maske[b-q3uldcgyuw]  tr.abst-gesamt > td {
    font-weight: bold;
}

.abst-maske[b-q3uldcgyuw]  td.abst-plus {
    color: #5CB85C;
    font-weight: 600;
}

.abst-maske[b-q3uldcgyuw]  td.abst-minus {
    color: #D9534F;
    font-weight: 600;
}

.abst-maske[b-q3uldcgyuw]  td.abst-null {
    color: var(--nem-schrift-gedimmt);
    font-weight: 600;
}
/* /Pages/Client/AbrechnungView.razor.rz.scp.css */
/* ABRECHNUNG DES LAGERS (17.10.2026) - Höhenkette bis zu den Tabellen, Kopf mit Kunde und Filter. */

.abr-maske[b-q95ci4dt8d] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.abr-kopf[b-q95ci4dt8d] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.abr-meldungen[b-q95ci4dt8d] {
    color: var(--nem-warnung, #E7A229);
    font-weight: 600;
}

.abr-hauptreiter[b-q95ci4dt8d] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0 2px 2px 2px;
}

.abr-maske[b-q95ci4dt8d]  .rz-tabview-panels,
.abr-maske[b-q95ci4dt8d]  .rz-tabview-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.abr-maske[b-q95ci4dt8d]  .abr-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/ArbeitsVorratView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-ozra8t0vik] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-ozra8t0vik]  .best-tabelle,
.best-tabelle[b-ozra8t0vik] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-ozra8t0vik] {
    width: 560px;
}

.best-abfrage[b-ozra8t0vik] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-ozra8t0vik],
.einzel-overlay[b-ozra8t0vik] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-ozra8t0vik]  .einzel-tabelle,
.einzel-overlay[b-ozra8t0vik]  .einzel-tabelle,
.einzel-tabelle[b-ozra8t0vik] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-ozra8t0vik]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-ozra8t0vik] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/ArtikelEintragView.razor.rz.scp.css */
/* ARTIKELSTAMM (17.10.2026) - Nachbau von ArtikelEintragView samt seinen Reitern. Nur, was die Maske über
   die Hausregeln (nemesis-design.css: .nem-maske, .nem-raster, .nem-feld, .nem-label, Tabellen) hinaus
   braucht: Höhenkette bis zu den Tabellen, Mehrzeiler des Kopfes, Ebenenfarben und die Reiterfarben.
   Die Reiter-Komponenten liegen im DOM dieser Maske, deshalb ::deep. */

.artikel-maske[b-o9i1bn8f4i] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* ---------- Kopf ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-kopf {
    align-items: center;
}

/* Bezeichnung 1-3 sind zwei Zeilen hoch und mehrzeilig (XAML: AcceptsReturn, VerticalScrollBarVisibility). */
.artikel-maske[b-o9i1bn8f4i]  .artikel-mehrzeilig {
    height: 100%;
    min-height: 44px;
    resize: none;
    overflow-y: auto;
    padding: 2px 4px;
    align-self: stretch;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-bild {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
    margin: 3px 2px;
    overflow: hidden;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-bild > img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.artikel-fuss[b-o9i1bn8f4i] {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.artikel-fuss-rechts[b-o9i1bn8f4i] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---------- Reiterblock ---------- */

.artikel-hauptreiter[b-o9i1bn8f4i] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0 2px 2px 2px;
}

/* Gefahrgut rot, Kommissionierung petrol - wie die Tag-Farben der Desktop-Reiter. */
.artikel-maske[b-o9i1bn8f4i]  .artikel-reiter-gefahrgut.rz-state-active .rz-tabview-title,
.artikel-maske[b-o9i1bn8f4i]  .artikel-reiter-gefahrgut.rz-state-active {
    color: #D9534F;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-reiter-kommi.rz-state-active .rz-tabview-title,
.artikel-maske[b-o9i1bn8f4i]  .artikel-reiter-kommi.rz-state-active {
    color: #216477;
}

/* Jeder Reiterinhalt füllt die Höhe, damit die Tabellen darin bis unten gehen. */
.artikel-maske[b-o9i1bn8f4i]  .rz-tabview-panels,
.artikel-maske[b-o9i1bn8f4i]  .rz-tabview-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ---------- Reiter Einheiten ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-einheiten {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-einheiten-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-einheiten-werte {
    display: flex;
    flex-direction: column;
    width: 300px;
    flex: 0 0 300px;
    min-height: 0;
}

/* Ebenenfarben der Mengenspalte - feste Signalfarben wie im Desktop (auch im Dunkelmodus dieselben,
   deshalb dunkle Schrift). */
.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-ebene-1 { background: #90EE90; color: #222528; }
.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-ebene-2 { background: #ADD8E6; color: #222528; }
.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-ebene-3 { background: #FA8072; color: #222528; }
.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-ebene-4 { background: #DEB887; color: #222528; }
.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-ebene-5 { background: #FAFAD2; color: #222528; }

/* ---------- Reiter, die nur eine Tabelle tragen ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-reiter-fuellend,
.artikel-maske[b-o9i1bn8f4i]  .artikel-stellplaetze-liste,
.artikel-maske[b-o9i1bn8f4i]  .artikel-kommi-ebenen,
.artikel-maske[b-o9i1bn8f4i]  .artikel-ekvk-tabelle,
.artikel-maske[b-o9i1bn8f4i]  .artikel-messungen,
.artikel-maske[b-o9i1bn8f4i]  .artikel-gefahrgut-liste {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-kommi-quellen {
    max-height: 112px;
    overflow: auto;
}

/* ---------- Reiter Meldungen ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-meldungen {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 2px;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-meldungen-paar {
    display: flex;
    flex: 1 1 0;
    min-height: 120px;
    margin-bottom: 4px;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-meldungen-paar > * {
    flex: 1 1 0;
    min-width: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-meldung {
    width: 100%;
    height: 100%;
    min-height: 100px;
    resize: none;
    padding: 2px 4px;
}

/* ---------- Reiter Informationen ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-informationen {
    display: flex;
    flex-direction: column;
}

.artikel-maske[b-o9i1bn8f4i]  .ndg-tabelle > tbody > tr > td.artikel-hauptzahl {
    font-weight: 600;
}

/* ---------- Reiter Kühlgut ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-kuehlgut {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-temperatur {
    width: 70px;
    height: var(--nem-zeile);
    text-align: right;
}

/* ---------- Reiter Gefahrgut ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-gefahrgut {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-gefahrgut-reihe {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 200px;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-sdb-warnung {
    color: var(--nem-fehler);
    align-self: center;
}

/* ---------- Reiter Einstellungen ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-einstellungen {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-einstellungen-links {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 605px;
    margin-right: 5px;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-einstellungen-haken {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
    align-content: flex-start;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-trennklassen {
    display: flex;
    flex-wrap: wrap;
}

/* ---------- Reiter Einkauf / Verkauf ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-ekvk {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-ekvk-kopf {
    display: flex;
    align-items: center;
    gap: 4px;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-ekvk-titel {
    font-size: 20px;
    font-weight: 700;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-ekvk-linie {
    height: 2px;
    background: var(--nem-akzent);
    margin: 5px 0;
    flex: 0 0 auto;
}

/* ---------- Reiter Kommissionierungsschema ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-kommi {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-kommi-kopf {
    display: flex;
    flex-direction: column;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-kommi-zeile {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    gap: 2px;
}

/* ---------- Reiter Stellplätze ---------- */

.artikel-maske[b-o9i1bn8f4i]  .artikel-stellplaetze {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.artikel-maske[b-o9i1bn8f4i]  .artikel-stellplaetze-kacheln {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
}
/* /Pages/Client/ArtikelFindenView.razor.rz.scp.css */
/* ARTIKELSUCHE (17.10.2026) - nur die Höhenkette: Filterkachel oben fest, Trefferliste füllt den Rest
   (Hausregel „Tabellen füllen die Höhe, Summen am Ende der Seite"). Alles Übrige kommt aus
   nemesis-design.css und dem NemesisDataGrid. */

.artikel-suche[b-cqrlnj23ee] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.artikel-suche[b-cqrlnj23ee]  .artikel-treffer {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/ArtikelNummernEingabeView.razor.rz.scp.css */
/* MEHRFACH-ARTIKELEINGABE – Haken oben, Tabelle füllend, Stand unten (Rand 5 wie im Desktop). */
.ane-maske[b-hry0u8y9ab] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 5px;
}

.ane-ausschluss[b-hry0u8y9ab] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}

.ane-tabelle[b-hry0u8y9ab] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.ane-hinweis[b-hry0u8y9ab] {
    flex: 0 0 auto;
    margin-top: 5px;
}

/* Unbekannte Nummer rot – im Desktop am Zellentext, damit der Tabellenstil unangetastet bleibt. */
.ane-maske[b-hry0u8y9ab]  tr.ane-unbekannt > td {
    color: #D9534F;
}
/* /Pages/Client/ArtikelTabelleView.razor.rz.scp.css */
/* ARTIKELLISTE (17.10.2026) - Signalzelle wie die MHD-Ampel der Lagermasken: fehlt oder veraltet das
   Sicherheitsdatenblatt, steht die Spalte "SDB vom" rot (Desktop: DataTrigger auf GefahrgutSdbStatus,
   Vordergrund #B00000). Farbe aus der Palette, damit Hell und Dunkel stimmen. */
[b-47vckkzke3] .ndg-tabelle > tbody > tr > td.artikel-sdb-auffaellig {
    color: var(--nem-fehler);
    font-weight: 600;
}

/* Symbol in einer Zelle (Herkunft des Artikels) - wie .lager-symbol der Lagermasken, hier eigen,
   weil jenes auf .lager-seite begrenzt ist. */
[b-47vckkzke3] .lager-symbol {
    height: 16px;
    width: 16px;
    vertical-align: middle;
}
/* /Pages/Client/AusgangSendungenTabelle.razor.rz.scp.css */
/* SENDUNGSTABELLE DER AUSGANGSBELADUNG (11.11.2026) - fuellt den Bereich der Details, die Tabelle rollt selbst. */
.ast-wurzel[b-kzd6xua9p2] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Zweizeilige Zellen (Adressen, Inhalt). */
.ast-untereinander[b-kzd6xua9p2] {
    display: flex;
    flex-direction: column;
}

/* Spalten "Bela." und "Entl.": Hintergrund nach AbfertigungKorrekturRegeln.BeladenFarbe, Schrift darauf immer dunkel (#222528). Schlaegt Zebra,
   Hover und Auswahl der Haustabelle. */
.ast-wurzel[b-kzd6xua9p2]  .ndg-tabelle > tbody > tr > td.ast-scan-nichts {
    background: #FF1900;
    color: #222528;
}

.ast-wurzel[b-kzd6xua9p2]  .ndg-tabelle > tbody > tr > td.ast-scan-teil {
    background: #FFD000;
    color: #222528;
}

.ast-wurzel[b-kzd6xua9p2]  .ndg-tabelle > tbody > tr > td.ast-scan-voll {
    background: #A8DDA8;
    color: #222528;
}
/* /Pages/Client/AusgedockteAnsicht.razor.rz.scp.css */
/* AUSGEDOCKTE ANSICHT (14.11.2026): Höhenkette RadzenBody → Körper → TabMaster wie im Hauptfenster (MainLayout .nem-koerper), darüber bei
   Bedarf der Hinweis „Hauptfenster nicht mehr geöffnet“. */
.af-koerper[b-e99xsu3lu5] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.af-tabs[b-e99xsu3lu5] {
    flex: 1 1 auto;
    min-height: 0;
}

.af-hinweis[b-e99xsu3lu5] {
    flex: 0 0 auto;
    margin: 4px;
}
/* /Pages/Client/AuslagerungSchnellSeriennummerView.razor.rz.scp.css */
/* SCHNELLE AUSLAGERUNG – drei Schritte: Ziffer (50) | Beschriftung (140) | Feld (120) | Kreisel (50) | Meldung,
   Zeilen 50 hoch wie im Desktop. */
.assn-maske[b-gjyq67t2pb] {
    display: flex;
    flex-direction: column;
}

.assn-schritte[b-gjyq67t2pb] {
    display: grid;
    grid-template-columns: 50px 140px 120px 50px minmax(0, 1fr);
    grid-auto-rows: 50px;
    align-items: center;
}

/* Blaue Ziffer im runden Kreis (Desktop: Border CornerRadius 50, DodgerBlue, Schrift 22 weiß). */
.assn-ziffer[b-gjyq67t2pb] {
    width: 46px;
    height: 46px;
    margin: 2px;
    border-radius: 50%;
    background: DodgerBlue;
    border: 1px solid DodgerBlue;
    color: #FFFFFF;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.assn-feld[b-gjyq67t2pb] {
    height: 30px;
    width: 100%;
}

/* Der Knopf des dritten Schritts: blau, weiße Schrift, runde Ecken (Desktop: CornerRadius 15). */
.assn-knopf[b-gjyq67t2pb] {
    height: 30px;
    width: 100%;
    border: 1px solid DodgerBlue;
    border-radius: 15px;
    background: DodgerBlue;
    color: #FFFFFF;
    cursor: pointer;
}

.assn-knopf:disabled[b-gjyq67t2pb] {
    opacity: 0.5;
    cursor: default;
}

.assn-kreisel[b-gjyq67t2pb] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Der Kreisel ist 50 breit wie im Desktop und damit so breit wie seine Spalte. */
.assn-kreisel[b-gjyq67t2pb]  .nem-kreisel {
    flex: 0 0 auto;
}

.assn-meldung[b-gjyq67t2pb] {
    padding-left: 6px;
}

.assn-bewegungen[b-gjyq67t2pb] {
    display: flex;
    flex-direction: column;
    margin: 20px;
}

.assn-titel[b-gjyq67t2pb] {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 4px;
}
/* /Pages/Client/AuslagerungSendungColliView.razor.rz.scp.css */
/* BELADUNG / SENDUNG – die Kacheln stehen nebeneinander und oben bündig; was nicht hineinpasst, bricht um
   (Desktop: StackPanel waagerecht im ScrollViewer). */
.ascv-maske[b-kgjbjmrijy] {
    display: flex;
    flex-direction: column;
    overflow: auto;
}

.ascv-reihe[b-kgjbjmrijy] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 2px;
}

/* Informationen: Beschriftung 120, Feld 200, Zeilen 25 (die drei Zeitfelder 27) wie im Desktop. */
.ascv-felder[b-kgjbjmrijy] {
    display: grid;
    grid-template-columns: 120px 200px;
    grid-auto-rows: 25px;
    align-items: center;
}

.ascv-felder > input[b-kgjbjmrijy],
.ascv-felder > select[b-kgjbjmrijy] {
    width: 100%;
}

.ascv-lademittel[b-kgjbjmrijy] {
    display: flex;
    flex-direction: column;
    min-width: 320px;
}

.ascv-journal[b-kgjbjmrijy] {
    display: flex;
    flex-direction: column;
    min-width: 360px;
}
/* /Pages/Client/BestandAdminView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-crjw5coqf7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-crjw5coqf7]  .best-tabelle,
.best-tabelle[b-crjw5coqf7] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-crjw5coqf7] {
    width: 560px;
}

.best-abfrage[b-crjw5coqf7] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandArtikelView.razor.rz.scp.css */
/* Leere Hülle wie im Desktop – füllt nur die Fläche des Aufrufers. */
.bav-maske[b-bqp2op0lpb] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/BestandAuswahlView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-cug1nwimxu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-cug1nwimxu]  .best-tabelle,
.best-tabelle[b-cug1nwimxu] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-cug1nwimxu] {
    width: 560px;
}

.best-abfrage[b-cug1nwimxu] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandBesitzAenderungView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-mrrtv7btm2] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-mrrtv7btm2]  .best-tabelle,
.best-tabelle[b-mrrtv7btm2] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-mrrtv7btm2] {
    width: 560px;
}

.best-abfrage[b-mrrtv7btm2] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandDateiAktionView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-ydcwgdhjgr] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-ydcwgdhjgr]  .best-tabelle,
.best-tabelle[b-ydcwgdhjgr] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-ydcwgdhjgr] {
    width: 560px;
}

.best-abfrage[b-ydcwgdhjgr] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandExcelExportView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-vfm0reca9b] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-vfm0reca9b]  .best-tabelle,
.best-tabelle[b-vfm0reca9b] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-vfm0reca9b] {
    width: 560px;
}

.best-abfrage[b-vfm0reca9b] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandMengeAbfrageView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-i3qt4xptej] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-i3qt4xptej]  .best-tabelle,
.best-tabelle[b-i3qt4xptej] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-i3qt4xptej] {
    width: 560px;
}

.best-abfrage[b-i3qt4xptej] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandMengenAnpassungView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-h6rkm2f2ne] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-h6rkm2f2ne]  .best-tabelle,
.best-tabelle[b-h6rkm2f2ne] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-h6rkm2f2ne] {
    width: 560px;
}

.best-abfrage[b-h6rkm2f2ne] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandSperrenView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-j7447lxslt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-j7447lxslt]  .best-tabelle,
.best-tabelle[b-j7447lxslt] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-j7447lxslt] {
    width: 560px;
}

.best-abfrage[b-j7447lxslt] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandStellplatzView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-1vst9r4jyf] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-1vst9r4jyf]  .best-tabelle,
.best-tabelle[b-1vst9r4jyf] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-1vst9r4jyf] {
    width: 560px;
}

.best-abfrage[b-1vst9r4jyf] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandTeilMengeUmlagernView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-s3uxrb87a9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-s3uxrb87a9]  .best-tabelle,
.best-tabelle[b-s3uxrb87a9] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-s3uxrb87a9] {
    width: 560px;
}

.best-abfrage[b-s3uxrb87a9] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BestandUmlagernView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-lvrpkv1qpm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-lvrpkv1qpm]  .best-tabelle,
.best-tabelle[b-lvrpkv1qpm] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-lvrpkv1qpm] {
    width: 560px;
}

.best-abfrage[b-lvrpkv1qpm] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-lvrpkv1qpm],
.einzel-overlay[b-lvrpkv1qpm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-lvrpkv1qpm]  .einzel-tabelle,
.einzel-overlay[b-lvrpkv1qpm]  .einzel-tabelle,
.einzel-tabelle[b-lvrpkv1qpm] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-lvrpkv1qpm]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-lvrpkv1qpm] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}

/* Gefahrgut erfassen: ADR-Suche und Details nebeneinander. */
.gg-reihe[b-lvrpkv1qpm] {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
}

/* Stellplatz-Bereichsauswahl: Filterzeile und gedimmte, gesperrte Zeilen. */
.sp-filter[b-lvrpkv1qpm] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.einzel-overlay[b-lvrpkv1qpm]  .ndg-tabelle > tbody > tr.sp-gesperrt > td {
    color: var(--nem-schrift-gedimmt);
}
/* /Pages/Client/BestandView.razor.rz.scp.css */
/* Alte Bestandsliste – füllt die Fläche des Aufrufers. */
.bv-maske[b-0fj2yg6www] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
/* /Pages/Client/BewegungenAuswahlView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-jy9l3it6pm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-jy9l3it6pm]  .best-tabelle,
.best-tabelle[b-jy9l3it6pm] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-jy9l3it6pm] {
    width: 560px;
}

.best-abfrage[b-jy9l3it6pm] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BewegungenGruppenView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-4kvcyerngv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-4kvcyerngv]  .best-tabelle,
.best-tabelle[b-4kvcyerngv] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-4kvcyerngv] {
    width: 560px;
}

.best-abfrage[b-4kvcyerngv] {
    display: flex;
    flex-direction: column;
}
/* /Pages/Client/BewegungImageView.razor.rz.scp.css */
/* Leere Hülle wie im Desktop. */
.biv-huelle[b-6awg29dvqe] {
    display: inline-block;
}
/* /Pages/Client/BorderoAusgangView.razor.rz.scp.css */
/* AUSGANGSBORDEROS (11.11.2026, Aufgabe #123) - Grid wie die XAML: Filter (Auto), Tabelle (*), Rand 4. Farben aus der Palette; nur der
   Beladebalken traegt die festen Farben des Desktops (Spur und Fuellung in Hell und Dunkel hell, Schrift darauf immer dunkel #222528). */
.ba-maske[b-5q655firj8] {
    display: flex;
    flex-direction: column;
    padding: 4px;
    box-sizing: border-box;
}

/* Filter: das Skelett liegt beim Suchen ueber dem (nur versteckten) Raster. */
.ba-filter-huelle[b-5q655firj8] {
    position: relative;
}

/* Raster wie die XAML (#758): 90 | Auto | 25 | 90 | Auto | Auto | *, Zeilen 3 x 26 | Auto. Konto und Frachtfuehrer: Adressfeld (Beschriftung 90,
   Feld 130, Anschrift daneben) ueber die Spalten 4 und 5, 450 breit wie Label 90 + Feld 360. */
.ba-filter[b-5q655firj8] {
    grid-template-columns: 90px auto 25px 90px auto auto minmax(0, 1fr);
    grid-template-rows: repeat(3, var(--nem-zeile)) auto;
    align-items: center;
}

.ba-zeitraum[b-5q655firj8] {
    display: flex;
    align-items: center;
}

.ba-datum[b-5q655firj8] {
    width: 105px;
}

.ba-adresse[b-5q655firj8] {
    width: 450px;
}

.ba-nummer[b-5q655firj8] {
    width: 130px;
    padding-right: 22px;
}

.ba-pickliste > img[b-5q655firj8] {
    width: 15px;
    height: 15px;
}

.ba-fett[b-5q655firj8] {
    font-weight: 600;
}

.ba-versteckt[b-5q655firj8] {
    visibility: hidden;
}

.ba-skelett[b-5q655firj8] {
    position: absolute;
    inset: 0 auto auto 0;
    width: 420px;
    height: calc(3 * var(--nem-zeile));
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    align-items: center;
}

.ba-gruppe[b-5q655firj8] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    margin-left: 25px;
    align-self: start;
}

.ba-gruppe-kopf[b-5q655firj8] {
    line-height: var(--nem-zeilenhoehe);
    margin-bottom: 2px;
}

.ba-haken[b-5q655firj8] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    margin: 0;
}

/* Tabelle fuellt den Rest der Maske (Rand oben 4 wie die XAML). */
.ba-tabelle-bereich[b-5q655firj8] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.ba-tabelle-huelle[b-5q655firj8] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Skelett beim Suchen wie die XAML (#762): Rand 8,12,8,8, Kopfbalken 26 hoch mit 12 Abstand, darunter 12 Baender. */
.ba-tabellen-skelett[b-5q655firj8] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 12px 8px 8px 8px;
}

.ba-skelett-kopf[b-5q655firj8] {
    display: block;
    flex: 0 0 26px;
    margin-bottom: 12px;
}

.ba-tabellen-skelett[b-5q655firj8]  .nem-ladeskelett {
    flex: 1 1 auto;
    min-height: 0;
}

.ba-zusammenfassung[b-5q655firj8] {
    margin: 3px 6px 0 6px;
    min-height: var(--nem-zeilenhoehe);
}

/* Nummern und Relationen der Belege untereinander (ItemsControl der XAML). */
.ba-untereinander[b-5q655firj8] {
    display: flex;
    flex-direction: column;
}

/* Details: Sendungen der Ausgangsbelege (Rand 24,2,2,6 der XAML, hoechstens 300 hoch). */
.ba-details[b-5q655firj8] {
    margin: 2px 2px 6px 24px;
    max-height: 300px;
    display: flex;
    flex-direction: column;
}

/* BELADEFORTSCHRITT (Balken der Dispo-Optik): Spur #EDF1F3, Fuellung nach BorderoAusgangAnzeige.BalkenFarbe, Schrift #222528. */
.ba-balken[b-5q655firj8] {
    position: relative;
    height: 17px;
    overflow: hidden;
    background: #EDF1F3;
}

.ba-balken-fuellung[b-5q655firj8] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.ba-balken-text[b-5q655firj8] {
    position: relative;
    display: block;
    text-align: center;
    line-height: 17px;
    color: #222528;
}

/* ---------- Kontextmenue (wie die Ausgangsbelege) ---------- */
.ba-kontext-schleier[b-5q655firj8] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.ba-kontext[b-5q655firj8] {
    position: fixed;
    z-index: 1041;
    min-width: 260px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
    user-select: none;
}

.ba-kontext-eintrag[b-5q655firj8] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.ba-kontext-eintrag:hover[b-5q655firj8] {
    background: var(--nem-tabelle-hover);
}

.ba-kontext-aus[b-5q655firj8] {
    cursor: default;
    color: var(--nem-schrift-gedimmt);
}

.ba-kontext-aus:hover[b-5q655firj8] {
    background: transparent;
}

.ba-kontext-bild[b-5q655firj8] {
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}

.ba-kontext-linie[b-5q655firj8] {
    height: 1px;
    margin: 4px 4px 4px 34px;
    background: var(--nem-kontur);
}
/* /Pages/Client/BorderoEingangDetails.razor.rz.scp.css */
/* Details einer Bordero-Zeile (RowDetailsTemplate des Desktops: DockPanel Margin 5, Kopfzeile Margin 1,5). */
.be-details[b-1zzcno2uws] {
    margin: 5px;
}

.be-details-kopf[b-1zzcno2uws] {
    margin: 5px 1px;
}

/* Tabellen der Reiter = NemesisDataGrids (16.10.2026, Hoehe am Grid: Sendungen bis 300, Collinummern/Ueberzaehlig 200-300 plus
   Leiste). Zellen rendert das Grid - Regeln fuer td mit ::deep; die Inhalte der Zellvorlagen gehoeren zu dieser Komponente.
   Farben aus den Daten (SC, Status, Summen nach Status) setzt das Grid an die Zelle (StilVon), den Statusstreifen an die Zeile. */
.be-details[b-1zzcno2uws]  td.be-symbolspalte {
    width: 24px;
    min-width: 24px;
    text-align: center;
}

.be-bild16[b-1zzcno2uws] {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.be-bild18[b-1zzcno2uws] {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

.be-details[b-1zzcno2uws]  td.be-mitte {
    text-align: center;
}

.be-details[b-1zzcno2uws]  td.be-zahl {
    padding-left: 9px;
    padding-right: 9px;
}

.be-details[b-1zzcno2uws]  td.be-kalender {
    white-space: nowrap;
}

/* Knoepfe in der Zelle (Avis, Lieferinfo, Privatkunde, Abholauftrag): ohne Rahmen; nur bei vorlaeufiger Sendung aktiv. */
.be-zellknopf[b-1zzcno2uws] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.be-zellknopf.gesperrt[b-1zzcno2uws] {
    cursor: default;
    opacity: .55;
}

/* ---------- Collinummern: Kachel oben, rechts "Summen nach Status" (230), links Gruppierleiste und Tabelle ---------- */
.be-colli[b-1zzcno2uws] {
    display: flex;
    flex-direction: column;
}

.be-colli-haken[b-1zzcno2uws] {
    display: flex;
    align-items: center;
    margin: 4px;
}

.be-colli-unten[b-1zzcno2uws] {
    display: flex;
    align-items: stretch;
    min-width: 0;
}

.be-colli-links[b-1zzcno2uws] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.be-colli-unten[b-1zzcno2uws]  .be-summen {
    flex: 0 0 230px;
    width: 230px;
    align-self: stretch;
}

.be-summen-grid[b-1zzcno2uws] {
    display: flex;
    flex-direction: column;
}

.be-summen-grid[b-1zzcno2uws]  tr.be-summe {
    cursor: pointer;
}

.be-summen-grid[b-1zzcno2uws]  tr.be-summe.gewaehlt > td {
    font-weight: 700;
}

/* "Alle Collinummern zeigen": Akzentflaeche, Rundung 3, Polster 8,6, halbfett - nur, solange ein Status gewaehlt ist. */
.be-alle-knopf[b-1zzcno2uws] {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 6px 8px;
    font-size: var(--nem-schriftgroesse);
    font-weight: 600;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
    border: 0;
    border-radius: 3px;
    cursor: pointer;
}

.be-alle-knopf:hover[b-1zzcno2uws] {
    background: var(--nem-akzent-dunkel);
}

/* ---------- Dokumente: inneres TabControl, Hoehe 300 ---------- */
.be-details[b-1zzcno2uws]  .be-dokumente {
    height: 300px;
    display: flex;
    flex-direction: column;
}

.be-details[b-1zzcno2uws]  .be-dokumente > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Die Dokumentlisten fuellen das innere TabControl (Grid mit height: 100 %). */
.be-details[b-1zzcno2uws]  .be-dokumente > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Sammel-PDF im Reiterkopf (span statt button - der Reiterkopf ist selbst ein button). */
.be-reiter-knopf[b-1zzcno2uws] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 8px;
    padding: 0 2px;
    cursor: pointer;
}

.be-reiter-knopf > img[b-1zzcno2uws] {
    width: 14px;
    height: 14px;
}

.be-reiter-knopf:hover[b-1zzcno2uws] {
    color: var(--nem-akzent);
}

/* ---------- Bearbeitbare Zellen (17.10.2026): Tour, Liefertermin, Status (manuell) - so hoch wie die Zeile, Farben der Felder ---------- */
.be-zellfeld[b-1zzcno2uws],
.be-zellauswahl[b-1zzcno2uws] {
    width: 100%;
    min-width: 0;
    height: var(--nem-feld-hoehe);
    padding: 0 4px;
    box-sizing: border-box;
    font: inherit;
    color: var(--nem-schrift);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
}

.be-zellfeld:focus-visible[b-1zzcno2uws],
.be-zellauswahl:focus-visible[b-1zzcno2uws] {
    outline: 2px solid var(--nem-akzent);
    outline-offset: -1px;
}

/* ---------- Dokumente des Borderos: Leiste mit "Hochladen..." über der Tabelle ---------- */
.be-dokument-leiste[b-1zzcno2uws] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 30px;
}

.be-hochladen[b-1zzcno2uws] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    cursor: pointer;
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    background: var(--nem-flaeche);
}

.be-hochladen:hover[b-1zzcno2uws] {
    border-color: var(--nem-akzent);
}

/* Das Dateifeld liegt unsichtbar über dem Knopf - Klick und Tastatur gehen an das echte Feld. */
.be-hochladen[b-1zzcno2uws]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.be-hochladen:focus-within[b-1zzcno2uws] {
    outline: 2px solid var(--nem-akzent);
}
/* /Pages/Client/BorderoEingangOverlays.razor.rz.scp.css */
/* DIE KLEINEN OVERLAYS DES BORDERO-EINGANGS (17.10.2026) - Kacheln oben, Liste füllt den Rest; Farben nur aus der Palette. */
.beo-maske[b-xrttcfmjmn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    height: 100%;
    min-height: 0;
    padding: 2px;
    box-sizing: border-box;
}

.beo-scroll[b-xrttcfmjmn] {
    overflow: auto;
}

.beo-fuellend[b-xrttcfmjmn] {
    flex: 1 1 auto;
    min-height: 0;
}

.beo-bild[b-xrttcfmjmn] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.beo-raster-termin[b-xrttcfmjmn] {
    grid-template-columns: 130px 140px 70px 100px 70px 100px;
    grid-template-rows: var(--nem-zeile);
    grid-auto-rows: var(--nem-zeile);
    align-items: center;
}

/* Ansprechpartner des Zustelltermins: zweite Zeile, über die Breite der Zeitfelder. */
.beo-ansprechpartner[b-xrttcfmjmn] {
    grid-column: 2 / span 5;
}

.beo-zeile[b-xrttcfmjmn] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
}

.beo-zeile-oben[b-xrttcfmjmn] {
    align-items: flex-start;
}

.beo-label[b-xrttcfmjmn] {
    flex: 0 0 110px;
}

.beo-feld-breit[b-xrttcfmjmn] {
    flex: 1 1 auto;
    min-width: 0;
}

.beo-text[b-xrttcfmjmn] {
    resize: vertical;
}

.beo-storno[b-xrttcfmjmn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.beo-fehler[b-xrttcfmjmn] {
    padding: 4px 6px;
    color: var(--nem-fehler);
    border: 1px solid var(--nem-fehler);
    border-radius: var(--nem-radius);
}

.beo-tabelle[b-xrttcfmjmn] {
    width: 100%;
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
}

.beo-tabelle th[b-xrttcfmjmn],
.beo-tabelle td[b-xrttcfmjmn] {
    padding: 2px 6px;
    text-align: left;
    border-bottom: 1px solid var(--nem-kontur);
    white-space: nowrap;
}

.beo-tabelle th[b-xrttcfmjmn] {
    color: var(--nem-schrift-gedimmt);
    font-weight: 600;
}

.beo-rechts[b-xrttcfmjmn] {
    text-align: right !important;
}

.beo-nl[b-xrttcfmjmn] {
    padding: 4px 4px 4px 48px;
    overflow-x: auto;
}

.beo-tour[b-xrttcfmjmn] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--nem-zeile);
}

.beo-fotos[b-xrttcfmjmn] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 8px;
    overflow: auto;
    height: 100%;
    box-sizing: border-box;
}

.beo-foto[b-xrttcfmjmn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0;
    max-width: 100%;
}

.beo-foto img[b-xrttcfmjmn] {
    max-width: min(480px, 100%);
    max-height: 60vh;
    object-fit: contain;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

.beo-foto figcaption[b-xrttcfmjmn] {
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
    overflow-wrap: anywhere;
}

button[b-xrttcfmjmn] {
    white-space: nowrap;
}

button:disabled[b-xrttcfmjmn] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Client/BorderoEingangView.razor.rz.scp.css */
/* BORDERO-EINGANG (11.10.2026) - nur, was die Hausregeln (nemesis-design.css Abschnitt 6/7) nicht schon liefern.
   Farben nur aus der Palette; feste Farben ausschliesslich dort, wo sie wie im Desktop etwas BEDEUTEN (UeZ rot/hellgruen). */

.be-maske[b-q91vqb346q] {
    padding: 2px 0;
}

/* Die Tabelle ist das letzte Kind und fuellt die Resthoehe (DockPanel im Desktop), 5 Abstand zur Filterkachel. */
.be-tabelle-bereich[b-q91vqb346q] {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
    display: flex;
    flex-direction: column;
}

/* Bordero-Liste = NemesisDataGrid (16.10.2026). Zellen und Zeilen rendert das Grid - Regeln dafuer mit ::deep, Inhalte der
   Zellvorlagen (Bilder, Balken) gehoeren zu dieser Seite und brauchen es nicht. Die Details haelt das Grid in der sichtbaren
   Breite, ▶/▼ im Zeilenkopf schaltet sie. */
.be-tabelle-bereich[b-q91vqb346q]  .ndg-tabelle > tbody > tr.ndg-zeile {
    cursor: default;
}

.be-tabelle-bereich[b-q91vqb346q]  td.be-mitte {
    text-align: center;
}

.be-tabelle-bereich[b-q91vqb346q]  td.be-symbol {
    white-space: nowrap;
}

.be-tabelle-bereich[b-q91vqb346q]  td.be-symbol img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* Zahlen rechtsbuendig, Rand 5 wie das ElementStyle des Desktops. */
.be-tabelle-bereich[b-q91vqb346q]  td.be-zahl {
    padding-left: 9px;
    padding-right: 9px;
}

/* Neg./UeZ (KlasseVon an der Zelle wie der CellStyle des Desktops) - die Bedeutungsfarbe schlaegt Zebra, Hover und Auswahl.
   "Neg.": rot mit weisser Schrift, sobald es negativ gewertete Collinummern gibt. */
.be-tabelle-bereich[b-q91vqb346q]  .ndg-tabelle > tbody > tr > td.be-neg-an {
    background-color: var(--nem-fehler);
    color: var(--nem-schrift-auf-akzent);
}

/* "UeZ": rot mit weisser Schrift, ohne Ueberzaehlige hellgruen mit dunkler Schrift - Bedeutungsfarben wie im Desktop
   (wie die POD-Zelle der Sendungssuche). */
.be-tabelle-bereich[b-q91vqb346q]  .ndg-tabelle > tbody > tr > td.be-uez-an {
    background-color: red;
    color: var(--nem-schrift-auf-akzent);
}

.be-tabelle-bereich[b-q91vqb346q]  .ndg-tabelle > tbody > tr > td.be-uez-aus {
    background-color: lightgreen;
    color: #222528; /* bleibt auch im Dunkelmodus dunkel - Schrift auf Hellgruen wie die POD-Zelle der Haustabelle */
}

/* Entladefortschritt: Spur in der Flaeche, Fuellung in der Balkenfarbe der Daten, "x / y" mittig halbfett. */
.be-fortschritt[b-q91vqb346q] {
    position: relative;
    height: 18px;
    overflow: hidden;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-reiter-kontur);
}

.be-fortschritt-fuellung[b-q91vqb346q] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.be-fortschritt-text[b-q91vqb346q] {
    position: relative;
    display: block;
    text-align: center;
    line-height: 16px;
    font-weight: 600;
    color: var(--nem-schrift);
}

.be-tabelle-bereich[b-q91vqb346q]  td.be-kalender {
    white-space: nowrap;
}

.be-tabelle-bereich[b-q91vqb346q]  td.be-kalender img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* ---------- Lade-Skelett (NemesisSkeleton: Rundung 3, Lichtstreifen in 1,2 s, Toene aus der Palette) ---------- */
.be-skelett[b-q91vqb346q] {
    display: block;
    border-radius: 3px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 30%,
        color-mix(in srgb, var(--nem-schrift) 3%, var(--nem-flaeche)) 50%,
        color-mix(in srgb, var(--nem-schrift) 9%, var(--nem-flaeche)) 70%);
    background-size: 300% 100%;
    animation: be-schimmer-b-q91vqb346q 1.2s linear infinite;
}

@keyframes be-schimmer-b-q91vqb346q {
    from { background-position: 100% 0; }
    to { background-position: 0 0; }
}

.be-skelett-filter[b-q91vqb346q] {
    margin: 2px;
}

.be-skelett-filter > .be-skelett[b-q91vqb346q] {
    width: 360px;
    height: 20px;
    margin: 3px 0;
}

/* ---------- Kontextmenue (WPF-ContextMenu: Symbole 20 hoch, Trennlinien) ---------- */
.be-kontext-schleier[b-q91vqb346q] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.be-kontext[b-q91vqb346q] {
    position: fixed;
    z-index: 1041;
    min-width: 260px;
    max-width: 340px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
    user-select: none;
}

.be-kontext-eintrag[b-q91vqb346q] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.be-kontext-eintrag:hover[b-q91vqb346q] {
    background: var(--nem-tabelle-hover);
}

.be-kontext-bild[b-q91vqb346q] {
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}

.be-kontext-bild > img[b-q91vqb346q] {
    height: 20px;
}

.be-kontext-linie[b-q91vqb346q] {
    height: 1px;
    margin: 4px 4px 4px 34px;
    background: var(--nem-kontur);
}

/* ---------- Entladestatus als Auswahl in der Zelle (17.10.2026, CellEditingTemplate des Desktops) ---------- */
.be-zellauswahl[b-q91vqb346q] {
    width: 100%;
    min-width: 0;
    height: var(--nem-feld-hoehe);
    padding: 0 2px;
    box-sizing: border-box;
    font: inherit;
    color: var(--nem-schrift);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
}

.be-zellauswahl:focus-visible[b-q91vqb346q] {
    outline: 2px solid var(--nem-akzent);
    outline-offset: -1px;
}
/* /Pages/Client/DateiImportView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-h2sw7qi170] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-h2sw7qi170]  .best-tabelle,
.best-tabelle[b-h2sw7qi170] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-h2sw7qi170] {
    width: 560px;
}

.best-abfrage[b-h2sw7qi170] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-h2sw7qi170],
.einzel-overlay[b-h2sw7qi170] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-h2sw7qi170]  .einzel-tabelle,
.einzel-overlay[b-h2sw7qi170]  .einzel-tabelle,
.einzel-tabelle[b-h2sw7qi170] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-h2sw7qi170]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-h2sw7qi170] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/DispoAbfertigungsdatenOverlay.razor.rz.scp.css */
/* ABFERTIGUNGSDATEN DER LADEEINHEIT (25.10.2026) - zweispaltig wie die Desktop-Maske (Ladeeinheit 1 und 2 auf einer Höhe), Adressen und
   Sonstiges über die volle Breite. Nur Palette (Hell/Dunkel aus einer Quelle). */

.dispo-abfdaten[b-fefp0tj3tg] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dispo-abfdaten-raster[b-fefp0tj3tg] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.dispo-abfdaten-raster[b-fefp0tj3tg]  .dispo-abfdaten-breit {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .dispo-abfdaten-raster[b-fefp0tj3tg] {
        grid-template-columns: minmax(0, 1fr);
    }
}

.dispo-abfdaten-felder[b-fefp0tj3tg] {
    grid-template-columns: 110px minmax(0, 1fr);
    grid-auto-rows: minmax(var(--nem-zeile), auto);
    row-gap: 3px;
}

.dispo-abfdaten-zeile[b-fefp0tj3tg] {
    grid-auto-rows: var(--nem-zeile);
    margin-top: 3px;
}

.dispo-abfdaten-hinweis[b-fefp0tj3tg] {
    margin: 2px 2px 6px 2px;
}

.dispo-abfdaten-warnung[b-fefp0tj3tg] {
    color: var(--nem-warnung);
}

.dispo-abfdaten-auffaellig[b-fefp0tj3tg] {
    color: var(--nem-fehler);
    font-weight: 600;
}

.dispo-abfdaten-text[b-fefp0tj3tg] {
    min-height: 60px;
    resize: vertical;
}

.dispo-abfdaten-knoepfe[b-fefp0tj3tg] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
/* /Pages/Client/DispoAbwesenheitenOverlay.razor.rz.scp.css */
/* ABWESENHEITEN ERFASSEN (17.10.2026) - Raster der Erfassungsfelder und die Tabelle der bestehenden Zeilen.
   Maße wie im WPF-Overlay: Beschriftungsspalte 110, Felder 26 hoch, Bemerkung mindestens 48. */

.dispo-abw[b-ynsjkn3zgb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-abw-reiter[b-ynsjkn3zgb] {
    display: flex;
    flex-direction: column;
    padding-top: 6px;
}

/* Zwei Spalten: Beschriftung (110) und Feld - wie das Grid der WPF-Maske. */
.dispo-abw-formular[b-ynsjkn3zgb] {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    gap: 6px 8px;
    margin: 4px;
}

.dispo-abw-formular .nem-feld[b-ynsjkn3zgb] {
    height: var(--nem-zeile);
}

.dispo-abw-haken[b-ynsjkn3zgb] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.dispo-abw-bemerkung[b-ynsjkn3zgb] {
    min-height: 48px;
    height: 48px;
    resize: vertical;
}

/* Bestandstabelle: bewusst eine schlichte Tabelle mit Eingabefeldern (siehe Kopf der Komponente). */
.dispo-abw-tabelle[b-ynsjkn3zgb] {
    width: 100%;
    border-collapse: collapse;
}

.dispo-abw-tabelle th[b-ynsjkn3zgb] {
    text-align: left;
    font-weight: 600;
    padding: 2px 4px;
    border-bottom: 1px solid var(--nem-rahmen);
    white-space: nowrap;
}

.dispo-abw-tabelle td[b-ynsjkn3zgb] {
    padding: 2px 4px;
    vertical-align: middle;
}

.dispo-abw-tabelle .nem-feld[b-ynsjkn3zgb] {
    width: 100%;
    height: 24px;
}

.dispo-abw-papierkorb[b-ynsjkn3zgb] {
    cursor: pointer;
    color: var(--nem-schrift-gedimmt);
}

.dispo-abw-papierkorb:hover[b-ynsjkn3zgb] {
    color: var(--nem-fehler, #d9534f);
}
/* /Pages/Client/DispoDokumenteReiter.razor.rz.scp.css */
/* Reiter „Dokumente“ der Disposition (25.10.2026) – Leiste und Knöpfe wie die Dokumentlisten des Eingangs. */
.dispo-dok-leiste[b-arsu05sxc7] {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    flex: 0 0 auto;
}

.dispo-dok-hochladen[b-arsu05sxc7] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    cursor: pointer;
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    background: var(--nem-flaeche);
}

.dispo-dok-hochladen:hover[b-arsu05sxc7] {
    border-color: var(--nem-akzent);
}

.dispo-dok-hochladen:focus-within[b-arsu05sxc7] {
    outline: 2px solid var(--nem-akzent);
}

/* Das Dateifeld liegt unsichtbar über dem Knopf - Klick und Tastatur gehen an das echte Feld. */
.dispo-dok-hochladen[b-arsu05sxc7]  input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.dispo-dok-hochladen.dispo-dok-gesperrt[b-arsu05sxc7] {
    opacity: .5;
    cursor: default;
}

.dispo-dok-hochladen.dispo-dok-gesperrt[b-arsu05sxc7]  input[type=file] {
    cursor: default;
}

/* Zellknöpfe stammen aus Vorlagen dieser Datei und tragen deren Bereichsattribut - kein ::deep nötig. */
.dispo-dok-zellknopf[b-arsu05sxc7] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.dispo-dok-zellknopf > img[b-arsu05sxc7] {
    width: 16px;
    height: 16px;
}

.dispo-dok-zellknopf:hover[b-arsu05sxc7] {
    color: var(--nem-akzent);
}
/* /Pages/Client/DispoErzeugenOverlay.razor.rz.scp.css */
/* BELEGE ERZEUGEN (17.10.2026) - Liste der Belege und die Erklärung darunter. Schlichte Tabelle: die Zellen sind
   Haken und Text, und die Liste ist kurz (ein bis zwei Belege je Ladeeinheit). */

.dispo-erzeugen[b-gnoa92ezg5] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-erzeugen-tabelle[b-gnoa92ezg5] {
    width: 100%;
    border-collapse: collapse;
}

.dispo-erzeugen-tabelle th[b-gnoa92ezg5] {
    text-align: left;
    font-weight: 600;
    padding: 2px 4px;
    border-bottom: 1px solid var(--nem-rahmen);
    white-space: nowrap;
}

.dispo-erzeugen-tabelle td[b-gnoa92ezg5] {
    padding: 3px 4px;
    vertical-align: middle;
}

.dispo-erzeugen-schritte[b-gnoa92ezg5] {
    margin: 4px 0 8px 1.1rem;
    padding: 0;
}

.dispo-erzeugen-schritte li[b-gnoa92ezg5] {
    margin: 2px 0;
}

.dispo-erzeugen-haken[b-gnoa92ezg5] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 2px;
}
/* /Pages/Client/DispoHinweiseFensterView.razor.rz.scp.css */
/*  CSS DES HINWEIS-FENSTERS (20.10.2026) - und zwar HIER, bei der Seite.

    Das Fenster ist ein eigenes Blazor-Programm und hat das CSS der Disposition nicht; alles, was es braucht,
    steht deshalb in dieser Datei (die Lehre aus dem Scoped-CSS-Fehler vom 20.10.2026: Bereichs-CSS wirkt nur
    in der Datei, zu der es gehört). Die Farben kommen aus dem globalen Stylesheet (nem-Variablen), damit
    Fenster und Maske gleich aussehen. */

.dhf-fenster[b-veo0ur8f5v] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 0;
    padding: 4px;
    box-sizing: border-box;
    gap: 4px;
}

.dhf-kopf[b-veo0ur8f5v] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 2px 4px;
}

.dhf-kopf-bild[b-veo0ur8f5v] {
    width: 15px;
    height: 15px;
    object-fit: contain;
}

.dhf-titel[b-veo0ur8f5v] {
    font-weight: 600;
}

/* Die Knöpfe stehen rechts. */
.dhf-knoepfe[b-veo0ur8f5v] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

/*  Die Knöpfe als Symbole (14.11.2026, Vorgabe Bastian „Abräumen ein Icon wie im Desktop. Alle Icons rechts“) – dieselbe Optik wie
    .dispo-bildknopf in der Disposition (20 x 20, flach, Hover in der Reiterfläche). */
.dhf-bildknopf[b-veo0ur8f5v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.dhf-bildknopf:hover:enabled[b-veo0ur8f5v] {
    background: var(--nem-reiter-flaeche);
}

.dhf-bildknopf:disabled[b-veo0ur8f5v] {
    opacity: 0.4;
    cursor: default;
}

.dhf-bildknopf > img[b-veo0ur8f5v] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.dhf-meldung[b-veo0ur8f5v],
.dhf-leer[b-veo0ur8f5v] {
    margin: 4px;
}

.dhf-leer[b-veo0ur8f5v] {
    color: var(--nem-schrift-gedimmt, #888);
}

.dhf-liste[b-veo0ur8f5v] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 2px 4px;
}

/* Ein Hinweis - wie in der Kachel der Disposition (dort .dispo-hinweis-eintrag). */
.dhf-eintrag[b-veo0ur8f5v] {
    padding: 2px 0;
    border-bottom: 1px solid var(--nem-rahmen, #e0e0e0);
    white-space: pre-wrap;
    word-break: break-word;
}

.dhf-eintrag:last-child[b-veo0ur8f5v] {
    border-bottom: 0;
}
/* /Pages/Client/DispoHinweisOverlay.razor.rz.scp.css */
/* DISPOHINWEIS (17.10.2026): oben das eigene Textfeld, darunter die Hinweise der Kollegen als Absätze. */

.dispo-hinweis-maske[b-i2bhvswv15] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-hinweis-feld[b-i2bhvswv15] {
    width: 100%;
    min-height: 110px;
    resize: vertical;
    margin: 2px;
}

.dispo-hinweis-fremd[b-i2bhvswv15] {
    border-top: 1px solid var(--nem-rahmen);
    padding: 6px 2px;
}

.dispo-hinweis-fremd:first-child[b-i2bhvswv15] {
    border-top: none;
}

.dispo-hinweis-fremd-kopf[b-i2bhvswv15] {
    font-weight: 600;
    margin-bottom: 2px;
}

.dispo-hinweis-fremd-text[b-i2bhvswv15] {
    white-space: pre-wrap;
}
/* /Pages/Client/DispoPlantafelSendungenFensterView.razor.rz.scp.css */
/* DIE AUSGEDOCKTE SENDUNGSLISTE DER PLANTAFEL (17.10.2026) - eigenes Fenster, die Tabelle füllt es ganz aus. */

.dispo-fenster[b-l4ld4tyot9] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 0;
    padding: 4px;
    box-sizing: border-box;
}

.dispo-fenster-kopf[b-l4ld4tyot9] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    padding: 2px 4px 4px 4px;
}

.dispo-fenster-titel[b-l4ld4tyot9] {
    font-weight: 600;
}

.dispo-fenster-hinweis[b-l4ld4tyot9] {
    margin-left: auto;
}

/* Die Knöpfe stehen rechts; mit Hinweis schiebt dessen margin-left sie ohnehin dorthin. */
.dispo-fenster-knoepfe[b-l4ld4tyot9] {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.dispo-fenster-tabelle[b-l4ld4tyot9] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
}

.dispo-fenster-tabelle[b-l4ld4tyot9] >  * {
    min-height: 0;
}
/* /Pages/Client/DispoPlantafelView.razor.rz.scp.css */
/* PLANTAFEL (L11, 09.10.2026) - nur Farbsatz-Variablen (nemesis-design.css), keine festen Farbwerte.
   Kopfspalte und Zeitachse bleiben per position: sticky stehen; die Tafel scrollt in beide Richtungen. */

.pt-zeitraum[b-anko84sgyf] {
    font-weight: 600;
}

.pt-gedimmt[b-anko84sgyf] {
    color: var(--nem-schrift-gedimmt);
}

.pt-filter[b-anko84sgyf] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    user-select: none;
}

.pt-legende[b-anko84sgyf] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: var(--nem-radius);
}

.pt-rueckfrage[b-anko84sgyf] {
    margin-bottom: 0.5rem;
}

.pt-rueckfrage ul[b-anko84sgyf] {
    margin: 0.25rem 0 0.5rem 1.1rem;
    padding: 0;
}

/* Rückfragen des Zuordnens kommen als Absätze (Leerzeile = Abstand). */
.pt-rueckfrage-text[b-anko84sgyf] {
    margin: 0.25rem 0 0.5rem 0;
    white-space: pre-wrap;
}

.pt-rueckfrage-abstand[b-anko84sgyf] {
    height: 0.4rem;
}

/* ---- Tafel ---- */

/* Die Seite füllt den Tab (Höhenkette .nem-tab-panel → hier) und wird nie breiter als er (#87, 17.10.2026). */
.pt-seite[b-anko84sgyf] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

/* HUELLE DER TAFEL (12.11.2026): traegt das Ladeskelett als Ueberlage - die Tafel bleibt darunter im DOM (plantafel.js, Scrollstand). Sie
   nimmt den Platz, den vorher die Tafel selbst genommen hat. */
.pt-tafel-huelle[b-anko84sgyf] {
    position: relative;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 160px;
    min-width: 0;
}

/* LADESKELETT (12.11.2026, Vorgabe Bastian "Bitte auch mit Skeleton arbeiten"): Zeitachse, Zeilenkoepfe und angedeutete Balken in der Form
   der Tafel, deckend ueber ihr (Farben/Bewegung aus nemesis-design.css Abschnitt 8, bei "Animationen reduzieren" still). */
.pt-tafel-skelett[b-anko84sgyf] {
    position: absolute;
    inset: 0;
    z-index: 40;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
}

.pt-skelett-achse[b-anko84sgyf],
.pt-skelett-zeile[b-anko84sgyf] {
    flex: 0 0 auto;
    display: flex;
    align-items: stretch;
    gap: 6px;
    padding: 4px 6px 4px 0;
    box-sizing: border-box;
}

.pt-skelett-achse[b-anko84sgyf] {
    border-bottom: 1px solid var(--nem-kontur);
}

/* .nem-skelett ist 14 hoch und mittig - hier fuellen die Bloecke ihre Zeile. */
.pt-skelett-ecke[b-anko84sgyf],
.pt-skelett-kopf[b-anko84sgyf] {
    display: block;
    flex-grow: 0;
    flex-shrink: 0;
    height: auto;
    align-self: stretch;
    margin: 0;
}

.pt-skelett-zeitachse[b-anko84sgyf] {
    display: block;
    flex: 1 1 auto;
    height: auto;
    align-self: stretch;
    margin: 0;
}

.pt-skelett-spur[b-anko84sgyf] {
    position: relative;
    flex: 1 1 auto;
}

/* align-self: .nem-skelett steht mittig - neuere Browser wenden das auch auf absolut gesetzte Kaesten an, der Balken haette sonst die Hoehe 0. */
.pt-skelett-balken[b-anko84sgyf] {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    height: auto;
    margin: 0;
    align-self: stretch;
}

/* Die Tafel nimmt den Rest der Höhe und rollt in sich - viele Fahrzeuge schieben die Sendungen nicht mehr aus dem Bild. */
.pt-tafel[b-anko84sgyf] {
    position: relative;
    flex: 1 1 auto;
    overflow: auto;
    min-height: 160px;
    min-width: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
    user-select: none;
}

/* Fokussierbar nur für Esc beim Ziehen - kein Fokusrahmen um die ganze Tafel. */
.pt-tafel:focus[b-anko84sgyf] {
    outline: none;
}

/* Sendungen werden gezogen: die Tafel zeigt, dass sie sie annimmt. */
.pt-tafel.pt-nimmt-sendungen[b-anko84sgyf] {
    border-color: var(--nem-akzent);
}

.pt-raster[b-anko84sgyf] {
    position: relative;
}

.pt-kopfzeile[b-anko84sgyf] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    background: var(--nem-spalten-kopf);
    color: var(--nem-spalten-kopf-schrift);
}

.pt-ecke[b-anko84sgyf] {
    position: sticky;
    left: 0;
    z-index: 6;
    flex: none;
    display: flex;
    align-items: center;
    padding: 0 0.6rem;
    font-weight: 600;
    background: var(--nem-spalten-kopf);
    border-right: 1px solid var(--nem-kontur);
}

.pt-achse[b-anko84sgyf] {
    position: relative;
    flex: none;
    height: 100%;
}

.pt-tag[b-anko84sgyf] {
    position: absolute;
    top: 0;
    height: 100%;
    padding: 2px 4px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-left: 1px solid var(--nem-kontur);
    box-sizing: border-box;
}

.pt-tag.pt-wochenende[b-anko84sgyf] {
    opacity: 0.8;
}

.pt-stunde[b-anko84sgyf] {
    position: absolute;
    top: 21px;
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    opacity: 0.9;
}

.pt-hintergrund[b-anko84sgyf] {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.pt-wochenende-flaeche[b-anko84sgyf] {
    position: absolute;
    top: 0;
    height: 100%;
    background: var(--nem-deaktiviert-flaeche);
    opacity: 0.35;
}

.pt-jetzt[b-anko84sgyf] {
    position: absolute;
    top: 0;
    width: 2px;
    height: 100%;
    background: var(--nem-fehler);
    opacity: 0.8;
}

.pt-zeile[b-anko84sgyf] {
    position: absolute;
    left: 0;
    border-bottom: 1px solid var(--nem-linie);
    box-sizing: border-box;
}

.pt-zeile.pt-zebra[b-anko84sgyf] {
    background: var(--nem-zebra);
}

/* Zielzeile beim Ziehen (Balken verschieben bzw. Sendungen auf eine freie Stelle). */
.pt-zeile.pt-zielzeile[b-anko84sgyf] {
    background: var(--nem-selektion);
}

.pt-zeile.pt-zielzeile .pt-zeilenkopf[b-anko84sgyf] {
    background: var(--nem-selektion);
    box-shadow: inset 3px 0 0 var(--nem-akzent);
}

.pt-zeilenkopf[b-anko84sgyf] {
    position: sticky;
    left: 0;
    z-index: 4;
    height: 100%;
    padding: 2px 0.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--nem-zeilen-kopf);
    border-right: 1px solid var(--nem-zeilen-kopf-linie);
    box-sizing: border-box;
    overflow: hidden;
}

.pt-zebra .pt-zeilenkopf[b-anko84sgyf] {
    background: var(--nem-zebra);
}

.pt-titel[b-anko84sgyf] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pt-untertitel[b-anko84sgyf] {
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pt-nebenzeile .pt-titel[b-anko84sgyf] {
    font-style: italic;
    color: var(--nem-schrift-gedimmt);
}

/* ---- Abwesenheiten: schraffiert, darauf ist nichts disponierbar ---- */

.pt-sperre[b-anko84sgyf] {
    position: absolute;
    z-index: 2;
    padding: 0 0.4rem;
    display: flex;
    align-items: center;
    font-style: italic;
    font-size: var(--nem-schriftgroesse);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    background: repeating-linear-gradient(135deg,
        var(--nem-deaktiviert-flaeche) 0 6px,
        var(--nem-griff) 6px 8px);
    box-sizing: border-box;
}

/* ---- Reisen ---- */

.pt-balken[b-anko84sgyf] {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0 0 0 0.4rem;
    border-radius: var(--nem-radius);
    border: 1px solid var(--nem-kontur);
    font-size: var(--nem-schriftgroesse);
    white-space: nowrap;
    overflow: hidden;
    cursor: grab;
    touch-action: none;
    box-sizing: border-box;
}

.pt-balken.pt-nah[b-anko84sgyf] {
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
}

.pt-balken.pt-fern[b-anko84sgyf] {
    background: var(--nem-spalten-kopf);
    color: var(--nem-spalten-kopf-schrift);
}

.pt-balken.pt-hub[b-anko84sgyf] {
    background: var(--nem-griff);
    color: var(--nem-schrift);
}

.pt-legende.pt-nah[b-anko84sgyf] { background: var(--nem-akzent); }
.pt-legende.pt-fern[b-anko84sgyf] { background: var(--nem-spalten-kopf); }
.pt-legende.pt-hub[b-anko84sgyf] { background: var(--nem-griff); }

/* Ohne Uhrzeiten: blass und gestrichelt - die Reise steht nur auf ihrem Tag, ihre Dauer kennt noch niemand. */
.pt-balken.pt-ohnezeit[b-anko84sgyf] {
    opacity: 0.6;
    border-style: dashed;
}

.pt-balken.pt-konflikt[b-anko84sgyf] {
    border: 2px solid var(--nem-fehler);
}

/* GEWÄHLTE REISE PRÄSENTER (11.11.2026, Vorgabe Bastian „Die ausgewählte Tour muss in der Plantafel präsenter markiert sein“):
   bisher nur ein 2-px-Ring in Schriftfarbe - auf einer vollen Tafel kaum zu finden. Jetzt: 3-px-Ring in Schriftfarbe (immer
   Kontrast, auch auf einem Balken in Akzentfarbe), außen ein Leuchten, der Balken füllt die Zeile fast ganz (Markup) und liegt
   vor seinen Nachbarn; dazu ist die ganze Zeile hinterlegt (.pt-zeile-gewaehlt). Gleich im Desktop (PlantafelView.BalkenErzeugen).
   Ein gezogener Balken (z-index 10) bleibt darüber. */
.pt-balken.pt-gewaehlt[b-anko84sgyf] {
    z-index: 6;
    box-shadow: 0 0 0 3px var(--nem-schrift), 0 0 12px 3px color-mix(in srgb, var(--nem-schrift) 55%, transparent);
    font-weight: 600;
}

.pt-zeile.pt-zeile-gewaehlt[b-anko84sgyf] {
    background: color-mix(in srgb, var(--nem-akzent, #686868) 15%, transparent);
}

.pt-zeile.pt-zeile-gewaehlt > .pt-zeilenkopf[b-anko84sgyf] {
    background: color-mix(in srgb, var(--nem-akzent, #686868) 28%, var(--nem-flaeche));
    box-shadow: inset -3px 0 0 var(--nem-akzent, #686868);
}

.pt-balken.pt-gezogen[b-anko84sgyf] {
    z-index: 10;
    opacity: 0.85;
    cursor: grabbing;
    box-shadow: 0 0 0 2px var(--nem-akzent-dunkel);
}

/* Ergebnis der Live-Prüfung am gezogenen Balken (gedrosselt über den Pruefen-Endpunkt). */
.pt-balken.pt-gezogen.pt-vorschau-ok[b-anko84sgyf] {
    box-shadow: 0 0 0 2px var(--nem-erfolg);
}

.pt-balken.pt-gezogen.pt-vorschau-warnung[b-anko84sgyf] {
    box-shadow: 0 0 0 2px var(--nem-warnung);
}

.pt-balken.pt-gezogen.pt-vorschau-fehler[b-anko84sgyf] {
    box-shadow: 0 0 0 2px var(--nem-fehler);
    opacity: 0.7;
}

/* Hinweis unter dem gezogenen Balken: neue Zeit und Prüfergebnis. */
.pt-vorschau[b-anko84sgyf] {
    position: absolute;
    z-index: 11;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    max-width: 520px;
    padding: 1px 6px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    border-radius: var(--nem-radius);
    border: 1px solid var(--nem-kontur);
    border-left-width: 3px;
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
}

.pt-vorschau.pt-vorschau-ok[b-anko84sgyf] { border-left-color: var(--nem-erfolg); }
.pt-vorschau.pt-vorschau-warnung[b-anko84sgyf] { border-left-color: var(--nem-warnung); }
.pt-vorschau.pt-vorschau-fehler[b-anko84sgyf] { border-left-color: var(--nem-fehler); }
.pt-vorschau.pt-vorschau-offen[b-anko84sgyf] { border-left-color: var(--nem-kontur); }

.pt-zeitlabel[b-anko84sgyf] {
    font-weight: 600;
}

.pt-vorschau-text[b-anko84sgyf] {
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--nem-schrift-gedimmt);
}

/* Sendungen auf einen Balken: dieser Balken nimmt sie. */
.pt-balken.pt-ablageziel[b-anko84sgyf] {
    z-index: 9;
    box-shadow: 0 0 0 3px var(--nem-akzent);
}

/* Sendungen auf eine freie Stelle: hier entsteht die neue Reise (ganztägig). */
.pt-ablage[b-anko84sgyf] {
    position: absolute;
    z-index: 8;
    display: flex;
    align-items: center;
    padding: 0 0.5rem;
    font-size: var(--nem-schriftgroesse);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    border: 2px dashed var(--nem-akzent);
    border-radius: var(--nem-radius);
    background: var(--nem-akzent-schleier);
    color: var(--nem-schrift);
    box-sizing: border-box;
}

/*  GESPERRTE ABLAGE (05.11.2026, Wache der Nummernkreise): Für diese Belegart ist kein Nummernkreis gepflegt -
    abgefertigt wird hier nichts. Warnfarbe statt Akzent, damit es sich vom gültigen Ziel unterscheidet; der
    Grund steht in der Meldung der Maske (ein Tooltip ist beim Ziehen nicht zu lesen). */
.pt-ablage-gesperrt[b-anko84sgyf] {
    border-color: var(--nem-warnung, #d08b26);
    color: var(--nem-warnung, #d08b26);
    background: transparent;
}

/* Hinweis in der Leiste über der Sendungsliste, wenn der Kreis der eingestellten neuen Reise fehlt. */
.pt-kreis-warnung[b-anko84sgyf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--nem-warnung, #d08b26);
    font-size: 12px;
}

.pt-kreis-warnung .rzi[b-anko84sgyf] {
    font-size: 16px;
}

.pt-warn[b-anko84sgyf] {
    font-weight: 700;
    padding: 0 0.3rem;
    border-radius: var(--nem-radius);
    background: var(--nem-fehler);
    color: var(--nem-schrift-auf-akzent);
}

.pt-name[b-anko84sgyf] {
    font-weight: 600;
}

.pt-zusatz[b-anko84sgyf] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.9;
}

.pt-griff[b-anko84sgyf] {
    flex: none;
    align-self: stretch;
    width: 7px;
    cursor: ew-resize;
    background: var(--nem-akzent-schleier);
}

/* ---- Auswahl ---- */

.pt-detail[b-anko84sgyf] {
    min-width: 280px;
    max-width: 760px;
}

.pt-wert[b-anko84sgyf] {
    color: var(--nem-schrift);
    font-weight: 600;
}

.pt-konfliktliste[b-anko84sgyf] {
    margin: 0.35rem 0 0 1.1rem;
    padding: 0;
    color: var(--nem-fehler);
}

/* ---- Sendungsliste: Kopf mit Zieh-Hinweis und Bereich neuer Reisen ---- */

.pt-sendungen-kopf[b-anko84sgyf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.35rem;
}

.pt-zieh-hinweis[b-anko84sgyf] {
    margin-left: auto;
}

/* Sendungstabelle der Disposition (DispoSendungenTabelle, 17.10.2026) in fester Höhe wie vorher das eigene Grid - die Hülle der
   Tabelle (.dispo-pool) füllt diesen Kasten, das Grid darin die Hülle. */
.pt-sendungen-tabelle[b-anko84sgyf] {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    height: 260px;
    min-height: 0;
    min-width: 0;
}

/* ---- Die künftige Kachel samt Ladeanzeige (19.10.2026) ----
   Beim Ablegen von Sendungen dauert das Abfertigen (Nummernkreis, Belege, Positionen, Summen, Rückfragen).
   Solange steht die Kachel, die entstehen wird, schon da - gestrichelt, damit sie nicht mit einem gespeicherten
   Balken verwechselt wird, und mit einem drehenden Ring. */

.pt-platzhalter[b-anko84sgyf] {
    border-style: dashed;
    opacity: .85;
    cursor: progress;
}

/* Ein bestehender Balken, auf den gerade abgefertigt wird. */
.pt-laedt[b-anko84sgyf] {
    cursor: progress;
    box-shadow: 0 0 0 2px var(--nem-akzent, #686868) inset;
}

.pt-spinner[b-anko84sgyf] {
    display: inline-block;
    flex: 0 0 auto;
    width: 11px;
    height: 11px;
    margin: 0 4px 0 2px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: pt-dreht-b-anko84sgyf .8s linear infinite;
}

@keyframes pt-dreht-b-anko84sgyf {
    to { transform: rotate(360deg); }
}

/* Wer Bewegung abgeschaltet hat, bekommt einen ruhenden Ring - die Kachel sagt auch so, dass etwas läuft. */
@media (prefers-reduced-motion: reduce) {
    .pt-spinner[b-anko84sgyf] { animation: none; }
}

/* ---- Banner unter der Tour (11.11.2026) ----
   Vorgabe Bastian: "Der Banner zur Tour muss am besten schwebend unter der Tour stehen und dann mit einem X ausgeblendet
   werden können. Der Banner sollte im Kacheldesign sein." Eine NemesisKachel (blau, wie "Ausgewählte Reise") absolut im
   Raster, direkt unter dem Balken. Ebene 3 wie die Balken - es steht im Markup NACH ihnen und liegt so darüber, aber unter
   Zeilenkopf und Zeitachse (4-6), die beim Rollen kleben bleiben: sonst schöbe sich das Banner über die Fahrzeugnamen.
   Der kräftigere Schatten als bei einer ruhenden Kachel macht das "Schweben" sichtbar. Die Fläche der Kachel ist
   deckend (aus --nem-flaeche gemischt), darunterliegende Balken scheinen nicht durch. */
/* UEBER DEN SENDUNGEN (12.11.2026, Vorgabe Bastian): fixed statt absolut im Raster - die rollende Tafel schnitt die Karte an ihrer
   Unterkante ab. Lage und Breite setzt plantafel.js (bannerLage); bis dahin unsichtbar. Ebene 9: ueber gewaehltem Balken (6) und den
   klebenden Koepfen der Sendungstabelle (<= 6), unter dem gezogenen Balken (10), seiner Vorschau (11), dem Ladeskelett (40) und den
   Menues/Overlays (>= 1050). */
.pt-banner[b-anko84sgyf] {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9;
    visibility: hidden;
    cursor: default;
}

.pt-banner[data-gesetzt="1"][b-anko84sgyf] {
    visibility: visible;
}

.pt-banner[b-anko84sgyf]  .nem-kachel {
    margin: 0;
    box-shadow: 0 4px 16px color-mix(in srgb, var(--nem-kachel-akzent, #528EC2) 35%, rgba(0, 0, 0, .25));
}

.pt-banner-hinweis[b-anko84sgyf] {
    margin: 0 2px 4px 2px;
    color: var(--nem-schrift-gedimmt);
}

/* Etwas niedriger als die Vorratsliste - das Banner soll die Tafel nicht zudecken; rund sechs Zeilen. */
.pt-banner-tabelle[b-anko84sgyf] {
    display: flex;
    flex-direction: column;
    height: 230px;
    min-height: 0;
    min-width: 0;
}

/* ---- Teiler Tafel / Sendungen (11.11.2026) ----
   Wie der GridSplitter der Disposition (2 × 50 in der Akzentfarbe); die ganze 7-px-Spur fasst. */
.pt-teiler[b-anko84sgyf] {
    flex: 0 0 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: row-resize;
    user-select: none;
    touch-action: none;
}

.pt-teiler-griff[b-anko84sgyf] {
    display: block;
    width: 50px;
    height: 2px;
    background: var(--nem-akzent);
}

/* ---- Reisekarte (11.11.2026) ----
   Inhalt der früheren Kachel „Ausgewählte Reise“ plus Sendungen - im Banner und im Overlay dieselbe. */
.pt-karte[b-anko84sgyf] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
}

.pt-karte-daten[b-anko84sgyf] {
    margin: 0 2px 4px 2px;
}

.pt-karte-zeiten[b-anko84sgyf] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem;
    margin-bottom: 6px;
}

/* Im Overlay hat die Tabelle den Rest der Höhe. */
.pt-karte-overlay[b-anko84sgyf] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 8px 10px;
    min-height: 0;
}

.pt-karte-overlay-kopf[b-anko84sgyf] {
    margin-bottom: 4px;
}

.pt-karte-overlay .pt-karte[b-anko84sgyf] {
    flex: 1 1 auto;
}

.pt-karte-overlay .pt-banner-tabelle[b-anko84sgyf] {
    flex: 1 1 auto;
    height: auto;
}

/* Einstellungen-Overlay */
.pt-einstellung[b-anko84sgyf] {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    margin-top: 4px;
}

.pt-einstellung-hinweis[b-anko84sgyf] {
    margin: 2px 2px 8px 24px;
}

/* Entwurf einer neuen Reise: Warnung der Prüfung (Überschneidung) vor „Trotzdem anlegen“. */
.pt-karte-warnung[b-anko84sgyf] {
    color: var(--nem-warnung, #E7A229);
    font-weight: 600;
}

/* ==== Plantafel-Verbesserungen (11.11.2026, Auftrag Bastian „mache 1-8“) - Regeln in Abfertigung.Common.PlantafelRegeln ==== */

/* 1. Status: Streifen links (eigenes ::before - box-shadow hätte den Ring der gewählten Reise überschrieben), Zeichen vor dem
   Namen; angekommen = blasser. */
.pt-balken.pt-status-1[b-anko84sgyf]::before,
.pt-balken.pt-status-2[b-anko84sgyf]::before,
.pt-balken.pt-status-3[b-anko84sgyf]::before,
.pt-balken.pt-status-4[b-anko84sgyf]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    pointer-events: none;
}
.pt-balken.pt-status-1[b-anko84sgyf]::before { background: var(--nem-warnung, #E7A229); }
.pt-balken.pt-status-2[b-anko84sgyf]::before { background: var(--nem-erfolg, #4CAF50); }
.pt-balken.pt-status-3[b-anko84sgyf]::before { background: var(--nem-akzent, #528EC2); }
.pt-balken.pt-status-4[b-anko84sgyf]::before { background: var(--nem-schrift-gedimmt, #888); }
.pt-balken.pt-status-4[b-anko84sgyf] { opacity: .7; }
.pt-statuszeichen[b-anko84sgyf] { font-weight: 700; margin: 0 3px 0 2px; flex: 0 0 auto; }

/* 3. Lücken: gestrichelt, kaum gefüllt - keine Reise. */
.pt-luecke[b-anko84sgyf] {
    position: absolute;
    z-index: 2;
    border: 1px dashed color-mix(in srgb, var(--nem-akzent, #528EC2) 60%, transparent);
    background: color-mix(in srgb, var(--nem-akzent, #528EC2) 6%, transparent);
    border-radius: 2px;
    color: var(--nem-schrift-gedimmt);
    font-size: 11px;
    font-style: italic;
    padding: 2px 6px;
    overflow: hidden;
}

/* 4. Suche */
.pt-suche[b-anko84sgyf] { display: inline-flex; align-items: center; gap: 4px; }
.pt-suche input[b-anko84sgyf] { width: 190px; }
.pt-such-hinweis[b-anko84sgyf] { max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 5. Auslastung: Füllstand am unteren Rand des Balkens; „danach x %“ beim Ziehen. */
.pt-fuellstand[b-anko84sgyf] {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
    pointer-events: none;
}
.pt-ampel-1[b-anko84sgyf] { background: var(--nem-erfolg, #4CAF50); }
.pt-ampel-2[b-anko84sgyf] { background: var(--nem-warnung, #E7A229); }
.pt-ampel-3[b-anko84sgyf] { background: var(--nem-fehler, #D9534F); }
.pt-danach[b-anko84sgyf] {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 5px;
    border-radius: 3px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    pointer-events: none;
}

/* 6. Eignung beim Ziehen - über den Balken, fängt keine Maus. */
.pt-eignung[b-anko84sgyf] { position: absolute; z-index: 8; pointer-events: none; border-radius: 2px; }
.pt-eignung-frei[b-anko84sgyf] { background: color-mix(in srgb, var(--nem-erfolg, #4CAF50) 24%, transparent); }
.pt-eignung-platz[b-anko84sgyf] { background: color-mix(in srgb, var(--nem-erfolg, #4CAF50) 14%, transparent); }
.pt-eignung-knapp[b-anko84sgyf] { background: color-mix(in srgb, var(--nem-warnung, #E7A229) 22%, transparent); }
.pt-eignung-voll[b-anko84sgyf] { background: color-mix(in srgb, var(--nem-fehler, #D9534F) 22%, transparent); }
.pt-eignung-abwesend[b-anko84sgyf] { background: color-mix(in srgb, var(--nem-schrift-gedimmt, #888) 28%, transparent); }

/* 7. Spuren: schmale Balken - kleinere Schrift. */
.pt-balken.pt-spur[b-anko84sgyf] { font-size: 11px; }

/* 8. Tagesstand in der Zeitachse */
.pt-tagstand[b-anko84sgyf] { float: right; margin-right: 4px; font-size: 10px; font-weight: 400; opacity: .9; }
.pt-tagstand-leiste[b-anko84sgyf] {
    position: absolute;
    left: 4px;
    right: 4px;
    bottom: 1px;
    height: 3px;
    display: flex;
    background: color-mix(in srgb, currentColor 15%, transparent);
}
.pt-ts-belegt[b-anko84sgyf] { background: currentColor; }
.pt-ts-abwesend[b-anko84sgyf] { background: color-mix(in srgb, currentColor 45%, transparent); }

/* ==== Sendungen im Strahl und Reisekarte (11.11.2026) ==== */

/* Strahl „Sendungen“: das Band der Tour oben (Name, Status), darunter die Sendungsblöcke. */
.pt-strahl-sendungen .pt-balken[b-anko84sgyf] { align-items: flex-start; }
.pt-sendungsbloecke[b-anko84sgyf] {
    position: absolute;
    left: 0;
    right: 0;
    top: 17px;
    bottom: 4px;
    pointer-events: none;   /* Ziehen und Doppelklick gehören dem Balken - die Blöcke zeigen nur */
}
.pt-sendungsblock[b-anko84sgyf] {
    position: absolute;
    top: 0;
    bottom: 0;
    margin-left: 1px;
    padding: 1px 4px;
    border-radius: 2px;
    background: color-mix(in srgb, var(--nem-flaeche, #fff) 82%, transparent);
    color: var(--nem-schrift);
    border-left: 2px solid var(--nem-akzent, #528EC2);
    font-size: 11px;
    line-height: 1.25;
    overflow: hidden;
    pointer-events: auto;   /* für den Tooltip der Sendung */
}
.pt-sb-strecke[b-anko84sgyf], .pt-sb-menge[b-anko84sgyf] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-sb-menge[b-anko84sgyf] { color: var(--nem-schrift-gedimmt); }

/* Reisekarte: Kopf als Raster, Status-Leiste, Stationen + Zahlen, Reiter. */
.pt-karte-kopf[b-anko84sgyf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 6px;
    align-items: end;
    margin-bottom: 4px;
}
.pt-karte-knoepfe[b-anko84sgyf] { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.pt-karte-status[b-anko84sgyf] { display: flex; gap: 2px; margin: 4px 0 6px 0; flex-wrap: wrap; }
.pt-schritt[b-anko84sgyf] {
    padding: 1px 10px;
    font-size: 11px;
    border-radius: 10px;
    color: var(--nem-schrift-gedimmt);
    background: color-mix(in srgb, var(--nem-schrift-gedimmt, #888) 12%, transparent);
}
.pt-schritt-erledigt[b-anko84sgyf] { color: var(--nem-schrift); background: color-mix(in srgb, var(--nem-erfolg, #4CAF50) 22%, transparent); }
.pt-schritt-jetzt[b-anko84sgyf] { color: #fff; background: var(--nem-akzent, #528EC2); font-weight: 600; }
.pt-karte-mitte[b-anko84sgyf] { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 4px; }
.pt-karte-stationen[b-anko84sgyf] { flex: 1 1 320px; display: flex; flex-direction: column; gap: 1px; max-height: 96px; overflow-y: auto; }
.pt-station[b-anko84sgyf] { display: flex; gap: 6px; align-items: center; font-size: 12px; white-space: nowrap; }
.pt-station-symbol[b-anko84sgyf] { font-size: 15px; color: var(--nem-akzent, #528EC2); }
.pt-station-zeit[b-anko84sgyf] { min-width: 110px; }
.pt-station-ort[b-anko84sgyf] { font-weight: 600; }
.pt-station-name[b-anko84sgyf] { overflow: hidden; text-overflow: ellipsis; }
.pt-karte-zahlen[b-anko84sgyf] { flex: 0 1 auto; display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-start; font-size: 12px; }
.pt-zahl-negativ[b-anko84sgyf] { color: var(--nem-fehler, #D9534F); }
.pt-karte-reiter[b-anko84sgyf] { display: flex; gap: 2px; border-bottom: 1px solid var(--nem-kontur); margin: 2px 0 4px 0; }
.pt-karte-reiter button[b-anko84sgyf] {
    border: none;
    background: transparent;
    padding: 3px 12px;
    cursor: pointer;
    color: var(--nem-schrift-gedimmt);
    border-bottom: 2px solid transparent;
}
.pt-karte-reiter button.pt-reiter-aktiv[b-anko84sgyf] { color: var(--nem-schrift); border-bottom-color: var(--nem-akzent, #528EC2); font-weight: 600; }
.pt-karte-abrechnung[b-anko84sgyf] { overflow: auto; display: block; }
.pt-karte-abrechnung table[b-anko84sgyf] { width: 100%; border-collapse: collapse; font-size: 12px; }
.pt-karte-abrechnung th[b-anko84sgyf], .pt-karte-abrechnung td[b-anko84sgyf] { padding: 2px 6px; border-bottom: 1px solid var(--nem-kontur); text-align: left; }
.pt-karte-abrechnung .pt-zahl[b-anko84sgyf] { text-align: right; }
/* /Pages/Client/DispoSendungenFensterView.razor.rz.scp.css */
/* DER AUSGEDOCKTE SENDUNGSBEREICH (17.10.2026) - eigenes Browserfenster, deshalb füllt die Seite es ganz aus.
   Kein Ribbon, keine Reiterleiste: der Bereich soll so viel Platz haben wie möglich. */

.dispo-fenster[b-9lmvwz4ks6] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 0;
    padding: 4px;
    box-sizing: border-box;
}

.dispo-fenster-kopf[b-9lmvwz4ks6] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    padding: 2px 4px 4px 4px;
}

.dispo-fenster-titel[b-9lmvwz4ks6] {
    font-weight: 600;
}

.dispo-fenster-hinweis[b-9lmvwz4ks6] {
    margin-left: auto;
}

/* Der Bereich selbst nimmt den Rest - die Pott-Tabellen haben eine Höhenkette bis hierher. */
.dispo-fenster[b-9lmvwz4ks6]  .dispo-bereich-pools {
    flex: 1 1 auto;
    min-height: 0;
}

/* Die Plantafel-Variante nutzt dieselben Klassen (eigene scoped Datei, siehe dort). */
/* /Pages/Client/DispoSendungenTabelle.razor.rz.scp.css */
/* SENDUNGSTABELLE DER DISPOSITION (DispoSendungenTabelle) - die Regeln ihres eigenen Markups stehen hier bei der Komponente
   (17.10.2026): Sie läuft in der Disposition UND in der Plantafel (Rückmeldung Bastian "Die Sendungstabelle in der Plantafel ist
   nicht dieselbe wie in der Dispo"). Die Regeln in DispositionView.razor.css greifen nur unter .dispo-wurzel - in der Plantafel
   hätten die Merkmal-Symbole sonst ihre Originalgröße. Werte 1:1 wie dort (Symbole 20 px bzw. 18 px, Zusatztext 10 px). */

/* Hülle = Ablagefläche des Potts; das Grid füllt sie. */
.dispo-pool[b-4p1u89y0g1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Avis-Haken (Auswahl1) mittig. */
.dispo-pool[b-4p1u89y0g1]  td.dispo-mitte {
    text-align: center;
}

/* Merkmale (Symbole + Zusatztext wie die Gefahrgutklasse). */
.dispo-pool[b-4p1u89y0g1]  .dispo-merkmale {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dispo-pool[b-4p1u89y0g1]  .dispo-symbol {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
}

.dispo-pool[b-4p1u89y0g1]  .dispo-symbol18 {
    width: 18px;
    height: 18px;
    object-fit: contain;
    vertical-align: middle;
}

.dispo-pool[b-4p1u89y0g1]  .dispo-symbol-text {
    font-size: calc(var(--nem-schriftgroesse) - 2px);
}

/* Ziehbare Zeilen (ZeilenZiehbar) zeigen die Hand. */
.dispo-pool[b-4p1u89y0g1]  .ndg-tabelle > tbody > tr[draggable="true"] {
    cursor: grab;
}
/* /Pages/Client/DispoSendungsbereich.razor.rz.scp.css */
/*  CSS DES SENDUNGSBEREICHS (20.10.2026) - und zwar HIER, nicht in der Seite.

    WARUM DIESE DATEI ES BRAUCHT: Bereichs-CSS wird mit der Scope-Marke seiner Datei übersetzt
    (.dispo-knopfleiste[b-xxx]). Stand eine Regel in DispositionView.razor.css, traf sie die Elemente dieser
    Komponente nicht mehr, nachdem das Markup am 17.10.2026 hierher gewandert war - genau daran hingen der
    verlorene Gitterplatz des Bereichs (Befund Bastian 20.10.2026: "ich kann dort nur die Sendungen sehen,
    Ladeeinheiten, Fahrzeugsendungen sind nicht mehr sichtbar") und die verrutschte Knopfleiste.

    UND: Diese Komponente läuft in ZWEI Wirten - in der Disposition und im ausgedockten Fenster
    (DispoSendungenFensterView). Das Fenster hat das CSS der Disposition gar nicht. Alles, was der Bereich für
    sich selbst braucht, gehört deshalb hierher; in der Seite bleibt nur, was die SEITE angeht: der Platz im
    Gitter (dort über ::deep ab .dispo-wurzel).

    Ein paar Regeln (Reiterkette, Reiterbild, Pott-Kopf) stehen bewusst ZWEIMAL: in der Seite für ihre eigenen
    Reiter des Fahrzeug-Detailbereichs und hier für die des Sendungsbereichs. Sie in das globale Stylesheet zu
    heben wäre der dritte Weg - dafür sind sie zu speziell. */

.dispo-bereich-pools[b-45o35emz0c] {
    position: relative;   /* Anker der absolut liegenden Knopfleiste */
    min-width: 0;
    min-height: 0;
}

/* ---------- Reiter füllen ihre Fläche (TabControl im Flex/Grid) ---------- */
[b-45o35emz0c] .dispo-reiter-tabs {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

[b-45o35emz0c] .dispo-reiter-tabs > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 2px 0 0 0;
}

[b-45o35emz0c] .dispo-reiter-tabs > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    padding: 0;
}

/* Reiterköpfe brechen um, wenn der Platz nicht reicht; der einzelne Kopf bricht nie um. */
[b-45o35emz0c] .dispo-reiter-tabs > .rz-tabview-nav {
    flex-wrap: wrap;
    /* Platz für die Knopfleiste rechts in der Reiterzeile. */
    padding-right: 140px;
}

[b-45o35emz0c] .dispo-reiter-tabs > .rz-tabview-nav > li {
    flex: 0 0 auto;
    white-space: nowrap;
}

[b-45o35emz0c] .dispo-reiter-text {
    white-space: pre;
}

[b-45o35emz0c] .dispo-reiter-bild {
    width: 15px;
    height: 15px;
    vertical-align: middle;
}

/* ---------- Pott-Reiter: der Kopf ist Ablageziel ---------- */
[b-45o35emz0c] .dispo-pott-kopf {
    display: inline-flex;
    align-items: center;
    padding: 1px 2px;
    border-radius: 3px;
}

/* ---------- Knopfleiste rechts in der Reiterzeile (Auto, Nachladen, Suche, Ab-/Andocken) ---------- */
.dispo-knopfleiste[b-45o35emz0c] {
    position: absolute;
    top: 2px;
    right: 6px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 4px;
    min-height: 28px;
}

.dispo-knopfleiste .nem-haken[b-45o35emz0c] {
    margin-right: 2px;
}

/* ---------- Bildknöpfe der Knopfleiste ----------
   Dieselbe Optik wie in der Disposition (dort .dispo-wurzel ::deep .dispo-bildknopf). Auch das gehört hierher:
   im ausgedockten Fenster gibt es keine .dispo-wurzel, und ohne diese Regeln wären Nachladen, Suche und
   Andocken nackte Browserknöpfe. nem-haken ("Auto") kommt aus dem globalen Stylesheet und braucht nichts. */
.dispo-knopfleiste .dispo-bildknopf[b-45o35emz0c] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.dispo-knopfleiste .dispo-bildknopf:hover[b-45o35emz0c] {
    background: var(--nem-reiter-flaeche);
}

.dispo-knopfleiste .dispo-bildknopf > img[b-45o35emz0c] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* /Pages/Client/DispositionView.razor.rz.scp.css */
/* DISPOSITION (11.10.2026) - Nachbau der WPF-DispositionView (Disposition.R2). Gilt für die Seite und ihre Dispo-Komponenten
   (DispoFilterLeiste, DispoLadeeinheitenTabelle, DispoFahrzeugTabelle, DispoSendungenTabelle) - deshalb ::deep unter
   .dispo-wurzel. Die Tabellen sind NemesisDataGrids (16.10.2026): Tabellenbild, Zeilenfarben, Summen, feste Spalten und Laden
   bringt das Grid mit - hier stehen nur die Zellinhalte (Balken, Merkmale, Auswahlfelder) und die Ablageziele. Nur Hausfarben (--nem-*), gemischte Töne per color-mix: so stimmen Hell und Dunkel ohne zweite Regel.
   Die Desktop-Farben der Balken (#F5D274/#EF9E9E, ausgewählt #2F6C90/#B07A12/#A33B3B) sind aus Warnung/Fehler/Akzent
   gemischt. */

/* ---------- Raster = hauptGitter: Spalten Auto · 5 · * · Auto, Zeilen Auto · * · 5 · 1* (Werte im Stil der Seite) ---------- */
.dispo-wurzel[b-9fdx5jfd0m] {
    position: relative;
    display: grid;
    height: 100%;
    min-height: 560px;
    overflow: hidden;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
}

.dispo-bereich-filter[b-9fdx5jfd0m] {
    grid-column: 1 / 4;
    grid-row: 1;
    min-width: 0;
}

.dispo-bereich-le[b-9fdx5jfd0m] {
    grid-column: 1;
    grid-row: 2 / 5;
    margin-top: 3px;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.dispo-bereich-detail[b-9fdx5jfd0m] {
    grid-column: 3;
    grid-row: 2;
    min-width: 0;
    min-height: 0;
}

/*  ::deep IST HIER PFLICHT (20.10.2026, Befund Bastian "ich kann dort nur die Sendungen sehen, Ladeeinheiten,
    Fahrzeugsendungen sind nicht mehr sichtbar"): Seit dem 17.10.2026 rendert die KOMPONENTE
    DispoSendungsbereich dieses div, nicht mehr die Seite. Bereichs-CSS wird mit der Scope-Marke der Seite
    übersetzt (.dispo-bereich-pools[b-xxx]) - und die trägt ein Element in einer Kindkomponente nicht. Die Regel
    griff also nicht mehr, der Bereich verlor seine Gitterzuordnung und wurde automatisch in die freie,
    AUTO-breite Spalte 4 gesetzt (die Hinweisleiste, die ohne Hinweise nichts belegt). Dort zog er mit den
    Sendungstabellen die Spaltenbreite auf und quetschte Ladeeinheiten (Spalte 1) und Fahrzeugbereich (Spalte 3)
    auf null - sichtbar blieben nur die Sendungen.

    MERKSATZ: Wandert Markup in eine Komponente, muss sein CSS mit - entweder in die CSS-Datei der Komponente
    oder, wie hier, über ::deep ab einem Element, das noch der Seite gehört (.dispo-wurzel). Der Rest dieser
    Datei macht es seit dem 16.10.2026 für die Tabellen-Komponenten genauso.  */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-bereich-pools {
    position: relative;
    grid-column: 3;
    grid-row: 4;
    min-width: 0;
    min-height: 0;
}

.dispo-bereich-hinweise[b-9fdx5jfd0m] {
    grid-column: 4;
    grid-row: 1 / 5;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ---------- Splitter: 2×50 bzw. 50×2 in der Akzentfarbe (GridSplitter), die ganze 5-px-Spur fasst ---------- */
.dispo-splitter[b-9fdx5jfd0m] {
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    touch-action: none;
}

.dispo-splitter-senkrecht[b-9fdx5jfd0m] {
    grid-column: 2;
    grid-row: 1 / 5;
    cursor: col-resize;
}

.dispo-splitter-waagrecht[b-9fdx5jfd0m] {
    grid-column: 3;
    grid-row: 3;
    cursor: row-resize;
}

.dispo-splitter-griff[b-9fdx5jfd0m] {
    display: block;
    background: var(--nem-akzent);
}

.dispo-splitter-senkrecht > .dispo-splitter-griff[b-9fdx5jfd0m] {
    width: 2px;
    height: 50px;
}

.dispo-splitter-waagrecht > .dispo-splitter-griff[b-9fdx5jfd0m] {
    width: 50px;
    height: 2px;
}

/* Fangfläche während des Ziehens: liegt ab der linken (senkrecht) bzw. oberen Kante (waagrecht) über dem Bereich. */
.dispo-splitter-flaeche[b-9fdx5jfd0m] {
    position: relative;
    z-index: 30;
    background: transparent;
}

.dispo-splitter-flaeche.senkrecht[b-9fdx5jfd0m] {
    grid-column: 1 / 4;
    grid-row: 2 / 5;
    cursor: col-resize;
}

.dispo-splitter-flaeche.waagrecht[b-9fdx5jfd0m] {
    grid-column: 3;
    grid-row: 2 / 5;
    cursor: row-resize;
}

/* ---------- Reiter füllen ihre Zelle (TabControl im Grid) ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-tabs {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-tabs > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 2px 0 0 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-tabs > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    padding: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-text {
    white-space: pre;
}

/* Reiterköpfe: reicht der Platz nicht, brechen sie in eine weitere Reihe um - wie das TabPanel des Desktops
   (NemesisReiter ersetzt die Vorlage des TabControls nicht). Der einzelne Kopf bricht nie um. */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-tabs > .rz-tabview-nav {
    flex-wrap: wrap;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-tabs > .rz-tabview-nav > li {
    flex: 0 0 auto;
    white-space: nowrap;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-bild {
    width: 15px;
    height: 15px;
    vertical-align: middle;
}

/* Der Platz für die Knopfleiste in der Reiterzeile der Pötte steht jetzt in DispoSendungsbereich.razor.css -
   dort, wo das Markup liegt, und damit auch im ausgedockten Fenster wirksam. */

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-reiter-inhalt {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-leerflaeche {
    height: 100%;
}

/*  SCHLEIER EINES REITERS, DEM DIE LADEEINHEIT FEHLT (05.11.2026, Vorgabe Bastian "Setze ein Overlay darüber
    wie z.B. bei Nemesis.Documentum wenn nicht gespeichert ist").

    Gegenstück zum Hinweis "Noch nicht gespeichert" in Nemesis.Documentum (DocumentView.xaml) und zum Schleier
    des Desktop-Reiters: Schwarz mit 35 % Deckkraft über dem ganzen Inhalt - Grau wäre im Dunkelmodus nicht von
    einem Fehler zu unterscheiden -, darauf eine Kachel. Der Schleier fängt auch die Klicks ab; was darunter
    liegt, ist ohne Ladeeinheit nicht bedienbar.

    Die Hülle braucht `position: relative`, sonst läge der Schleier an der Maske und nicht am Reiter. */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre-huelle {
    position: relative;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.35);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre-kachel {
    max-width: 460px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre-inhalt {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 4px 2px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre-bild {
    font-size: 34px;
    color: var(--nem-akzent);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sperre-titel {
    font-weight: 600;
    margin-bottom: 4px;
}

/* ---------- Knopfleiste rechts in der Reiterzeile (Margin 0,2,6,0, ZIndex 10) ---------- */
/* Die Knopfleiste des Sendungsbereichs steht jetzt in DispoSendungsbereich.razor.css (sie gehört zu dessen
   Markup und muss auch im ausgedockten Fenster sitzen). */

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-bildknopf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-bildknopf:hover {
    background: var(--nem-reiter-flaeche);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-bildknopf > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Abgedockte Hinweise: der Streifen mit dem Weg zurück (wie beim Sendungsbereich). */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-abgedockt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 2px 1px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-textknopf {
    height: var(--nem-feld-hoehe);
    padding: 0 10px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-textknopf:hover {
    background: var(--nem-knopf-hover);
}

/* ---------- FilterView: drei Kacheln ohne Kopf in einer Reihe ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-filter {
    display: flex;
    align-items: stretch;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-filter-kachel {
    flex: 0 0 auto;
    justify-content: center;
}

/* "Abwesend" gibt Breite ab - die Chips brechen dann um (höchstens 58 hoch, danach Bildlauf). */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-filter-kachel.dispo-filter-abwesend {
    flex: 0 1 auto;
    min-width: 160px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-filter-kachel > .nem-kachel-inhalt {
    display: flex;
    align-items: center;
    padding-top: 3px;
    padding-bottom: 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-filter-reihe {
    display: flex;
    align-items: center;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-datum {
    width: 122px;
    height: var(--nem-zeile);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-verkehrsart {
    width: 108px;
    height: var(--nem-zeile);
    margin-left: 6px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-plus {
    width: var(--nem-zeile);
    height: var(--nem-zeile);
    margin-left: 8px;
    padding: 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-knopf {
    display: flex;
    align-items: center;
    max-width: 420px;
    padding: 0 2px;
    font: inherit;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-knopf > img {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-text {
    margin-left: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-abwesend {
    display: flex;
    align-items: center;
    min-width: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-abwesend-titel {
    flex: 0 0 auto;
    margin-right: 6px;
    font-weight: 600;
    color: var(--nem-akzent);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-abwesend-keine {
    font-style: italic;
    color: var(--nem-schrift-gedimmt);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-chips {
    display: flex;
    flex-wrap: wrap;
    max-height: 58px;
    overflow-y: auto;
    padding-top: 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-chip {
    margin: 0 4px 3px 0;
    padding: 1px 5px;
    white-space: nowrap;
    background: var(--nem-zeilen-kopf);
    border: 1px solid var(--nem-kontur);
    border-radius: 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-chip > b {
    font-weight: 600;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-chip-fahrzeug {
    background: color-mix(in srgb, var(--nem-warnung) 12%, var(--nem-flaeche));
    border-color: var(--nem-warnung);
}

/* ---------- Tabellen der Dispo (NemesisDataGrid): Hülle = Ablagefläche, das Grid füllt sie ----------
   Die Hülle der Sendungstabelle (.dispo-pool) und ihre Zellregeln stehen seit 17.10.2026 bei der Komponente
   (DispoSendungenTabelle.razor.css) - die Plantafel nutzt dieselbe Tabelle. */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-le {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Auswahlfelder der Ladeeinheit (Rel./Tour/Fahrer/Kennzeichen) - im Web zunächst lesend, Pfeil gedimmt. */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-combo {
    display: flex;
    align-items: center;
    width: 100%;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-combo::after {
    content: "▾";
    margin-left: auto;
    padding-left: 6px;
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    color: var(--nem-schrift-gedimmt);
    opacity: .55;
}

/* ---------- Kapazitäts- und Scanbalken (Text rechts, 4-px-Balken unten) ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .ndg-tabelle > tbody > tr > td.dispo-balken-zelle {
    padding: 1px 2px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: var(--nem-feld-hoehe);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-text {
    position: relative;
    z-index: 1;
    padding: 0 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-spur {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--nem-deaktiviert-flaeche);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-fuellung {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: var(--nem-akzent);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-warnung .dispo-balken-fuellung {
    background: color-mix(in srgb, var(--nem-warnung) 65%, white);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-ueber .dispo-balken-fuellung {
    background: color-mix(in srgb, var(--nem-fehler) 55%, white);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-balken-voll .dispo-balken-fuellung {
    background: color-mix(in srgb, var(--nem-erfolg) 70%, black);
}

/* In der markierten Zeile: Spur durchsichtig, kräftige Füllungen. */
.dispo-wurzel[b-9fdx5jfd0m]  tr.table-active .dispo-balken-spur {
    background: transparent;
}

.dispo-wurzel[b-9fdx5jfd0m]  tr.table-active .dispo-balken-fuellung {
    background: var(--nem-akzent-tiefer);
}

.dispo-wurzel[b-9fdx5jfd0m]  tr.table-active .dispo-balken-warnung .dispo-balken-fuellung {
    background: color-mix(in srgb, var(--nem-warnung) 75%, black);
}

.dispo-wurzel[b-9fdx5jfd0m]  tr.table-active .dispo-balken-ueber .dispo-balken-fuellung {
    background: color-mix(in srgb, var(--nem-fehler) 75%, black);
}

/* ---------- Merkmale (Symbole 20 px, Zusatztext 10) ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-merkmale {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-symbol {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-symbol18 {
    width: 18px;
    height: 18px;
    object-fit: contain;
    vertical-align: middle;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-symbol-text {
    font-size: calc(var(--nem-schriftgroesse) - 2px);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-vorlaeufig {
    font-weight: 700;
    color: var(--nem-fehler);
}

/* ---------- Fahrzeug-Detail (SendungenFahrzeugView) ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz-kopf {
    margin: 4px 6px;
    white-space: pre;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: calc(var(--nem-schriftgroesse) + 1px);
    font-weight: 700;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz-leer {
    padding: 12px 8px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
}

/* Kleine Abfertigungsliste links (NemesisDataGrid ohne Leiste): so hoch wie ihr Inhalt, höchstens bis unten. */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz-abfertigungen {
    flex: 0 0 auto;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    max-width: 280px;
    max-height: calc(100% - var(--nem-zeile));
    margin-top: var(--nem-zeile);
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-fhz-rechts {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ---------- Pott-Reiter: Kopf ist Drop-Ziel ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-pott-kopf {
    display: inline-flex;
    align-items: center;
    padding: 1px 2px;
    border-radius: 3px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sammelpdf {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 8px;
    padding: 0 2px;
    cursor: pointer;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-sammelpdf > img {
    width: 14px;
    height: 14px;
}

/* ---------- Ziehen & Ablegen (Optik): Drop-Ziele sichtbar, solange gezogen wird ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-drop-ziel {
    outline: 2px dashed color-mix(in srgb, var(--nem-akzent) 55%, transparent);
    outline-offset: -2px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-drop-ueber {
    outline: 2px solid var(--nem-akzent);
    background-color: var(--nem-akzent-schleier);
}

/* Zeilen der Ladeeinheiten (ZeilenKlasse): nur die Zeile unter der Maus wird hervorgehoben (wie der Drop-Adorner des Desktops) -
   über Zebra, Datenfläche und Auswahl des Grids; ohne den Rahmen der Flächen. */
.dispo-wurzel[b-9fdx5jfd0m]  .ndg-tabelle > tbody > tr.dispo-drop-ueber {
    outline: none;
}

.dispo-wurzel[b-9fdx5jfd0m]  .ndg-tabelle > tbody > tr.dispo-drop-ueber > td {
    background-color: var(--nem-akzent-schleier);
    box-shadow: inset 0 2px 0 var(--nem-akzent), inset 0 -2px 0 var(--nem-akzent);
}

/* Ziehbare Zeilen (ZeilenZiehbar) zeigen die Hand. */
.dispo-wurzel[b-9fdx5jfd0m]  .ndg-tabelle > tbody > tr[draggable="true"] {
    cursor: grab;
}

/* ---------- Hinweis-Leiste rechts (NemesisKachel "Hinweise", Status Warnung, Breite 320) ---------- */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-kachel {
    flex: 1 1 auto;
    width: 320px;
    min-height: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-kachel > .nem-kachel-inhalt {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-knoepfe {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-bottom: 4px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-liste {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-hinweis-eintrag {
    margin-bottom: 4px;
    padding: 3px 6px;
    white-space: pre-wrap;
    background: color-mix(in srgb, var(--nem-warnung) 12%, var(--nem-flaeche));
    border: 1px solid var(--nem-warnung);
    border-radius: 3px;
}

/* ---------- Reiter Karte (Tasks: NemesisDataGrid mit Fehlerstreifen, keine eigenen Regeln mehr) ---------- */

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-karte-leiste {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-karte-flaeche {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- Rückfrage des Zuordnens (17.10.2026) ----
   Absätze wie in der Plantafel (Leerzeile = Abstand), die Knöpfe darunter rechts. */
.dispo-frage[b-9fdx5jfd0m] {
    margin: 0 0 .75rem 0;
    white-space: pre-wrap;
}

.dispo-frage-abstand[b-9fdx5jfd0m] {
    height: .4rem;
}

.dispo-frage-knoepfe[b-9fdx5jfd0m] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}

/* ---- Kachel "Abwesend" als Weg ins Erfassen-Overlay (17.10.2026) ----
   Auch hier ::deep: die Kachel steht in der Komponente DispoFilterLeiste (dieselbe Falle wie oben - ohne ::deep
   fehlte der Zeiger und die Unterstreichung, der Klick selbst lief). */
.dispo-wurzel[b-9fdx5jfd0m]  .dispo-abwesend-klick {
    cursor: pointer;
}

.dispo-wurzel[b-9fdx5jfd0m]  .dispo-abwesend-klick:hover .dispo-abwesend-titel {
    text-decoration: underline;
}

/* ---- Sendungsbereich ausgedockt (17.10.2026): Streifen mit dem Weg zurück ---- */
.dispo-ausgedockt[b-9fdx5jfd0m] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px;
}

.dispo-ausgedockt-text[b-9fdx5jfd0m] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--nem-schrift-gedimmt);
}

.dispo-ausgedockt-text img[b-9fdx5jfd0m] {
    width: 16px;
    height: 16px;
}
/* /Pages/Client/DispoStandzeitenOverlay.razor.rz.scp.css */
/* STANDZEITEN EINER LADEEINHEIT (25.10.2026) - links die Sendungen zum Anhaken, rechts die Standgeld-Zeilen. Nur Palette. */

.dispo-standzeiten[b-382m30suc7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-standzeiten-teile[b-382m30suc7] {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 6px;
    flex: 1 1 auto;
    min-height: 0;
}

.dispo-standzeiten-liste[b-382m30suc7] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow-y: auto;
    max-height: 100%;
}

.dispo-standzeiten-zeile[b-382m30suc7] {
    display: grid;
    grid-template-columns: 20px 120px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
}

.dispo-standzeiten-zeile span[b-382m30suc7] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.dispo-standzeiten-nummer[b-382m30suc7] {
    font-weight: 600;
}

.dispo-standzeiten-knoepfe[b-382m30suc7] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
/* /Pages/Client/DispoSuchTrefferAuflage.razor.rz.scp.css */
/* TREFFERAUFLAGE DER SCHNELLSUCHE (25.10.2026) - liegt über dem Sendungsbereich (absolut im .dispo-bereich-pools), nicht über der Maske. */

.dispo-suchtreffer[b-pfzzeests6] {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-akzent);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.dispo-suchtreffer-kopf[b-pfzzeests6] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 6px;
    border-bottom: 1px solid var(--nem-rahmen);
}

.dispo-suchtreffer-titel[b-pfzzeests6] {
    font-weight: 600;
}

.dispo-suchtreffer-zu[b-pfzzeests6] {
    margin-left: auto;
    width: 24px;
    height: var(--nem-feld-hoehe);
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--nem-schrift);
    cursor: pointer;
    border-radius: var(--nem-radius);
}

.dispo-suchtreffer-zu:hover[b-pfzzeests6] {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.dispo-suchtreffer-liste[b-pfzzeests6] {
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/DokumentVersandView.razor.rz.scp.css */
/* DOKUMENTENVERSAND – links die Konfigurationen (300), rechts die Details; die drei Listen bekommen eine
   Mindesthöhe wie im Desktop (MinHeight 220), damit der Freitext darunter sie nicht zusammenschiebt. */
.dvv-maske[b-ewipx2jz5y] {
    display: flex;
    flex-direction: row;
    height: 100%;
    min-height: 0;
}

.dvv-liste[b-ewipx2jz5y] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.dvv-details[b-ewipx2jz5y] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

/* Hinweis, solange nichts gewählt ist (Desktop: Border über dem Detailbereich). */
.dvv-leer[b-ewipx2jz5y] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    font-size: 15px;
    text-align: center;
    color: var(--nem-schrift-gedimmt);
    background: var(--nem-flaeche);
}

/* Kopf: 120 | 220 | 10 | 120 | 220 | Rest, drei Zeilen à 26 */
.dvv-kopf[b-ewipx2jz5y] {
    display: grid;
    grid-template-columns: 120px 220px 10px 120px 220px minmax(0, 1fr);
    grid-auto-rows: var(--nem-zeile);
    align-items: center;
    column-gap: 0;
    row-gap: 2px;
    flex: 0 0 auto;
}

.dvv-kopf > select[b-ewipx2jz5y],
.dvv-kopf > input[type="date"][b-ewipx2jz5y] {
    width: 100%;
}

.dvv-kopf-haken[b-ewipx2jz5y] {
    grid-column: 6;
    margin-left: 10px;
}

.dvv-listen[b-ewipx2jz5y] {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 220px;
    margin-top: 4px;
}

.dvv-mitte[b-ewipx2jz5y] {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    min-width: 0;
}

.dvv-fotos[b-ewipx2jz5y] {
    flex: 0 0 24px;
    display: flex;
    align-items: center;
}

.dvv-freitext[b-ewipx2jz5y] {
    display: flex;
    flex-direction: row;
    flex: 0 0 auto;
    min-height: 200px;
    margin-top: 4px;
}

/* eMail-Text: Beschriftung 70 | Feld, Betreff 26 hoch, Text füllend */
.dvv-text[b-ewipx2jz5y] {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile) minmax(0, 1fr);
    align-items: center;
    flex: 1 1 auto;
    min-height: 0;
}

.dvv-text-oben[b-ewipx2jz5y] {
    align-self: start;
    padding-top: 4px;
}

.dvv-textfeld[b-ewipx2jz5y] {
    width: 100%;
    height: 100%;
    min-height: 120px;
    resize: vertical;
}
/* /Pages/Client/EinlagerungSchnellErfassungView.razor.rz.scp.css */
/* SCHNELLERFASSUNG – Vorgabenzeile oben, Tabelle darunter (Abstand 5 wie im Desktop). */
.esev-maske[b-o50snto5sy] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.esev-kopf[b-o50snto5sy] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    flex: 0 0 auto;
    gap: 2px;
}

/* Statustext auf gedämpfter Fläche (Desktop: NemesisHoverFlaeche). */
.esev-status[b-o50snto5sy] {
    margin-left: 10px;
    padding: 2px 6px;
    background: var(--nem-hover-flaeche);
}

.esev-tabelle[b-o50snto5sy] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
}

/* Die Farbfelder der Vorlage: hellblau = Eingabe, hellgrün = Ergebnis; Schrift dunkel wie im Desktop. */
.esev-maske[b-o50snto5sy]  td.esev-blau,
.esev-maske[b-o50snto5sy]  td.esev-blau input {
    background: LightBlue;
    color: #222528;
}

.esev-maske[b-o50snto5sy]  td.esev-gruen,
.esev-maske[b-o50snto5sy]  td.esev-gruen input {
    background: LightGreen;
    color: #222528;
}
/* /Pages/Client/EntladeberichtFotoAuswahlOverlay.razor.rz.scp.css */
/* FOTOAUSWAHL VOR DEM DRUCK (17.10.2026) - Karten wie im Desktop (Rand 4, Polster 4, Breite 210, Vorschau 180 x 135, Schrift 11 der
   Beschriftung). Nur Palette. Die grosse Vorschau liegt ueber der rechten Seite der Flaeche und faengt keine Maus. */

.ebf-flaeche[b-c16mscxjuj] {
    position: relative;
    height: 100%;
    min-height: 0;
}

.ebf-karten[b-c16mscxjuj] {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    height: 100%;
    padding: 8px;
    box-sizing: border-box;
    overflow: auto;
}

.ebf-karte[b-c16mscxjuj] {
    display: flex;
    flex-direction: column;
    width: 210px;
    margin: 4px;
    padding: 4px;
    box-sizing: border-box;
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    background: var(--nem-flaeche);
}

.ebf-gewaehlt[b-c16mscxjuj] {
    border-color: var(--nem-akzent);
}

.ebf-haken[b-c16mscxjuj] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    cursor: pointer;
}

.ebf-haken > span[b-c16mscxjuj] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--nem-schrift-gedimmt);
}

.ebf-bild[b-c16mscxjuj] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 135px;
    margin: 4px 0;
    align-self: center;
}

.ebf-bild > img[b-c16mscxjuj] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ebf-ohne[b-c16mscxjuj] {
    color: var(--nem-schrift-gedimmt);
}

.ebf-text[b-c16mscxjuj] {
    max-width: 190px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    white-space: pre-line;
    overflow-wrap: anywhere;
}

/* Grosse Vorschau (Desktop: ToolTip mit ~700 px, Verzoegerung 250 ms). */
.ebf-gross[b-c16mscxjuj] {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    max-width: min(700px, calc(100% - 16px));
    max-height: calc(100% - 16px);
    padding: 2px;
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .35);
    pointer-events: none;
    opacity: 0;
    animation: ebf-zeigen-b-c16mscxjuj 1ms linear 250ms forwards;
}

.ebf-gross > img[b-c16mscxjuj] {
    display: block;
    max-width: min(700px, 100%);
    max-height: calc(80vh - 120px);
    object-fit: contain;
}

@keyframes ebf-zeigen-b-c16mscxjuj {
    to {
        opacity: 1;
    }
}

.ebf-zahl[b-c16mscxjuj] {
    margin-left: 10px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift-gedimmt);
}

button[b-c16mscxjuj] {
    white-space: nowrap;
}

button:disabled[b-c16mscxjuj] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Client/EntladeberichtPdfOverlay.razor.rz.scp.css */
/* REPORT DES ENTLADEBERICHTS IM OVERLAY (17.10.2026) - der iframe fuellt den Inhalt der Overlay-Karte. Nur Palette. */

.ebp-flaeche[b-xes35s0d21] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.ebp-rahmen[b-xes35s0d21] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

.ebp-knopfbild[b-xes35s0d21] {
    width: 16px;
    height: 16px;
}

button[b-xes35s0d21] {
    white-space: nowrap;
}

button:disabled[b-xes35s0d21] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

button:disabled img[b-xes35s0d21] {
    opacity: .5;
}
/* /Pages/Client/EntladeberichtView.razor.rz.scp.css */
/* ENTLADEBERICHT (17.10.2026) - Nachbau UcEntladebericht im Overlay des Bordero-Eingangs. Nur Palette (var(--nem-...)), keine festen
   Farben; Raster und Hoehen aus der XAML. Die Maske fuellt die Overlay-Karte: Kopf und Detailkachel fest, die Positionen nehmen den Rest. */

.ebv-maske[b-32pmymvhef] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Eingebettet ohne eigenes MaskenOverlay (ImOverlay = false): Menue als Leiste oben, Inhalt fuellt den Rest. */
.ebv-eingebettet[b-32pmymvhef] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.ebv-eingebettet-leiste[b-32pmymvhef] {
    flex: 0 0 auto;
}

.ebv-eingebettet-inhalt[b-32pmymvhef] {
    flex: 1 1 auto;
    min-height: 0;
    padding: 6px;
    overflow: auto;
}

/* Knopfbild der Leiste (Speichern = unloading.png wie im Desktop-Eingang). */
.ebv-knopfbild[b-32pmymvhef] {
    width: 16px;
    height: 16px;
}

/* Inline-Fehler rot, Warnzeile der Ueberzaehligen in der Warnfarbe (Desktop #B8860B, halbfett). */
.ebv-fehler[b-32pmymvhef] {
    flex: 0 0 auto;
    margin: 0 0 6px 0;
    color: var(--nem-fehler);
    white-space: pre-wrap;
}

.ebv-uez-hinweis[b-32pmymvhef] {
    flex: 0 0 auto;
    margin: 0 0 6px 0;
    color: var(--nem-warnung);
    font-weight: 600;
    white-space: pre-wrap;
}

/* Kopf-Raster wie die XAML: Spalten 110|140|110|140|110|140|*, Zeilen 26/26/26/52. */
.ebv-kopf[b-32pmymvhef] {
    grid-template-columns: 110px 140px 110px 140px 110px 140px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile) var(--nem-zeile) var(--nem-zeile) 52px;
}

.ebv-label-oben[b-32pmymvhef] {
    align-self: start;
    padding-top: 4px;
}

/* FP / GB Entladung: zwei Felder mit 4 px Abstand in einer Spalte. */
.ebv-paar[b-32pmymvhef] {
    display: flex;
    gap: 4px;
    min-width: 0;
}

.ebv-paar > input[b-32pmymvhef] {
    flex: 1 1 0;
}

/* Hinweistext mehrzeilig ueber die Zeile von 52 px. */
.ebv-hinweistext[b-32pmymvhef] {
    align-self: stretch;
    height: 48px;
    margin: 2px 0;
    padding: 2px 4px;
    resize: none;
}

/* Haken "Status ... in alle Sendungen eintragen" (Rand 6 links, darf umbrechen). */
.ebv-haken[b-32pmymvhef] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    margin: 0 0 0 6px;
    line-height: 13px;
    color: var(--nem-schrift);
    cursor: pointer;
}

.ebv-haken > input[b-32pmymvhef] {
    flex: 0 0 auto;
    margin: 0;
}

/* Positionen fuellen die Hoehe zwischen Kopf und Detailkachel (Rand 5 oben wie die XAML). */
.ebv-positionen[b-32pmymvhef] {
    flex: 1 1 auto;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    margin-top: 5px;
}

/* Statusbloecke 2-4: drei Zeilen + Kopf. */
.ebv-bloecke[b-32pmymvhef] {
    height: 112px;
    display: flex;
    flex-direction: column;
}

.ebv-zahl[b-32pmymvhef] {
    text-align: right;
}

/* Kontextmenue am Mauszeiger (wie das Kontextmenue des Bordero-Eingangs), ueber der Overlay-Karte. */
.ebv-kontext-schleier[b-32pmymvhef] {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: transparent;
}

.ebv-kontext[b-32pmymvhef] {
    position: fixed;
    z-index: 1061;
    min-width: 220px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
    user-select: none;
}

.ebv-kontext-eintrag[b-32pmymvhef] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 10px;
    white-space: nowrap;
    cursor: pointer;
}

.ebv-kontext-eintrag:hover[b-32pmymvhef] {
    background: var(--nem-tabelle-hover);
}

/* Leiste: Beschriftungen nicht umbrechen; deaktivierte Knoepfe voll deckend wie im Desktop. */
button[b-32pmymvhef] {
    white-space: nowrap;
}

button:disabled[b-32pmymvhef] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

button:disabled img[b-32pmymvhef] {
    opacity: .5;
}
/* /Pages/Client/FrachtfuehrerOverlay.razor.rz.scp.css */
/* FRACHTFUEHRER / TRANSPORTAUFTRAG (16.10.2026) - Raster 1:1 aus UcFrachtfuehrer.xaml: Spalten 350 | 5 | *, Zeilen * | 5 | *.
   Die Kacheln fuellen ihre Zelle; die Be- und Entladehinweise sind wie in der XAML 320 breit und links. Nur Palette. */
.ff-raster[b-z9zp7feex0] {
    display: grid;
    grid-template-columns: 350px 5px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) 5px minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    padding: 2px;
    box-sizing: border-box;
}

.ff-raster[b-z9zp7feex0]  .ff-oben-links {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    margin: 0;
}

.ff-raster[b-z9zp7feex0]  .ff-oben-rechts {
    grid-column: 3;
    grid-row: 1;
    min-height: 0;
    min-width: 0;
    margin: 0;
}

.ff-raster[b-z9zp7feex0]  .ff-unten-links {
    grid-column: 1;
    grid-row: 3;
    min-height: 0;
    margin: 0;
}

.ff-raster[b-z9zp7feex0]  .ff-unten-rechts {
    grid-column: 3;
    grid-row: 3;
    justify-self: start;
    align-self: stretch;
    width: 320px;
    margin: 0;
}

/* Bemerkungen: mehrzeilig, fuellt die Kachel (AcceptsReturn, VerticalAlignment Stretch). */
.ff-bemerkungen[b-z9zp7feex0] {
    flex: 1 1 auto;
    width: 100%;
    min-height: 60px;
    box-sizing: border-box;
    resize: none;
    padding: 3px 4px;
    line-height: 16px;
}

.ff-knopfbild[b-z9zp7feex0] {
    width: 16px;
    height: 16px;
}

/* Deaktivierter „Transportauftrag“ (ungespeicherte Sendung) voll deckend wie im Desktop. */
button:disabled[b-z9zp7feex0] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
    white-space: nowrap;
}
/* /Pages/Client/FremdbestandAuslagerungenView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-wjo8hhe23e] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-wjo8hhe23e]  .best-tabelle,
.best-tabelle[b-wjo8hhe23e] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-wjo8hhe23e] {
    width: 560px;
}

.best-abfrage[b-wjo8hhe23e] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-wjo8hhe23e],
.einzel-overlay[b-wjo8hhe23e] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-wjo8hhe23e]  .einzel-tabelle,
.einzel-overlay[b-wjo8hhe23e]  .einzel-tabelle,
.einzel-tabelle[b-wjo8hhe23e] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-wjo8hhe23e]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-wjo8hhe23e] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/GefahrgutErfassenView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-vz0pw8l2tp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-vz0pw8l2tp]  .best-tabelle,
.best-tabelle[b-vz0pw8l2tp] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-vz0pw8l2tp] {
    width: 560px;
}

.best-abfrage[b-vz0pw8l2tp] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-vz0pw8l2tp],
.einzel-overlay[b-vz0pw8l2tp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-vz0pw8l2tp]  .einzel-tabelle,
.einzel-overlay[b-vz0pw8l2tp]  .einzel-tabelle,
.einzel-tabelle[b-vz0pw8l2tp] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-vz0pw8l2tp]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-vz0pw8l2tp] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}

/* Gefahrgut erfassen: ADR-Suche und Details nebeneinander. */
.gg-reihe[b-vz0pw8l2tp] {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
}
/* /Pages/Client/GeloeschtePositionenView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-b30ac6102u] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-b30ac6102u]  .best-tabelle,
.best-tabelle[b-b30ac6102u] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-b30ac6102u] {
    width: 560px;
}

.best-abfrage[b-b30ac6102u] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-b30ac6102u],
.einzel-overlay[b-b30ac6102u] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-b30ac6102u]  .einzel-tabelle,
.einzel-overlay[b-b30ac6102u]  .einzel-tabelle,
.einzel-tabelle[b-b30ac6102u] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-b30ac6102u]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-b30ac6102u] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/HallenCheckView.razor.rz.scp.css */
/* HALLENCHECK (11.10.2026) - Raster wie HallenCheckView.xaml: Zeilen Auto | * | * | *, darunter die Statusleiste.
   Die drei Tabellen teilen sich den Platz zu gleichen Teilen, der Filter nimmt nur, was er braucht. Farben nur aus der
   Palette (var(--nem-...)), Kachel- und Tabellenbild aus nemesis-design.css. */
.hc-maske[b-w75zz3o722] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto repeat(3, minmax(0, 1fr)) auto;
    height: 100%;
    min-height: 600px;
    box-sizing: border-box;
}

/* Kacheln im Raster: duerfen kleiner werden als ihr Inhalt - die Tabelle scrollt in der Kachel. */
.hc-maske[b-w75zz3o722]  .nem-kachel {
    min-height: 0;
}

/* Filter: StackPanel waagrecht - Label "Datum", DatePicker, Label "bis", DatePicker. */
.hc-filter[b-w75zz3o722] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
}

.hc-datum[b-w75zz3o722] {
    width: 130px;
}

/* Symbolspalten (Abholauftrag, Avis, Lieferinfo): Bilder 12 x 12 wie in der XAML. Die Tabellen selbst sind
   NemesisDataGrids (16.10.2026) - sie fuellen die Kachel und rollen selbst. */
.hc-symbol[b-w75zz3o722] {
    width: 12px;
    height: 12px;
    vertical-align: middle;
}
/* /Pages/Client/HistorieNeuerEintragOverlay.razor.rz.scp.css */
/* OVERLAY „NEUER HISTORIE-EINTRAG“ (17.10.2026) - Raster wie HistorieNeuerEintragView.xaml: Rand 10, Beschriftung 110 | Feld *,
   Zeilen 90 (Ereignis) | 30 | 30 | 30 | 30. Felder .nem-feld (22 hoch, Schrift 12), Farben nur aus der Palette. */
.hne-form[b-pp1l33pffz] {
    position: relative;
    padding: 10px;
}

.hne-raster[b-pp1l33pffz] {
    grid-template-columns: 110px minmax(0, 1fr);
    grid-template-rows: 90px repeat(4, 30px);
}

/* Beschriftung des Ereignistexts oben wie das Label der XAML (VerticalAlignment="Top"). */
.hne-oben[b-pp1l33pffz] {
    align-self: start;
}

/* Mehrzeilig wie die TextBox mit AcceptsReturn/TextWrapping - fuellt die Zeile (90) bis auf den Abstand. */
.hne-ereignis[b-pp1l33pffz] {
    align-self: stretch;
    height: 86px;
    margin-bottom: 4px;
    padding: 3px 4px;
    line-height: 16px;
    resize: none;
}

.hne-zeit[b-pp1l33pffz] {
    display: flex;
    gap: 2px;
    min-width: 0;
}

.hne-tag[b-pp1l33pffz] {
    flex: 0 0 130px;
}

.hne-uhrzeit[b-pp1l33pffz] {
    flex: 0 0 70px;
}

.hne-haken[b-pp1l33pffz] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 5px;
    cursor: pointer;
    color: var(--nem-schrift);
}

.hne-meldung[b-pp1l33pffz] {
    margin: 6px 0 0 0;
}

.hne-fehler[b-pp1l33pffz] {
    color: var(--nem-fehler);
    font-weight: 600;
}

/* Unsichtbarer Absendeknopf: Enter in einem Feld = Speichern. */
.hne-absenden[b-pp1l33pffz] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
    opacity: 0;
}
/* /Pages/Client/InventurView.razor.rz.scp.css */
/* INVENTUR (17.10.2026) - Nachbau von InventurView samt Kopf, Positionen, Auswertung nach Artikel und
   dem Einlesen aus einer Datei. Nur die Höhenkette und die Mehrzeiler des Kopfes. */

.inventur-maske[b-3h6pzh6qxq],
.inventur-suche[b-3h6pzh6qxq] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.inventur-maske[b-3h6pzh6qxq]  .inventur-mehrzeilig {
    width: 100%;
    height: 100%;
    min-height: 70px;
    resize: none;
    padding: 2px 4px;
}

.inventur-hauptreiter[b-3h6pzh6qxq] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0 2px 2px 2px;
}

.inventur-maske[b-3h6pzh6qxq]  .rz-tabview-panels,
.inventur-maske[b-3h6pzh6qxq]  .rz-tabview-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.inventur-maske[b-3h6pzh6qxq]  .inventur-tabelle,
.inventur-suche[b-3h6pzh6qxq]  .inventur-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* ---------- Einlesen aus einer Datei ---------- */

.inventur-maske[b-3h6pzh6qxq]  .inventur-import {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 8px;
}

.inventur-maske[b-3h6pzh6qxq]  .inventur-import-kopf {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.inventur-maske[b-3h6pzh6qxq]  .inventur-import-unten {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

.inventur-maske[b-3h6pzh6qxq]  .inventur-import-tabelle,
.inventur-maske[b-3h6pzh6qxq]  .inventur-import-vorschau {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

/* Datei wählen sieht aus wie ein Knopf (das InputFile selbst ist verborgen). */
.inventur-maske[b-3h6pzh6qxq]  .nem-knopf-datei {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: var(--nem-zeile);
    padding: 0 10px;
    cursor: pointer;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
}
/* /Pages/Client/KommissionierungAnzeigeStandaloneView.razor.rz.scp.css */
/* KOMMISSIONIERVERLAUF (17.10.2026) - Filter links (2*, mindestens 600) und die Summen rechts (1*) wie
   die XAML; die Liste darunter füllt die Höhe. */

.kommi-anzeige[b-qtdy8b4799]  .kommi-anzeige-filter {
    display: flex;
    align-items: stretch;
}

.kommi-anzeige[b-qtdy8b4799]  .kommi-anzeige-filter-links {
    flex: 2 1 600px;
    min-width: 600px;
}

.kommi-anzeige[b-qtdy8b4799]  .kommi-anzeige-filter-rechts {
    flex: 1 1 0;
    min-width: 0;
}

.kommi-anzeige[b-qtdy8b4799]  .kommi-anzeige-suche {
    display: flex;
    flex-direction: column;
    padding: 3px;
}
/* /Pages/Client/KommissionierungErzeugenDialog.razor.rz.scp.css */
/* Rückfrage „Kommissionierung erzeugen" – Rand 20, Knöpfe rechts mit 10 Abstand (wie im Desktop). */
.ked-maske[b-sv9ehvytqe] {
    display: flex;
    flex-direction: column;
    padding: 20px;
    min-width: 420px;
    max-width: 560px;
}

.ked-knoepfe[b-sv9ehvytqe] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

.ked-knopf[b-sv9ehvytqe] {
    min-width: 110px;
    padding: 4px 10px;
}
/* /Pages/Client/KommissionierungFindenView.razor.rz.scp.css */
/* KOMMISSIONIERUNGSSUCHE (17.10.2026) - Filter oben fest und waagerecht rollbar (der Filter ist breiter
   als manches Fenster, XAML: ScrollViewer um die Kachel), Trefferliste füllt den Rest. */

.kommi-suche[b-8edj140z2g]  .kommi-filter-rollbar {
    flex: 0 0 auto;
    overflow-x: auto;
    overflow-y: hidden;
}

.kommi-suche[b-8edj140z2g]  .kommi-filter {
    display: flex;
    align-items: flex-start;
    min-width: 640px;
}

.kommi-suche[b-8edj140z2g]  .kommi-filter-links {
    display: flex;
    flex-direction: column;
    width: 370px;
    flex: 0 0 auto;
}

.kommi-suche[b-8edj140z2g]  .kommi-status-liste {
    display: flex;
    flex-direction: column;
    max-height: 220px;
    overflow-y: auto;
    gap: 2px;
}
/* /Pages/Client/KommissionierungView.razor.rz.scp.css */
/* KOMMISSIONIERUNG (17.10.2026) - Nachbau von KommissionierungView samt Kopf, Quellware und Zielware.
   Nur, was über die Hausregeln hinausgeht: Höhenkette bis zu den Tabellen, das petrol-Band des Kopfes,
   die kopierbare Nummer der verknüpften Lagerungen und die Ebenenfarben der Mengenspalten. */

.kommi-maske[b-nrkjtu93ah],
.kommi-suche[b-nrkjtu93ah],
.kommi-anzeige[b-nrkjtu93ah] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* ---------- Kopf ---------- */

.kommi-maske[b-nrkjtu93ah]  .kommi-kopf {
    display: flex;
    align-items: flex-start;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-kopf-raster {
    flex: 1 1 auto;
    min-width: 0;
}

/* Band „Kommissionierung ist vorberechnet" - Petrol mit weißer Schrift wie die XAML. */
.kommi-maske[b-nrkjtu93ah]  .kommi-band {
    background: #216477;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    padding: 0 6px;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-verknuepfungen {
    display: flex;
    flex-direction: column;
    max-height: 80px;
    overflow-y: auto;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-verknuepfung {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Nummer markier- und kopierbar, sieht aber aus wie Text (XAML: TextBox IsReadOnly, Grund durchsichtig). */
.kommi-maske[b-nrkjtu93ah]  .kommi-nummer {
    width: 100px;
    border: 0;
    background: transparent;
    color: var(--nem-schrift);
    padding: 0;
    font: inherit;
}

/* Stand der DFÜ-Ausgabe: eigene 26er-Zeile wie die XAML. */
.kommi-dfu[b-nrkjtu93ah] {
    height: var(--nem-zeile);
    display: flex;
    align-items: center;
    padding: 0 5px;
    flex: 0 0 auto;
    color: var(--nem-schrift-gedimmt);
}

/* ---------- Reiter und Tabellen ---------- */

.kommi-hauptreiter[b-nrkjtu93ah] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 0 2px 2px 2px;
}

.kommi-maske[b-nrkjtu93ah]  .rz-tabview-panels,
.kommi-maske[b-nrkjtu93ah]  .rz-tabview-panel,
.kommi-anzeige[b-nrkjtu93ah]  .rz-tabview-panels,
.kommi-anzeige[b-nrkjtu93ah]  .rz-tabview-panel {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-tabelle,
.kommi-suche[b-nrkjtu93ah]  .kommi-tabelle,
.kommi-anzeige[b-nrkjtu93ah]  .kommi-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-zuordnungen,
.kommi-anzeige[b-nrkjtu93ah]  .kommi-zuordnungen {
    margin: 2px 0 6px 24px;
}

.kommi-maske[b-nrkjtu93ah]  .kommi-symbol,
.kommi-anzeige[b-nrkjtu93ah]  .kommi-symbol {
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

/* Ebenenfarben der Mengenspalten - feste Signalfarben wie im Desktop (dunkle Schrift in beiden Modi). */
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-1,
.kommi-anzeige[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-1 { background: #90EE90; color: #222528; }
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-2,
.kommi-anzeige[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-2 { background: #ADD8E6; color: #222528; }
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-3,
.kommi-anzeige[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-3 { background: #FA8072; color: #222528; }
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-4,
.kommi-anzeige[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-4 { background: #DEB887; color: #222528; }
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-5,
.kommi-anzeige[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-ebene-5 { background: #FAFAD2; color: #222528; }

/* Sammel-Zuordnung: die Quell-NVE hebt der Desktop hervor - mehrere Packstücke gehen in eines. */
.kommi-maske[b-nrkjtu93ah]  .ndg-tabelle > tbody > tr > td.kommi-sammel {
    font-weight: 600;
    color: #216477;
}
/* /Pages/Client/KommissionierungZielAuswahlView.razor.rz.scp.css */
/* ZIELAUSWAHL DER KOMMISSIONIERUNG – Ergebnis und Fehler oben, dann Zusammenfassung, Wege und Liste. */
.kzav-maske[b-iej5kglzgw] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Ergebniszeile: Bereich 130 | Nummer 150 | Zusatz – feste Breiten, damit die Spalten fluchten. */
.kzav-ergebnis[b-iej5kglzgw] {
    display: grid;
    grid-template-columns: 130px 150px minmax(0, 1fr);
    align-items: center;
    margin-bottom: 2px;
}

/* Nummer: markierbar, aber ohne Feldoptik, fett. */
.kzav-nummer[b-iej5kglzgw] {
    border: 0;
    background: transparent;
    padding: 0;
    font-weight: bold;
    color: inherit;
}

.kzav-hinweis[b-iej5kglzgw],
.kzav-text[b-iej5kglzgw] {
    white-space: pre-wrap;
    margin-top: 6px;
}

.kzav-auswahl[b-iej5kglzgw] {
    font-weight: bold;
    font-size: 14px;
    flex: 0 0 auto;
}

.kzav-einleitung[b-iej5kglzgw] {
    margin-top: 4px;
    flex: 0 0 auto;
}

.kzav-wege[b-iej5kglzgw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kzav-berechnen[b-iej5kglzgw] {
    margin-top: 10px;
}

.kzav-liste[b-iej5kglzgw] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.kzav-suche[b-iej5kglzgw] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 4px;
}

.kzav-suche > input[b-iej5kglzgw] {
    flex: 1 1 auto;
}
/* /Pages/Client/KuehlgutMessungView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-kxqi13adh1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-kxqi13adh1]  .best-tabelle,
.best-tabelle[b-kxqi13adh1] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-kxqi13adh1] {
    width: 560px;
}

.best-abfrage[b-kxqi13adh1] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-kxqi13adh1],
.einzel-overlay[b-kxqi13adh1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-kxqi13adh1]  .einzel-tabelle,
.einzel-overlay[b-kxqi13adh1]  .einzel-tabelle,
.einzel-tabelle[b-kxqi13adh1] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-kxqi13adh1]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-kxqi13adh1] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/KundenKonfigurationSuperuserView.razor.rz.scp.css */
/* SUPERUSER-KUNDENKONFIGURATION – links die Kundenliste (460 wie im Desktop), rechts die Einstellungen. */
.kks-maske[b-xm62m6sprf] {
    display: flex;
    flex-direction: row;
    min-height: 0;
}

.kks-liste[b-xm62m6sprf] {
    display: flex;
    flex-direction: column;
    flex: 0 0 460px;
    width: 460px;
    min-height: 0;
}

.kks-einstellungen[b-xm62m6sprf] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    margin-left: 5px;
}

/* Kopf: Lagerkunde fett und eine Nummer größer (Desktop: FontSize 15, Bold). */
.kks-kopf[b-xm62m6sprf] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: bold;
    flex: 0 0 auto;
    margin-bottom: 4px;
}

.kks-mails[b-xm62m6sprf] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.kks-zeilen[b-xm62m6sprf] {
    display: flex;
    flex-direction: column;
}

.kks-text[b-xm62m6sprf] {
    width: 240px;
}

/* „SC" = den Code wertet der Scanner aus (wie die Marke der Kundenkonfiguration, nur schmaler). */
.kks-scanner[b-xm62m6sprf] {
    flex: 0 0 28px;
    width: 28px;
    text-align: center;
    color: #FFFFFF;
    background: DodgerBlue;
    border-radius: 2px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
}
/* /Pages/Client/KundenKonfigurationView.razor.rz.scp.css */
/* KUNDENKONFIGURATION DES LAGERS (17.10.2026) - Kacheln wie im Desktop: je Reiter eine umbrechende Reihe
   gleich breiter Einstellungskacheln, darunter die großen Kacheln mit Tabellen. Der Reiter rollt senkrecht,
   waagerecht nie (sonst bricht in den Kacheln nichts um). */

.kk-maske[b-7pp415vu4p] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.kk-kopf[b-7pp415vu4p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
}

.kk-kopf-spalte[b-7pp415vu4p] {
    display: flex;
    flex-direction: column;
}

/* Reiterleiste: viele Reiter, deshalb umbrechend statt rollend (31 Stück passen in keine Zeile). */
.kk-reiterleiste[b-7pp415vu4p] {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 auto;
    margin: 0 2px;
    gap: 2px 0;
}

.kk-inhalt[b-7pp415vu4p] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 2px;
}

.kk-maske[b-7pp415vu4p]  .kk-reiter {
    display: flex;
    flex-direction: column;
}

/* Reiter mit eingebetteter MASKE statt Code-Kacheln (Dokumentenversand): sie füllt die Höhe des Reiters,
   damit ihre Listen rollen und nicht die ganze Seite. */
.kk-maske[b-7pp415vu4p]  .kk-reiter-fuellend {
    flex: 1 1 auto;
    min-height: 420px;
    height: 100%;
}

.kk-maske[b-7pp415vu4p]  .kk-reihe {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

/* Die großen Kacheln (Tabellen, Unterreiter) stehen in eigener Reihe unter den Einstellungen. */
.kk-maske[b-7pp415vu4p]  .kk-reihe-gross {
    margin-top: 8px;
}

/* Eine Zeile einer Kachel: vorne die Code-Marke (60 breit, mittig), dahinter die Einstellung. */
.kk-maske[b-7pp415vu4p]  .kk-zeile {
    display: flex;
    align-items: center;
    min-height: 24px;
    margin: 1px 0;
    gap: 8px;
}

.kk-maske[b-7pp415vu4p]  .kk-marke,
.kk-maske[b-7pp415vu4p]  .kk-marke-orange {
    flex: 0 0 60px;
    width: 60px;
    text-align: center;
    color: #FFFFFF;
    font-size: var(--nem-schriftgroesse);
    line-height: var(--nem-feld-hoehe);
}

.kk-maske[b-7pp415vu4p]  .kk-marke {
    background: dodgerblue;
}

/* ORANGE: für den Code wurde in Desktop, WebApp und Mobil-App keine auswertende Stelle gefunden. */
.kk-maske[b-7pp415vu4p]  .kk-marke-orange {
    background: #E7A229;
}

.kk-maske[b-7pp415vu4p]  .kk-feld {
    flex: 1 1 auto;
    min-width: 0;
}

/* Langer Hakentext bricht in der Kachel um, statt sie zu sprengen. */
.kk-maske[b-7pp415vu4p]  .kk-hakentext {
    white-space: normal;
}

.kk-maske[b-7pp415vu4p]  .kk-kopfsymbol {
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

/* Rote Zeile in einer Kachel, wenn eine Einstellung so nicht funktioniert (z. B. 6804 = 6805: die Freigabe
   würde das Vorläufig nicht entfernen). Dieselbe Farbe wie die Fehlermeldungen des Hauses. */
.kk-maske[b-7pp415vu4p]  .kk-warnung {
    color: #D9534F;
    white-space: normal;
}

/* Beschriftung VOR der Einstellung - nur für Kacheln mit mehreren Zeilen (6809: Empfänger, Intervall,
   Zuletzt versendet). Breite wie das Label der XAML (180), damit die Felder untereinander stehen. */
.kk-maske[b-7pp415vu4p]  .kk-label {
    flex: 0 0 180px;
    width: 180px;
}

/* Nur-Anzeige-Wert in einer Zeile (z. B. „Zuletzt versendet" - den Versandstand schreibt der Nexport). */
.kk-maske[b-7pp415vu4p]  .kk-anzeige {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--nem-schrift-gedimmt, #777777);
}

/* UNTERREITER (19.10.2026): „Dynamischer Inhalt" hat im Desktop eine senkrechte Reiterleiste LINKS
   (TabStripPlacement="Left"), die Kachel „eMail-Benachrichtigung und Pflichtfelder" im Reiter Auslagerung
   eine waagerechte. Vorher waren beide Gruppen auf die oberste Reiterleiste gerutscht. */
.kk-maske[b-7pp415vu4p]  .kk-unterreiter-links {
    display: flex;
    align-items: stretch;
    gap: 8px;
    height: 100%;
    min-height: 0;
}

.kk-maske[b-7pp415vu4p]  .kk-unterreiterleiste-links {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 230px;
    gap: 2px;
    overflow-y: auto;
}

/* Senkrecht gestapelte Reiter: linksbündig und umbrechend - die Namen sind lang
   („Rückmeldungen für eing. Einlagerungen"). */
.kk-maske[b-7pp415vu4p]  .kk-unterreiterleiste-links .nem-reiterkachel-reiter {
    text-align: left;
    white-space: normal;
}

.kk-maske[b-7pp415vu4p]  .kk-unterreiter-inhalt {
    flex: 1 1 auto;
    min-width: 0;
    overflow: auto;
}

/* Waagerechte Unterreiterleiste innerhalb einer Kachel. */
.kk-maske[b-7pp415vu4p]  .kk-unterreiterleiste {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: 4px 0 6px 0;
}
/* /Pages/Client/LabelAnzahlView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-hf3vhwsuts] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-hf3vhwsuts]  .best-tabelle,
.best-tabelle[b-hf3vhwsuts] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-hf3vhwsuts] {
    width: 560px;
}

.best-abfrage[b-hf3vhwsuts] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-hf3vhwsuts],
.einzel-overlay[b-hf3vhwsuts] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-hf3vhwsuts]  .einzel-tabelle,
.einzel-overlay[b-hf3vhwsuts]  .einzel-tabelle,
.einzel-tabelle[b-hf3vhwsuts] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-hf3vhwsuts]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-hf3vhwsuts] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/LageplanView.razor.rz.scp.css */
/* LAGEPLAN (17.10.2026) - Kopfzeile im Grau der Spaltenköpfe, Werkzeuge links, Eigenschaften rechts, die
   Zeichenfläche dazwischen (SVG, rollbar). */

.plan-maske[b-rn01mq7r9v] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.plan-kopf[b-rn01mq7r9v] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px;
    background: var(--nem-spaltenkopf);
    color: #FFFFFF;
    flex: 0 0 auto;
}

.plan-kopf-label[b-rn01mq7r9v] {
    color: #FFFFFF;
}

.plan-unten[b-rn01mq7r9v] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

.plan-maske[b-rn01mq7r9v]  .plan-flaeche {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 4px;
}

.plan-svg[b-rn01mq7r9v] {
    display: block;
}

.plan-grund[b-rn01mq7r9v] {
    fill: var(--nem-flaeche);
    stroke: var(--nem-kontur);
    stroke-width: 1;
}

.plan-regal[b-rn01mq7r9v] {
    stroke: var(--nem-kontur);
    stroke-width: 1;
    cursor: pointer;
}

.plan-wand[b-rn01mq7r9v] {
    stroke: var(--nem-schrift);
    stroke-width: 1;
    cursor: pointer;
}

.plan-ap[b-rn01mq7r9v] {
    fill: var(--nem-akzent);
    cursor: pointer;
}

.plan-text[b-rn01mq7r9v] {
    fill: var(--nem-schrift);
    font-size: var(--nem-schriftgroesse);
    cursor: pointer;
}

/* Das gewählte Element bekommt den Akzentrahmen - wie die Selektion der Tabellen. */
.plan-gewaehlt[b-rn01mq7r9v] {
    stroke: var(--nem-akzent);
    stroke-width: 2;
}

/* Klickfläche über einem Textelement - unsichtbar, nur zum Wählen. */
.plan-textklick[b-rn01mq7r9v] {
    fill: transparent;
    cursor: pointer;
}
/* /Pages/Client/LagerAdminStellplatzView.razor.rz.scp.css */
/* Stellplätze: Reiter füllen den Tab, Inhalt Filterkachel | 5 | Tabelle (Zeilen Auto | 5 | *). Nur Palettenvariablen. */
.lsv-maske[b-ovhwbyi4c8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
    padding: 2px;
}

.lsv-maske[b-ovhwbyi4c8]  > .rz-tabview {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.lsv-maske[b-ovhwbyi4c8]  > .rz-tabview > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.lsv-maske[b-ovhwbyi4c8]  > .rz-tabview > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
}

.lsv-reiterinhalt[b-ovhwbyi4c8] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* WrapPanel des Filters: Gruppen mit Rand 0,2,24,2, Beschriftung gedämpft (Rand rechts 8), Felder 56 x 26. */
.lsv-filter[b-ovhwbyi4c8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.lsv-gruppe[b-ovhwbyi4c8] {
    display: inline-flex;
    align-items: center;
    margin: 2px 24px 2px 0;
}

.lsv-gruppe-letzte[b-ovhwbyi4c8] {
    margin-right: 0;
}

.lsv-l[b-ovhwbyi4c8] {
    margin-right: 8px;
}

.lsv-bis[b-ovhwbyi4c8] {
    margin: 0 8px;
}

.lsv-feld[b-ovhwbyi4c8] {
    width: 56px;
    height: var(--nem-zeile);
}
/* /Pages/Client/LagerAuftragAnzeigeView.razor.rz.scp.css */
/* WIDGET AUFTRAGSANZEIGE – Tabelle füllend, Leerzustand mittig, Erweitern-Symbol unten rechts. */
.laa-widget[b-5pds1rxqad] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.laa-leer[b-5pds1rxqad] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    color: var(--nem-schrift-gedimmt);
}

.laa-erweitern[b-5pds1rxqad] {
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 28px;
    height: 28px;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

/* Fortschritt: Zahl | Balken (2 hoch) | Zahl – wie die ProgressBar des Desktops. */
.laa-fortschritt[b-5pds1rxqad] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 4px;
}

.laa-zahl[b-5pds1rxqad] {
    width: var(--nem-zeile);
    text-align: right;
}

.laa-balken[b-5pds1rxqad] {
    position: relative;
    flex: 1 1 auto;
    height: 2px;
    background: var(--nem-flaeche);
}

.laa-balken-wert[b-5pds1rxqad] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: var(--nem-akzent);
}

.laa-balken-wert.laa-fertig[b-5pds1rxqad] {
    background: #27AE60;
}
/* /Pages/Client/LagerAuslagerungenView.razor.rz.scp.css */
.left-item[b-7vjwit9ka7] {
    width: 140px;
}

.left-right[b-7vjwit9ka7] {
    width: 140px;
}

.left-item-sm[b-7vjwit9ka7] {
    width: 110px;
}

.left-right-sm[b-7vjwit9ka7] {
    width: 140px;
}

/* /Pages/Client/LagerAuslagerungListeFilter.razor.rz.scp.css */
/* LagerungFilterView (ohne Kachel, mit den vier Listen) - Raster wie die ColumnDefinitions der XAML. Nur Palettenvariablen. */
.lalf-raster[b-9amxrrszl9] {
    display: grid;
    grid-template-columns: 100px 228px 5px 90px 205px 5px 80px 165px 5px auto;
    grid-template-rows: repeat(7, var(--nem-zeile)) auto;
    align-items: center;
    min-width: max-content;
}

/* StackPanel Horizontal (Datum von - bis, Artikel + Lupe + Text). */
.lalf-stapel[b-9amxrrszl9] {
    display: flex;
    align-items: center;
    min-width: 0;
}

/* Spalte 2 und 3: StackPanel mit Zeilen zu 26, Beschriftung und Feld mit festen Breiten (Col2/Col3 des ViewModels). */
.lalf-spalte[b-9amxrrszl9] {
    display: flex;
    flex-direction: column;
    align-self: start;
}

.lalf-zeile[b-9amxrrszl9] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
}

.lalf-l[b-9amxrrszl9] {
    flex: 0 0 var(--lalf-label);
    width: var(--lalf-label);
}

.lalf-f[b-9amxrrszl9] {
    flex: 0 0 var(--lalf-feld);
    width: var(--lalf-feld);
}

/* Die vier GroupBoxes über alle sieben Zeilen (7 x 26 = 182). */
.lalf-listen[b-9amxrrszl9] {
    display: flex;
    align-self: stretch;
    height: 182px;
}

.lalf-listen[b-9amxrrszl9]  .lalf-liste {
    display: flex;
    flex-direction: column;
    height: 182px;
    margin: 0 2px;
    box-sizing: border-box;
}

.lalf-listen[b-9amxrrszl9]  .lalf-liste > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0;
}

/* Die Haken-Liste (NemesisDataGrid) füllt die Kachel und rollt selbst. */
.lalf-liste-inhalt[b-9amxrrszl9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* „bis" zwischen zwei Datumsfeldern: nicht kürzen. */
.lalf-bis[b-9amxrrszl9] {
    flex: 0 0 auto;
    overflow: visible;
}

/* Kopf der Listen-Kacheln: Titel und „ausschliessen" müssen in 210 passen (Desktop: Label + CheckBox im Header). */
.lalf-listen[b-9amxrrszl9]  .lalf-liste .nem-kachel-titel {
    font-size: var(--nem-schriftgroesse);
}
/* /Pages/Client/LagerAuslagerungListenView.razor.rz.scp.css */
/* Auslagerungsliste: Filter oben (waagerecht scrollbar wie der ScrollViewer des Desktops), Tabelle füllt den Rest. */
.lal-maske[b-q6bi4uwdz9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 520px;
    padding: 2px;
}

.lal-filter[b-q6bi4uwdz9] {
    flex: 0 0 auto;
    overflow-x: auto;
    overflow-y: hidden;
}
/* /Pages/Client/LagerBestandView.razor.rz.scp.css */
/* LAGERBESTAND (BestandR2View): Raster * x (Auto | *) - Filterkachel oben, Reiter darunter bis zum Seitenende.
   Nur Palettenvariablen; die Signalfarben der MHD-Ampel und der Filterwarnung wie im Desktop über die Zustandsfarben. */
.lbv-maske[b-q4xgw6j6zt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 560px;
    padding: 2px;
}

/* Filterwarnung direkt neben dem Titel (Desktop: rotes Schild, weiße Schrift, Rundung 3). */
.lbv-maske[b-q4xgw6j6zt]  .lbv-filterkachel .nem-kachel-kopf-rechts {
    margin-left: 10px;
}

.lbv-filterwarnung[b-q4xgw6j6zt] {
    padding: 1px 6px 2px 6px;
    font-weight: normal;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-fehler);
    border-radius: 3px;
}

/* Filter: 776 | 5 | * */
.lbv-filter[b-q4xgw6j6zt] {
    display: grid;
    grid-template-columns: 776px 5px minmax(0, 1fr);
    align-items: start;
    overflow-x: auto;
}

.lbv-filter-links[b-q4xgw6j6zt],
.lbv-filter-rechts[b-q4xgw6j6zt] {
    min-width: 0;
}

/* Suche: 100 100 25 100 | 5 | 100 126 | 5 | 100 100, Zeilen 7 x 25 + 27 */
.lbv-suche[b-q4xgw6j6zt] {
    grid-template-columns: 100px 100px 25px 100px 5px 100px 126px 5px 100px 100px;
    grid-template-rows: repeat(7, 25px) 27px;
}

/* Erweitere Suche: 100 100 100 25 | 5 | 100 100 | 5 | 100 100 */
.lbv-erweitert[b-q4xgw6j6zt] {
    grid-template-columns: 100px 100px 100px 25px 5px 100px 100px 5px 100px 100px;
    grid-template-rows: repeat(7, 25px) 27px;
}

/* Kleine Tabellen der Erweiterten Suche: das NemesisDataGrid füllt die fünf Rasterzeilen und rollt selbst. */
.lbv-erweitert-liste[b-q4xgw6j6zt] {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
}

/* StackPanels der Suche (Beschriftung/Feld mit festen Breiten). */
.lbv-stapel[b-q4xgw6j6zt] {
    display: flex;
    flex-direction: column;
    align-self: start;
}

.lbv-zeile[b-q4xgw6j6zt] {
    display: flex;
    align-items: center;
    height: 25px;
}

.lbv-l[b-q4xgw6j6zt] {
    flex: 0 0 var(--lbv-label);
    width: var(--lbv-label);
}

.lbv-f[b-q4xgw6j6zt] {
    flex: 0 0 var(--lbv-feld);
    width: var(--lbv-feld);
}

/* Kleiner Knopf im Reiterkopf (Filter leeren, Abbrechen) - als span, der Kopf ist kein button. */
.lbv-kopfknopf[b-q4xgw6j6zt] {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    cursor: pointer;
}

.lbv-kopfknopf > img[b-q4xgw6j6zt] {
    width: 16px;
    height: 16px;
}

/* Reiter Bestände | Bewegungen | Kommissionierungen mit Eingaben im Kopf. */
.lbv-reiterkopf[b-q4xgw6j6zt] {
    margin: 5px 0 0 0;
}

.lbv-reiter[b-q4xgw6j6zt] {
    display: inline-flex;
    align-items: center;
    gap: 0;
    cursor: pointer;
}

.lbv-r[b-q4xgw6j6zt] {
    margin: 0 5px;
}

.lbv-beta[b-q4xgw6j6zt] {
    margin-left: 6px;
    font-weight: bold;
    color: var(--nem-warnung);
}

.lbv-ansicht[b-q4xgw6j6zt] {
    width: auto;
    height: 20px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
}

.lbv-max[b-q4xgw6j6zt] {
    width: 48px;
    height: 20px;
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    padding: 0 2px;
    color: var(--nem-schrift);
    background: var(--nem-hover-flaeche);
    border: 1px solid transparent;
}

.lbv-reiterinhalt[b-q4xgw6j6zt] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Band unten: „Zuletzt im Bestand am ..." (Desktop: DodgerBlue, weiß, fett) - hier in der Akzentfarbe. */
.lbv-letzter-bestand[b-q4xgw6j6zt] {
    padding: 3px;
    text-align: center;
    font-weight: bold;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}

/* Symbole 16 in den Zellen. */
.lbv-symbol[b-q4xgw6j6zt] {
    width: 16px;
    height: 16px;
    margin-right: 2px;
    vertical-align: middle;
}

.lbv-foto[b-q4xgw6j6zt] {
    font-size: 16px;
    color: var(--nem-akzent);
    vertical-align: middle;
}

/* NVE der Kommissionier-Quellware: Petrol halbfett (Desktop #216477) - hier der dunkle Akzent. Zellklasse je Zeile
   (KlasseVon), die Zelle zeichnet das NemesisDataGrid. */
.lbv-maske[b-q4xgw6j6zt]  .ndg-tabelle > tbody > tr > td.lbv-kommi-quelle {
    font-weight: 600;
    color: var(--nem-akzent-tiefer);
}

/* Warenzustand: Band 6 breit in der Kennfarbe, Zustand als Fläche in der Kennfarbe. */
.lbv-wz-band[b-q4xgw6j6zt] {
    display: inline-block;
    width: 6px;
    min-height: 16px;
    vertical-align: middle;
}

.lbv-wz-zustand[b-q4xgw6j6zt] {
    display: inline-block;
    padding: 0 4px;
}

/* MHD-Ampel (MhdConv) als Zellklasse je Zeile (KlasseVon) wie die CellStyle-Trigger des Desktops: 4 abgelaufen rot,
   3 unter 30 Tagen orange, 2 unter 60 gelbgrün, 1 hellgrün - Signalfarben wie im Desktop. Der Selektor schlägt Zebra,
   Hover und Auswahl des Grids (wie im Desktop bleibt die Ampel auch in der gewählten Zeile). */
.lbv-maske[b-q4xgw6j6zt]  .ndg-tabelle > tbody > tr > td.lbv-mhd-4 {
    color: white;
    background: var(--nem-fehler);
}

.lbv-maske[b-q4xgw6j6zt]  .ndg-tabelle > tbody > tr > td.lbv-mhd-3 {
    color: black;
    background: var(--nem-warnung);
}

.lbv-maske[b-q4xgw6j6zt]  .ndg-tabelle > tbody > tr > td.lbv-mhd-2 {
    color: black;
    background: yellowgreen;
}

.lbv-maske[b-q4xgw6j6zt]  .ndg-tabelle > tbody > tr > td.lbv-mhd-1 {
    color: black;
    background: lightgreen;
}

/* Overlays Stellplatz/Artikel suchen: Filterzeile oben, Tabelle füllt den Rest. */
.lbv-overlay[b-q4xgw6j6zt] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 400px;
}

.lbv-overlay-filter[b-q4xgw6j6zt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}

/* Reiter „Kommissionierungen" (17.10.2026): Filter oben fest, die Liste darunter füllt die Höhe. */
.lbv-kommi[b-q4xgw6j6zt] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/LagerDispoView.razor.rz.scp.css */
/* LAGERDISPOSITION (17.10.2026) - Kopf mit Datum und Zählern, darunter offene Aufträge und Mitarbeiter. */

.dispo-maske[b-54lw4shj3r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.dispo-kopf[b-54lw4shj3r] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.dispo-zaehler[b-54lw4shj3r] {
    white-space: nowrap;
}

.dispo-unten[b-54lw4shj3r] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.dispo-maske[b-54lw4shj3r]  .dispo-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.dispo-maske[b-54lw4shj3r]  .dispo-zuordnung {
    margin: 2px 0 6px 24px;
}
/* /Pages/Client/LagerEntladeberichtView.razor.rz.scp.css */
/* ENTLADEBERICHT – Hinweis oben, Artikelzeilen füllend, Fotokarten unten (Rand 6 wie im Desktop). */
.leb-maske[b-f3u4usdtun] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.leb-hinweis[b-f3u4usdtun] {
    width: 100%;
    min-height: 54px;
    max-height: 110px;
    resize: vertical;
}

.leb-tabelle[b-f3u4usdtun] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Fehlende Packstücke fallen rot auf (Desktop: #33E74C3C in der RowStyle). */
.leb-maske[b-f3u4usdtun]  tr.leb-fehlt > td {
    background: #33E74C3C;
}

/* Fotokarten: umbrechende Reihe, höchstens 230 hoch mit eigener Rolle (Desktop: ScrollViewer + WrapPanel). */
.leb-fotos[b-f3u4usdtun] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    max-height: 230px;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Die ganze Karte ist der Haken. */
.leb-karte[b-f3u4usdtun] {
    display: flex;
    flex-direction: column;
    width: 150px;
    margin: 4px;
    cursor: pointer;
}

.leb-bild[b-f3u4usdtun] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    border: 1px solid #33000000;
    background: #11000000;
}

.leb-bild > img[b-f3u4usdtun] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.leb-titel[b-f3u4usdtun] {
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Pages/Client/LagerLagerungView.razor.rz.scp.css */
/* LAGERMASKEN (Einlagerung, Auslagerung, Lagerungssuche - 11.10.2026). Eine Stilquelle für die Seite und ihre
   Komponenten (LagerungSuche, LagerEinlagerungMaske, LagerAuslagerungMaske, Positionen, Reiter): alles über ::deep
   unter .lager-seite. Farben aus der Palette (--nem-*); fest bleiben nur die Signalfarben der Desktop-Vorlage
   (MHD-Ampel, Prio, Mengen je Ebene, Kommissionierungsband, Abläufe violett) - sie tragen ihre Bedeutung wie dort.
   Tabellen sind seit 16.10.2026 NemesisDataGrid (Client/Shared/Grid) - ihre Regeln stehen dort. */

.lager-seite[b-p7law8x3ru] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 640px;
}

/* ---------- Maske: Kopfkachel oben, Reiter füllen den Rest ---------- */
.lager-seite[b-p7law8x3ru]  .lager-maske {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

.lager-seite[b-p7law8x3ru]  .lager-kopf-scroll {
    overflow-x: auto;
    overflow-y: hidden;
}

.lager-seite[b-p7law8x3ru]  .lager-kunde {
    min-width: 0;
    overflow: hidden;
}

/* Mehrzeiliges Feld über zwei Zeilen (Hinweise) bzw. im Reiter: Text oben, Bildlauf senkrecht. */
.lager-seite[b-p7law8x3ru]  textarea.lager-mehrzeilig {
    align-self: stretch;
    height: calc(100% - 4px);
    margin: 2px 0;
    padding: 2px 4px;
    resize: none;
    overflow-y: scroll;
    line-height: 16px;
}

/* Kommissionierungsband unter den Hinweisen (Desktop: Background #216477, weiße Schrift). */
.lager-seite[b-p7law8x3ru]  .lager-kommi-band {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 5px;
    background: #216477;
    color: #FFFFFF;
    white-space: nowrap;
    overflow: hidden;
}

/* Fußzeile der Kopfkachel: Lagerort links (110 + 170), Angelegt/Aktualisiert rechts. */
.lager-seite[b-p7law8x3ru]  .lager-kopf-fuss {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: var(--nem-zeile);
    font-weight: 400;
}

.lager-seite[b-p7law8x3ru]  .lager-kopf-stempel {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    white-space: nowrap;
}

.lager-seite[b-p7law8x3ru]  .lager-trenner {
    margin: 0 6px;
    color: var(--nem-schrift-gedimmt);
}

/* Reiter unter dem Kopf (Abstand 5 wie Margin 0,5,0,0), füllen die Seite; der Inhalt rollt. */
.lager-seite[b-p7law8x3ru]  .lager-hauptreiter {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 5px 2px 0 2px;
}

.lager-seite[b-p7law8x3ru]  .lager-hauptreiter > .rz-tabview-panels {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.lager-seite[b-p7law8x3ru]  .lager-hauptreiter > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
}

/* Eigene Reiterfarben wie Tag in der Desktop-Vorlage: Historie Warnorange, Dokumente Hausgrau, Abläufe violett. */
.lager-seite[b-p7law8x3ru]  li.lager-reiter-historie {
    --rz-tabs-tab-selected-color: var(--nem-warnung);
    --rz-tabs-tab-selected-top-border-color: var(--nem-warnung);
}

.lager-seite[b-p7law8x3ru]  li.lager-reiter-dokumente {
    --rz-tabs-tab-selected-color: var(--nem-reiter-schrift);
    --rz-tabs-tab-selected-top-border-color: var(--nem-reiter-schrift);
}

.lager-seite[b-p7law8x3ru]  li.lager-reiter-ablaeufe {
    --rz-tabs-tab-selected-color: #8E44AD;
    --rz-tabs-tab-selected-top-border-color: #8E44AD;
}

/* ---------- Reiterblock rechts im Kopf (TabStripPlacement="Left") ---------- */
.lager-seite[b-p7law8x3ru]  .lager-reiter-links {
    display: flex;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-links-koepfe {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 2px;
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-links-kopf {
    padding: 4px 12px 4px 10px;
    color: var(--nem-reiter-schrift);
    white-space: nowrap;
    cursor: pointer;
    border: 1px solid transparent;
    border-right: 0;
    border-radius: 6px 0 0 6px;
    user-select: none;
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-links-kopf:hover:not(.aktiv) {
    background: var(--nem-reiter-flaeche);
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-links-kopf.aktiv {
    margin-right: -1px;
    color: var(--nem-akzent);
    background: var(--nem-flaeche);
    border-color: var(--nem-reiter-linie);
    box-shadow: inset 2px 0 0 var(--nem-akzent);
    position: relative;
    z-index: 1;
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-links-inhalt {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 2px;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-reiter-linie);
}

/* ---------- Tabellen der Lagermasken (NemesisDataGrid, seit 16.10.2026) ----------
   Das Grid bringt Kopf, Zebra, Auswahl, Summenzeile, Lade- und Leeranzeige selbst mit. Hier nur, was die Lagermasken
   zusätzlich zeichnen: Signalzellen, Symbole, die Höhenkette bis zum Grid und die Statusleiste unter den Positionen. */

.lager-seite[b-p7law8x3ru]  .lager-symbol {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.lager-seite[b-p7law8x3ru]  .lager-symbole {
    white-space: nowrap;
}

.lager-seite[b-p7law8x3ru]  .lager-symbole > * {
    margin-right: 2px;
}

.lager-seite[b-p7law8x3ru]  .lager-papierkorb {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.lager-seite[b-p7law8x3ru]  .lager-papierkorb:hover {
    color: var(--nem-fehler);
}

.lager-seite[b-p7law8x3ru]  .lager-gedimmt {
    opacity: .3;
}

/* Zellen mit Umbruch (Historie: Ereignis, Hinweistexte: Text) - die Tabellen brechen sonst nicht um. */
.lager-seite[b-p7law8x3ru]  td.lager-umbruch {
    white-space: normal;
}

.lager-seite[b-p7law8x3ru]  td.lager-markierbar {
    user-select: text;
}

.lager-seite[b-p7law8x3ru]  .lager-dfu {
    white-space: nowrap;
}

.lager-seite[b-p7law8x3ru]  .lager-dfu-weniger {
    margin-left: 5px;
    color: var(--nem-fehler);
}

.lager-seite[b-p7law8x3ru]  .lager-dfu-mehr {
    margin-left: 5px;
    color: var(--nem-akzent);
}

.lager-seite[b-p7law8x3ru]  .lager-kuehlgut {
    margin-left: 2px;
    font-weight: bold;
    color: var(--nem-akzent);
}

/* Kühlgut: Ist-Temperatur außerhalb des Bereichs rot halbfett (Zellklasse je Zeile, Desktop: ElementStyle-Trigger). */
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-kuehlgut-abweichung {
    font-weight: bold;
    color: var(--nem-fehler);
}

/* Warenzustandsband vor der NVE (Spalte 10 breit: Band 6 + Abstand 4). */
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-band-zelle {
    padding: 0;
}

.lager-seite[b-p7law8x3ru]  .lager-band {
    display: block;
    width: 6px;
    height: var(--nem-feld-hoehe);
}

/* Signalzellen als Zellklasse je Zeile (NemesisSpalte.KlasseVon) wie die CellStyle-Trigger des Desktops: unbekannter Artikel
   rot, MHD-Ampel (MhdConv: abgelaufen rot, unter 30 Tagen orange, unter 60 gelbgrün, sonst hellgrün). Die Regeln schlagen
   Zebra, Hover und Auswahl des Grids - die Farbe bleibt auch in der gewählten Zeile. */
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-artikel-unbekannt {
    background: var(--nem-fehler);
    color: var(--nem-schrift-auf-akzent);
}

.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-mhd-4 { background: red; color: #FFFFFF; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-mhd-3 { background: orange; color: #222528; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-mhd-2 { background: yellowgreen; color: #222528; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-mhd-1 { background: lightgreen; color: #222528; }

/* Mengen je Ebene wie im Desktop: Ebene 1 hellgrün, 2 hellblau, 3 lachs, 4/5 holzbraun - dunkle Schrift. Die Klasse sitzt an
   der Spalte (NemesisSpalte.Klasse); die Regel schlägt Zebra, Hover und Auswahl des Grids, wie die Signalzellen vorher. */
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-ebene-1 { background: lightgreen; color: #222528; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-ebene-2 { background: lightblue; color: #222528; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-ebene-3 { background: salmon; color: #222528; }
.lager-seite[b-p7law8x3ru]  .ndg-tabelle > tbody > tr > td.lager-ebene-4 { background: burlywood; color: #222528; }

/* Prio der Trefferliste: 1 rot, 2 orange, 3 blau, weiße Schrift. */
.lager-seite[b-p7law8x3ru]  .lager-prio { padding: 0 3px; }
.lager-seite[b-p7law8x3ru]  .lager-prio-1 { background: red; color: #FFFFFF; }
.lager-seite[b-p7law8x3ru]  .lager-prio-2 { background: orange; color: #FFFFFF; }
.lager-seite[b-p7law8x3ru]  .lager-prio-3 { background: blue; color: #FFFFFF; }

/* ---------- Positionen: Grid füllt den Reiter, darunter die Statusleiste (NemesisStatusleiste Standard2 bzw. Zustand) ---------- */
.lager-seite[b-p7law8x3ru]  .lager-positionen {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 160px;
}

.lager-seite[b-p7law8x3ru]  .lager-positionen-leiste {
    flex: 0 0 auto;
}

.lager-seite[b-p7law8x3ru]  .lager-badge {
    padding: 1px 6px;
    border-radius: 3px;
    background: var(--nem-kachel-akzent, var(--nem-akzent));
    color: var(--nem-schrift-auf-akzent);
}

/* Aufgeklappte Position: Artikelzeilen 200 hoch mit Kontur (DgArtikel). */
.lager-seite[b-p7law8x3ru]  .lager-artikel-rahmen {
    display: flex;
    flex-direction: column;
    height: 200px;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

.lager-seite[b-p7law8x3ru]  .lager-details-reiter {
    display: flex;
    flex-direction: column;
}

/* Reiter UNTEN der Auslagerungsdetails (TabStripPlacement="Bottom"). */
.lager-seite[b-p7law8x3ru]  .lager-reiter-unten {
    display: flex;
    gap: 3px;
    margin: 0;
    border-top: 1px solid var(--nem-reiter-linie);
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-unten > span {
    padding: 4px 12px;
    color: var(--nem-reiter-schrift);
    border: 1px solid transparent;
    border-top: 0;
    border-radius: 0 0 6px 6px;
    cursor: pointer;
    user-select: none;
}

.lager-seite[b-p7law8x3ru]  .lager-reiter-unten > span.aktiv {
    margin-top: -1px;
    color: var(--nem-akzent);
    background: var(--nem-flaeche);
    border-color: var(--nem-reiter-linie);
    box-shadow: inset 0 -2px 0 var(--nem-akzent);
}

/* Tabellen in den Reitern (Ladeeinheiten, Abrechnung, Historie ...) füllen den Reiter; das Grid rollt selbst. */
.lager-seite[b-p7law8x3ru]  .lager-reiter-tabelle {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.lager-seite[b-p7law8x3ru]  .lager-weitere-werte {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5px 500px;
    height: 100%;
    min-height: 320px;
}

.lager-seite[b-p7law8x3ru]  .lager-weitere-werte-links {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lager-seite[b-p7law8x3ru]  .lager-beladung {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 2px;
}

/* ---------- Lagerungssuche (LagerungFindenView) ---------- */
.lager-seite[b-p7law8x3ru]  .lager-suche {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Fünf Kacheln nebeneinander, gemeinsam waagerecht rollbar, mindestens 2120 breit (Filter Auto, Listen 270/270/320/320). */
.lager-seite[b-p7law8x3ru]  .lager-suche-kopf {
    flex: 0 0 auto;
    overflow-x: auto;
    overflow-y: hidden;
}

.lager-seite[b-p7law8x3ru]  .lager-suche-kopf-raster {
    display: grid;
    grid-template-columns: auto minmax(270px, 270fr) minmax(270px, 270fr) minmax(320px, 320fr) minmax(320px, 320fr);
    column-gap: 5px;
    align-items: stretch;
    min-width: 2120px;
}

/* Die vier Listen so hoch wie die Filterkachel: das Grid liegt absolut in der Kachel und rollt dort. */
.lager-seite[b-p7law8x3ru]  .lager-liste-kachel {
    min-height: 0;
}

.lager-seite[b-p7law8x3ru]  .lager-liste-scroll {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lager-seite[b-p7law8x3ru]  .lager-treffer-kachel {
    flex: 1 1 auto;
    min-height: 240px;
}

.lager-seite[b-p7law8x3ru]  .lager-treffer {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Zweizeilige Zellen (Kunde, Entladestelle, Frachtführer) in der 26er-Zeile - sonst wachsen die Zeilen und die
   Virtualisierung (26 je Zeile) verrutscht. */
.lager-seite[b-p7law8x3ru]  .ndg-tabelle .nem-zweizeilig > span {
    line-height: 13px;
}

/* Die beiden Haken der Filterzeile 6 untereinander in der 26er-Zeile (Desktop: StackPanel). */
.lager-seite[b-p7law8x3ru]  .lager-haken-stapel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 5px;
    line-height: 12px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
}

.lager-seite[b-p7law8x3ru]  .lager-haken-stapel input {
    width: 11px;
    height: 11px;
}
/* /Pages/Client/LagerProgrammAblaufView.razor.rz.scp.css */
/* LAGERPROGRAMM-ABLÄUFE – drei Kacheln nebeneinander (Abläufe | Ablauf | Schritt). */
.lpa-maske[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lpa-meldung[b-fdlt2pkcgn] {
    flex: 0 0 auto;
    margin: 2px;
}

.lpa-reihe[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: row;
    flex: 1 1 auto;
    min-height: 0;
    margin: 2px;
}

.lpa-liste[b-fdlt2pkcgn],
.lpa-ablauf[b-fdlt2pkcgn],
.lpa-schritt[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Kopf des Ablaufs: Beschriftung | Feld, die Beschreibung über die ganze Breite. */
.lpa-kopf[b-fdlt2pkcgn] {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) 70px 140px auto;
    grid-auto-rows: var(--nem-zeile);
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.lpa-breit[b-fdlt2pkcgn] {
    grid-column: 2 / span 4;
}

.lpa-einfuegen[b-fdlt2pkcgn] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 6px 0;
    flex: 0 0 auto;
}

.lpa-knopf[b-fdlt2pkcgn] {
    padding: 2px 8px;
    cursor: pointer;
}

/* Die Kette der Schritte rollt für sich. */
.lpa-kette[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

.lpa-karte-huelle[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
}

/* Die Karte: Streifen | Symbol | Text | Zeitpunkt | Knöpfe (Desktop: Border mit CornerRadius 6). */
.lpa-karte[b-fdlt2pkcgn] {
    display: grid;
    grid-template-columns: 6px 40px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--nem-tabelle-kontur, #80808040);
    border-radius: 6px;
    background: var(--nem-flaeche);
    padding: 6px 8px;
    cursor: pointer;
}

.lpa-karte.lpa-gewaehlt[b-fdlt2pkcgn] {
    border: 2px solid var(--nem-akzent);
}

/* Ein Vorgangsschritt liegt auf der Hinweisfläche. */
.lpa-karte.lpa-vorgang[b-fdlt2pkcgn] {
    background: var(--nem-hinweis-flaeche, #FFF8E1);
    border-color: var(--nem-hinweis-rand, #E7A229);
}

.lpa-streifen[b-fdlt2pkcgn] {
    width: 4px;
    height: 100%;
    min-height: 28px;
    border-radius: 2px;
}

/* Streifenfarben nach Zeitpunkt – 1:1 die Werte des Desktops. */
.lpa-start[b-fdlt2pkcgn] { background: #8E8E8E; }
.lpa-vorab[b-fdlt2pkcgn] { background: #3F6E9E; }
.lpa-nachab[b-fdlt2pkcgn] { background: #2E7D32; }
.lpa-scan[b-fdlt2pkcgn] { background: #8E44AD; }

.lpa-symbol[b-fdlt2pkcgn] {
    width: 24px;
    height: 24px;
    justify-self: center;
}

.lpa-karte-text[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lpa-ueberschrift[b-fdlt2pkcgn] {
    font-weight: 600;
    font-size: calc(var(--nem-schriftgroesse) + 1px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lpa-bedingung[b-fdlt2pkcgn] {
    font-style: italic;
    color: var(--nem-hinweis-schrift, #8A6D3B);
    margin-top: 2px;
}

/* Marke des Zeitpunkts oben rechts auf der Karte. */
.lpa-zeitpunkt[b-fdlt2pkcgn] {
    align-self: start;
    border-radius: 10px;
    background: var(--nem-zeilenkopf, #80808020);
    color: var(--nem-akzent);
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    padding: 2px 8px;
}

.lpa-karte-knoepfe[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lpa-pfeil[b-fdlt2pkcgn] {
    text-align: center;
    color: var(--nem-schrift-gedimmt);
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    margin: 2px 0;
}

/* Details des Schritts: Beschriftung | Feld. */
.lpa-felder[b-fdlt2pkcgn] {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.lpa-oben[b-fdlt2pkcgn] {
    align-self: start;
    padding-top: 4px;
}

.lpa-art[b-fdlt2pkcgn] {
    font-weight: 600;
}

.lpa-textfeld[b-fdlt2pkcgn] {
    min-height: 60px;
    resize: vertical;
}

.lpa-antworten[b-fdlt2pkcgn],
.lpa-bedingung-block[b-fdlt2pkcgn] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

.lpa-antworten-kopf[b-fdlt2pkcgn] {
    display: flex;
    align-items: center;
    gap: 4px;
}
/* /Pages/Client/LagerStellplatzTabelle.razor.rz.scp.css */
/* Stellplatztabelle: Zellenfelder flach in der Zeile, Zahlen rechtsbündig, Mehrfachauswahl mit Knopf. Nur Palettenvariablen. */
.lst-zahl[b-11fyzk1sjq] {
    min-width: 64px;
}

.lst-vonbis[b-11fyzk1sjq] {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.lst-vonbis > input[b-11fyzk1sjq] {
    width: 118px;
}

.lst-mehrfach[b-11fyzk1sjq] {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.lst-mehrfach-text[b-11fyzk1sjq] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lst-mehrfach-knopf[b-11fyzk1sjq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Auswahlliste im Overlay: eine Zeile je Code wie das aufgeklappte MehrfachAuswahlFeld. */
.lst-auswahl[b-11fyzk1sjq] {
    display: flex;
    flex-direction: column;
    max-height: 60vh;
    overflow: auto;
}

.lst-auswahl-zeile[b-11fyzk1sjq] {
    min-height: 24px;
    padding: 0 4px;
}

.lst-fremd[b-11fyzk1sjq] {
    color: var(--nem-warnung);
}
/* /Pages/Client/LagerTrennklassenView.razor.rz.scp.css */
/* TRENNKLASSEN UND ZUSAMMENLAGERUNG (17.10.2026) - zwei Kacheln nebeneinander wie die XAML (2* und 5*),
   die Tabellen darin füllen die Höhe. */

.trennklassen-maske[b-n9nx9ub3lm],
.zusammenlagerung-maske[b-n9nx9ub3lm] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 5px;
}

.trennklassen-meldung[b-n9nx9ub3lm] {
    color: var(--nem-fehler);
    margin: 0 0 6px 2px;
    flex: 0 0 auto;
}

.trennklassen-reihe[b-n9nx9ub3lm] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.trennklassen-maske[b-n9nx9ub3lm]  .trennklassen-tabelle,
.zusammenlagerung-maske[b-n9nx9ub3lm]  .zusammenlagerung-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/LagerungKopierenView.razor.rz.scp.css */
/* LAGERUNG KOPIEREN – Überschrift, darunter die Haken je 26 hoch wie die Rasterzeilen des Desktops. */
.lkv-maske[b-p4m8yo88tm] {
    display: flex;
    flex-direction: column;
}

.lkv-titel[b-p4m8yo88tm] {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 4px 0;
}

.lkv-haken[b-p4m8yo88tm] {
    display: flex;
    flex-direction: column;
}

.lkv-haken > .nem-haken[b-p4m8yo88tm] {
    min-height: var(--nem-zeile);
    display: flex;
    align-items: center;
}

.lkv-abstand[b-p4m8yo88tm] {
    height: var(--nem-zeile);
}

.lkv-laeuft[b-p4m8yo88tm] {
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

/* /Pages/Client/LagerungPackstueckeView.razor.rz.scp.css */
/* PACKSTÜCKE (17.10.2026) - Baum links, Eigenschaften rechts. */

.pack-maske[b-xen4icl283] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.pack-unten[b-xen4icl283] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.pack-maske[b-xen4icl283]  .pack-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/LagerZusammenlagerungGefahrgutView.razor.rz.scp.css */
/* TRENNKLASSEN UND ZUSAMMENLAGERUNG (17.10.2026) - zwei Kacheln nebeneinander wie die XAML (2* und 5*),
   die Tabellen darin füllen die Höhe. */

.trennklassen-maske[b-cjfioufosz],
.zusammenlagerung-maske[b-cjfioufosz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 5px;
}

.trennklassen-meldung[b-cjfioufosz] {
    color: var(--nem-fehler);
    margin: 0 0 6px 2px;
    flex: 0 0 auto;
}

.trennklassen-reihe[b-cjfioufosz] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.trennklassen-maske[b-cjfioufosz]  .trennklassen-tabelle,
.zusammenlagerung-maske[b-cjfioufosz]  .zusammenlagerung-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/LieferInformationenOverlay.razor.rz.scp.css */
/* OVERLAY „LIEFERINFORMATIONEN“ (17.10.2026) - Raster wie LieferInformationenView.xaml: Grid Rand 4, Zeilen Auto | Auto | *;
   Kachel-Abstände 6. Lieferzeiten 110 | 80 | 80 | 20 | 80 | 80, Kundenmerkmale 150 | *, Zeilen je 26. Farben nur aus der Palette. */
.lio-maske[b-1qbjrxq312] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px;
}

[b-1qbjrxq312] .lio-kachel {
    margin: 0;
}

/* Master-Adresse: "Zugewiesen an:" fett, Abstand 6, Rand 6,4 wie das StackPanel. */
.lio-master[b-1qbjrxq312] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    min-height: var(--nem-feld-hoehe);
}

.lio-master-label[b-1qbjrxq312] {
    font-weight: 700;
}

/* Lieferzeiten (Auto) | Kundenmerkmale (*) nebeneinander, Abstand 6. */
.lio-mitte[b-1qbjrxq312] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
}

/* Rand 6,4 der inneren Raster. */
.lio-zeiten[b-1qbjrxq312],
.lio-merkmale-raster[b-1qbjrxq312] {
    padding: 4px 6px;
    grid-auto-rows: var(--nem-zeile);
}

.lio-zeiten[b-1qbjrxq312] {
    grid-template-columns: 110px 80px 80px 20px 80px 80px;
}

/* Kopfzeile: "1. Zeitfenster" über Spalte 2-3, "2. Zeitfenster" über Spalte 5-6, mittig. */
.lio-fenster[b-1qbjrxq312] {
    text-align: center;
}

.lio-fenster-1[b-1qbjrxq312] {
    grid-column: 2 / span 2;
}

.lio-fenster-2[b-1qbjrxq312] {
    grid-column: 5 / span 2;
}

/* Zeitfelder: Rand 2, Text mittig (Stil "ZeitFeld" der XAML). */
.lio-zeit[b-1qbjrxq312] {
    width: calc(100% - 4px);
    margin: 0 2px;
    text-align: center;
}

.lio-tag[b-1qbjrxq312] {
    padding: 0 2px;
}

.lio-merkmale-raster[b-1qbjrxq312] {
    grid-template-columns: 150px minmax(0, 1fr);
}

.lio-merkmale-raster > select.nem-feld[b-1qbjrxq312],
.lio-merkmale-raster > input.nem-feld[b-1qbjrxq312] {
    width: calc(100% - 4px);
    margin: 0 2px;
}

/* Bemerkungen: mehrzeilig mit Umbruch, mindestens 100 hoch, Rand 6,4. */
.lio-bemerkung[b-1qbjrxq312] {
    display: block;
    width: calc(100% - 12px);
    height: auto;
    min-height: 100px;
    margin: 4px 6px;
    padding: 3px 4px;
    line-height: 16px;
    resize: vertical;
    white-space: pre-wrap;
}
/* /Pages/Client/ManuellLagernView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-i6nym7p51q] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-i6nym7p51q]  .best-tabelle,
.best-tabelle[b-i6nym7p51q] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-i6nym7p51q] {
    width: 560px;
}

.best-abfrage[b-i6nym7p51q] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-i6nym7p51q],
.einzel-overlay[b-i6nym7p51q] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-i6nym7p51q]  .einzel-tabelle,
.einzel-overlay[b-i6nym7p51q]  .einzel-tabelle,
.einzel-tabelle[b-i6nym7p51q] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-i6nym7p51q]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-i6nym7p51q] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/McpZugangView.razor.rz.scp.css */
/* MCP-Zugang (17.10.2026) - nur Palette (var(--nem-...)), Schrift 12 wie die Maske. */

.mcp-maske[b-o3jzmcyu5g] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: auto;
}

.mcp-raster[b-o3jzmcyu5g] {
    grid-template-columns: 110px minmax(0, 1fr);
    grid-auto-rows: minmax(var(--nem-zeile), auto);
    align-items: center;
    row-gap: 2px;
}

.mcp-wert[b-o3jzmcyu5g] {
    padding: 2px 0;
    line-height: 18px;
}

.mcp-zeile[b-o3jzmcyu5g] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.mcp-absatz[b-o3jzmcyu5g] {
    margin: 4px 0 8px 0;
}

.mcp-titel[b-o3jzmcyu5g] {
    font-weight: 600;
    margin-top: 6px;
}

.mcp-code[b-o3jzmcyu5g],
.mcp-maske code[b-o3jzmcyu5g] {
    font-family: Consolas, "Cascadia Mono", Menlo, monospace;
    background: var(--nem-zebra);
    border: 1px solid var(--nem-kontur);
    border-radius: 2px;
    padding: 0 4px;
}

.mcp-werkzeug[b-o3jzmcyu5g] {
    margin-right: 12px;
    white-space: nowrap;
}

.mcp-bezeichnung[b-o3jzmcyu5g] {
    max-width: 360px;
}

.mcp-tage[b-o3jzmcyu5g] {
    width: 110px;
}

.mcp-schluessel[b-o3jzmcyu5g] {
    flex: 1 1 auto;
    min-width: 0;
    font-family: Consolas, "Cascadia Mono", Menlo, monospace;
}

.mcp-block[b-o3jzmcyu5g] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 6px 8px;
    font-family: Consolas, "Cascadia Mono", Menlo, monospace;
    font-size: var(--nem-schriftgroesse);
    white-space: pre-wrap;
    word-break: break-all;
    background: var(--nem-zebra);
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: 2px;
    align-self: stretch;
}

.mcp-tabelle[b-o3jzmcyu5g] {
    margin: 0;
}

.mcp-abgelaufen td[b-o3jzmcyu5g] {
    color: var(--nem-schrift-gedimmt);
    text-decoration: line-through;
}

.mcp-abgelaufen td:last-child[b-o3jzmcyu5g] {
    text-decoration: none;
}
/* /Pages/Client/RechnungBuchView.razor.rz.scp.css */
/* RECHNUNGSBUCH DES LAGERS (17.10.2026) - nur die Höhenkette. */

.rb-maske[b-d2gsgxqqeu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.rb-maske[b-d2gsgxqqeu]  .rb-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/RechnungVersandView.razor.rz.scp.css */
/* RECHNUNG VERSENDEN – Meldungskacheln oben, darunter Empfänger links und Anlagen/Nachricht rechts
   (Rand 8 wie im Desktop). */
.rvv-maske[b-kltpy6jh4o] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 8px;
}

.rvv-text[b-kltpy6jh4o] {
    white-space: pre-wrap;
}

/* Ablagepfad: markierbar, aber ohne Feldoptik. */
.rvv-pfad[b-kltpy6jh4o] {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0 0 2px 0;
    color: inherit;
}

.rvv-reihe[b-kltpy6jh4o] {
    display: flex;
    flex: 1 1 auto;
    min-height: 220px;
}

.rvv-liste[b-kltpy6jh4o],
.rvv-rechts[b-kltpy6jh4o] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.rvv-anlagen[b-kltpy6jh4o] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rvv-nachricht[b-kltpy6jh4o] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 4px;
}

.rvv-textfeld[b-kltpy6jh4o] {
    flex: 1 1 auto;
    min-height: 120px;
    resize: vertical;
}

/* SPERRSCHLEIER ohne Läufer: Fläche aus dem Farbsatz, halbdurchsichtig, fängt Klicks ab. */
.rvv-schleier[b-kltpy6jh4o] {
    position: absolute;
    inset: 0;
    background: var(--nem-flaeche);
    opacity: 0.72;
    z-index: 5;
}
/* /Pages/Client/RollkartenAusgangView.razor.rz.scp.css */
/* NAHVERKEHRSBELADUNG (11.11.2026, Aufgabe #124) - wie RollkartenAusgangView/AbfertigungTabelleView: Filter (Auto), Tabelle (*), Rand 4. Farben aus
   der Palette; nur Balken und Zustand-Pille tragen die festen Farben des Desktops (Schrift auf den Balken immer #222528). */
.rk-maske[b-edyuw0w21r] {
    display: flex;
    flex-direction: column;
    padding: 4px;
    box-sizing: border-box;
}

/* Filter wie die XAML: 100 | 100 | 30 | 100 | 5 | 100 | 100 (die Datumsfelder etwas breiter fuer das Browser-Feld). */
.rk-filter[b-edyuw0w21r] {
    grid-template-columns: 110px 130px 30px 130px 5px 100px 120px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile);
    align-items: center;
}

.rk-tabelle-bereich[b-edyuw0w21r] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.rk-tabelle-huelle[b-edyuw0w21r] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Skelett beim Suchen wie die XAML: Rand 8, Kopfbalken 26 mit 12 Abstand, darunter 12 Baender. */
.rk-tabellen-skelett[b-edyuw0w21r] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin: 8px;
}

.rk-skelett-kopf[b-edyuw0w21r] {
    display: block;
    flex: 0 0 26px;
    margin-bottom: 12px;
}

.rk-tabellen-skelett[b-edyuw0w21r]  .nem-ladeskelett {
    flex: 1 1 auto;
    min-height: 0;
}

.rk-zusammenfassung[b-edyuw0w21r] {
    margin: 3px 6px 0 6px;
    min-height: var(--nem-zeilenhoehe);
}

/* Zustand-Pille (Rundung 9, Polster 8,1, Schrift wie FontSize 11 der XAML = eine Stufe kleiner). */
.rk-pille[b-edyuw0w21r] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 9px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    line-height: var(--nem-zeilenhoehe);
}

.rk-pille-vorlaeufig[b-edyuw0w21r] {
    background: #F2E3C8;
    color: #8A5A00;
}

.rk-pille-endgueltig[b-edyuw0w21r] {
    background: #D9EAD9;
    color: #2E6B2E;
}

/* Fortschrittsbalken der Dispo-Optik: Spur #EDF1F3, Fuellung nach BeladeAnzeige.Farbe, Schrift #222528. */
.rk-balken[b-edyuw0w21r] {
    position: relative;
    height: 17px;
    overflow: hidden;
    background: #EDF1F3;
}

.rk-balken-fuellung[b-edyuw0w21r] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}

.rk-balken-text[b-edyuw0w21r] {
    position: relative;
    display: block;
    text-align: center;
    line-height: 17px;
    color: #222528;
}

/* Beladefortschritt: Balken und darunter der duenne Balken (3 px, Akzent, Rand oben 1). */
.rk-fortschritt[b-edyuw0w21r] {
    display: flex;
    flex-direction: column;
}

.rk-duenn[b-edyuw0w21r] {
    position: relative;
    height: 3px;
    margin-top: 1px;
    background: #EDF1F3;
}

.rk-duenn-fuellung[b-edyuw0w21r] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: var(--nem-akzent);
}

/* Details: TabControl Rand 10 wie die XAML, feste Hoehe - die Tabellen darin rollen selbst. */
.rk-details[b-edyuw0w21r] {
    height: 340px;
    margin: 10px;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rk-details[b-edyuw0w21r]  .rk-reiter {
    flex: 1 1 auto;
    min-height: 0;
}

.rk-details[b-edyuw0w21r]  .rk-reiter > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.rk-reiter-inhalt[b-edyuw0w21r] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* ---------- Kontextmenue (wie die Ausgangsborderos) ---------- */
.rk-kontext-schleier[b-edyuw0w21r] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: transparent;
}

.rk-kontext[b-edyuw0w21r] {
    position: fixed;
    z-index: 1041;
    min-width: 260px;
    padding: 3px 2px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-schrift);
    background: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    border-radius: var(--nem-radius);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--nem-schrift) 25%, transparent);
    user-select: none;
}

.rk-kontext-kopf[b-edyuw0w21r] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    color: var(--nem-schrift-gedimmt);
}

.rk-kontext-eintrag[b-edyuw0w21r] {
    display: flex;
    align-items: center;
    height: var(--nem-zeile);
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.rk-kontext-unter[b-edyuw0w21r] {
    padding-left: 38px;
}

.rk-kontext-eintrag:hover[b-edyuw0w21r] {
    background: var(--nem-tabelle-hover);
}

.rk-kontext-aus[b-edyuw0w21r] {
    cursor: default;
    color: var(--nem-schrift-gedimmt);
}

.rk-kontext-aus:hover[b-edyuw0w21r] {
    background: transparent;
}

.rk-kontext-bild[b-edyuw0w21r] {
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
}
/* /Pages/Client/ScannerEintragView.razor.rz.scp.css */
/* SCANNER-ERFASSUNG (16.10.2026) - Raster wie ScannerEintragView.xaml: Spalten 110 | 220 | 20 | 110 | 220 | *,
   Zeilen 9 x 26, 10, 26, Rand 5. Feld- und Beschriftungsbild aus nemesis-design.css Abschnitt 7. Nur Palette. */
.se-raster[b-amebszwdek] {
    grid-template-columns: 110px 220px 20px 110px 220px minmax(0, 1fr);
    grid-template-rows: repeat(9, var(--nem-zeile)) 10px var(--nem-zeile);
    margin: 5px;
}

/* "x" in der Zwischenspalte (Mitarbeiter bzw. Kunde loesen) - 20 breit wie die XAML. */
.se-loesen[b-amebszwdek] {
    justify-self: center;
    min-width: 20px;
    width: 20px;
    padding: 0;
}

.se-loesen .rzi[b-amebszwdek] {
    font-size: 14px;
}

/* AdressId-Feld mit Suchknopf IM Feld (UcAdressFeld) - rechts Platz fuer den Knopf. */
.se-kunde-feld[b-amebszwdek] {
    padding-right: 24px;
}

/* Adresslabel des Kunden ("Name1, Ort") rechts neben dem Feld. */
.se-kunde-anzeige[b-amebszwdek] {
    font-weight: 600;
}

/* Menue-Freigaben: StackPanel waagrecht, Abstand 15. */
.se-freigaben[b-amebszwdek] {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-left: 5px;
}

.se-freigaben label[b-amebszwdek] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    cursor: pointer;
}

/* Geraetestatus: StackPanel waagrecht, Rand 5, Abstand 5 zwischen Bezeichnung und Wert, 20 vor der AppVersion. */
.se-status[b-amebszwdek] {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 5px;
}

.se-status-abstand[b-amebszwdek] {
    margin-left: 15px;
}
/* /Pages/Client/ScannerQrView.razor.rz.scp.css */
/* EINRICHTUNGS-QR (16.10.2026) - Raster wie ScannerQrView.xaml: Spalten 110 | *, Zeilen 26. Nur Palette; die weisse
   Ruhezone bringt der QR selbst mit (RadzenQRCode, QuietZone 4 auf weissem Grund) - sie traegt Bedeutung und bleibt deshalb
   auch im Dunkelmodus weiss (wie im Desktop, Befund 03.10.2026). */
.sq-raster[b-21alnv11d3] {
    grid-template-columns: 110px minmax(0, 1fr);
}

/* Betriebsart nur lesen - Flaeche wie der Zeilenkopf (Desktop: Background NemesisZeilenKopf). */
.sq-nurlesen[b-21alnv11d3],
.sq-nurlesen[readonly][b-21alnv11d3] {
    background: var(--nem-zeilen-kopf);
}

.sq-haken[b-21alnv11d3] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding-left: 2px;
    cursor: pointer;
}

/* Passwortfeld mit Augen-Knopf IM Feld. */
.sq-passwort[b-21alnv11d3] {
    padding-right: 24px;
}

.sq-auge[b-21alnv11d3] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
}

/* Kasten um den Code: mittig, Kontur der Tabelle, Abstand 5 - der Code passt sich schmalen Overlays an. */
.sq-qr-rahmen[b-21alnv11d3] {
    display: flex;
    justify-content: center;
    margin: 5px;
}

.sq-qr[b-21alnv11d3] {
    width: 380px;
    max-width: 100%;
    line-height: 0;
    border: 1px solid var(--nem-kontur);
}

.sq-qr[b-21alnv11d3]  svg {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}
/* /Pages/Client/SendungDokumentAnsicht.razor.rz.scp.css */
/* DOKUMENT ANSEHEN (17.10.2026) - PDF bzw. Bild fuellt den Inhalt der Overlay-Karte. Nur Palette, keine festen Farben. */
.sda-flaeche[b-dj50c3s7xv] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.sda-rahmen[b-dj50c3s7xv] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

/* Bild mittig, ganz sichtbar (Desktop: ImageViewerView mit Uniform). Fotos NICHT invertieren (Dunkelmodus). */
.sda-bildflaeche[b-dj50c3s7xv] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-hover-flaeche);
    overflow: hidden;
}

.sda-bild[b-dj50c3s7xv] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Bis der Inhalt da ist: Element ohne Platz (das src setzt dokumente.js erst, wenn es steht). */
.sda-verborgen[b-dj50c3s7xv] {
    display: none;
}

.sda-meldung[b-dj50c3s7xv] {
    margin: 10px;
}

.sda-zaehler[b-dj50c3s7xv] {
    padding: 0 6px;
    white-space: nowrap;
}

button[b-dj50c3s7xv] {
    white-space: nowrap;
}

/* Deaktivierte Knoepfe voll deckend wie im Desktop (graue Flaeche, gedimmte Schrift). */
button:disabled[b-dj50c3s7xv] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Client/SendungDokumenteReiter.razor.rz.scp.css */
/* REITER „DOKUMENTE“ DER SENDUNGSMASKE (17.10.2026) - Aufbau wie die DocumentView: Menue, Hinweisleiste (30 hoch, Hover-Flaeche),
   Tabelle (fuellt die Hoehe), Statusleiste „DMS-Pfad“. Nur Palette, keine festen Farben. */
.sdr-wurzel[b-bq1qr91vzc] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* „Noch nicht gespeichert“ (Desktop: Schleier + NemesisKachel Standard2, MaxWidth 460). */
.sdr-ungespeichert[b-bq1qr91vzc] {
    display: flex;
    justify-content: center;
    padding: 24px 8px;
}

.sdr-ungespeichert-text[b-bq1qr91vzc] {
    display: flex;
    gap: 14px;
    align-items: center;
}

.sdr-ungespeichert-symbol[b-bq1qr91vzc] {
    font-size: 34px;
    color: var(--nem-akzent);
}

.sdr-ungespeichert-titel[b-bq1qr91vzc] {
    font-weight: 600;
}

/* „Datei hochladen“ im Menue: ein label um das unsichtbare Dateifeld, aussehend wie die Knoepfe der .nem-menueleiste. */
.sdr-menueknopf[b-bq1qr91vzc] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 24px;
    padding: 0 8px;
    margin: 0;
    font-size: var(--nem-schriftgroesse);
    color: inherit;
    border-radius: 2px;
    cursor: pointer;
    white-space: nowrap;
}

.sdr-menueknopf:hover[b-bq1qr91vzc] {
    background: var(--nem-knopf-hover);
}

.sdr-menueknopf img[b-bq1qr91vzc] {
    height: 16px;
}

.sdr-menueknopf-aus[b-bq1qr91vzc] {
    opacity: .5;
    cursor: default;
}

.sdr-menueknopf-aus:hover[b-bq1qr91vzc] {
    background: transparent;
}

/* Das Dateifeld selbst bleibt unsichtbar - der Klick auf das label oeffnet den Dateidialog. */
[b-bq1qr91vzc] .sdr-datei-feld {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.sdr-typwahl[b-bq1qr91vzc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
    white-space: nowrap;
}

.sdr-typwahl select[b-bq1qr91vzc] {
    width: 170px;
    height: 20px;
}

.sdr-fortschritt[b-bq1qr91vzc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sdr-fortschritt .rzi[b-bq1qr91vzc] {
    font-size: 16px;
}

/* Hinweisleiste wie im Desktop (Hoehe 30, NemesisHoverFlaeche, zentriert). */
.sdr-hinweis[b-bq1qr91vzc] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    background: var(--nem-hover-flaeche);
    color: var(--nem-schrift);
}

.sdr-tabelle[b-bq1qr91vzc] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Knoepfe in den Zeilen (Oeffnen, Papierkorb): transparent, 16er Symbol. */
.sdr-zellknopf[b-bq1qr91vzc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    cursor: pointer;
    border-radius: 2px;
}

.sdr-zellknopf:hover[b-bq1qr91vzc] {
    background: var(--nem-tabelle-hover);
}

.sdr-zellknopf img[b-bq1qr91vzc] {
    width: 16px;
    height: 16px;
}

.sdr-papierkorb .rzi[b-bq1qr91vzc] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
}

.sdr-papierkorb:hover .rzi[b-bq1qr91vzc] {
    color: var(--nem-fehler);
}

.sdr-zellfeld[b-bq1qr91vzc] {
    width: 100%;
    min-width: 120px;
    height: 20px;
}

.sdr-mitte[b-bq1qr91vzc] {
    display: flex;
    justify-content: center;
}

/* ABLAGE beim Ziehen von Dateien: ueber dem ganzen Reiter, nur solange Dateien darueber gezogen werden. */
.sdr-ablage[b-bq1qr91vzc] {
    position: absolute;
    inset: 0;
    display: none;
    z-index: 5;
}

.sdr-ablage-aktiv[b-bq1qr91vzc] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nem-akzent-schleier);
    outline: 2px dashed var(--nem-akzent);
    outline-offset: -4px;
}

.sdr-ablage-hinweis[b-bq1qr91vzc] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    font-weight: 600;
    color: var(--nem-akzent-tiefer);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-akzent);
    border-radius: 6px;
    pointer-events: none;
}

.sdr-ablage-hinweis .rzi[b-bq1qr91vzc] {
    font-size: 20px;
}

/* Das Dateifeld fuellt die Ablage unsichtbar - die gezogenen Dateien fallen hinein. */
[b-bq1qr91vzc] .sdr-ablage-feld {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: copy;
}
/* /Pages/Client/SendungHistorieReiter.razor.rz.scp.css */
/* REITER „HISTORIE“ DER SENDUNGSMASKE (17.10.2026) - Menue (Neuer Eintrag, Overlay HistorieNeuerEintragOverlay) und Tabelle ueber die volle Hoehe des Reiters
   (im Desktop fest 320 hoch - im Web fuellt sie wie die uebrigen Reiter, Vorgabe Bastian 16.10.2026). Nur Palette. */
.shr-wurzel[b-lsvp0oxth7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.shr-tabelle[b-lsvp0oxth7] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    margin-top: 5px;
}

.shr-wurzel .nem-menueleiste > button:disabled[b-lsvp0oxth7] {
    opacity: .6;
    cursor: default;
}

.shr-wurzel .nem-menueleiste > button:disabled:hover[b-lsvp0oxth7] {
    background: transparent;
}

/* Typ-Symbol 16x16 (Desktop 20x20 bei groesserer Zeile). */
.shr-typ[b-lsvp0oxth7] {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.shr-mitte[b-lsvp0oxth7] {
    display: flex;
    justify-content: center;
}

/* Ereignis mit Umbruch wie die DataGridTextColumn (TextWrapping=Wrap). */
.shr-wurzel[b-lsvp0oxth7]  .ndg-tabelle > tbody > tr > td.shr-umbruch {
    white-space: normal;
}
/* /Pages/Client/SendungKopfBlock.razor.rz.scp.css */
/* ZUSTAND DER MASKE im Kopf vor "Angelegt" (16.10.2026, Baustein 9) - dezent wie der Statustext der Desktop-Statusleiste
   ("Neuer Eintrag", "In Bearbeitung"); "Nur ansehen" gedimmt, "Abgerechnet" in der Fehlerfarbe. Der ganze Satz steht im ToolTip.
   Nur Palette (Hell/Dunkel aus einer Quelle). */
.sendung-zustand[b-zg9h10lhad] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 18px;
    margin-right: 12px;
    padding: 0 6px 0 4px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    line-height: 16px;
    white-space: nowrap;
    border: 1px solid currentColor;
    border-radius: var(--nem-radius);
    cursor: default;
}

.sendung-zustand .rzi[b-zg9h10lhad] {
    font-size: calc(var(--nem-schriftgroesse) + 1px);
}

.sendung-zustand.bearbeiten[b-zg9h10lhad] {
    color: var(--nem-akzent);
    background: color-mix(in srgb, var(--nem-akzent) 8%, transparent);
}

.sendung-zustand.ansehen[b-zg9h10lhad] {
    color: var(--nem-schrift-gedimmt);
}

.sendung-zustand.gesperrt[b-zg9h10lhad] {
    color: var(--nem-fehler);
    background: color-mix(in srgb, var(--nem-fehler) 8%, transparent);
}
/* /Pages/Client/SendungLadungOverlay.razor.rz.scp.css */
/* Overlay „Ladung“ – Raster wie UcLadung (Spalten * | 8 | 460, innen Rand 6; rechte Kachel Spalten 130 | *). */
.la-raster[b-zdvg5gr68d] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 8px;
    align-items: start;
}

.la-innen[b-zdvg5gr68d] {
    padding: 6px;
}

/* ADR aus Gefahrgut: Rahmen und Schrift in der Warnfarbe (Desktop #E7A229 = --nem-warnung), Rundung 2, Polster 6,4. */
.la-adr[b-zdvg5gr68d] {
    margin: 4px 0 0 0;
    padding: 4px 6px;
    border: 1px solid var(--nem-warnung);
    border-radius: var(--nem-radius);
    color: var(--nem-warnung);
}

.la-ladung[b-zdvg5gr68d] {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    align-items: center;
}

.la-label[b-zdvg5gr68d] {
    align-self: center;
}

.la-label-oben[b-zdvg5gr68d] {
    align-self: start;
    margin-top: 4px;
}

.la-temperatur[b-zdvg5gr68d] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 2px 0;
}

.la-temperatur .la-bis[b-zdvg5gr68d] {
    margin-left: 4px;
}

.la-grad[b-zdvg5gr68d] {
    width: 60px;
}

.la-hinweis[b-zdvg5gr68d] {
    margin: 0 0 8px 0;
}

.la-sicherung[b-zdvg5gr68d] {
    height: 96px;
    margin: 2px 0 8px 0;
    resize: vertical;
    padding-top: 3px;
}

.la-ladung > select[b-zdvg5gr68d],
.la-ladung > input[b-zdvg5gr68d] {
    margin: 2px 0;
}
/* /Pages/Client/SendungLieferscheineOverlay.razor.rz.scp.css */
/* ZUSAMMENGEFÜGTE LIEFERSCHEINE (18.10.2026) - die PDF füllt den Inhalt der Overlay-Karte (wie SendungDokumentAnsicht). Nur Palette. */
.slo-flaeche[b-63ofvhels4] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.slo-rahmen[b-63ofvhels4] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

/* Bis der Inhalt da ist: das iframe ohne Platz (das src setzt dokumente.js erst, wenn es steht). */
.slo-verborgen[b-63ofvhels4] {
    display: none;
}

.slo-meldung[b-63ofvhels4] {
    margin: 12px;
}
/* /Pages/Client/SendungMerkmale.razor.rz.scp.css */
/* Merkmal-Symbole im Sendungskopf (UcSendungKopf: Bild 20 px, Zusatztext 10 pt). */
.snd-merkmale[b-tdiaakgjhw] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    height: 100%;
    padding: 0 4px;
    cursor: default;
}

.snd-merkmal[b-tdiaakgjhw] {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.snd-merkmal-text[b-tdiaakgjhw] {
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    color: var(--nem-schrift);
}
/* /Pages/Client/SendungRegisterReiter.razor.rz.scp.css */
/* DFÜ-DETAIL DER ABFERTIGUNGSZEILE (18.10.2026) wie die RowDetails der AbfertigungDatenView: Rand 24,4,4,8, Tabelle höchstens 220 hoch,
   Knopf „Erneut ausgeben“ (Margin 1, Padding 6,0). Nur Palette, keine festen Farben. */
.srr-dfu[b-gzypm81lg3] {
    margin: 4px 4px 8px 24px;
}

.srr-dfu-tabelle[b-gzypm81lg3] {
    max-height: 220px;
    overflow: auto;
}

.srr-dfu-tabelle table[b-gzypm81lg3] {
    margin: 0;
}

.srr-dfu-tabelle td[b-gzypm81lg3] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.srr-dfu-knopf[b-gzypm81lg3] {
    margin: 1px;
    padding: 0 6px;
}
/* /Pages/Client/SendungTexteBereich.razor.rz.scp.css */
/* FREITEXTE wie UcFreitexteR2 (15.10.2026, Vorgabe Bastian): eine Spalte, zwei Zeilen je Eintrag – oben der Text (umbrechend,
   die Zeile wächst mit), darunter Typ (*) und Prio (95 px, Symbol im Feld) mit 4 px Abstand. Felder flach wie die
   transparenten ComboBoxen der XAML; gesperrt bleiben sie stehen (nur nicht bedienbar). */
.ft-zelle[b-dnbsxl28la] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 0;
    min-width: 0;
}

.ft-text[b-dnbsxl28la] {
    padding: 0 2px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ft-text-feld[b-dnbsxl28la] {
    height: auto;
    min-height: var(--nem-feld-hoehe);
    resize: none;
    overflow: hidden;
    white-space: pre-wrap;
    field-sizing: content;      /* wächst mit dem Text (Chrome/Edge), sonst bleibt eine Zeile */
}

.ft-auswahl[b-dnbsxl28la] {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) 95px;
    column-gap: 4px;
}

.ft-typ:disabled[b-dnbsxl28la],
.ft-prio select:disabled[b-dnbsxl28la] {
    opacity: 1;
    cursor: default;
    color: var(--nem-schrift);
    background-color: transparent;
    border-color: transparent;
}

/* Prio: Symbol links IM Feld, der Text daneben (wie das Icon-Dropdown der XAML). */
.ft-prio[b-dnbsxl28la] {
    position: relative;
    display: block;
}

    .ft-prio img[b-dnbsxl28la] {
        position: absolute;
        left: 5px;
        top: 3px;
        width: 16px;
        height: 16px;
        pointer-events: none;
    }

    .ft-prio select[b-dnbsxl28la] {
        width: 100%;
        padding-left: 25px;
    }
/* /Pages/Client/SendungView.razor.rz.scp.css */
/* LADEHINWEIS der Sendungsmaske wie UcSendung/LadeHinweisView (17.10.2026): mittig über der ganzen Maske, nicht anklickbar;
   Fläche/Rahmen/Streifen/Text aus der Palette, Rundung 6, Schatten wie der DropShadow der XAML, MinWidth 260, Text 14.
   Einblenden sofort, Ausblenden weich (0,35 s) – erst danach unsichtbar (visibility mit Verzögerung). */
.snd-wurzel[b-1mh52wa1jv] {
    position: relative;
}

.snd-ladehinweis[b-1mh52wa1jv] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 900;
    display: flex;
    align-items: center;
    min-width: 260px;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-akzent);
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
}

    .snd-ladehinweis.snd-ladehinweis-an[b-1mh52wa1jv] {
        opacity: 1;
        visibility: visible;
        transition: none;
    }

.snd-ladehinweis-streifen[b-1mh52wa1jv] {
    align-self: stretch;
    width: 4px;
    margin-right: 14px;
    border-radius: 5px 0 0 5px;
    background: var(--nem-akzent);
}

.snd-ladehinweis-kreisel[b-1mh52wa1jv] {
    display: flex;
    width: 24px;
    margin: 8px 0;
}

.snd-ladehinweis-text[b-1mh52wa1jv] {
    margin: 8px 14px 8px 10px;
    font-size: 14px;
    color: var(--nem-akzent);
    white-space: nowrap;
}
/* /Pages/Client/SendungZeigenOverlay.razor.rz.scp.css */
/* Gesperrte Knöpfe der Overlay-Leiste ("Bearbeiten" bei einer abgerechneten Sendung, "Speichern" im Ansehen, 16.10.2026):
   voll deckend wie die deaktivierten Knöpfe der App - graue Fläche, gedimmte Schrift, kein Hover. Nur Palette. */
button:disabled[b-l0dr8dlvl5],
button:disabled:hover[b-l0dr8dlvl5] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Client/SendungZusatzReiter.razor.rz.scp.css */
/* Die NemesisDataGrids der Reiter füllen das Panel (16.10.2026): nem-reiter-voll gibt dem Panel-Bereich die Höhe der
   Rasterzelle (192), das einzelne Panel hätte sonst Inhaltshöhe – die Grids rollen dann selbst statt des Panels. */
.zusatz-reiter[b-0kdhbpy9w2]  .nem-reiter-voll > .rz-tabview-panels > .rz-tabview-panel {
    height: 100%;
}
/* /Pages/Client/SollmengenUnterschreitungView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-1lpgpdwna1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-1lpgpdwna1]  .best-tabelle,
.best-tabelle[b-1lpgpdwna1] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-1lpgpdwna1] {
    width: 560px;
}

.best-abfrage[b-1lpgpdwna1] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-1lpgpdwna1],
.einzel-overlay[b-1lpgpdwna1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-1lpgpdwna1]  .einzel-tabelle,
.einzel-overlay[b-1lpgpdwna1]  .einzel-tabelle,
.einzel-tabelle[b-1lpgpdwna1] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-1lpgpdwna1]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-1lpgpdwna1] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/StatistikMonatlichView.razor.rz.scp.css */
/* Monatsstatistik – Zeitraum oben, Auswertung darunter (Abstand 8 wie im Desktop). */
.stat-monat[b-t9x99dasij] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.stat-monat-zeitraum[b-t9x99dasij] {
    display: flex;
    align-items: center;
    gap: 4px;
}
/* /Pages/Client/StatistikStellplaetzeView.razor.rz.scp.css */
/* Lagerauslastung – die Tabelle nutzt die ganze Kachel (im Desktop stand sie auf halber Höhe). */
.stat-stellplaetze[b-9kr9m0e498] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/StatistikView.razor.rz.scp.css */
/* STATISTIK DES LAGERS (17.10.2026) - Filterzeile oben, Auswertung füllt den Rest. */

.stat-maske[b-yrofl7lyde] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.stat-filter[b-yrofl7lyde] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
}

.stat-maske[b-yrofl7lyde]  .stat-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Gesamtzeile halbfett wie im Desktop (DataTrigger auf IstGesamt). */
.stat-maske[b-yrofl7lyde]  .ndg-tabelle > tbody > tr.stat-gesamt > td {
    font-weight: 600;
}
/* /Pages/Client/StellplatzAnlegenView.razor.rz.scp.css */
/* STELLPLÄTZE ANLEGEN – Eingaben links, Lagerbedingungen rechts (470 wie im Desktop), darunter die
   füllende Vorschau und die Statuszeile. */
.spa-maske[b-f2mrmaoj4z] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.spa-reihe[b-f2mrmaoj4z] {
    display: flex;
    align-items: flex-start;
    flex: 0 0 auto;
}

.spa-eingaben[b-f2mrmaoj4z] {
    display: flex;
    align-items: flex-start;
    margin: 5px;
}

/* Raster der Von-bis-Felder: Beschriftung | 120 | „bis" (30) | 120 */
.spa-felder[b-f2mrmaoj4z] {
    display: grid;
    grid-template-columns: auto 120px 30px 120px;
    grid-auto-rows: 28px;
    row-gap: 3px;
    align-items: center;
}

.spa-feld[b-f2mrmaoj4z] {
    width: 100%;
}

.spa-bis[b-f2mrmaoj4z] {
    text-align: center;
}

.spa-haken[b-f2mrmaoj4z] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 3px;
    margin-left: 20px;
}

/* Lagerbedingungen: Beschriftung 190 wie im Desktop, daneben das Feld */
.spa-bedingungen[b-f2mrmaoj4z] {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    grid-auto-rows: minmax(28px, auto);
    row-gap: 3px;
    align-items: center;
    margin: 5px;
}

.spa-temperatur[b-f2mrmaoj4z] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.spa-vorschau[b-f2mrmaoj4z] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.spa-status[b-f2mrmaoj4z] {
    flex: 0 0 auto;
    margin-top: 3px;
}
/* /Pages/Client/StellplatzAuswahlView.razor.rz.scp.css */
/* Stellplatzfeld – Fläche wie im Desktop (NemesisHoverFlaeche), bei Fehler roter Rahmen. */
.spa-feld[b-fwicznvq1w] {
    width: 100%;
    background: var(--nem-hover-flaeche);
}

.spa-fehler[b-fwicznvq1w] {
    border: 2px solid red;
}
/* /Pages/Client/StellplatzBereichAuswahlView.razor.rz.scp.css */
/* STELLPLATZ-BEREICHSAUSWAHL – Filterzeile wie das WrapPanel des Desktops, Tabelle füllend,
   gesperrte Zeilen gedimmt (im Desktop Opacity 0.55 in der RowStyle). */
.sp-bereich-maske[b-ptv6brpg0p] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.sp-filter[b-ptv6brpg0p] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.sp-filter-gruppe[b-ptv6brpg0p] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 2px 24px 2px 0;
}

.sp-bereich-tabelle[b-ptv6brpg0p] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 5px;
}

.sp-bereich-status[b-ptv6brpg0p] {
    flex: 0 0 auto;
    margin-top: 3px;
}

.sp-bereich-maske[b-ptv6brpg0p]  tr.sp-gesperrt {
    opacity: 0.55;
}
/* /Pages/Client/TaeglicherLagerbestandView.razor.rz.scp.css */
/* Leere Hülle wie im Desktop – füllt nur die Fläche des Aufrufers. */
.tlv-maske[b-iovi3usfbz] {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/TarifKopierenView.razor.rz.scp.css */
/* TARIFE KOPIEREN – Kopfzeile 26 hoch, darunter die Tariftabelle. */
.tkv-maske[b-ny9siwhi9a] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.tkv-kopf[b-ny9siwhi9a] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    min-height: var(--nem-zeile);
    flex: 0 0 auto;
}

.tkv-tabelle[b-ny9siwhi9a] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 4px;
}
/* /Pages/Client/TarifView.razor.rz.scp.css */
/* TARIFE DES LAGERS (17.10.2026) - Tariftabelle und die Artikel des gewählten Tarifs nebeneinander. */

.tarif-maske[b-osphcy12go] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.tarif-reihe[b-osphcy12go] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
}

.tarif-maske[b-osphcy12go]  .tarif-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/UezErfassungOverlay.razor.rz.scp.css */
/* UEZ-ERFASSUNG (17.10.2026) - Nachbau UcUezErfassung (Rand 10). Nur Palette; Raster aus der XAML. */

.ebu-maske[b-0fqfg1amqp] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 4px;
    box-sizing: border-box;
}

.ebu-fehler[b-0fqfg1amqp] {
    flex: 0 0 auto;
    margin: 0 0 6px 0;
    color: var(--nem-fehler);
    white-space: pre-wrap;
}

.ebu-fett[b-0fqfg1amqp] {
    font-weight: 600;
}

/* "Gemeldet an Bordero" + Auswahl 260 breit (Rand 6). */
.ebu-bordero[b-0fqfg1amqp] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0 0 6px 0;
}

.ebu-bordero-wahl[b-0fqfg1amqp] {
    width: 260px;
    margin-left: 6px;
}

/* Spalten 300 | * mit 8 px Abstand; das fieldset traegt nur die Sperre (ohne Rahmen und Polster). */
.ebu-raster[b-0fqfg1amqp] {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    column-gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
}

/* Linke Kachel fuellt die Hoehe (nem-kachel-fuellend), die Liste nimmt den Rest unter dem Barcode-Feld. */
.ebu-links[b-0fqfg1amqp] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Barcode-Feld + "+" (30 breit, Rand 2 links), Zeile 26. */
.ebu-barcode-zeile[b-0fqfg1amqp] {
    flex: 0 0 var(--nem-zeile);
    display: flex;
    align-items: center;
    gap: 2px;
    margin-bottom: 2px;
}

.ebu-plus[b-0fqfg1amqp] {
    flex: 0 0 28px;
    justify-content: center;
    padding: 0;
    height: var(--nem-feld-hoehe);
}

.ebu-liste[b-0fqfg1amqp] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Sendungsangaben: Spalten 90|*|90|*, Zeilen 26/26/26/14/26/26/*. */
.ebu-angaben[b-0fqfg1amqp] {
    grid-template-columns: 90px minmax(0, 1fr) 90px minmax(0, 1fr);
    grid-template-rows: var(--nem-zeile) var(--nem-zeile) var(--nem-zeile) 14px var(--nem-zeile) var(--nem-zeile) auto;
}

/* LKZ 34 | PLZ 60 | Ort * mit 2 px Abstand. */
.ebu-ort[b-0fqfg1amqp] {
    display: grid;
    grid-template-columns: 34px 60px minmax(0, 1fr);
    column-gap: 2px;
    min-width: 0;
}

/* Anzahl 60 | Verpackung * mit 2 px Abstand. */
.ebu-anzahl[b-0fqfg1amqp] {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    column-gap: 2px;
    min-width: 0;
}

/* L / B / H mit 4 px Abstand. */
.ebu-masse[b-0fqfg1amqp] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 4px;
    min-width: 0;
}

.ebu-zahl[b-0fqfg1amqp] {
    text-align: right;
}

.ebu-erklaerung[b-0fqfg1amqp] {
    align-self: start;
    margin-top: 8px;
    color: var(--nem-schrift-gedimmt);
    white-space: normal;
}

button[b-0fqfg1amqp] {
    white-space: nowrap;
}

button:disabled[b-0fqfg1amqp] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Client/VerpackungenView.razor.rz.scp.css */
/* STAMMDATENMASKEN DES LAGERS (17.10.2026): Verpackungen und Warenzustandscodes - nur die Höhenkette. */

.stamm-maske[b-ebq6syk5wz] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.stamm-reihe[b-ebq6syk5wz] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
    padding: 2px;
}

.stamm-maske[b-ebq6syk5wz]  .stamm-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/VerwendungVerlaufView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-vqe2509wsb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-vqe2509wsb]  .best-tabelle,
.best-tabelle[b-vqe2509wsb] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-vqe2509wsb] {
    width: 560px;
}

.best-abfrage[b-vqe2509wsb] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-vqe2509wsb],
.einzel-overlay[b-vqe2509wsb] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-vqe2509wsb]  .einzel-tabelle,
.einzel-overlay[b-vqe2509wsb]  .einzel-tabelle,
.einzel-tabelle[b-vqe2509wsb] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-vqe2509wsb]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-vqe2509wsb] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/WarenZustandCodesView.razor.rz.scp.css */
/* STAMMDATENMASKEN DES LAGERS (17.10.2026): Verpackungen und Warenzustandscodes - nur die Höhenkette. */

.stamm-maske[b-2v9u4tvfan] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.stamm-reihe[b-2v9u4tvfan] {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-height: 0;
    padding: 2px;
}

.stamm-maske[b-2v9u4tvfan]  .stamm-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}
/* /Pages/Client/WiederEinlagerungView.razor.rz.scp.css */
/* OVERLAYS DES BESTANDS (17.10.2026) - alle nach demselben Muster: Kacheln untereinander, die Tabellen
   darin füllen die Höhe. Die Datei bedient alle Bestands-Overlays (gleiche Klassennamen). */

.best-overlay[b-hagfzsvw1r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.best-overlay[b-hagfzsvw1r]  .best-tabelle,
.best-tabelle[b-hagfzsvw1r] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Mengen anpassen: zwei Kacheln untereinander, Overlay 560 × 380 wie im Desktop. */
.best-mengen[b-hagfzsvw1r] {
    width: 560px;
}

.best-abfrage[b-hagfzsvw1r] {
    display: flex;
    flex-direction: column;
}

/* Einzelmasken und Overlays des Lagers (17.10.2026): dieselbe Höhenkette. */
.einzel-maske[b-hagfzsvw1r],
.einzel-overlay[b-hagfzsvw1r] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 6px;
}

.einzel-maske[b-hagfzsvw1r]  .einzel-tabelle,
.einzel-overlay[b-hagfzsvw1r]  .einzel-tabelle,
.einzel-tabelle[b-hagfzsvw1r] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Schon wiedereingelagerte Zeilen sind „tot" - gedimmt wie im Desktop. */
.einzel-overlay[b-hagfzsvw1r]  .ndg-tabelle > tbody > tr.wieder-erledigt > td {
    color: var(--nem-schrift-gedimmt);
}

.manuell-warnung[b-hagfzsvw1r] {
    flex: 0 0 auto;
    margin-bottom: 6px;
}
/* /Pages/Client/ZeitstrahlView.razor.rz.scp.css */
/* ZEITSTRAHL (17.10.2026) - Farben nach Bereich und die Trennlinie beim Bereichswechsel, wie im Desktop. */

.zeit-maske[b-85jxk7nbbd] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.zeit-kopf[b-85jxk7nbbd] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 5px 4px 5px;
    flex: 0 0 auto;
}

.zeit-maske[b-85jxk7nbbd]  .zeit-tabelle {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Einlagerung orange, Kommissionierung petrol - dieselben Werte wie der Desktop. */
.zeit-maske[b-85jxk7nbbd]  .ndg-tabelle > tbody > tr.zeit-einlagerung > td { color: #B34700; }
.zeit-maske[b-85jxk7nbbd]  .ndg-tabelle > tbody > tr.zeit-kommissionierung > td { color: #216477; }

/* Ereignisse des GANZEN Auftrags (Anlage, Rückmeldung, Historie) tragen keine NVE - hervorgehoben. */
.zeit-maske[b-85jxk7nbbd]  .ndg-tabelle > tbody > tr.zeit-auftrag > td { font-weight: 600; }

/* Trennlinie beim Wechsel des Bereichs (Kommissionierung <-> Einlagerung). */
.zeit-maske[b-85jxk7nbbd]  .ndg-tabelle > tbody > tr.zeit-wechsel > td { border-top: 1px solid var(--nem-akzent); }
/* /Pages/Customer/CusAdminBenutzerVerwaltenView.razor.rz.scp.css */
/* Benutzer verwalten (29.10.2026, Soft-Delete): Schalter „Auch gelöschte anzeigen“ in der Aktionsleiste, gelöschte Zeilen gedimmt. */
.cab-geloeschte[b-mybnsfkdxp] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 8px;
    white-space: nowrap;
    cursor: pointer;
}

[b-mybnsfkdxp] .ndg-tabelle > tbody > tr.cab-geloescht > td {
    color: var(--nem-schrift-gedimmt);
    text-decoration: line-through;
}

[b-mybnsfkdxp] .ndg-tabelle > tbody > tr.cab-geloescht > td input {
    opacity: .6;
}

/* Letzter Login länger als 90 Tage her (29.10.2026, Vorgabe Bastian): Warnfarbe. */
.cab-lange-nicht[b-mybnsfkdxp] {
    color: var(--nem-warnung);
    font-weight: 600;
}

/* Anmeldesperre (10.11.2026): Stand und „Entsperren“ in einer Zeile; rot = gesperrt bzw. Wartezeit läuft, orange = nur Fehlversuche. */
.cab-sperre[b-mybnsfkdxp] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.cab-gesperrt[b-mybnsfkdxp] {
    color: var(--nem-fehler);
    font-weight: 600;
}

.cab-fehlversuche[b-mybnsfkdxp] {
    color: var(--nem-warnung);
}
/* /Pages/Customer/CusLagerAdminReservierungBestandView.razor.rz.scp.css */
/* BESTANDSRESERVIERUNGEN IM KUNDENPORTAL (18.10.2026) – nur Palette (var(--nem-…)), keine festen Farben. */

.crb-hinweis[b-efv0aor8bh] {
    max-width: 640px;
}

/* Reservierungen, die heute nicht wirken (abgelaufen, erfüllt, beginnen später): gedimmt, Grund im ToolTip der Zeile. */
.crb-seite[b-efv0aor8bh]  .ndg-tabelle > tbody > tr.crb-inaktiv > td {
    color: var(--nem-schrift-gedimmt);
}

/* Zeile unter einem Feld (Bezeichnung des Artikels, Menge am Lager, Hilfetexte). */
.crb-zusatz[b-efv0aor8bh] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: -2px 0 2px 2px;
}

.crb-fehler[b-efv0aor8bh] {
    margin: -2px 0 2px 2px;
    color: var(--nem-fehler);
}

/* Stand einer gespeicherten Reservierung: Beschriftung | Wert. */
.crb-stand[b-efv0aor8bh] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 4px 16px;
    align-items: baseline;
}
/* /Pages/Customer/CusLagerAuslagerungenView.razor.rz.scp.css */
.left-item[b-j788r777u0] {
    width: 150px;
}

#overlay[b-j788r777u0] {
    position: fixed; /* Sit on top of the page content */
    display: block; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */
}

#overlay-content[b-j788r777u0] {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 50px;
    color: white;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    background-color: var(--nem-karte);
    z-index: 3;
    border-radius: 18px;
    padding: 15px;
}

/* Spalte „Bestand“ der Positionen (29.10.2026, nur bei Aufträgen, die noch auf die Freigabe warten): rot, wenn er die Menge nicht deckt. */
.cla-bestand-knapp[b-j788r777u0] {
    color: var(--nem-fehler);
    font-weight: 600;
}

/* Bearbeiten-Leiste über den Positionen eines vorläufigen Auftrags (29.10.2026): „speichern“ und – nur Superuser – „Artikel hinzufügen“. */
.cla-bearbeiten[b-j788r777u0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.cla-trenner[b-j788r777u0] {
    width: 1px;
    height: 24px;
    margin: 0 4px;
    background: var(--nem-kontur);
}

.cla-ungespeichert[b-j788r777u0] {
    color: var(--nem-warnung);
    font-weight: 600;
}

/* Hinzugefügte, noch nicht gespeicherte Position: Nummer halbfett mit Kennung „neu“. */
.cla-artikel-neu[b-j788r777u0] {
    font-weight: 600;
}

/* Zum Entfernen vorgemerkte Position (29.10.2026): durchgestrichen und gedimmt bis „speichern“. */
[b-j788r777u0] .ndg-tabelle > tbody > tr.cla-entfernt > td {
    color: var(--nem-schrift-gedimmt);
    text-decoration: line-through;
}

.cla-neu[b-j788r777u0] {
    margin-left: 6px;
    padding: 0 7px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}
/* /Pages/Customer/CusLagerBestandView.razor.rz.scp.css */
/* „Nach Artikeln“: Menge 1 eingefärbt, wenn die Sollmenge des Artikels unterschritten ist (18.10.2026, Vorgabe Bastian) – wie die
   Signalzellen der Lageransichten (lager-artikel-unbekannt): Fehlerfarbe, helle Schrift; schlägt Zebra/Hover/Auswahl. */
.nem-maske-fuellend[b-ylu77cxyxa]  .ndg-tabelle > tbody > tr > td.cus-soll-unterschritten {
    background: var(--nem-fehler);
    color: var(--nem-schrift-auf-akzent);
}
/* /Pages/Customer/CusLagerDokumenteView.razor.rz.scp.css */
/* DOKUMENTE IM LAGERBEREICH DES KUNDENPORTALS (14.11.2026). Feldhöhen, Knöpfe und Rundungen kommen aus kundenportal.css – hier nur der Aufbau
   der Kachel „Hochladen“ und der Datei-Chip (wie im Detail-Overlay der Lageraufträge, LagerDetailOverlay.razor.css). */

.cld-formular[b-7n8sie62wh] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* „Datei auswählen“: label in Radzen-Knopfoptik (Klassen rz-button …) – nur Zeiger und Sperre ergänzen. */
.cld-dateiknopf[b-7n8sie62wh] {
    cursor: pointer;
    margin: 0;
    user-select: none;
}

    .cld-dateiknopf.rz-state-disabled[b-7n8sie62wh] {
        cursor: default;
        pointer-events: none;
    }

/* Gewählte Datei als Chip: Symbol, Name (gekürzt), Größe, ✕ zum Verwerfen. */
.cld-datei[b-7n8sie62wh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 420px;
    min-height: 28px;
    padding: 2px 4px 2px 10px;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--nem-akzent) 35%, var(--nem-flaeche));
    border-radius: 14px;
    background: color-mix(in srgb, var(--nem-akzent) 8%, var(--nem-flaeche));
    color: var(--nem-schrift);
}

    .cld-datei > .rzi[b-7n8sie62wh] {
        font-size: 16px;
        color: var(--nem-akzent);
    }

.cld-datei-name[b-7n8sie62wh] {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cld-datei-weg[b-7n8sie62wh] {
    flex: 0 0 auto;
    width: var(--nem-feld-hoehe);
    height: var(--nem-feld-hoehe);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--nem-schrift-gedimmt);
    font-size: var(--nem-schriftgroesse);
    line-height: var(--nem-feld-hoehe);
    cursor: pointer;
}

    .cld-datei-weg:hover:not(:disabled)[b-7n8sie62wh] {
        background: color-mix(in srgb, var(--nem-fehler) 15%, transparent);
        color: var(--nem-fehler);
    }

    .cld-datei-weg:disabled[b-7n8sie62wh] {
        cursor: default;
    }

.cld-fehler[b-7n8sie62wh] {
    color: var(--nem-fehler);
}

/* Knöpfe der Zeile nebeneinander, behalten ihre Breite. */
.cld-knoepfe[b-7n8sie62wh] {
    display: inline-flex;
    gap: 4px;
    white-space: nowrap;
}
/* /Pages/Customer/CusLagerEinlagerungenView.razor.rz.scp.css */
.left-item[b-ww60ia92h5] {
    width: 150px;
}

#overlay[b-ww60ia92h5] {
    position: fixed; /* Sit on top of the page content */
    display: block; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */
}

#overlay-content[b-ww60ia92h5] {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 50px;
    color: white;
    transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
}
/* /Pages/Customer/CusLagerEinstellungenView.razor.rz.scp.css */
/* LAGER-EINSTELLUNGEN (18.10.2026, Vorgaben Bastian: Empfänger als Tabelle, Intervall als Textbox, „Höhe der Boxen 26px“). */
/* Ganze Breite (29.10.2026, Rückmeldung Bastian; vorher höchstens 900 px). Die Kacheln stehen ab 1200 px nebeneinander – die gespeicherten
   Adressen (sieben Spalten) etwas breiter als die Erinnerung –, schmaler untereinander. */
.cle-reihe[b-sx3tkdllp2] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

@media (min-width: 1200px) {
    .cle-reihe[b-sx3tkdllp2] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    }
}

.cle-reihe[b-sx3tkdllp2]  .nem-kachel {
    margin-bottom: 0;
}

.cle-text[b-sx3tkdllp2] {
    margin: 0 0 10px 0;
}

.cle-label[b-sx3tkdllp2] {
    display: block;
    margin: 6px 0 4px 0;
    color: var(--nem-schrift-gedimmt);
}

.cle-zeile[b-sx3tkdllp2] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

    .cle-zeile .cle-label[b-sx3tkdllp2] {
        margin: 0;
        min-width: 130px;
    }

.cle-intervall[b-sx3tkdllp2] {
    width: 90px;
}

.cle-hilfe[b-sx3tkdllp2] {
    margin-top: 4px;
    color: var(--nem-schrift-gedimmt);
}

.cle-fehler[b-sx3tkdllp2] {
    color: var(--nem-fehler);
}

.cle-stand[b-sx3tkdllp2] {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Eingabefelder so hoch wie alle Felder des Kundenportals (seit 29.10.2026 32 px, kundenportal.css --kp-feld; vorher 26 px) – auch in
   den Zellen der Empfänger-Tabelle. */
.cle-seite[b-sx3tkdllp2]  input.cle-feld,
.cle-seite input.cle-feld[b-sx3tkdllp2] {
    height: var(--kp-feld, 26px);
    box-sizing: border-box;
}

.cle-seite[b-sx3tkdllp2]  .ndg-tabelle > tbody > tr > td.cle-zelle-fehler input {
    border-color: var(--nem-fehler);
}

.cle-seite[b-sx3tkdllp2]  .cle-entfernen {
    display: inline-flex;
    cursor: pointer;
    color: var(--nem-schrift-gedimmt);
    --rz-icon-size: 16px;
}

    .cle-seite[b-sx3tkdllp2]  .cle-entfernen:hover {
        color: var(--nem-fehler);
    }

/* GESPEICHERTE ADRESSEN (18.10.2026): ausgeblendete Zeilen gedimmt (den Stand zeigt der Knopf vorne, 19.10.2026 ohne Statusspalte). */
.cle-seite[b-sx3tkdllp2]  .ndg-tabelle > tbody > tr.cle-ausgeblendet > td {
    color: var(--nem-schrift-gedimmt);
}
/* /Pages/Fuhrpark/FahrerEintragView.razor.rz.scp.css */
/* FAHRERVERWALTUNG (FahrerEintragView, 16.10.2026) - Raster wie die XAML: Kopf aus drei Kacheln (Fahrer Auto | 5 | Kontaktdaten * |
   5 | Foto Auto), darunter die Reiter, die bis zur Reiterleiste reichen. Farben nur aus der Palette (--nem-*); die Tabellen
   sind NemesisDataGrids. */
.fv-maske[b-qzasq3b2ti] {
    padding: 2px;
}

.fv-kopf[b-qzasq3b2ti] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 5px;
    align-items: stretch;
    flex: 0 0 auto;
}

/* Kontaktdaten: das NemesisDataGrid fuellt die Kachel (gleich hoch wie die Kachel "Fahrer"). */
.fv-kopf[b-qzasq3b2ti]  .fv-kontakte {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fv-kopf[b-qzasq3b2ti]  .fv-kontakte > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Foto (FahrerFotoView): Bild 140 x 170 ueber zwei Spalten, darunter rechts "..." (und der Papierkorb). */
.fv-foto[b-qzasq3b2ti] {
    display: grid;
    grid-template-columns: 140px 30px;
    grid-template-rows: 170px var(--nem-zeile);
}

.fv-foto-bild[b-qzasq3b2ti] {
    grid-column: 1 / span 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--nem-zebra);
    border: 1px solid var(--nem-kontur);
}

.fv-foto-bild img[b-qzasq3b2ti] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.fv-foto-leiste[b-qzasq3b2ti] {
    grid-column: 1 / span 2;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

.fv-foto-knopf[b-qzasq3b2ti] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-zeile);
    height: var(--nem-feld-hoehe);
    margin: 0;
    font-weight: 600;
    color: var(--nem-schrift);
    border-radius: 2px;
    cursor: pointer;
}

.fv-foto-knopf:hover[b-qzasq3b2ti] {
    background: var(--nem-hover-flaeche);
}

/* Das Dateifeld liegt unsichtbar ueber dem Knopf "..." (InputFile ist eine eigene Komponente - daher ::deep). */
.fv-foto-knopf[b-qzasq3b2ti]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0;
    cursor: pointer;
}

.fv-gesperrt[b-qzasq3b2ti] {
    opacity: .4;
    pointer-events: none;
}

/* Reiter "Info": FahrerInfoView (130 | 250) links, Termine (DokumenteView) fuellen den Rest. */
.fv-info[b-qzasq3b2ti] {
    display: flex;
    gap: 5px;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.fv-info-raster[b-qzasq3b2ti] {
    flex: 0 0 auto;
    align-self: stretch;
    grid-template-columns: 130px 250px;
    grid-template-rows: repeat(7, var(--nem-zeile)) minmax(52px, 1fr);
}

.fv-bemerkungen[b-qzasq3b2ti] {
    align-self: stretch;
    height: auto;
    min-height: 48px;
    margin: 2px 0;
    resize: none;
}

.fv-termine[b-qzasq3b2ti] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.fv-pflicht[b-qzasq3b2ti] {
    padding: 0 4px;
    font-weight: 600;
    cursor: help;
}

/* Reiter "Urlaub / Krankheit": Plus oben, das Grid bis unten. */
.fv-abwesenheit[b-qzasq3b2ti] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

/* Eingaben in den Tabellen fuellen ihre Spalte; die Spalten haben Mindestbreiten (sonst nimmt die Sternspalte alles). */
.fv-maske .nem-zellfeld[b-qzasq3b2ti] {
    width: 100%;
}

.fv-maske[b-qzasq3b2ti]  .ndg-tabelle > tbody > tr > td.fv-mitte {
    text-align: center;
}

.fv-papierkorb[b-qzasq3b2ti] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.fv-papierkorb:hover[b-qzasq3b2ti] {
    color: var(--nem-fehler);
}

/* Fahrersuche (Overlay): das NemesisDataGrid (mit Gruppierleiste) fuellt das Overlay; Summe "Fahrer" unter der Anrede. */
.fv-suche[b-qzasq3b2ti] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.fv-suche[b-qzasq3b2ti]  .ndg-tabelle > tbody > tr {
    cursor: pointer;
}

.fv-beschriftung[b-qzasq3b2ti] {
    margin-right: 6px;
    font-weight: 400;
}
/* /Pages/Fuhrpark/FahrzeugEintragView.razor.rz.scp.css */
/* FAHRZEUGVERWALTUNG (FahrzeugEintragView, 16.10.2026) - Kachel "Fahrzeug" oben, Reiter fuellen bis zur Reiterleiste.
   Farben nur aus der Palette (--nem-*); die Tabellen sind NemesisDataGrids. */
.fz-maske[b-rkaxwr0bui] {
    padding: 2px;
}

/* Grids der Reiter Termine/Abrechnung fuellen den Reiter. */
.fz-reiter-tabelle[b-rkaxwr0bui] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Datumszelle wie im Desktop: "Tag.Monat" auf hellem Feld (Desktop LightBlue -> Selektionsfarbe), "Jahr" auf dem
   Spaltenkopf-Ton; ein Klick oeffnet das Datumsfeld. */
.fz-datum[b-rkaxwr0bui] {
    display: inline-grid;
    grid-template-columns: 80px auto;
    min-width: 130px;
    margin: 1px 0;
    line-height: 20px;
}

.fz-datum-klickbar[b-rkaxwr0bui] {
    cursor: pointer;
}

.fz-datum-tag[b-rkaxwr0bui] {
    padding: 0 4px;
    color: var(--nem-schrift);
    background: var(--nem-selektion);
}

.fz-datum-jahr[b-rkaxwr0bui] {
    padding: 0 4px;
    color: var(--nem-spalten-kopf-schrift);
    background: var(--nem-spalten-kopf);
}

.fz-datum-feld[b-rkaxwr0bui] {
    width: 150px;
}

/* Reiter "Abwesenheit": Plus oben, das Grid bis unten. */
.fz-abwesenheit[b-rkaxwr0bui] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

/* Eingaben in den Tabellen fuellen ihre Spalte. */
.fz-maske .nem-zellfeld[b-rkaxwr0bui] {
    width: 100%;
}

.fz-maske[b-rkaxwr0bui]  .ndg-tabelle > tbody > tr > td.fz-mitte {
    text-align: center;
}

.fz-papierkorb[b-rkaxwr0bui] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.fz-papierkorb:hover[b-rkaxwr0bui] {
    color: var(--nem-fehler);
}

/* Fahrzeugsuche (Overlay): das NemesisDataGrid (mit Gruppierleiste) fuellt das Overlay; Summen unter den Spalten. */
.fz-suche[b-rkaxwr0bui] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.fz-suche[b-rkaxwr0bui]  .ndg-tabelle > tbody > tr {
    cursor: pointer;
}

.fz-beschriftung[b-rkaxwr0bui] {
    margin-right: 6px;
    font-weight: 400;
}
/* /Pages/Fuhrpark/FahrzeugMerkmaleView.razor.rz.scp.css */
/* Reiter „Ausstattung“ – Raster wie FahrzeugMerkmaleView (Rand 4, Spalten * | 8 | 320, innen Rand 6). */
.fm-raster[b-jvoxok3ltc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 8px;
    align-items: start;
    padding: 4px;
    height: 100%;
    overflow: auto;
}

.fm-innen[b-jvoxok3ltc] {
    padding: 6px;
}

.fm-temperatur[b-jvoxok3ltc] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 2px 0;
}

.fm-temperatur .fm-bis[b-jvoxok3ltc] {
    margin-left: 4px;
}

.fm-grad[b-jvoxok3ltc] {
    width: 60px;
}

.fm-hinweis[b-jvoxok3ltc] {
    margin: 6px 0 0 0;
}
/* /Pages/Stammdaten/AbrechnungSpeditionView.razor.rz.scp.css */
/* REITER „ABRECHNUNG“ (18.10.2026) - wie AbrechnungSpeditionView.xaml: TabControl mit der Reiterleiste LINKS (Hausstil NemesisReiter:
   gewählter Reiter Fläche + Akzentkante), Inhalt mit Rand 6. Einstellungen: drei Kacheln nebeneinander (MinWidth 900, rollbar), Raster
   Auto (mind. 120) | *, Zeilen 28. Tarife/Frachtgewicht/Zonen: Menü auf dem Spaltenkopf-Grau, darunter die Tabelle bis unten.
   Farben nur aus der Palette. */
.as-reiter[b-53z0lqvnt2] {
    display: flex;
    height: 100%;
    min-height: 0;
    min-width: 0;
    padding: 2px;
}

.as-koepfe[b-53z0lqvnt2] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-top: 2px;
}

.as-kopf[b-53z0lqvnt2] {
    padding: 4px 12px 4px 10px;
    color: var(--nem-reiter-schrift);
    white-space: nowrap;
    cursor: pointer;
    border: 1px solid transparent;
    border-right: 0;
    border-radius: 6px 0 0 6px;
    user-select: none;
}

.as-kopf:hover:not(.aktiv)[b-53z0lqvnt2] {
    background: var(--nem-reiter-flaeche);
}

.as-kopf.aktiv[b-53z0lqvnt2] {
    margin-right: -1px;
    color: var(--nem-akzent);
    background: var(--nem-flaeche);
    border-color: var(--nem-reiter-linie);
    box-shadow: inset 2px 0 0 var(--nem-akzent);
    position: relative;
    z-index: 1;
}

.as-inhalt[b-53z0lqvnt2] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    padding: 6px;
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-reiter-linie);
}

.as-seite[b-53z0lqvnt2] {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: auto;
}

.as-seite-spalte[b-53z0lqvnt2] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Verborgene Reiter bleiben aufgebaut (Eingaben, Tabellenansicht) - nur nicht sichtbar. */
.as-verborgen[b-53z0lqvnt2] {
    display: none !important;
}

.as-fehler[b-53z0lqvnt2] {
    flex: 0 0 auto;
    margin-bottom: 4px;
    color: var(--nem-fehler);
}

/* ---------- Einstellungen (UcAbrechnungEinstellungen) ---------- */
.as-einstellungen[b-53z0lqvnt2] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 8px;
    min-width: 900px;
    align-items: stretch;
}

.as-einstellungen[b-53z0lqvnt2]  .as-kachel {
    margin: 0;
    min-width: 0;
}

.as-ein-raster[b-53z0lqvnt2] {
    grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
    grid-auto-rows: minmax(28px, auto);
}

.as-label-oben[b-53z0lqvnt2] {
    align-self: start;
    padding-top: 4px;
}

.as-rechnungstext[b-53z0lqvnt2] {
    height: 100px;
    min-height: 60px;
    max-height: 200px;
    padding: 2px 4px;
    resize: vertical;
}

.as-haken[b-53z0lqvnt2] {
    display: flex;
    align-items: center;
}

/* ---------- Menüs und Tabellen ---------- */
.as-plus[b-53z0lqvnt2] {
    fill: none;
    stroke: var(--nem-erfolg);
    stroke-width: 2.5;
    stroke-linecap: round;
}

.nem-menueleiste[b-53z0lqvnt2] {
    flex: 0 0 auto;
}

.as-tabelle[b-53z0lqvnt2] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

[b-53z0lqvnt2] .ndg-tabelle > tbody > tr > td.as-mitte {
    text-align: center;
}

[b-53z0lqvnt2] .ndg-tabelle > tbody > tr.as-zeile-geloescht > * {
    opacity: .45;
    text-decoration: line-through;
}

/* Fibu ohne Kostenstelle und Konto: rote Zelle mit weißer Schrift (Desktop: #D9534F / White). */
[b-53z0lqvnt2] .ndg-tabelle > tbody > tr > td.as-buchung-fehlt {
    background: var(--nem-fehler);
    color: #FFFFFF;
}

[b-53z0lqvnt2] .nem-zellfeld {
    width: 100%;
}

[b-53z0lqvnt2] .as-zahl {
    text-align: right;
}

.as-zeilenknopf[b-53z0lqvnt2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.as-zeilenknopf.as-aus[b-53z0lqvnt2] {
    opacity: .4;
    cursor: default;
    pointer-events: none;
}

.as-papierkorb[b-53z0lqvnt2] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
}

.as-zeilenknopf:hover .as-papierkorb[b-53z0lqvnt2] {
    color: var(--nem-fehler);
}

.as-papierkorb.as-markiert[b-53z0lqvnt2] {
    color: var(--nem-akzent);
}

.as-fehlerpunkt[b-53z0lqvnt2] {
    display: inline-block;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--nem-fehler);
    vertical-align: middle;
}

/* ---------- Frachtpfl. Gewicht (UcFrachtgewicht) ---------- */
.as-rundung[b-53z0lqvnt2] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
}

.as-rundung .as-gedimmt[b-53z0lqvnt2] {
    margin-left: 12px;
    white-space: normal;
}

.as-gedimmt[b-53z0lqvnt2] {
    color: var(--nem-schrift-gedimmt);
}

.as-erklaerung[b-53z0lqvnt2] {
    flex: 0 0 auto;
    margin: 0 4px 6px 4px;
    white-space: normal;
}

.as-pruefhinweis[b-53z0lqvnt2] {
    margin-top: 4px;
    color: var(--nem-fehler);
    font-weight: 600;
}

/* ---------- Abw. Zonen ---------- */
.as-zonen-ladehinweis[b-53z0lqvnt2] {
    flex: 0 0 auto;
    margin: 0 8px 4px 8px;
}

.as-seite-spalte[b-53z0lqvnt2]  .as-zonen-kachel {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
}

.as-seite-spalte[b-53z0lqvnt2]  .as-zonen-kachel > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.as-zonen[b-53z0lqvnt2] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.as-zonen-aus[b-53z0lqvnt2] {
    opacity: .6;
}

.as-zonen-hinweise[b-53z0lqvnt2] {
    flex: 0 0 auto;
    padding: 4px 6px;
    white-space: normal;
}
/* /Pages/Stammdaten/AbrechnungTarifWahlOverlay.razor.rz.scp.css */
/* OVERLAY „TARIF WÄHLEN“ (18.10.2026) - wie UcTarifFinden.xaml: die Tabelle füllt das Overlay. */
.twa-maske[b-oeseil7ypl] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 4px;
}
/* /Pages/Stammdaten/AbrechnungTarifZuweisungOverlay.razor.rz.scp.css */
/* OVERLAY „TARIFZUWEISUNG“ (18.10.2026) - wie UcTarifZuweisungBearbeiten.xaml: Raster 2 Spalten × 3 Zeilen (Auto), Kacheln mit Rand 6,
   darin Spalten 140 (Verknüpfung 160) | *, Zeilen 30; die Filterkachel mindestens 140 hoch. Farben nur aus der Palette. */
.tzo-raster[b-niogrngkyj] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    padding: 4px;
}

.tzo-raster[b-niogrngkyj]  .tzo-kachel {
    margin: 6px;
    min-width: 0;
}

.tzo-felder[b-niogrngkyj] {
    grid-template-columns: 140px minmax(0, 1fr);
    grid-auto-rows: 30px;
    padding: 4px 6px;
}

.tzo-felder-160[b-niogrngkyj] {
    grid-template-columns: 160px minmax(0, 1fr);
}

.tzo-zeile[b-niogrngkyj] {
    display: flex;
    align-items: center;
    min-width: 0;
}

.tzo-tarifname[b-niogrngkyj] {
    margin-left: 8px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.tzo-bis[b-niogrngkyj] {
    margin: 0 8px;
}

.tzo-haken[b-niogrngkyj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    white-space: nowrap;
}

.tzo-ganz[b-niogrngkyj] {
    grid-column: 1 / span 2;
}

.tzo-zahl[b-niogrngkyj],
[b-niogrngkyj] .tzo-zahl {
    text-align: right;
}

/* Filter: die Tabelle füllt die Kachel (mindestens 140 hoch). */
.tzo-filter[b-niogrngkyj] {
    display: flex;
    flex-direction: column;
    min-height: 140px;
    height: 100%;
}

[b-niogrngkyj] .nem-zellfeld {
    width: 100%;
}

/* Verkettung leer = „auto“ gedimmt (Desktop: Opacity 0.5). */
[b-niogrngkyj] .ndg-tabelle > tbody > tr > td.tzo-auto {
    color: var(--nem-schrift-gedimmt);
}

.tzo-zeilenknopf[b-niogrngkyj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.tzo-papierkorb[b-niogrngkyj] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
}

.tzo-zeilenknopf:hover .tzo-papierkorb[b-niogrngkyj] {
    color: var(--nem-fehler);
}

/* Unter 1100 px untereinander statt nebeneinander. */
@media (max-width: 1100px) {
    .tzo-raster[b-niogrngkyj] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Pages/Stammdaten/FrachtfuehrerView.razor.rz.scp.css */
/* REITER „FRACHTFÜHRER“ (14.11.2026) - wie FrachtfuehrerView.xaml: oben eine Reihe mit „Allgemeine Einstellungen“ (fest 420 + Rand 6),
   „Frachtführersperre“ (fest 340 + Rand 6) und „Status“ (füllt bis zum rechten Rand, bündig mit den Nachweisen), darunter „Nachweise“ über
   die ganze Breite und bis unten. Farben nur aus der Palette (rot = --nem-fehler wie #D9534F des Desktops, gelb = --nem-warnung).
   Die Hülle trägt den Schleier „Als Frachtführer einsetzen“ – er liegt über dem sichtbaren Reiter und rollt nicht mit. */
.ff-huelle[b-r26jeodi6i] {
    position: relative;
    height: 100%;
    min-height: 0;
}

.ff-reiter[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    overflow: auto;
}

.ff-oben[b-r26jeodi6i] {
    /* Umbruch statt Überlauf (14.11.2026, Vorgabe Bastian): die Kacheln brechen je nach Breite des REITERS in die nächste Zeile um –
       nicht über Media Queries (die kennen nur das Fenster, der Reiter ist schmaler). */
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    flex: 0 0 auto;
}

.ff-oben[b-r26jeodi6i]  .ff-kachel-frachtfuehrer {
    flex: 0 1 420px;
}

.ff-oben[b-r26jeodi6i]  .ff-kachel-sperre {
    flex: 0 1 340px;
}

.ff-oben[b-r26jeodi6i]  .ff-kachel-status {
    flex: 1 1 300px;
    min-width: min(300px, 100%);
}

.ff-reiter[b-r26jeodi6i]  .ff-kachel {
    margin: 6px;
    max-width: calc(100% - 12px);
}

.ff-reiter[b-r26jeodi6i]  .ff-kachel-nachweise {
    flex: 1 1 auto;
    min-height: 220px;
}

/* Kachel „Frachtführer“: Raster 150 | *, Zeilen 30, darunter die Bemerkung über beide Spalten. */
.ff-kopf[b-r26jeodi6i] {
    grid-template-columns: 150px minmax(0, 1fr);
    grid-auto-rows: minmax(30px, auto);
    align-items: center;
    padding: 6px;
}

.ff-vorwarnung[b-r26jeodi6i] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ff-vorwarnung .ff-zahl[b-r26jeodi6i] {
    width: 60px;
}

.ff-zahl[b-r26jeodi6i] {
    text-align: right;
}

.ff-ungueltig[b-r26jeodi6i] {
    border-color: var(--nem-fehler);
    outline: 1px solid var(--nem-fehler);
}

.ff-ganze-zeile[b-r26jeodi6i] {
    grid-column: 1 / -1;
}

.ff-bemerkung[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
}

.ff-label-oben[b-r26jeodi6i] {
    padding-left: 0;
}

.ff-text[b-r26jeodi6i] {
    height: 70px;
    resize: vertical;
}

/* Kachel „Frachtführersperre“: wie die Kundensperre der Transportmodalitäten (Auto | *, Zeilen 30, darunter der Hinweis). */
.ff-sperre[b-r26jeodi6i] {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 30px 30px 30px auto;
    align-items: center;
    padding: 6px;
}

.ff-bis[b-r26jeodi6i] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ff-datum[b-r26jeodi6i] {
    width: 120px;
}

.ff-sperre-hinweis[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
    align-self: start;
}

.ff-text-sperre[b-r26jeodi6i] {
    min-height: 60px;
    height: 60px;
    resize: vertical;
}

/* Kachel „Status“: oben kursiv der Hinweis „keine Verwendung eingestellt“, darunter der Statustext (Rand 8). */
.ff-status[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
}

.ff-verwendung[b-r26jeodi6i] {
    margin: 8px 8px 0 8px;
    font-style: italic;
}

.ff-statustext[b-r26jeodi6i] {
    margin: 8px;
    white-space: pre-wrap;
}

.ff-rot[b-r26jeodi6i] {
    color: var(--nem-fehler);
    font-weight: 600;
}

.ff-orange[b-r26jeodi6i] {
    color: var(--nem-warnung);
    font-weight: 600;
}

.ff-gedaempft[b-r26jeodi6i] {
    opacity: .8;
}

/* Kachel „Nachweise“: Menü oben, darunter die Tabelle bis unten (Rand 4, mindestens 180 hoch). */
.ff-nachweise[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 180px;
    padding: 4px;
}

.ff-tabelle[b-r26jeodi6i] {
    flex: 1 1 auto;
    min-height: 0;
}

.ff-tabelle[b-r26jeodi6i]  .ff-mitte {
    text-align: center;
}

.ff-fehler[b-r26jeodi6i] {
    margin: 6px;
    color: var(--nem-fehler);
}

/* SPERRE OHNE ADRESSVERWENDUNG: halbdurchsichtiger Schleier über dem Reiter, Kachel „Frachtführer“ 480 breit in der Mitte. */
.ff-sperre-schleier[b-r26jeodi6i] {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: var(--nem-sperr-schleier);
}

.ff-huelle[b-r26jeodi6i]  .ff-sperre-kachel {
    width: 480px;
    max-width: 100%;
    margin: 0;
}

.ff-sperre-inhalt[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
}

.ff-huelle[b-r26jeodi6i]  .ff-sperre-knopf {
    margin-top: 12px;
}

/* Knöpfe in den Zeilen (Entfernen, Hochladen, Öffnen): flach wie Ship.Admin, Symbol 16. */
.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 2px;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    border-radius: var(--nem-radius);
}

.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf:hover:not(:disabled):not(.ff-zeilenknopf-aus) {
    background: var(--nem-selektion);
}

.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf:disabled,
.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf-aus {
    opacity: .4;
    cursor: default;
}

.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf .rzi {
    font-size: 16px;
}

.ff-tabelle[b-r26jeodi6i]  .ff-dokumente {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.ff-tabelle[b-r26jeodi6i]  .ff-dok-anzahl {
    min-width: 12px;
    margin: 0 4px;
    text-align: center;
}

/* Das Dateifeld liegt unsichtbar über dem Symbol – ein Klick darauf öffnet die Dateiauswahl. */
.ff-tabelle[b-r26jeodi6i]  .ff-datei-feld {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
}

.ff-tabelle[b-r26jeodi6i]  .ff-zeilenknopf-aus .ff-datei-feld {
    cursor: default;
}

/* Auswahl, wenn ein Nachweis mehrere Dokumente hat. */
.ff-dok-auswahl[b-r26jeodi6i] {
    display: flex;
    flex-direction: column;
    padding: 6px;
}

.ff-dok-eintrag[b-r26jeodi6i] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    border-radius: var(--nem-radius);
}

.ff-dok-eintrag:hover[b-r26jeodi6i] {
    background: var(--nem-selektion);
}


/* /Pages/Stammdaten/LieferInformationenView.razor.rz.scp.css */
/* REITER „LIEFERINFORMATIONEN“ (Phase 2a, 18.10.2026) - Raster wie LieferInformationenView.xaml: Grid Rand 4, Zeilen Auto | Auto | *,
   Kachel-Abstände 6, senkrecht rollbar (waagerecht aus, damit die Bemerkung umbricht). Lieferzeiten 110 | 80 | 80 | 20 | 80 | 80,
   Kundenmerkmale 150 | *, Zeilen je 26. Gleiche Maße wie das Overlay des Eingangs (LieferInformationenOverlay). Farben nur aus der Palette. */
.li-reiter[b-swo1u4ca2q] {
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.li-maske[b-swo1u4ca2q] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 4px;
}

.li-maske[b-swo1u4ca2q]  .li-kachel {
    margin: 0;
}

/* Master-Adresse: „Zugewiesen an:“ fett, Abstand 6, Rand 6,4 wie das StackPanel. */
.li-master[b-swo1u4ca2q] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    min-height: var(--nem-feld-hoehe);
}

.li-fett[b-swo1u4ca2q] {
    font-weight: 700;
}

/* Lieferzeiten (Auto) | Kundenmerkmale (*) nebeneinander, Abstand 6. */
.li-mitte[b-swo1u4ca2q] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
}

.li-zeiten[b-swo1u4ca2q],
.li-merkmale[b-swo1u4ca2q] {
    padding: 4px 6px;
    grid-auto-rows: var(--nem-zeile);
}

.li-zeiten[b-swo1u4ca2q] {
    grid-template-columns: 110px 80px 80px 20px 80px 80px;
}

/* Kopfzeile: „1. Zeitfenster“ über Spalte 2-3, „2. Zeitfenster“ über Spalte 5-6, mittig. */
.li-fenster[b-swo1u4ca2q] {
    text-align: center;
}

.li-fenster-1[b-swo1u4ca2q] {
    grid-column: 2 / span 2;
}

.li-fenster-2[b-swo1u4ca2q] {
    grid-column: 5 / span 2;
}

/* Zeitfelder: Rand 2, Text mittig (Stil „ZeitFeld“ der XAML). */
.li-zeit[b-swo1u4ca2q] {
    width: calc(100% - 4px);
    margin: 0 2px;
    text-align: center;
}

.li-tag[b-swo1u4ca2q] {
    padding: 0 2px;
}

.li-merkmale[b-swo1u4ca2q] {
    grid-template-columns: 150px minmax(0, 1fr);
}

.li-merkmale > select.nem-feld[b-swo1u4ca2q],
.li-merkmale > input.nem-feld[b-swo1u4ca2q] {
    width: calc(100% - 4px);
    margin: 0 2px;
}

/* Bemerkungen: mehrzeilig mit Umbruch, mindestens 100 hoch, Rand 6,4. */
.li-bemerkung[b-swo1u4ca2q] {
    display: block;
    width: calc(100% - 12px);
    height: auto;
    min-height: 100px;
    margin: 4px 6px;
    padding: 3px 4px;
    line-height: 16px;
    resize: vertical;
    white-space: pre-wrap;
}

.li-fehler[b-swo1u4ca2q] {
    color: var(--nem-fehler);
}

/* Unter 900 px untereinander statt nebeneinander. */
@media (max-width: 900px) {
    .li-mitte[b-swo1u4ca2q] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Pages/Stammdaten/MasterZuordnungView.razor.rz.scp.css */
/* REITER „MASTER-ZUORDNUNG“ (Phase 2a, 18.10.2026) - wie MasterZuordnungView.xaml: StackPanel Rand 8, Überschrift fett (Abstand 6),
   Erklärung gedimmt mit Umbruch (Abstand 10), „Zugewiesen an:“ (Abstand 8), Knöpfe Polster 8,2 mit Abstand 6. Farben nur aus der Palette. */
.mz-reiter[b-ko5si49oji] {
    padding: 8px;
}

.mz-titel[b-ko5si49oji] {
    font-weight: 700;
    margin-bottom: 6px;
}

.mz-text[b-ko5si49oji] {
    white-space: normal;
    margin-bottom: 10px;
    max-width: 900px;
}

.mz-zeile[b-ko5si49oji] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: var(--nem-feld-hoehe);
    margin-bottom: 8px;
    white-space: normal;
}

.mz-fett[b-ko5si49oji] {
    font-weight: 700;
}

.mz-fehler[b-ko5si49oji] {
    color: var(--nem-fehler);
}

.mz-knoepfe[b-ko5si49oji] {
    display: flex;
    gap: 6px;
}

.mz-knoepfe > .nem-overlay-knopf[b-ko5si49oji] {
    padding: 2px 8px;
}

.mz-knoepfe > .nem-overlay-knopf:disabled[b-ko5si49oji] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Pages/Stammdaten/TransportModalitaetenView.razor.rz.scp.css */
/* REITER „TRANSPORTMODALITÄTEN“ (Phase 2a, 18.10.2026) - wie TransportModalitaetenView.xaml: drei Kacheln à 340 nebeneinander (Rand 6,
   gleich hoch), oben links; bei schmalem Fenster waagerecht und senkrecht rollbar (ScrollViewer Auto/Auto). Farben nur aus der Palette. */
.tm-reiter[b-2je0n5j26y] {
    height: 100%;
    min-height: 0;
    overflow: auto;
}

.tm-raster[b-2je0n5j26y] {
    display: grid;
    /* 340 je Kachel + Rand 6 links und rechts. */
    grid-template-columns: repeat(3, 352px);
    align-items: stretch;
    width: max-content;
}

.tm-raster[b-2je0n5j26y]  .tm-kachel {
    margin: 6px;
}

/* Kachel 1: Raster Auto | 60 | *, Zeilen 30, Feld 26 hoch und rechtsbündig. */
.tm-modalitaeten[b-2je0n5j26y] {
    grid-template-columns: auto 60px minmax(0, 1fr);
    grid-auto-rows: 30px;
    align-items: center;
    padding: 6px;
}

.tm-zahl[b-2je0n5j26y] {
    height: var(--nem-zeile);
    text-align: right;
}

.tm-ungueltig[b-2je0n5j26y] {
    border-color: var(--nem-fehler);
    outline: 1px solid var(--nem-fehler);
}

/* Kachel 2: Priorität oben rechts (100 breit), darunter der Text im Rahmen (rot bei „Hoch“, Rand 2, Rundung 2). */
.tm-hinweise[b-2je0n5j26y] {
    display: flex;
    flex-direction: column;
    padding: 6px;
}

.tm-prio[b-2je0n5j26y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.tm-prio-feld[b-2je0n5j26y] {
    width: 100px;
}

.tm-rahmen[b-2je0n5j26y] {
    border: 2px solid transparent;
    border-radius: 2px;
}

.tm-rahmen-hoch[b-2je0n5j26y] {
    border-color: var(--nem-fehler);
}

.tm-text[b-2je0n5j26y] {
    display: block;
    width: 100%;
    height: auto;
    padding: 3px 4px;
    line-height: 16px;
    resize: vertical;
    white-space: pre-wrap;
}

.tm-text-hinweise[b-2je0n5j26y] {
    min-height: 110px;
}

/* Kachel 3: Raster Auto | *, Zeilen 30 | 30 | 30 | Auto. */
.tm-sperre[b-2je0n5j26y] {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 30px 30px 30px auto;
    align-items: center;
    padding: 6px;
}

.tm-ganze-zeile[b-2je0n5j26y] {
    grid-column: 1 / span 2;
}

.tm-bis[b-2je0n5j26y] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tm-datum[b-2je0n5j26y] {
    width: 120px;
}

.tm-gedimmt[b-2je0n5j26y] {
    opacity: 0.7;
}

.tm-sperre-hinweis[b-2je0n5j26y] {
    margin-top: 6px;
    align-self: start;
}

.tm-label-oben[b-2je0n5j26y] {
    display: block;
    padding: 0 0 2px 0;
}

.tm-text-sperre[b-2je0n5j26y] {
    min-height: 60px;
}

.tm-vorschau[b-2je0n5j26y] {
    color: var(--nem-fehler);
    white-space: pre-wrap;
}

.tm-fehler[b-2je0n5j26y] {
    margin: 0 6px 6px 6px;
    color: var(--nem-fehler);
}
/* /Pages/Stammdaten/UcAdressDepot.razor.rz.scp.css */
/* REITER „DEPOTS“ (Phase 2b, 18.10.2026) - wie UcAdressDepot.xaml: Zeilen Auto | * - oben der Knopf „Depot hinzufügen“ (transparent,
   Plus 16, Abstand 4 nach unten), darunter die Tabelle bis unten. Aufklappbereich: Fläche NemesisZeilenKopf, Kontur 1, Polster 8,
   Rand 0,2. Farben nur aus der Palette. */
.ad-reiter[b-j7fp6eei4x] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.ad-kopf[b-j7fp6eei4x] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-bottom: 4px;
    min-height: var(--nem-feld-hoehe);
}

.ad-knopf[b-j7fp6eei4x] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px;
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.ad-knopf:hover:not(:disabled)[b-j7fp6eei4x] {
    background: var(--nem-knopf-hover);
}

.ad-knopf:disabled[b-j7fp6eei4x] {
    cursor: default;
    opacity: 0.6;
}

.ad-knopf .rzi[b-j7fp6eei4x] {
    font-size: 16px;
    color: var(--nem-akzent);
}

.ad-fehler[b-j7fp6eei4x] {
    margin-left: 16px;
    color: var(--nem-fehler);
}

.ad-tabelle[b-j7fp6eei4x] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Eingaben in den Zellen füllen ihre Spalte. */
[b-j7fp6eei4x] .nem-zellfeld {
    width: 100%;
}

[b-j7fp6eei4x] .ndg-tabelle > tbody > tr > td.ad-mitte-zelle {
    text-align: center;
}

.ad-papierkorb[b-j7fp6eei4x] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.ad-papierkorb:hover[b-j7fp6eei4x] {
    color: var(--nem-fehler);
}

/* Aufklappbereich: Transportwege des Depots. */
.ad-details[b-j7fp6eei4x] {
    margin: 2px 0;
    padding: 8px;
    background: var(--nem-zeilen-kopf);
    border: 1px solid var(--nem-kontur);
}

.ad-details-kopf[b-j7fp6eei4x] {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}

.ad-details-label[b-j7fp6eei4x] {
    margin-right: 5px;
    color: var(--nem-schrift);
}

.ad-weg-auswahl[b-j7fp6eei4x] {
    width: 320px;
    max-width: 100%;
}

.ad-details-kopf .ad-knopf[b-j7fp6eei4x] {
    margin-left: 6px;
}

/* Feste Breiten wie die XAML (90 + 70 + 360); die Tabelle wächst nicht über den Bereich hinaus. */
.ad-wege[b-j7fp6eei4x] {
    display: flex;
    flex-direction: column;
    max-width: 524px;
    max-height: 240px;
    min-height: 0;
}

.ad-leer[b-j7fp6eei4x] {
    display: inline-block;
    margin: 4px 0 0 2px;
    color: var(--nem-schrift-gedimmt);
    font-style: italic;
}
/* /Pages/Stammdaten/UcAdressEintrag.razor.rz.scp.css */
/* ADRESSSTAMM (UcAdressEintrag, 18.10.2026) - Raster wie die XAML: Kopf (UcAdressKopf 80 | 120 x 4 | 100 x 6, zwei Zeilen à 26),
   darunter Adresse | Kontakte | Verwendungen (Auto | 5 | 360 | 5 | 260, Höhe 200), darunter die Reiter bis zur Reiterleiste.
   Farben nur aus der Palette (--nem-*); die Tabellen sind NemesisDataGrids. */
.ae-maske[b-tmdf3l1rfg] {
    padding: 2px;
}

.ae-kopf[b-tmdf3l1rfg] {
    grid-template-columns: 80px repeat(4, 120px) repeat(6, 100px);
    grid-template-rows: var(--nem-zeile) var(--nem-zeile);
    overflow-x: auto;
}

.ae-zustand[b-tmdf3l1rfg] {
    color: var(--nem-schrift-gedimmt);
}

/* Adresse | Kontakte | Verwendungen: feste Höhe 200 wie die XAML (die Zeile ist im Desktop „etwas höher, damit Lkz/Plz/Ort ganz
   Platz haben“). */
.ae-mitte[b-tmdf3l1rfg] {
    display: grid;
    grid-template-columns: auto 360px 260px;
    column-gap: 5px;
    height: 200px;
    margin-top: 5px;
    flex: 0 0 auto;
}

.ae-mitte[b-tmdf3l1rfg]  .ae-adresse {
    margin: 0;
    min-width: 0;
}

.ae-adresse-raster[b-tmdf3l1rfg] {
    grid-template-columns: 120px 300px;
    grid-template-rows: repeat(5, var(--nem-zeile));
    padding: 2px;
}

/* Kontakte und Verwendungen: das NemesisDataGrid füllt die Kachel und rollt selbst. */
.ae-mitte[b-tmdf3l1rfg]  .ae-tabelle-kachel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    margin: 0;
}

.ae-mitte[b-tmdf3l1rfg]  .ae-tabelle-kachel > .nem-kachel-inhalt {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Reiter: die Tabellen füllen den Reiter bis unten. */
.ae-maske[b-tmdf3l1rfg]  .ae-reiter-tabelle {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.ae-maske[b-tmdf3l1rfg]  .ae-webkonfig {
    padding: 5px;
}

.ae-maske[b-tmdf3l1rfg]  .ae-webkonfig-raster {
    grid-template-columns: 120px 160px;
    grid-template-rows: repeat(3, var(--nem-zeile));
}

.ae-maske[b-tmdf3l1rfg]  .ae-webkonfig-hinweis {
    margin-top: 4px;
    white-space: normal;
}

/* Eingaben in den Tabellen füllen ihre Spalte. */
.ae-maske[b-tmdf3l1rfg]  .nem-zellfeld {
    width: 100%;
}

.ae-maske[b-tmdf3l1rfg]  .ndg-tabelle > tbody > tr > td.ae-mitte-zelle {
    text-align: center;
}

.ae-maske[b-tmdf3l1rfg]  .ae-mail {
    display: flex;
    align-items: center;
    gap: 2px;
}

.ae-maske[b-tmdf3l1rfg]  .ae-mail a {
    color: var(--nem-akzent);
    line-height: 1;
}

.ae-maske[b-tmdf3l1rfg]  .ae-papierkorb {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.ae-maske[b-tmdf3l1rfg]  .ae-papierkorb:hover {
    color: var(--nem-fehler);
}

/* Unter 1100 px untereinander statt nebeneinander (Telefon/Tablet). */
@media (max-width: 1100px) {
    .ae-mitte[b-tmdf3l1rfg] {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
    }

    .ae-mitte[b-tmdf3l1rfg]  .ae-tabelle-kachel {
        height: 180px;
    }
}
/* /Pages/Stammdaten/UcEinstellungen.razor.rz.scp.css */
/* REITER „EINSTELLUNGEN“ (Phase 2b, 18.10.2026) - Raster wie UcEinstellungen.xaml: Spalten 150 | 200 | 5 | 150 | 200 (die übrigen
   sechs Spalten der XAML bleiben leer und entfallen), zwölf Zeilen à 26. Farben nur aus der Palette. */
.ae-einstellungen[b-6ptgrox7we] {
    padding: 5px;
    overflow: auto;
    height: 100%;
    min-height: 0;
}

.ae-ein-raster[b-6ptgrox7we] {
    grid-template-columns: 150px 200px 5px 150px 200px;
    grid-template-rows: repeat(12, var(--nem-zeile));
}

.ae-ein-fehler[b-6ptgrox7we] {
    margin-bottom: 4px;
    color: var(--nem-fehler);
}

/* Knopf „…“ (links ausgerichtet wie die XAML, HorizontalAlignment Left) und Papierkorb. */
.ae-ein-logo-leiste[b-6ptgrox7we] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ae-ein-logo-knopf[b-6ptgrox7we] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-zeile);
    height: var(--nem-feld-hoehe);
    margin: 0;
    font-weight: 600;
    color: var(--nem-schrift);
    background: var(--nem-knopf-flaeche);
    border: 1px solid var(--nem-rahmen);
    border-radius: 3px;
    cursor: pointer;
}

.ae-ein-logo-knopf:hover[b-6ptgrox7we] {
    background: var(--nem-knopf-hover);
}

/* Das Dateifeld liegt unsichtbar über dem Knopf „…“ (InputFile ist eine eigene Komponente - daher ::deep). Es bleibt beim Lesen im
   DOM und wird nur gesperrt. */
.ae-ein-logo-knopf[b-6ptgrox7we]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    opacity: 0;
    cursor: pointer;
}

.ae-ein-gesperrt[b-6ptgrox7we] {
    opacity: 0.6;
    cursor: default;
}

.ae-ein-gesperrt[b-6ptgrox7we]  input[type="file"] {
    cursor: default;
}

.ae-ein-papierkorb[b-6ptgrox7we] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
}

.ae-ein-logo-knopf:hover .ae-ein-papierkorb[b-6ptgrox7we] {
    color: var(--nem-fehler);
}

/* Vorschau des Logos (Spalte 3, Zeilen 1-3 = 150 × 78): Bild einpassen, Seitenverhältnis halten. Keine Farbumkehr im Dunkelmodus
   (theme-invertieren) - es ist ein Kundenbild, kein Symbol. */
.ae-ein-logo[b-6ptgrox7we] {
    align-self: stretch;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 2px;
}

.ae-ein-logo img[b-6ptgrox7we] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ae-ein-gedimmt[b-6ptgrox7we] {
    color: var(--nem-schrift-gedimmt);
    white-space: normal;
}
/* /Pages/Stammdaten/UcKundenRoutung.razor.rz.scp.css */
/* REITER „KUNDENROUTING“ (Phase 2a, 18.10.2026) - wie UcKundenRoutung.xaml: Zeilen Auto | * - oben der Knopf „Routung hinzufügen“
   (transparent, Plus 16) mit dem gedimmten Satz (Abstand 16), darunter (Abstand 4) die Tabelle bis unten. Farben nur aus der Palette. */
.kr-reiter[b-g5u59fsiuc] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding: 2px;
}

.kr-kopf[b-g5u59fsiuc] {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-bottom: 4px;
    min-height: var(--nem-feld-hoehe);
}

.kr-knopf[b-g5u59fsiuc] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px;
    color: var(--nem-schrift);
    background: transparent;
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.kr-knopf:hover:not(:disabled)[b-g5u59fsiuc] {
    background: var(--nem-knopf-hover);
}

.kr-knopf:disabled[b-g5u59fsiuc] {
    cursor: default;
    opacity: 0.6;
}

.kr-knopf .rzi[b-g5u59fsiuc] {
    font-size: 16px;
    color: var(--nem-akzent);
}

.kr-satz[b-g5u59fsiuc] {
    margin-left: 16px;
}

.kr-fehler[b-g5u59fsiuc] {
    margin-left: 16px;
    color: var(--nem-fehler);
}

.kr-tabelle[b-g5u59fsiuc] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Eingaben in den Zellen füllen ihre Spalte. */
[b-g5u59fsiuc] .nem-zellfeld {
    width: 100%;
}

[b-g5u59fsiuc] .ndg-tabelle > tbody > tr > td.kr-mitte-zelle {
    text-align: center;
}

.kr-papierkorb[b-g5u59fsiuc] {
    font-size: 16px;
    color: var(--nem-schrift-gedimmt);
    vertical-align: middle;
    cursor: pointer;
}

.kr-papierkorb:hover[b-g5u59fsiuc] {
    color: var(--nem-fehler);
}
/* /Shared/ApiLayout.razor.rz.scp.css */
.page[b-wpgh7z0djq] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-wpgh7z0djq] {
    flex: 1;
}

.sidebar[b-wpgh7z0djq] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-wpgh7z0djq] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-wpgh7z0djq]  a, .top-row[b-wpgh7z0djq]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-wpgh7z0djq]  a:hover, .top-row[b-wpgh7z0djq]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-wpgh7z0djq]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-wpgh7z0djq] {
        display: none;
    }

    .top-row.auth[b-wpgh7z0djq] {
        justify-content: space-between;
    }

    .top-row[b-wpgh7z0djq]  a, .top-row[b-wpgh7z0djq]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-wpgh7z0djq] {
        flex-direction: row;
    }

    .sidebar[b-wpgh7z0djq] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-wpgh7z0djq] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-wpgh7z0djq]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-wpgh7z0djq], article[b-wpgh7z0djq] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* /Shared/AuthLayout.razor.rz.scp.css */
/* UPDATE-SEITE (31.10.2026, Rückmeldung Bastian „Kannst du das hübscher machen“): Karte im Bild der Anmeldung (Login.razor.css) –
   Marke oben auf der Fläche --nem-marke-*, darunter die Fassungen und der Stand des Ladens. Nur Farben der Palette, hell und dunkel ohne
   zweite Regel. Schriftgrößen wie die Anmeldung (Ausnahme „Visitenkarte“): Titel 20, Fassungen 15. Die früheren Vorlagenregeln (.page,
   .sidebar, .top-row) trafen hier nichts mehr und sind entfallen. */

.nv-buehne[b-cu5a1ymt1n] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
}

.nv-karte[b-cu5a1ymt1n] {
    width: min(520px, 100%);
    overflow: hidden;
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: 18px;
    box-shadow: 0 24px 64px var(--nem-marke-schatten), 0 2px 8px rgba(0, 0, 0, 0.12);
    animation: nv-ein-b-cu5a1ymt1n 0.35s ease-out;
}

@keyframes nv-ein-b-cu5a1ymt1n {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

/* Marke wie die linke Hälfte der Anmeldung, hier als Kopfband */
.nv-marke[b-cu5a1ymt1n] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 22px 24px;
    background:
        radial-gradient(circle at 30% 40%, var(--nem-marke-glanz) 0%, transparent 62%),
        linear-gradient(160deg, var(--nem-marke-flaeche) 0%, var(--nem-marke-verlauf) 100%);
    border-bottom: 1px solid var(--nem-marke-kontur);
}

.nv-marke-logo[b-cu5a1ymt1n] {
    width: 64px;
    height: auto;
    animation: nv-schweben-b-cu5a1ymt1n 3s ease-in-out infinite;
}

@keyframes nv-schweben-b-cu5a1ymt1n {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

.nv-marke-schriftzug[b-cu5a1ymt1n] {
    width: 220px;
    max-width: 60%;
    height: auto;
}

.nv-nur-dunkel[b-cu5a1ymt1n] {
    display: none;
}

html[data-theme="dunkel"] .nv-nur-hell[b-cu5a1ymt1n] {
    display: none;
}

html[data-theme="dunkel"] .nv-nur-dunkel[b-cu5a1ymt1n] {
    display: inline;
}

.nv-inhalt[b-cu5a1ymt1n] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 28px 26px;
}

.nv-titel[b-cu5a1ymt1n] {
    font-size: 20px;
    font-weight: 600;
    color: var(--nem-akzent);
}

.nv-text[b-cu5a1ymt1n] {
    color: var(--nem-schrift-gedimmt);
    margin-top: -6px;
}

/* Bisher → Neu */
.nv-versionen[b-cu5a1ymt1n] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 14px;
    padding: 14px 12px;
    background: var(--nem-akzent-schleier);
    border-radius: 10px;
}

.nv-version[b-cu5a1ymt1n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.nv-version-name[b-cu5a1ymt1n] {
    font-size: calc(var(--nem-schriftgroesse) - 2px);
    color: var(--nem-schrift-gedimmt);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.nv-chip[b-cu5a1ymt1n] {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-karte);
    white-space: nowrap;
}

.nv-chip-alt[b-cu5a1ymt1n] {
    color: var(--nem-schrift-gedimmt);
}

.nv-chip-neu[b-cu5a1ymt1n] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
    border-color: var(--nem-akzent);
    font-weight: 600;
}

.nv-pfeil[b-cu5a1ymt1n] {
    font-size: 22px;
    color: var(--nem-akzent);
    margin-bottom: 4px;
}

/* Laden läuft */
.nv-status[b-cu5a1ymt1n] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.nv-balken[b-cu5a1ymt1n] {
    height: 4px;
    border-radius: 2px;
    background: var(--nem-kontur);
    overflow: hidden;
}

    .nv-balken > span[b-cu5a1ymt1n] {
        display: block;
        height: 100%;
        width: 0;
        background: linear-gradient(90deg, var(--nem-akzent-hell), var(--nem-akzent));
        /* die 3,5 s bis cacheDelete (AuthLayout.OnInitializedAsync) */
        animation: nv-fuellen-b-cu5a1ymt1n 3.5s linear forwards;
    }

@keyframes nv-fuellen-b-cu5a1ymt1n {
    to { width: 100%; }
}

/* Laden hängt */
.nv-haengt[b-cu5a1ymt1n] {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--nem-warnung) 45%, transparent);
    background: color-mix(in srgb, var(--nem-warnung) 10%, transparent);
    border-radius: 10px;
}

.nv-haengt-symbol[b-cu5a1ymt1n] {
    font-size: 22px;
    color: var(--nem-warnung);
}

.nv-haengt-titel[b-cu5a1ymt1n] {
    font-weight: 600;
}

.nv-haengt-text[b-cu5a1ymt1n] {
    color: var(--nem-schrift-gedimmt);
    margin-top: 2px;
}

[b-cu5a1ymt1n] .nv-knopf {
    align-self: flex-end;
}

@media (max-width: 480px) {
    .nv-inhalt[b-cu5a1ymt1n] {
        padding: 20px 18px 22px;
    }

    .nv-versionen[b-cu5a1ymt1n] {
        gap: 8px;
    }

    .nv-chip[b-cu5a1ymt1n] {
        font-size: var(--nem-schriftgroesse);
        padding: 3px 9px;
    }
}
/* /Shared/Backstage/NemesisBackstage.razor.rz.scp.css */
/* MENÜ „NEMESIS“ wie der Fluent-Backstage (UcMenu.xaml): über Inhalt und Seitenleiste (MainLayout .nem-koerper ist der Bezugsrahmen),
   links die Reiterspalte in der Akzentfarbe, rechts die Fläche. z-index über den Masken-Overlays (1050) und der Seitenleiste (40) –
   die Radzen-Meldungen und -Dialoge liegen außerhalb von .rz-body und bleiben darüber. Farben nur aus der Palette. */
.bs-flaeche[b-vz7pviwzmt] {
    position: absolute;
    inset: 0;
    z-index: 1055;
    display: flex;
    min-width: 0;
    min-height: 0;
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
    font-size: var(--nem-schriftgroesse);
}

.bs-spalte[b-vz7pviwzmt] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    width: 160px;
    padding: 8px 0;
    background: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
}

.bs-zurueck[b-vz7pviwzmt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0 0 12px 12px;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--nem-schrift-auf-akzent) 70%, transparent);
    border-radius: 50%;
    cursor: pointer;
}

.bs-zurueck:hover[b-vz7pviwzmt] {
    background: var(--nem-akzent-dunkel);
}

.bs-zurueck .rzi[b-vz7pviwzmt] {
    font-size: 20px;
}

.bs-reiter[b-vz7pviwzmt] {
    display: block;
    width: 100%;
    padding: 9px 18px;
    text-align: left;
    font-size: var(--nem-schriftgroesse);
    font-weight: 600;
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.bs-reiter:hover[b-vz7pviwzmt] {
    background: var(--nem-akzent-dunkel);
}

.bs-reiter.aktiv[b-vz7pviwzmt] {
    background: var(--nem-akzent-tiefer);
}

.bs-inhalt[b-vz7pviwzmt] {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    background: var(--nem-flaeche);
}

/* ---------- Seiten (BenutzerOptionenSeite, NemesisInfoSeite) – Rand 28/22, höchstens 720 breit wie die StackPanels der XAML ---------- */
.bs-inhalt[b-vz7pviwzmt]  .bs-seite {
    max-width: 720px;
    padding: 22px 28px;
}

/* Überschrift 22 halbfett wie in der XAML ("Meine Einstellungen", "Diese Nemesis-Instanz"). */
.bs-inhalt[b-vz7pviwzmt]  .bs-titel {
    font-size: 22px;
    font-weight: 600;
    color: var(--nem-schrift);
}

.bs-inhalt[b-vz7pviwzmt]  .bs-titelzeile {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

/* Rückmeldung "Gespeichert": weich ein (0,15 s), weich aus (0,5 s) wie die Storyboards der XAML. */
.bs-inhalt[b-vz7pviwzmt]  .bs-gespeichert {
    font-weight: 600;
    color: var(--nem-erfolg);
    opacity: 0;
    transition: opacity .5s;
    pointer-events: none;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-gespeichert.sichtbar {
    opacity: 1;
    transition: opacity .15s;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-untertitel {
    margin-top: 4px;
    color: var(--nem-schrift-gedimmt);
}

.bs-inhalt[b-vz7pviwzmt]  .bs-untertitel strong {
    font-weight: 600;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-kachel {
    margin-top: 18px;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-kachel-folge {
    margin-top: 12px;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-haken-liste {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 0;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-haken {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--nem-schrift);
    cursor: pointer;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-haken input {
    margin-top: 1px;
    accent-color: var(--nem-akzent);
}

.bs-inhalt[b-vz7pviwzmt]  .bs-haken.gesperrt {
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

/* Darstellung (nur WebApp, 14.11.2026): Beschriftung über der Auswahl der Schriftgröße. */
.bs-inhalt[b-vz7pviwzmt]  .bs-wahl {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-wahl-titel {
    font-weight: 600;
    color: var(--nem-schrift);
}

/* Instanz: Kennung 18 halbfett wie in der XAML. */
.bs-inhalt[b-vz7pviwzmt]  .bs-instanz {
    font-size: 18px;
    font-weight: 600;
    word-break: break-word;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-zeile {
    display: flex;
    gap: 0;
    margin-top: 6px;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-zeile-abstand {
    margin-top: 10px;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-feld {
    flex: 0 0 120px;
    color: var(--nem-schrift-gedimmt);
}

.bs-inhalt[b-vz7pviwzmt]  .bs-betriebsart {
    margin-top: 4px;
    font-weight: 600;
}

/* Testsystem in Orange (Desktop: #E78229 wie Lasche, Rahmen und Startbild - hier die Warnfarbe der Palette). */
.bs-inhalt[b-vz7pviwzmt]  .bs-testsystem {
    color: var(--nem-warnung);
}

.bs-inhalt[b-vz7pviwzmt]  .bs-abweichung {
    margin-top: 4px;
    font-weight: 600;
    color: var(--nem-warnung);
}

/* Programme: Name 140, Fassung 130, Stand gedimmt (DockPanel der XAML). */
.bs-inhalt[b-vz7pviwzmt]  .bs-programm {
    display: flex;
    margin: 2px 0;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-programm-name {
    flex: 0 0 140px;
    font-weight: 600;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-programm-version {
    flex: 0 0 130px;
}

/* Einzelteile: Datei 280, Fassung gedimmt. */
.bs-inhalt[b-vz7pviwzmt]  .bs-teil {
    display: flex;
    margin: 1px 0;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-teil-datei {
    flex: 0 0 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bs-inhalt[b-vz7pviwzmt]  .bs-gedimmt {
    color: var(--nem-schrift-gedimmt);
}
/* /Shared/CustomerNavBar.razor.rz.scp.css */
/* Farben aus der Hauspalette (wwwroot/css/nemesis-design.css, --nem-*) - 08.10.2026, damit die
   Kundenleiste im Dunkelmodus mitzieht und im Hellen die Desktop-Toene nimmt. */
.app-bar[b-dxt4odx2qy] {
    display: -webkit-box;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: auto;
    min-height: 52px;
    z-index: 1030;
    background-color: var(--nem-reiter-flaeche);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -webkit-box-align: center;
    align-items: center;
}

    .app-bar .app-bar-container[b-dxt4odx2qy] {
        background-color: inherit;
        color: inherit;
    }

    .app-bar .brand[b-dxt4odx2qy],
    .app-bar .app-bar-item[b-dxt4odx2qy],
    .app-bar .app-bar-container[b-dxt4odx2qy],
    .app-bar .app-bar-button[b-dxt4odx2qy] {
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        position: relative;
        height: 52px;
        line-height: 52px;
        padding: 0 16px;
        background-color: inherit;
        color: inherit;
        text-decoration: none;
        font-size: 12px;
        flex-shrink: 0;
        border: none;
        -webkit-box-pack: center;
        justify-content: center;
    }

        .app-bar .brand:focus[b-dxt4odx2qy],
        .app-bar .app-bar-item:focus[b-dxt4odx2qy],
        .app-bar .app-bar-container:focus[b-dxt4odx2qy],
        .app-bar .app-bar-button:focus[b-dxt4odx2qy] {
            outline: none;
        }

    .app-bar .app-bar-container[b-dxt4odx2qy] {
        padding: 0;
    }

    .app-bar .app-bar-item[b-dxt4odx2qy] {
        white-space: nowrap;
    }

    .app-bar .app-bar-button[b-dxt4odx2qy] {
        width: 52px;
        padding: 0;
    }

    .app-bar .app-bar-menu[b-dxt4odx2qy] {
        flex-shrink: 0;
        list-style: none inside;
        margin: 0;
        padding: 0;
        position: relative;
        width: 100%;
        display: -webkit-box;
        display: flex;
        flex-wrap: nowrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        background-color: inherit;
        color: inherit;
    }

        .app-bar .app-bar-menu > li[b-dxt4odx2qy],
        .app-bar .app-bar-menu > li > a[b-dxt4odx2qy] {
            display: block;
            line-height: 52px;
            background-color: inherit;
            color: inherit;
            flex-shrink: 0;
        }

            .app-bar .app-bar-menu > li > a[b-dxt4odx2qy] {
                padding: 0 16px;
                text-decoration: none;
                font-size: 12px;
                position: relative;
            }

        .app-bar .app-bar-menu > li[b-dxt4odx2qy] {
            position: relative;
        }

        .app-bar .app-bar-menu a:hover[b-dxt4odx2qy] {
            text-decoration: none;
        }

        .app-bar .brand:not(.no-hover):hover[b-dxt4odx2qy],
        .app-bar .app-bar-menu li:not(.no-hover):hover[b-dxt4odx2qy],
        .app-bar .hamburger:not(.no-hover):hover[b-dxt4odx2qy],
        .app-bar .app-bar-item:not(.no-hover):hover[b-dxt4odx2qy],
        .app-bar .brand:not(.no-hover):active[b-dxt4odx2qy],
        .app-bar .app-bar-menu li:not(.no-hover):active[b-dxt4odx2qy],
        .app-bar .hamburger:not(.no-hover):active[b-dxt4odx2qy],
        .app-bar .app-bar-item:not(.no-hover):active[b-dxt4odx2qy],
        .app-bar .brand:not(.no-hover) .active[b-dxt4odx2qy],
        .app-bar .app-bar-menu li:not(.no-hover) .active[b-dxt4odx2qy],
        .app-bar .hamburger:not(.no-hover) .active[b-dxt4odx2qy],
        .app-bar .app-bar-item:not(.no-hover) .active[b-dxt4odx2qy] {
            background: var(--nem-akzent-schleier);
        }

    .app-bar .hamburger[b-dxt4odx2qy] {
        position: absolute;
        right: 0;
        top: 0;
        display: block;
        height: 52px;
        width: 52px;
    }

        .app-bar .hamburger.menu-down.active .line:nth-child(1)[b-dxt4odx2qy],
        .app-bar .hamburger.menu-down.active .line:nth-child(3)[b-dxt4odx2qy] {
            margin: -4px 16px;
        }

    .app-bar .app-bar-menu .d-menu[b-dxt4odx2qy],
    .app-bar .app-bar-menu .v-menu[b-dxt4odx2qy] {
        -webkit-box-shadow: none;
        box-shadow: none;
        position: relative;
        width: 100%;
        background-color: var(--nem-reiter-flaeche);
    }

    .app-bar .app-bar-menu .divider[b-dxt4odx2qy],
    .app-bar .app-bar-container .divider[b-dxt4odx2qy] {
        height: 1px !important;
        line-height: 1px !important;
        background-color: var(--nem-hover-flaeche);
    }

    .app-bar .app-bar-container .d-menu[b-dxt4odx2qy] {
        background-color: var(--nem-reiter-flaeche);
        position: absolute;
        width: auto;
        -webkit-box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .18), -0.5px 0 1px 0 rgba(0, 0, 0, .18);
        box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .18), -0.5px 0 1px 0 rgba(0, 0, 0, .18);
    }

    .app-bar .app-bar-container .v-menu[b-dxt4odx2qy] {
        position: absolute;
        float: left;
        width: auto;
        border: 1px solid var(--nem-kontur);
        background-color: var(--nem-karte);
    }

    .app-bar .app-bar-container > .d-menu[b-dxt4odx2qy],
    .app-bar .app-bar-container > .v-menu[b-dxt4odx2qy] {
        top: 100%;
    }

    .app-bar .app-bar-container a[b-dxt4odx2qy] {
        color: inherit;
        text-decoration: none;
    }

    .app-bar a[b-dxt4odx2qy] {
        outline: none !important;
    }

    .app-bar .app-bar-menu .d-menu .d-menu[b-dxt4odx2qy],
    .app-bar .app-bar-menu .v-menu .v-menu[b-dxt4odx2qy],
    .app-bar .app-bar-menu .v-menu .d-menu[b-dxt4odx2qy],
    .app-bar .app-bar-menu .d-menu .v-menu[b-dxt4odx2qy] {
        left: 0;
    }

    .app-bar .app-bar-menu.opened[b-dxt4odx2qy] {
        max-height: calc(100vh - 52px);
        overflow-y: auto;
    }

    .app-bar .app-bar-input[b-dxt4odx2qy] {
        width: 100px;
        height: 22px;
        font-size: 12px;
        border: none !important;
        border-radius: 4px;
    }

    .app-bar .hamburger:not(.hidden) ~ .ml-auto[b-dxt4odx2qy] {
        margin-right: 48px;
    }

.app-bar-expand[b-dxt4odx2qy] {
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row;
}

    .app-bar-expand .brand[b-dxt4odx2qy],
    .app-bar-expand .app-bar-item[b-dxt4odx2qy],
    .app-bar-expand .app-bar-container[b-dxt4odx2qy] {
        width: auto;
        flex-shrink: 1;
    }

    .app-bar-expand .app-bar-menu[b-dxt4odx2qy] {
        float: left;
    }

    .app-bar-expand .app-bar-menu[b-dxt4odx2qy] {
        width: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row;
    }

        .app-bar-expand .app-bar-menu .d-menu[b-dxt4odx2qy] {
            position: absolute;
            width: auto;
            -webkit-box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .18), -0.5px 0 1px 0 rgba(0, 0, 0, .18);
            box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .18), -0.5px 0 1px 0 rgba(0, 0, 0, .18);
        }

            .app-bar-expand .app-bar-menu .d-menu li[b-dxt4odx2qy],
            .app-bar-expand .app-bar-menu .d-menu a[b-dxt4odx2qy] {
                height: 38px;
                line-height: 38px;
            }

        .app-bar-expand .app-bar-menu .v-menu[b-dxt4odx2qy] {
            position: absolute;
            float: left;
            width: auto;
            border: 1px solid var(--nem-kontur);
            background-color: var(--nem-karte);
        }

        .app-bar-expand .app-bar-menu.collapsed[b-dxt4odx2qy] {
            display: -webkit-box !important;
            display: flex !important;
        }

        .app-bar-expand .app-bar-menu .d-menu .d-menu[b-dxt4odx2qy],
        .app-bar-expand .app-bar-menu .v-menu .v-menu[b-dxt4odx2qy],
        .app-bar-expand .app-bar-menu .v-menu .d-menu[b-dxt4odx2qy],
        .app-bar-expand .app-bar-menu .d-menu .v-menu[b-dxt4odx2qy] {
            left: 100%;
        }

    .app-bar-expand .hamburger[b-dxt4odx2qy] {
        display: none;
    }

/* KUNDENMENÜ (Radzen) in der Hausschrift (18.10.2026, Rückmeldung Bastian „Das Menü im Kundenbereich ist zu groß. Die Leute sind nicht
   blind“). Die 28 px kamen aus Metro (.header = Überschrift, siehe MainLayout „kunden-kopf“); hier zusätzlich fest: Schrift 12 px,
   Symbole 16 px, knappe Polster. Rechts der Hell/Dunkel-Umschalter (stand nur in der ausgeblendeten Metro-Leiste). */
.kunden-menue[b-dxt4odx2qy] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 4px 12px;
    background-color: var(--nem-karte);
    border-bottom: 1px solid var(--nem-kontur);
    /* Kundenportal-Theme (29.10.2026): leichter Schatten statt Abstand nach unten – die Leiste steht über der getönten Seite. */
    box-shadow: 0 1px 8px rgba(16, 24, 40, .06);
}

/* Logo des Betriebsstamms auf heller Kachel (wie die Kundenlogo-Kachel der Anmeldung, auch im Dunkeln hell). */
.kunden-marke[b-dxt4odx2qy] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 3px 8px;
    box-sizing: border-box;
    background: var(--nem-kundenlogo-flaeche);
    border: 1px solid var(--nem-kundenlogo-kontur);
    border-radius: 8px;
}

    .kunden-marke img[b-dxt4odx2qy] {
        display: block;
        height: 26px;
        width: auto;
        max-width: 150px;
        object-fit: contain;
    }

    .kunden-menue[b-dxt4odx2qy]  .rz-menu {
        flex: 1 1 auto;
        border: none;
        /* Durchsichtig (29.10.2026, Rückmeldung Bastian „Im Dunkelmodus ist das Menü dunkler als die obere Leiste“): Radzen malt das waagerechte
           Menü mit --rz-menu-top-item-background-color = Seitenfläche, die Leiste hat die Kartenfarbe – im Hellen beide weiß, im Dunkeln nicht. */
        background-color: transparent;
        font-family: var(--nem-schriftart);
        /* 15 px, Symbole 18 (29.10.2026, Vorgabe Bastian „Mach bitte die Schrift im Menü größer“ – 14 px, danach „Schriftgrad im Kundenbereich +1“
           – 15; vorher 12/16 nach „zu groß“ vom 18.10.2026, als das Menü 28 px aus Metro bekam). */
        font-size: 15px;
        font-weight: normal;
        --rz-icon-size: 18px;
        --rz-menu-top-item-padding-block: 6px;
        --rz-menu-top-item-padding-inline: 10px;
        --rz-menu-item-padding-block: 4px;
        --rz-menu-item-padding-inline: 8px 12px;
        --rz-menu-item-icon-margin-inline: 0 6px;
    }

    .kunden-menue[b-dxt4odx2qy]  .rz-navigation-item-link,
    .kunden-menue[b-dxt4odx2qy]  .rz-navigation-item-text {
        font-size: inherit;
        font-weight: inherit;
        line-height: 20px;
    }

.kunden-menue-rechts[b-dxt4odx2qy] {
    margin-left: auto;
    padding: 0 8px;
}

    .kunden-menue-rechts[b-dxt4odx2qy]  .theme-schalter {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        padding: 0;
        border: none;
        border-radius: var(--nem-knopf-radius);
        background: transparent;
        color: var(--nem-schrift-gedimmt);
        cursor: pointer;
        --rz-icon-size: 18px;
    }

        .kunden-menue-rechts[b-dxt4odx2qy]  .theme-schalter:hover {
            background: var(--nem-hover-flaeche);
            color: var(--nem-akzent);
        }
/* /Shared/Drucken/EMailVersandLeiste.razor.rz.scp.css */
/* VERSAND-LEISTE IM PDF-OVERLAY (17.10.2026) - seitliche Leiste 300 breit wie im Desktop-ReportViewer (Border 1,0,1,0, Innenrand 8).
   Nur Palette, keine festen Farben, Schrift 12 aus der Maske. */
.ev-leiste[b-6bp0a6zy2s] {
    flex: 0 0 300px;
    width: 300px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-left: 6px;
    background: var(--nem-reiter-flaeche);
    border-left: 1px solid var(--nem-kontur);
    border-right: 1px solid var(--nem-kontur);
}

.ev-kopf[b-6bp0a6zy2s] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 28px;
    padding: 0 6px 0 8px;
    border-bottom: 1px solid var(--nem-kontur);
}

.ev-titel[b-6bp0a6zy2s] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    color: var(--nem-akzent);
}

.ev-titel .rzi[b-6bp0a6zy2s],
.ev-zu .rzi[b-6bp0a6zy2s] {
    font-size: 16px;
}

.ev-zu[b-6bp0a6zy2s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-feld-hoehe);
    height: var(--nem-feld-hoehe);
    border-radius: 2px;
    cursor: pointer;
}

.ev-zu:hover[b-6bp0a6zy2s] {
    background: var(--nem-knopf-hover);
    color: var(--nem-schrift-auf-akzent);
}

.ev-inhalt[b-6bp0a6zy2s] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
}

.ev-neu[b-6bp0a6zy2s] {
    display: flex;
    gap: 4px;
}

.ev-neu input[b-6bp0a6zy2s] {
    flex: 1 1 auto;
    min-width: 0;
}

.ev-plus[b-6bp0a6zy2s] {
    flex: 0 0 28px;
    justify-content: center;
    padding: 0;
    height: var(--nem-feld-hoehe);
    font-weight: 600;
}

.ev-fehler[b-6bp0a6zy2s] {
    margin: 3px 0 0 2px;
    color: var(--nem-fehler);
}

.ev-liste[b-6bp0a6zy2s] {
    max-height: 260px;
    overflow-y: auto;
    margin-top: 6px;
}

.ev-eintrag[b-6bp0a6zy2s] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 3px 0;
    cursor: pointer;
}

.ev-eintrag input[b-6bp0a6zy2s] {
    margin-top: 2px;
}

.ev-text[b-6bp0a6zy2s] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ev-adresse[b-6bp0a6zy2s],
.ev-herkunft[b-6bp0a6zy2s] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Herkunft gedimmt wie im Desktop (dort FontSize 10 - hier keine eigene Schriftgroesse, nur gedimmt). */
.ev-herkunft[b-6bp0a6zy2s] {
    color: var(--nem-schrift-gedimmt);
}

.ev-leer[b-6bp0a6zy2s] {
    margin: 4px 0 2px 2px;
}

.ev-volle-breite[b-6bp0a6zy2s] {
    width: 100%;
}

.ev-nachricht[b-6bp0a6zy2s] {
    width: 100%;
    height: auto;
    min-height: 140px;
    resize: vertical;
    padding: 3px 4px;
}

.ev-hinweis[b-6bp0a6zy2s] {
    margin: 0 0 8px 0;
}

.ev-senden[b-6bp0a6zy2s] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ev-absender[b-6bp0a6zy2s] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ev-status[b-6bp0a6zy2s] {
    margin: 8px 0 0 2px;
}

button:disabled[b-6bp0a6zy2s] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}
/* /Shared/Drucken/FormularAuswahlOverlay.razor.rz.scp.css */
/* FORMULARAUSWAHL (16.10.2026) - Kachel fuellt das Overlay, das NemesisDataGrid den Rest der Kachel (Muster BelegNummernOverlay).
   Nur Palette, keine festen Farben. */
.fa-fuellend[b-l1m08iw695] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.fa-fuellend[b-l1m08iw695]  .fa-tabelle {
    flex: 1 1 auto;
    min-height: 0;
}

/* Druckknopf vorn in der Zeile wie im Desktop: ohne Rahmen, Flaeche nur unter der Maus. */
.fa-druckknopf[b-l1m08iw695] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 3px;
    border-radius: 3px;
    cursor: pointer;
}

.fa-druckknopf:hover[b-l1m08iw695] {
    background: var(--nem-hover-flaeche);
}

.fa-druckknopf img[b-l1m08iw695] {
    width: 18px;
    height: 18px;
}

.fa-typbild[b-l1m08iw695] {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}
/* /Shared/Drucken/PdfOverlay.razor.rz.scp.css */
/* PDF IM OVERLAY DES TABS (16.10.2026) - der iframe fuellt den Inhalt der Overlay-Karte; Leiste mit den Knoepfen des Overlays.
   Nur Palette, keine festen Farben. */
/* PDF links, Versand-Leiste (EMailVersandLeiste, 17.10.2026) rechts daneben. */
.pdf-bereich[b-4bygentpid] {
    display: flex;
    flex-direction: row;
    height: 100%;
    min-height: 0;
}

.pdf-flaeche[b-4bygentpid] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    min-height: 0;
}

.pdf-rahmen[b-4bygentpid] {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 1px solid var(--nem-kontur);
    background: var(--nem-flaeche);
}

/* Bis das PDF da ist: iframe ohne Platz (das src setzt druck.js erst, wenn er sichtbar ist). */
.pdf-verborgen[b-4bygentpid] {
    display: none;
}

.pdf-knopfbild[b-4bygentpid] {
    height: 16px;
    width: 16px;
}

/* Leiste: Beschriftungen nicht umbrechen (sonst stand „An Drucker“ zweizeilig) - die Leiste selbst bricht um. */
button[b-4bygentpid] {
    white-space: nowrap;
}

/* Deaktivierte Knoepfe voll deckend wie im Desktop (graue Flaeche, gedimmte Schrift). */
button:disabled[b-4bygentpid] {
    background: var(--nem-deaktiviert-flaeche);
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

button:disabled img[b-4bygentpid] {
    opacity: .5;
}

.pdf-drucker[b-4bygentpid] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
}

.pdf-druckerwahl[b-4bygentpid] {
    min-width: 170px;
    max-width: 260px;
}

.pdf-kopien[b-4bygentpid] {
    width: 52px;
}

.pdf-meldung[b-4bygentpid] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 10px;
}

/* "E-Mail" bei eingeblendeter Versand-Leiste: eingedrueckt in der Akzentfarbe (wie der Reiter "Versand" im Desktop). */
button.pdf-gedrueckt[b-4bygentpid] {
    background: var(--nem-akzent-dunkel);
    color: var(--nem-schrift-auf-akzent);
    box-shadow: inset 0 0 0 1px var(--nem-akzent-tiefer);
}
/* /Shared/FensterLayout.razor.rz.scp.css */
/* Hinweis ohne Anmeldung (FensterLayout, 14.11.2026). */
.fl-hinweis[b-eodtkryf8j] {
    margin: 16px;
}
/* /Shared/Grid/NemesisDataGrid.razor.rz.scp.css */
/* NEMESISDATAGRID (16.10.2026) – Bild wie Nemesis.Middleware.Controls (NemesisDataGrid, GruppierLeiste, NemesisTabelle).
   Das Tabellenbild selbst (dunkler Kopf, Zeilen 30, Schrift 14 – bis 29.10.2026 26/12, Füllen der Höhe, Summen unten) kommt aus nemesis-design.css
   (.table / .nem-tabelle-scroll); hier nur, was das Grid zusätzlich hat. Nur Palette (var(--nem-…)). */

.ndg[b-3huj1xyufj] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 60px;
}

/* ---------- Gruppierleiste ---------- */
.ndg-leiste[b-3huj1xyufj] {
    flex: 0 0 auto;
    flex-wrap: wrap;
    row-gap: 3px;
}

/* Ziel beim Ziehen eines Spaltenkopfs */
.ndg-leiste-ziel[b-3huj1xyufj] {
    outline: 2px dashed var(--nem-akzent);
    outline-offset: -2px;
}

.ndg-chips[b-3huj1xyufj] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

/* Chip wie GruppierLeiste: Akzent, Rundung 9, ✕ entfernt */
.ndg-chip[b-3huj1xyufj] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 22px;
    padding: 0 3px 0 9px;
    font-size: var(--nem-schriftgroesse, 12px);
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
    border-radius: 9px;
    white-space: nowrap;
}

.ndg-chip-weg[b-3huj1xyufj] {
    padding: 0 3px;
    font-size: calc(var(--nem-schriftgroesse, 12px) - 2px);
    line-height: 16px;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
}

.ndg-chip-weg:hover[b-3huj1xyufj] {
    background: var(--nem-akzent-dunkel);
}

.ndg-suche[b-3huj1xyufj] {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-width: 180px;
    margin: 0 4px;
}

.ndg-suchfeld[b-3huj1xyufj] {
    width: 100%;
    padding-right: 20px;
}

/* Trefferzahl im Feld: rechts Platz dafuer lassen (GruppierLeiste.PaddingAnpassen). */
.ndg-mit-treffer > .ndg-suchfeld[b-3huj1xyufj] {
    padding-right: 96px;
}

.ndg-such-weg[b-3huj1xyufj] {
    position: absolute;
    top: 0;
    right: 2px;
    height: var(--nem-feld-hoehe, 22px);
    padding: 0 4px;
    font-size: calc(var(--nem-schriftgroesse, 12px) - 1px);
    color: var(--nem-schrift-gedimmt);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.ndg-such-weg:hover[b-3huj1xyufj] {
    color: var(--nem-akzent);
}

.ndg-treffer[b-3huj1xyufj] {
    position: absolute;
    top: 0;
    right: var(--nem-feld-hoehe, 22px);
    line-height: var(--nem-feld-hoehe, 22px);
    color: var(--nem-schrift-gedimmt);
    white-space: nowrap;
    pointer-events: none;
}

.ndg-knoepfe[b-3huj1xyufj] {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.ndg-trenner[b-3huj1xyufj] {
    width: 1px;
    height: 20px;
    margin: 0 2px;
    background: var(--nem-kontur);
}

.ndg-knopf[b-3huj1xyufj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: var(--nem-feld-hoehe, 22px);
    padding: 0 8px;
    font-size: var(--nem-schriftgroesse, 12px);
    white-space: nowrap;
    color: var(--nem-akzent);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-reiter-kontur);
    border-radius: var(--nem-knopf-radius, 2px);   /* Kundenportal rund (nemesis-design.css) */
    cursor: pointer;
}

.ndg-knopf:hover[b-3huj1xyufj] {
    background: var(--nem-reiter-flaeche);
    border-color: var(--nem-akzent);
}

.ndg-knopf .rzi[b-3huj1xyufj] {
    font-size: 17px;
}

/* gefüllter Knopf (Export, Übernehmen) */
.ndg-knopf-voll[b-3huj1xyufj] {
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border-color: transparent;
}

.ndg-knopf-voll:hover[b-3huj1xyufj] {
    background: var(--nem-knopf-hover);
    border-color: transparent;
}

/* deaktiviert: voll deckend, gedimmte Schrift (Hausregel) */
.ndg-knopf:disabled[b-3huj1xyufj],
.ndg-knopf:disabled:hover[b-3huj1xyufj] {
    color: var(--nem-schrift-gedimmt);
    background: var(--nem-deaktiviert-flaeche);
    border-color: transparent;
    cursor: default;
}

.ndg-ansichtwahl[b-3huj1xyufj] {
    min-width: 130px;
    max-width: 220px;
    margin: 0 2px;
}

/* Symbol-Schaltflaechen der Leiste wie GruppierLeiste.IconButton: Bild 16 px, ohne Rahmen und Flaeche, in Ruhe zu 75 %
   deckend, unter der Maus voll. */
.ndg-symbol[b-3huj1xyufj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 2px 3px;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    opacity: .75;
}

.ndg-symbol:hover[b-3huj1xyufj] {
    opacity: 1;
}

.ndg-symbol > img[b-3huj1xyufj],
.ndg-symbol-voll > img[b-3huj1xyufj] {
    display: block;
    width: 16px;
    height: 16px;
}

/* Export: flache, gefuellte Schaltflaeche in Spaltenkopf-Grau (NemesisSpaltenKopf), weisses Excel-Symbol. */
.ndg-symbol-voll[b-3huj1xyufj] {
    display: inline-flex;
    align-items: center;
    margin: 2px 6px 2px 2px;
    padding: 2px 6px;
    background: var(--nem-spalten-kopf);
    border: 0;
    border-radius: var(--nem-knopf-radius, 2px);   /* Kundenportal rund (nemesis-design.css) */
    cursor: pointer;
}

/* ---------- Fehlerleiste ---------- */
.ndg-fehler[b-3huj1xyufj] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 6px;
    font-size: var(--nem-schriftgroesse, 12px);
    color: var(--nem-schrift);
    background: color-mix(in srgb, var(--nem-fehler) 12%, var(--nem-flaeche));
    border-bottom: 1px solid color-mix(in srgb, var(--nem-fehler) 35%, var(--nem-flaeche));
    box-shadow: inset 4px 0 0 var(--nem-fehler);
}

.ndg-fehler > .rzi[b-3huj1xyufj] {
    margin-left: 4px;
    font-size: 16px;
    color: var(--nem-fehler);
}

.ndg-fehler-text[b-3huj1xyufj] {
    flex: 1 1 auto;
    min-width: 0;
    white-space: pre-wrap;
}

/* ---------- Tabelle ---------- */
.ndg-koerper[b-3huj1xyufj] {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.ndg-scroll[b-3huj1xyufj] {
    flex: 1 1 auto;
    min-height: 0;
    outline: none;
}

.ndg-tabelle[b-3huj1xyufj] {
    margin-bottom: 0;
    font-size: var(--nem-schriftgroesse, 12px);
}

/* Feste Breite (Ansicht bzw. am Kopf gezogen) oder MaxBreite: Inhalt schneiden statt die Spalte zu sprengen. */
.ndg-inhalt[style*="width"][b-3huj1xyufj] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ndg-kopf[b-3huj1xyufj] {
    user-select: none;
}

.ndg-sortierbar[b-3huj1xyufj] {
    cursor: pointer;
}

/* gefilterte Spalte: Kopf schwarz (NemesisDataGrid), ToolTip "Filter aktiv" */
.ndg-tabelle > thead > tr > th.ndg-gefiltert[b-3huj1xyufj] {
    color: #FFFFFF;
    background-color: #000000;
}

.ndg-gezogen[b-3huj1xyufj] {
    opacity: .55;
}

/* Sortierpfeil wie das WPF-DataGrid (Aero2): kleines Dreieck oben mittig im Kopf - aufsteigend zeigt es nach oben. */
.ndg-pfeil[b-3huj1xyufj] {
    position: absolute;
    top: 1px;
    left: 50%;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    opacity: .85;
    pointer-events: none;
}

.ndg-pfeil.ndg-auf[b-3huj1xyufj] {
    border-bottom: 4px solid currentColor;
}

.ndg-pfeil.ndg-ab[b-3huj1xyufj] {
    border-top: 4px solid currentColor;
}

/* Griff zum Breiteziehen rechts im Kopf; die Linie zeigt sich erst beim Darüberfahren (keine Striche zwischen den Köpfen). */
.ndg-griff[b-3huj1xyufj] {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 6px;
    height: 100%;
    cursor: col-resize;
}

.ndg-kopf:hover > .ndg-griff[b-3huj1xyufj] {
    box-shadow: inset -1px 0 0 color-mix(in srgb, var(--nem-spalten-kopf-schrift) 40%, transparent);
}

.ndg-fueller[b-3huj1xyufj] {
    width: 100%;
}

/* Zeilenkopf (NemesisZeilenKopf): schmale helle Spalte links */
.ndg-tabelle > tbody > tr > td.ndg-zeilenkopf[b-3huj1xyufj],
.ndg-tabelle > tfoot > tr > td.ndg-zeilenkopf[b-3huj1xyufj],
.ndg-tabelle > thead > tr > th.ndg-zeilenkopf[b-3huj1xyufj] {
    width: 12px;
    min-width: 12px;
    max-width: 12px;
    padding: 0;
}

.ndg-tabelle > tbody > tr > td.ndg-zeilenkopf[b-3huj1xyufj] {
    background: var(--nem-zeilen-kopf);
    border-right: 1px solid var(--nem-zeilen-kopf-linie);
    cursor: pointer;
}

/* Auf-/Zuklappen der Details im Zeilenkopf (DetailsUmschaltbar). */
.ndg-tabelle > tbody > tr > td.ndg-aufklapp[b-3huj1xyufj],
.ndg-tabelle > thead > tr > th.ndg-aufklapp-ecke[b-3huj1xyufj] {
    width: 16px;
    min-width: 16px;
    max-width: 16px;
}

.ndg-tabelle > tbody > tr > td.ndg-aufklapp[b-3huj1xyufj] {
    font-size: 9px;
    text-align: center;
    color: var(--nem-akzent);
    user-select: none;
}

.ndg-tabelle > tbody > tr > td.ndg-aufklapp:hover[b-3huj1xyufj] {
    background: var(--nem-reiter-flaeche);
}

.ndg-tabelle > tbody > tr.ndg-neue-zeile > td.ndg-zeilenkopf[b-3huj1xyufj] {
    text-align: center;
    color: var(--nem-schrift-gedimmt);
}

/* FESTE SPALTEN (FesteSpalten = FrozenColumnCount): kleben links; die linke Kante setzt nemesisGrid.breitenHalten als
   --ndg-fest-n an der Wurzel. Zellen brauchen eine deckende Flaeche, sonst scheint der Inhalt darunter durch. */
.ndg-tabelle th.ndg-fest[b-3huj1xyufj],
.ndg-tabelle td.ndg-fest[b-3huj1xyufj],
.ndg-tabelle .ndg-fest-kopf[b-3huj1xyufj] {
    position: sticky;
    z-index: 1;
}

.ndg-tabelle .ndg-fest-kopf[b-3huj1xyufj] {
    left: 0;
}

/* :where() = geringe Gewichtung: Zebra, Hover, Status, Datenfarbe und Auswahl malen darueber. */
.ndg-tabelle > tbody > tr > td:where(.ndg-fest)[b-3huj1xyufj] {
    background-color: var(--nem-flaeche);
}

.ndg-tabelle > thead > tr > th.ndg-fest[b-3huj1xyufj],
.ndg-tabelle > thead > tr > th.ndg-fest-kopf[b-3huj1xyufj],
.ndg-tabelle > tfoot > tr > td.ndg-fest[b-3huj1xyufj],
.ndg-tabelle > tfoot > tr > td.ndg-fest-kopf[b-3huj1xyufj] {
    z-index: 3;
}

.ndg-tabelle > thead.ndg-ohne-kopf[b-3huj1xyufj] {
    display: none;
}

/* Zeilen: Zebra < Hover < Datenflaeche < Auswahl; der Status ist NUR der Streifen links (Desktop NemesisTabelle.ZeilenStatus:
   "Ersatz fuer vollflaechig gefaerbte Zeilen", 16.10.2026 korrigiert) und steht auch an der gewaehlten Zeile.
   Eigene Klassen ndg-status-* statt nem-zeile-*: die globalen Bootstrap-Regeln toenen nem-zeile-* zu 20 % ein.
   Bootstraps Zebra/Hover (nemesis-design.css: jede gerade Zeile über --bs-table-bg-type, gemalt als box-shadow 9999px)
   wird im Grid abgeschaltet - es zählt Gruppenköpfe mit und würde die Statusfarben übermalen. */
.ndg-tabelle.table > tbody > tr > *[b-3huj1xyufj] {
    --bs-table-bg-type: transparent;
    --bs-table-bg-state: transparent;
    --bs-table-accent-bg: transparent;
}

.ndg-tabelle > tbody > tr.ndg-zebra > *[b-3huj1xyufj] {
    background-color: var(--nem-zebra);
}

.ndg-tabelle > tbody > tr.ndg-zeile:hover > *[b-3huj1xyufj] {
    background-color: var(--nem-tabelle-hover);
}

/* Hintergrund und Schrift aus den Daten (ZeilenFlaeche/ZeilenSchrift) - ueber Zebra, unter Hover und Auswahl.
   Die Schrift gehoert zur Flaeche: unter der Maus und in der Auswahl gilt wieder die Palettenschrift, sonst stuende
   z. B. "black" zu Hellgruen im Dunkelmodus auf der dunklen Hover-/Auswahlflaeche (16.10.2026). */
.ndg-tabelle > tbody > tr.ndg-hat-flaeche > *[b-3huj1xyufj] {
    background-color: var(--ndg-zeile-flaeche);
}

.ndg-tabelle > tbody > tr.ndg-hat-schrift:not(.ndg-gewaehlt):not(:hover) > *[b-3huj1xyufj] {
    color: var(--ndg-zeile-schrift);
}

.ndg-tabelle > tbody > tr.ndg-gewaehlt > *[b-3huj1xyufj] {
    background-color: var(--nem-selektion);
}

.ndg-tabelle > tbody > tr.ndg-gewaehlt > *:first-child[b-3huj1xyufj] {
    box-shadow: inset 3px 0 0 var(--nem-akzent);
}

.ndg-tabelle > tbody > tr.ndg-status-warnung > *:first-child[b-3huj1xyufj] {
    box-shadow: inset 3px 0 0 var(--nem-warnung);
}

.ndg-tabelle > tbody > tr.ndg-status-fehler > *:first-child[b-3huj1xyufj] {
    box-shadow: inset 3px 0 0 var(--nem-fehler);
}

.ndg-tabelle > tbody > tr.ndg-status-erfolg > *:first-child[b-3huj1xyufj] {
    box-shadow: inset 3px 0 0 var(--nem-erfolg);
}

/* Streifen aus den Daten (ZeilenStreifen) - wie der Zeilenstatus ueber dem Auswahlstreifen. */
.ndg-tabelle > tbody > tr.ndg-hat-streifen > *:first-child[b-3huj1xyufj] {
    box-shadow: inset 3px 0 0 var(--ndg-zeile-streifen);
}

/* Zellfehler (Validierung): rote Kontur, Text im ToolTip */
.ndg-tabelle > tbody > tr > td.ndg-zellfehler[b-3huj1xyufj] {
    box-shadow: inset 0 0 0 1px var(--nem-fehler);
}

/* Gruppenkopf: Band in Zeilenkopf-Fläche, eingerückt je Ebene 18, Streifen je Ebene, Dreieck, Wert halbfett + (Anzahl) */
.ndg-tabelle > tbody > tr.ndg-gruppe > td[b-3huj1xyufj] {
    padding: 2px 2px 1px 0;
    background: var(--nem-flaeche);
    cursor: pointer;
    user-select: none;
}

.ndg-gruppe-band[b-3huj1xyufj] {
    display: flex;
    align-items: center;
    padding: 3px 10px 3px 9px;
    line-height: var(--nem-zeilenhoehe, 16px);
    color: var(--nem-reiter-schrift);
    background: var(--nem-zeilen-kopf);
    border: 1px solid var(--nem-zeilen-kopf-linie);
    border-radius: 3px;
    box-shadow: inset 3px 0 0 var(--ndg-streifen, var(--nem-akzent));
}

.ndg-gruppe:hover .ndg-gruppe-band[b-3huj1xyufj] {
    border-color: var(--nem-akzent);
}

.ndg-dreieck[b-3huj1xyufj] {
    flex: 0 0 auto;
    width: 0;
    height: 0;
    margin: 1px 8px 0 1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid currentColor;
}

.ndg-dreieck.ndg-offen[b-3huj1xyufj] {
    transform: rotate(90deg);
}

.ndg-gruppe-text[b-3huj1xyufj] {
    font-weight: 600;
}

.ndg-gruppe-anzahl[b-3huj1xyufj] {
    margin-left: 2px;
    opacity: .8;
}

/* Details unter der gewählten Zeile (RowDetails). Höhe 1px = so hoch wie der Inhalt, aber „fest“: füllt die Tabelle ihren Bereich (wenige
   Zeilen), schluckt den Rest nur die Pseudo-Zeile am Ende – mit height: auto bekam die Detailzeile einen Teil davon und ihr Inhalt stand
   senkrecht mittig (29.10.2026, Rückmeldung Bastian „die Artikeltabelle ist in der Mitte anstatt oben“). Inhalt immer oben. */
.ndg-tabelle > tbody > tr.ndg-details > td[b-3huj1xyufj] {
    height: 1px;
    vertical-align: top;
    padding: 4px 8px 6px 20px;
    white-space: normal;
    background: var(--nem-flaeche);
}

/* Details bleiben in der SICHTBAREN Breite (breite Tabellen rollen waagerecht): klebt links, so breit wie der Rollbereich
   (--ndg-sichtbreite setzt nemesisGrid.breitenHalten). */
.ndg-details-inhalt[b-3huj1xyufj] {
    position: sticky;
    left: 0;
    max-width: calc(var(--ndg-sichtbreite, 100%) - 28px);
}

/* Details, die die sichtbare Höhe füllen (DetailsFuellend, 29.10.2026): Höhe aus --ndg-details-hoehe (nemesisGrid.detailsHoehe an der Wurzel),
   der Inhalt als Spalte – ein Grid darin (.ndg ist flex 1 1 auto) reicht bis unten und rollt selbst. */
.ndg-tabelle > tbody > tr.ndg-details-fuellend > td > .ndg-details-inhalt[b-3huj1xyufj] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* Knöpfe u. ä. in ihrer eigenen Breite (nicht gestreckt, Rückmeldung Bastian 29.10.2026) */
    box-sizing: border-box;
    height: var(--ndg-details-hoehe, auto);
    min-height: 120px;
}

/* Ein Grid in den füllenden Details reicht über die volle Breite (gleiche Komponente, deshalb trifft die Regel auch das innere Grid). */
.ndg-tabelle > tbody > tr.ndg-details-fuellend > td > .ndg-details-inhalt > .ndg[b-3huj1xyufj] {
    align-self: stretch;
}

/* ---------- Leerhinweis und Ladeschleier ---------- */
.ndg-leer[b-3huj1xyufj] {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    font-size: var(--nem-schriftgroesse, 12px);
    text-align: center;
    color: var(--nem-schrift-gedimmt);
    pointer-events: none;
}

.ndg-leer > span[b-3huj1xyufj] {
    max-width: 400px;
}

.ndg-laden[b-3huj1xyufj] {
    position: absolute;
    inset: 0;
    z-index: 6;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--nem-flaeche) 80%, transparent);
}

/* Nemesis-Kreisel (Shared/NemesisKreisel, eigene Komponente - deshalb ::deep). */
.ndg-laden[b-3huj1xyufj]  .ndg-kreisel {
    margin-right: 14px;
}

.ndg-lade-text[b-3huj1xyufj] {
    font-size: calc(var(--nem-schriftgroesse, 12px) + 1px);
    color: var(--nem-schrift-gedimmt);
}

/* ---------- Kopfmenü und Spaltenfilter (an der Maus) ---------- */
.ndg-schleier[b-3huj1xyufj] {
    position: fixed;
    inset: 0;
    z-index: 1999;
}

.ndg-menue[b-3huj1xyufj] {
    position: fixed;
    z-index: 2000;
    min-width: 220px;
    padding: 3px 0;
    font-size: var(--nem-schriftgroesse, 12px);
    color: var(--nem-schrift);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
    outline: none;
}

.ndg-menue-eintrag[b-3huj1xyufj] {
    position: relative;
    display: flex;
    align-items: center;
    height: 28px;
    padding: 0 14px 0 4px;
    white-space: nowrap;
    cursor: pointer;
}

.ndg-menue-eintrag:hover[b-3huj1xyufj] {
    background: var(--nem-selektion);
}

.ndg-menue-aus[b-3huj1xyufj],
.ndg-menue-aus:hover[b-3huj1xyufj] {
    color: var(--nem-schrift-gedimmt);
    background: transparent;
    cursor: default;
}

.ndg-menue-haken[b-3huj1xyufj] {
    flex: 0 0 18px;
    text-align: center;
    color: var(--nem-akzent);
}

.ndg-menue-pfeil[b-3huj1xyufj] {
    margin-left: auto;
    padding-left: 18px;
    color: var(--nem-schrift-gedimmt);
}

.ndg-menue-trenner[b-3huj1xyufj] {
    height: 1px;
    margin: 3px 6px;
    background: var(--nem-kontur);
}

.ndg-menue-kind[b-3huj1xyufj] {
    position: absolute;
    top: -4px;
    left: 100%;
    display: none;
}

.ndg-menue-unter:hover > .ndg-menue-kind[b-3huj1xyufj] {
    display: block;
}

.ndg-filter[b-3huj1xyufj] {
    position: fixed;
    z-index: 2000;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 280px;
    padding: 6px;
    font-size: var(--nem-schriftgroesse, 12px);
    color: var(--nem-schrift);
    background: var(--nem-flaeche);
    border: 1px solid var(--nem-kontur);
    border-radius: 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}

.ndg-filter-titel[b-3huj1xyufj] {
    font-weight: 600;
    color: var(--nem-akzent);
}

.ndg-filter-alle[b-3huj1xyufj] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ndg-filter-anzahl[b-3huj1xyufj] {
    margin-left: auto;
    color: var(--nem-schrift-gedimmt);
}

.ndg-filter-liste[b-3huj1xyufj] {
    max-height: 260px;
    overflow: auto;
    border: 1px solid var(--nem-kontur);
}

.ndg-filter-wert[b-3huj1xyufj] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 1px 4px;
    white-space: nowrap;
    cursor: pointer;
}

.ndg-filter-wert > span[b-3huj1xyufj] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ndg-filter-wert:hover[b-3huj1xyufj] {
    background: var(--nem-tabelle-hover);
}

.ndg-filter-hinweis[b-3huj1xyufj] {
    font-size: var(--nem-schriftgroesse, 12px);
    color: var(--nem-schrift-gedimmt);
}

.ndg-filter-knoepfe[b-3huj1xyufj] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
}

/* ---------- Dialoge (MaskenOverlay) ---------- */
.ndg-dialog[b-3huj1xyufj] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: 100%;
    min-height: 0;
    font-size: var(--nem-schriftgroesse, 12px);
}

/* Beschriftung über einem Feld (linksbündig - .nem-label-oben richtet sich im Flex an das Ende aus). */
.ndg-dialog-titel[b-3huj1xyufj] {
    margin: 0;
    color: var(--nem-schrift-gedimmt);
}

.ndg-dialog-zeile[b-3huj1xyufj] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.ndg-dialog-liste[b-3huj1xyufj] {
    flex: 1 1 auto;
    min-height: 120px;
    border: 1px solid var(--nem-kontur);
}

.ndg-dialog-liste tbody tr[b-3huj1xyufj] {
    cursor: pointer;
}

.ndg-dialog-ansichten[b-3huj1xyufj] {
    max-height: 160px;
    overflow: auto;
    border: 1px solid var(--nem-kontur);
}

.ndg-dialog-ansicht[b-3huj1xyufj] {
    display: flex;
    align-items: center;
    padding: 1px 4px;
}

.ndg-dialog-ansicht:hover[b-3huj1xyufj] {
    background: var(--nem-tabelle-hover);
}

.ndg-dialog-ansicht-name[b-3huj1xyufj] {
    flex: 1 1 auto;
    cursor: pointer;
}

.ndg-frage[b-3huj1xyufj] {
    padding: 4px 2px;
    white-space: pre-wrap;
}
/* /Shared/KundenAktionsleiste.razor.rz.scp.css */
/* AKTIONSLEISTE DES KUNDENPORTALS (18.10.2026, Nachbau OfficeController .oc-toolbar im Hausbild): Karte über der Inhaltskachel –
   Fläche/Kontur aus der Palette, Rundung 6 und weicher Schatten wie die NemesisKachel (ohne Akzentstreifen: die Leiste ist keine
   Gruppenbox), Abstand nach unten wie zwischen Kacheln. Titel 12 px halbfett wie die Kachel-Überschrift, Untertitel gedimmt. Als
   festes Flex-Kind bricht sie die Höhenkette (.nem-maske-fuellend) nicht. */
.kal[b-q0ht6waze2] {
    --nem-kachel-akzent: var(--nem-akzent);   /* Zylonenauge in der Akzentfarbe */
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px 12px;
    box-sizing: border-box;
    min-height: 40px;
    margin: 0 0 .5rem 0;
    padding: 6px 10px;
    background: var(--nem-karte);
    color: var(--nem-schrift);
    border: 1px solid var(--nem-kontur);
    border-radius: 6px;
    box-shadow: 0 1px 6px color-mix(in srgb, var(--nem-schrift-gedimmt) 22%, transparent);
    font-size: var(--nem-schriftgroesse, 12px);
}

.kal-links[b-q0ht6waze2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 16px;
    min-width: 0;
}

.kal-titel[b-q0ht6waze2] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.kal-titel[b-q0ht6waze2]  .kal-symbol {
    flex: 0 0 auto;
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--nem-akzent);
}

.kal-texte[b-q0ht6waze2] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 16px;
}

    .kal-texte > strong[b-q0ht6waze2] {
        font-size: var(--nem-schriftgroesse, 12px);
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .kal-texte > span[b-q0ht6waze2] {
        font-size: var(--nem-schriftgroesse, 12px);
        color: var(--nem-schrift-gedimmt);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Eigener Inhalt links (Filter einer kurzen Liste): in einer Zeile, unten bündig. */
.kal-titel-inhalt[b-q0ht6waze2] {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

/* Aktionen stehen immer rechts – auch ohne Titel und nach einem Umbruch. */
.kal-aktionen[b-q0ht6waze2] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
}

/* Zylonenauge an der Unterkante, solange ein Vorgang läuft (Spur und Licht aus nemesis-design.css, Abschnitt 6). */
.kal-zylon[b-q0ht6waze2] {
    top: auto;
    bottom: 0;
}

/* Overlays und Dialoge: bleibt beim Rollen oben stehen. */
.kal.ist-sticky[b-q0ht6waze2] {
    position: sticky;
    top: 0;
    z-index: 5;
}

/* Keine Kachel in der Kachel: steht die Leiste in einer Kachel bzw. Karte, erscheint sie flach als Kopfzeile. */
.nem-kachel .kal[b-q0ht6waze2],
.rz-card .kal[b-q0ht6waze2],
.rz-fieldset .kal[b-q0ht6waze2] {
    min-height: 0;
    margin-bottom: 6px;
    padding: 0 0 6px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--nem-kontur);
    border-radius: 0;
    box-shadow: none;
}

    /* Flach und klebend: eigene Fläche, sonst schiene der gerollte Inhalt durch. */
    .nem-kachel .kal.ist-sticky[b-q0ht6waze2],
    .rz-card .kal.ist-sticky[b-q0ht6waze2],
    .rz-fieldset .kal.ist-sticky[b-q0ht6waze2] {
        background: var(--nem-karte);
    }
/* /Shared/KundenBenutzerBadge.razor.rz.scp.css */
/* Benutzer-Badge der Kundenfußzeile (Nachbau OfficeController .oc-user-badge im Hausbild): Name halbfett, Badge als Pille in
   Akzent- bzw. Warnfarbe mit weißer Schrift, Schrift 12 wie die Fußzeile. */
.kbb[b-75r55nqcvj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    white-space: nowrap;
}

.kbb[b-75r55nqcvj]  .kbb-symbol {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--nem-akzent);
}

.kbb-name[b-75r55nqcvj] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kbb-badge[b-75r55nqcvj] {
    padding: 0 8px;
    line-height: 16px;
    border-radius: 8px;
    font-weight: 600;
    color: var(--nem-schrift-auf-akzent);
}

.kbb-user[b-75r55nqcvj] {
    background: var(--nem-akzent);
}

/* SuperUser grün (29.10.2026, Vorgabe Bastian – vorher Warnfarbe/orange wie OfficeController). */
.kbb-superuser[b-75r55nqcvj] {
    background: var(--nem-erfolg);
}
/* /Shared/LagerDetailOverlay.razor.rz.scp.css */
/* DOKUMENTE HOCHLADEN im Detail-Overlay (29.10.2026, Vorgabe Bastian „Datei auswählen bitte in hübsch und dann vor hochladen“). */

/* „Datei auswählen“: label in Radzen-Knopfoptik (Klassen rz-button …) – nur Zeiger und Sperre ergänzen. */
.ldo-dateiknopf[b-cvqr9u2wrm] {
    cursor: pointer;
    margin: 0;
    user-select: none;
}

    .ldo-dateiknopf.rz-state-disabled[b-cvqr9u2wrm] {
        cursor: default;
        pointer-events: none;
    }

/* Gewählte Datei als Chip: Symbol, Name (gekürzt), ✕ zum Verwerfen. */
.ldo-datei[b-cvqr9u2wrm] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 360px;
    min-height: 28px;
    padding: 2px 4px 2px 10px;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, var(--nem-akzent) 35%, var(--nem-flaeche));
    border-radius: 14px;
    background: color-mix(in srgb, var(--nem-akzent) 8%, var(--nem-flaeche));
    color: var(--nem-schrift);
}

    .ldo-datei > .rzi[b-cvqr9u2wrm] {
        font-size: 16px;
        color: var(--nem-akzent);
    }

.ldo-datei-name[b-cvqr9u2wrm] {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ldo-datei-weg[b-cvqr9u2wrm] {
    flex: 0 0 auto;
    width: var(--nem-feld-hoehe);
    height: var(--nem-feld-hoehe);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--nem-schrift-gedimmt);
    font-size: var(--nem-schriftgroesse);
    line-height: var(--nem-feld-hoehe);
    cursor: pointer;
}

    .ldo-datei-weg:hover:not(:disabled)[b-cvqr9u2wrm] {
        background: color-mix(in srgb, var(--nem-fehler) 15%, transparent);
        color: var(--nem-fehler);
    }
/* /Shared/LoadingProcess.razor.rz.scp.css */
/* Wartezustand über die ganze Seite (Seitenmitte, 29.10.2026): mittig im Fenster, unabhängig vom umgebenden Layout. Schrift 18 – Ausnahme von
   „keine neuen Schriftgrößen“ wie die Anmeldung (Visitenkarte, keine Maske; Vorgabe Bastian „die Schrift größer“). */
.lp-seite[b-u1ae5ys4zh] {
    position: fixed;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 16px;
    box-sizing: border-box;
    text-align: center;
}

.lp-seite-text[b-u1ae5ys4zh] {
    max-width: 32em;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: .02em;
    color: var(--nem-schrift);
}
/* /Shared/MainLayout.razor.rz.scp.css */
.page[b-k6vmfqamkd] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-k6vmfqamkd] {
    flex: 1;
}

.sidebar[b-k6vmfqamkd] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-k6vmfqamkd] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-k6vmfqamkd]  a, .top-row[b-k6vmfqamkd]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-k6vmfqamkd]  a:hover, .top-row[b-k6vmfqamkd]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-k6vmfqamkd]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-k6vmfqamkd] {
        display: none;
    }

    .top-row.auth[b-k6vmfqamkd] {
        justify-content: space-between;
    }

    .top-row[b-k6vmfqamkd]  a, .top-row[b-k6vmfqamkd]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-k6vmfqamkd] {
        flex-direction: row;
    }

    .sidebar[b-k6vmfqamkd] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-k6vmfqamkd] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-k6vmfqamkd]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-k6vmfqamkd], article[b-k6vmfqamkd] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}


/* Inhalt des Client-Bereichs (17.10.2026): Bezugsrahmen für das Menü "Nemesis" (NemesisBackstage, position: absolute) - die
   Höhenkette RadzenBody → Seitenleiste → TabMaster läuft unverändert durch. */
.nem-koerper[b-k6vmfqamkd] {
    position: relative;
    height: 100%;
    min-height: 0;
}
/* /Shared/MerkmalHakenGruppe.razor.rz.scp.css */
/* Hakengruppe des Merkmalkatalogs – Werte aus UcLadung/FahrzeugMerkmaleView (Haken Margin 0,3,18,3, MinWidth 140; Gruppe Margin unten 10). */
.mh-gruppe[b-m5eskq6h41] {
    margin: 0 0 10px 0;
}

.mh-gruppe:last-child[b-m5eskq6h41] {
    margin-bottom: 0;
}

.mh-titel[b-m5eskq6h41] {
    font-weight: 600;
}

.mh-hinweis[b-m5eskq6h41] {
    margin: 0 0 2px 0;
}

.mh-flaeche[b-m5eskq6h41] {
    display: flex;
    flex-wrap: wrap;
}

.mh-haken[b-m5eskq6h41] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 140px;
    margin: 3px 18px 3px 0;
    cursor: pointer;
    user-select: none;
}

.mh-haken input[b-m5eskq6h41] {
    margin: 0;
}
/* /Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-b0ia7kxh25] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-b0ia7kxh25] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-b0ia7kxh25] {
    font-size: 1.1rem;
}

.oi[b-b0ia7kxh25] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
}

.nav-item[b-b0ia7kxh25] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-b0ia7kxh25] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-b0ia7kxh25] {
        padding-bottom: 1rem;
    }

    .nav-item[b-b0ia7kxh25]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-b0ia7kxh25]  a.active {
    background-color: rgba(255,255,255,0.25);
    color: white;
}

.nav-item[b-b0ia7kxh25]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-b0ia7kxh25] {
        display: none;
    }

    .collapse[b-b0ia7kxh25] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-b0ia7kxh25] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* /Shared/NemesisAuswahlfeld.razor.rz.scp.css */
/* NEMESISAUSWAHLFELD (17.10.2026) - Werte 1:1 aus Nemesis.Middleware.Controls.NemesisAuswahlfeld, Farben nur aus der Palette
   (nemesis-design.css). Desktop-Pinsel: NemesisEingabeFlaeche/-AuswahlFlaeche -> --nem-eingabe-flaeche, NemesisRahmen ->
   --nem-rahmen, NemesisSchrift(Gedimmt) -> --nem-schrift(-gedimmt), NemesisTabelle.Hover/.Selektion -> --nem-tabelle-hover/
   --nem-selektion, NemesisDeaktiviertFlaeche -> --nem-deaktiviert-flaeche, NemesisAkzent (Kreisel) -> --nem-akzent.
   NemesisPfeil/NemesisPfeilAktiv gibt es in der Palette (noch) nicht: --nem-pfeil/--nem-pfeil-aktiv mit Ersatz aus der Schrift.
   Das zugeklappte Feld ist 22 hoch wie .nem-feld (Desktop MinHeight 24 - im Web gilt die Feldhoehe der Masken). */

.naf[b-hsuun5hd4n] {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    height: var(--nem-feld-hoehe);
    margin: 0;
    padding: 0 4px 0 6px;
    font-family: var(--nem-schriftart, inherit);
    font-size: var(--nem-schriftgroesse, 12px);
    font-weight: normal;
    line-height: 16px;
    color: var(--nem-schrift);
    background: var(--nem-eingabe-flaeche);
    border: 1px solid color-mix(in srgb, var(--nem-rahmen) 55%, transparent);
    border-radius: 3px;
    cursor: pointer;
    outline: none;
    user-select: none;
    text-align: left;
}

.naf:focus-within[b-hsuun5hd4n],
.naf.naf-offen[b-hsuun5hd4n] {
    border-color: var(--nem-rahmen);
    box-shadow: 0 0 0 1px var(--nem-akzent-schleier);
}

.naf.naf-nurlesen[b-hsuun5hd4n] {
    cursor: default;
}

.naf.naf-nurlesen:focus-within[b-hsuun5hd4n] {
    box-shadow: none;
}

/* Gesperrt sieht man dem Feld an (wie die Haus-ComboBox): eigene Flaeche, gedaempfte Schrift. */
.naf.naf-gesperrt[b-hsuun5hd4n] {
    color: var(--nem-schrift-gedimmt);
    background: var(--nem-deaktiviert-flaeche);
    cursor: default;
}

.naf-flaeche[b-hsuun5hd4n] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
    height: 100%;
}

.naf-anzeige[b-hsuun5hd4n] {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.naf-platzhalter[b-hsuun5hd4n] {
    color: var(--nem-schrift-gedimmt);
}

/* Direkteingabe: dasselbe Aussehen wie die Anzeige - randlos, durchsichtig, gleiche Schrift. */
.naf-direkt[b-hsuun5hd4n] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    background: transparent;
    border: 0;
    outline: none;
    box-shadow: none;
    caret-color: var(--nem-schrift);
    cursor: text;
}

/* metro4 setzt ::-webkit-input-placeholder auf 14 px - der Platzhalter hat die Schrift des Feldes. */
.naf-direkt[b-hsuun5hd4n]::placeholder,
.naf-suche[b-hsuun5hd4n]::placeholder {
    font-family: inherit;
    font-size: inherit;
    font-weight: normal;
    color: var(--nem-schrift-gedimmt);
    opacity: 1;
}

.naf-direkt:read-only[b-hsuun5hd4n] {
    cursor: default;
}

/* Fett nur im zugeklappten Feld (AnzeigeFett, z. B. feste Relation) - die Liste bleibt normal. */
.naf-fett .naf-anzeige[b-hsuun5hd4n],
.naf-fett .naf-direkt[b-hsuun5hd4n] {
    font-weight: 700;
}

/* Pfeil: Geometrie "M0,0 L0,2 L4,6 L8,2 L8,0 L4,4 z", Rand 6,0,2,0. */
.naf-pfeil[b-hsuun5hd4n] {
    flex: 0 0 auto;
    width: 8px;
    height: 6px;
    margin: 0 2px 0 6px;
    fill: var(--nem-pfeil, color-mix(in srgb, var(--nem-schrift) 80%, var(--nem-flaeche)));
}

.naf-offen .naf-pfeil[b-hsuun5hd4n] {
    fill: var(--nem-pfeil-aktiv, var(--nem-schrift-gedimmt));
}

.naf-gesperrt .naf-pfeil[b-hsuun5hd4n] {
    fill: var(--nem-schrift-gedimmt);
}

/* Ladeanzeige an der Stelle des Pfeils (NemesisKreisel 14 x 13, Rand 6,0,2,0) - Shared/NemesisKreisel. */
.naf-kreisel[b-hsuun5hd4n] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin: 0 2px 0 6px;
}

/* Farbpunkt 10 x 10 und Symbol 16 x 16, je Rand rechts 6. */
.naf-punkt[b-hsuun5hd4n] {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-right: 6px;
    border-radius: 5px;
}

.naf-symbol[b-hsuun5hd4n] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    object-fit: contain;
}

/* Zusatzknopf neben dem Pfeil: 20 breit, "…". */
.naf-zusatz[b-hsuun5hd4n] {
    flex: 0 0 auto;
    width: 20px;
    height: 18px;
    margin: 0 0 0 4px;
    padding: 0;
    font: inherit;
    line-height: 16px;
    color: var(--nem-schrift);
    background: var(--nem-reiter-flaeche);
    border: 1px solid var(--nem-reiter-kontur);
    border-radius: 2px;
    cursor: pointer;
}

.naf-zusatz:hover:not([aria-disabled])[b-hsuun5hd4n] {
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-hover);
}

.naf-zusatz[aria-disabled][b-hsuun5hd4n] {
    color: var(--nem-schrift-gedimmt);
    cursor: default;
}

/* ---------- Aufklappliste (Popup) ----------
   position:fixed: keine Kachel mit overflow schneidet sie ab; Lage setzt js/overlay.js (nemesisAuswahl.lage) - unter dem Feld,
   bei zu wenig Platz darueber, Mindestbreite = Feldbreite. Bis dahin unsichtbar. Rand 1 NemesisRahmen, Rundung 3, Polster 8,
   kein Schatten (Desktop: AllowsTransparency ohne Schatten), Einblenden wie PopupAnimation.Fade. */
.naf-popup[b-hsuun5hd4n] {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1060;
    visibility: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    width: max-content;
    max-width: calc(100vw - 8px);
    padding: 8px;
    font-weight: normal;
    color: var(--nem-schrift);
    background: var(--nem-eingabe-flaeche);
    border: 1px solid var(--nem-rahmen);
    border-radius: 3px;
    cursor: default;
    animation: naf-ein-b-hsuun5hd4n .12s ease-out;
}

@keyframes naf-ein-b-hsuun5hd4n {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* "Wird geladen..." ueber der Liste: Kreisel links (22 x 20, Rand rechts 10), Text rechts, Rand 0,2,0,8. */
.naf-ladezeile[b-hsuun5hd4n] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 2px 0 8px 0;
    color: var(--nem-schrift-gedimmt);
}

.naf-suchtitel[b-hsuun5hd4n] {
    margin: 0 0 2px 0;
    color: var(--nem-schrift-gedimmt);
}

/* Suchfeld wie .nem-feld (MinWidth 160, Rand unten 6). */
.naf-suche[b-hsuun5hd4n] {
    box-sizing: border-box;
    width: 100%;
    min-width: 160px;
    height: var(--nem-feld-hoehe);
    margin: 0 0 6px 0;
    padding: 0 4px;
    font: inherit;
    color: var(--nem-schrift);
    background: var(--nem-eingabe-flaeche);
    border: 1px solid color-mix(in srgb, var(--nem-rahmen) 55%, transparent);
    border-radius: 3px;
    outline: none;
    user-select: text;
}

.naf-suche:focus[b-hsuun5hd4n] {
    border-color: var(--nem-rahmen);
    box-shadow: 0 0 0 1px var(--nem-akzent-schleier);
}

.naf-allekeine[b-hsuun5hd4n] {
    display: flex;
    margin: 0 0 6px 0;
}

/* Knoepfe der Liste ("Alle"/"Keine": MinWidth 60, Hoehe 22, Polster 6,0; Fussknopf ueber die ganze Breite, Polster 8,3). */
.naf-knopf[b-hsuun5hd4n] {
    min-width: 60px;
    height: var(--nem-feld-hoehe);
    margin: 0 4px 0 0;
    padding: 0 6px;
    font: inherit;
    color: var(--nem-knopf-schrift);
    background: var(--nem-knopf-flaeche);
    border: 0;
    border-radius: 2px;
    cursor: pointer;
}

.naf-knopf:hover[b-hsuun5hd4n] {
    background: var(--nem-knopf-hover);
}

.naf-fuss[b-hsuun5hd4n] {
    width: 100%;
    height: auto;
    margin: 6px 0 0 0;
    padding: 3px 8px;
}

.naf-liste[b-hsuun5hd4n] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    outline: none;
}

/* Zeile: Polster 4,2 + Rand 0,1 der Vorlage = 3 oben/unten; Hover/Markierung aus NemesisTabelle. */
.naf-zeile[b-hsuun5hd4n] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    min-height: var(--nem-feld-hoehe);
    padding: 3px 4px;
    color: var(--nem-schrift);
    cursor: pointer;
}

.naf-zeile:hover[b-hsuun5hd4n] {
    background: var(--nem-tabelle-hover);
}

.naf-zeile.naf-markiert[b-hsuun5hd4n] {
    background: var(--nem-selektion);
}

/* Trennlinie unter der gewaehlten Zeile (TrennerNachGewaehlter): Linie NemesisRahmen, Polster unten 5 + 1. */
.naf-zeile.naf-trenner[b-hsuun5hd4n] {
    padding-bottom: 6px;
    border-bottom: 1px solid var(--nem-rahmen);
}

/* Deaktiviert: sichtbar, durchgestrichen, nicht waehlbar (Grund als Tipp). */
.naf-zeile.naf-inaktiv[b-hsuun5hd4n] {
    color: var(--nem-schrift-gedimmt);
    cursor: not-allowed;
}

.naf-zeile.naf-inaktiv:hover[b-hsuun5hd4n] {
    background: transparent;
}

.naf-zeile.naf-inaktiv .naf-text[b-hsuun5hd4n] {
    text-decoration: line-through;
}

.naf-haken[b-hsuun5hd4n] {
    flex: 0 0 auto;
    margin: 0 6px 0 0;
    pointer-events: none;
    accent-color: var(--nem-akzent);
}

.naf-text[b-hsuun5hd4n] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Notiz gedaempft rechts (Rand links 12). */
.naf-notiz[b-hsuun5hd4n] {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: 12px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--nem-schrift-gedimmt);
}

.naf-eigene[b-hsuun5hd4n] {
    flex: 1 1 auto;
    min-width: 0;
}

.naf-leer[b-hsuun5hd4n] {
    padding: 3px 4px;
    color: var(--nem-schrift-gedimmt);
}
/* /Shared/NemesisAuswahlRueckfrage.razor.rz.scp.css */
/* AUSWAHL-RUECKFRAGE (18.10.2026) - kleine Karte wie NemesisRueckfrage, mehrere Knoepfe; ueber allen Overlays der Masken. */
.nem-wahl-schleier[b-ajq40rh7zk] {
    z-index: 1060;
    align-items: center;
}

.nem-wahl-karte[b-ajq40rh7zk] {
    width: min(560px, 96%);
}

.nem-wahl-text[b-ajq40rh7zk] {
    padding: 12px 14px;
    font-size: var(--nem-schriftgroesse);
    white-space: pre-wrap;
}

.nem-wahl-knoepfe[b-ajq40rh7zk] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    padding: 6px 10px 10px 10px;
}

.nem-wahl-knoepfe .nem-overlay-knopf[b-ajq40rh7zk] {
    min-width: 90px;
    justify-content: center;
}

.nem-wahl-knoepfe .nem-overlay-knopf:focus[b-ajq40rh7zk] {
    outline: 2px solid var(--nem-akzent-hell);
    outline-offset: 1px;
}

/* Knopf in der Erfolgsfarbe (Desktop MeldungKnopf.Erfolg), z. B. "Neu erstellen". */
.nem-wahl-knoepfe .nem-wahl-erfolg[b-ajq40rh7zk] {
    background: var(--nem-erfolg);
}

.nem-wahl-knoepfe .nem-wahl-erfolg:hover[b-ajq40rh7zk] {
    background: color-mix(in srgb, var(--nem-erfolg) 80%, #000);
}

/* "Abbrechen" zurueckgenommen wie ein neutraler Knopf. */
.nem-wahl-knoepfe .nem-wahl-abbrechen[b-ajq40rh7zk] {
    color: var(--nem-schrift);
    background: var(--nem-kontur);
}

.nem-wahl-knoepfe .nem-wahl-abbrechen:hover[b-ajq40rh7zk] {
    background: color-mix(in srgb, var(--nem-kontur) 80%, #000);
}
/* /Shared/NemesisKreisel.razor.rz.scp.css */
/* NEMESIS-KREISEL (18.10.2026) – Hülle, Größe und Farbe. Die Animation steckt im SVG selbst (Klassen „nk…“); das SVG wird als
   MarkupString eingesetzt und trägt kein Scope-Attribut, deshalb ::deep. Größe setzt die Komponente (Breite, Höhe = 59/64). */
.nem-kreisel[b-ncqhuqvmw3] {
    display: inline-block;
    flex: 0 0 auto;
    vertical-align: middle;
    line-height: 0;
    color: var(--nem-kreisel-farbe, var(--nem-akzent));
}

    .nem-kreisel[b-ncqhuqvmw3]  svg {
        display: block;
        width: 100%;
        height: 100%;
    }

/* „Bewegung reduzieren“ (Systemeinstellung): Bild 1 steht still. Das CSS im SVG bleibt unangetastet, hier wird nur die Animation
   abgeschaltet (die Hülle macht die Regel stärker als .nk im SVG); ohne Animation zeigt die Datei selbst Bild 1 (.nk1{opacity:1},
   Fassung vom 18.10.2026). */
@media (prefers-reduced-motion: reduce) {
    .nem-kreisel[b-ncqhuqvmw3]  .nk {
        animation: none;
    }
}
/* /Shared/NemesisLadegrafik.razor.rz.scp.css */
/* NEMESIS-LADEGRAFIK MIT VERWANDLUNG (10.11.2026) – Werte 1:1 aus Nemesis.Middleware.Controls.NemesisLadegrafik. Die Figur ist quadratisch und füllt
   die Breite; alles innen in Prozent des Felds 150 × 150. Die Anfangszustände (Ruhe bzw. voll) stehen hier, damit das erste Bild ohne Skript stimmt;
   die Verwandlung setzt js/ladegrafik.js als Inline-Werte. */
.nlg[b-anvk9azdoa] {
    position: relative;
    width: 100%;
    pointer-events: none;
}

.nlg-figur[b-anvk9azdoa] {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.nlg-ebene[b-anvk9azdoa] {
    position: absolute;
    inset: 0;
    transform-origin: 50% 50%;
}

.nlg-ring[b-anvk9azdoa] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform-origin: 50% 50%;
}

.nlg-ring circle[b-anvk9azdoa] {
    fill: none;
}

/* Lichtschein hinter allem (RadialGradientBrush Cyan #80 → #00, Grunddeckung 0,4, pulsiert 0,25 ↔ 0,6). */
.nlg-schein[b-anvk9azdoa] {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(closest-side, rgba(56, 214, 255, .5), rgba(56, 214, 255, 0));
    opacity: .4;
}

.nlg-spur[b-anvk9azdoa] {
    stroke: rgba(56, 214, 255, .16);    /* Hauptfarbe mit Deckung 0x29 */
    stroke-width: 3;
}

.nlg-bogen[b-anvk9azdoa] {
    stroke-width: 3;
    stroke-dasharray: 102 312;
    stroke-linecap: round;
}

/* Leuchten des Bogens: so breit wie bei 150 px (BlurRadius 12, Desktop „scharf auch in groß“). */
.nlg-bogen-ebene[b-anvk9azdoa] {
    filter: drop-shadow(0 0 6px rgba(56, 214, 255, .9));
}

.nlg-bogen2[b-anvk9azdoa] {
    stroke: #8B7CF6;
    stroke-width: 2;
    stroke-dasharray: 36 380;
    stroke-linecap: round;
}

.nlg-dreht-bogen2[b-anvk9azdoa] {
    transform: rotate(180deg);
}

.nlg-innen[b-anvk9azdoa] {
    stroke: rgba(56, 214, 255, .4);     /* Hauptfarbe mit Deckung 0x66 */
    stroke-width: 1.5;
    stroke-dasharray: 3 7.5;
}

/* Der Würfel: 80 × 80 in der Mitte des Felds 150. */
.nlg-wuerfel[b-anvk9azdoa] {
    position: absolute;
    left: 23.3333%;
    top: 23.3333%;
    width: 53.3333%;
    height: 53.3333%;
    transform-origin: 50% 50%;
}

.nlg-atmen[b-anvk9azdoa] {
    position: absolute;
    inset: 0;
    transform-origin: 50% 50%;
}

.nlg-wuerfel-schein[b-anvk9azdoa],
.nlg-wuerfel-bild[b-anvk9azdoa] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Weichgezeichneter Schein (BlurEffect 18, Grunddeckung 0,6, pulsiert 0,35 ↔ 0,95). */
.nlg-wuerfel-schein[b-anvk9azdoa] {
    filter: blur(6px);
    opacity: .6;
}

/* Leuchten um den Würfel (BlurRadius 14, Deckung 0,7 × Erscheinen). */
.nlg-wuerfel-bild[b-anvk9azdoa] {
    filter: drop-shadow(0 0 7px rgba(56, 214, 255, var(--nlg-leuchten, .7)));
}

/* Drei Punkte darunter (6 px, Abstand 4, oben 6 – im Feld 150). */
.nlg-punkte[b-anvk9azdoa] {
    display: flex;
    justify-content: center;
    margin-top: calc(var(--nlg-s, 150px) * 6 / 150);
}

.nlg-punkte span[b-anvk9azdoa] {
    width: calc(var(--nlg-s, 150px) * 6 / 150);
    height: calc(var(--nlg-s, 150px) * 6 / 150);
    margin: 0 calc(var(--nlg-s, 150px) * 4 / 150);
    border-radius: 50%;
    background: #38D6FF;
    opacity: .2;
}

.nlg-punkte span:nth-child(2)[b-anvk9azdoa] {
    background: #4F8FE6;
}

.nlg-punkte span:nth-child(3)[b-anvk9azdoa] {
    background: #8B7CF6;
}

/* RUHE (Erscheinen 0): nur der Würfel, 1,7-fach – so groß wie die Marke. */
.nlg-ruhe .nlg-wuerfel[b-anvk9azdoa] {
    transform: scale(1.7);
}

.nlg-ruhe [data-nlg="schein"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="spur"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="bogen"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="bogen2"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="innen"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="wuerfelschein"][b-anvk9azdoa] {
    opacity: 0;
    visibility: hidden;
}

.nlg-ruhe [data-nlg="spur"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="bogen"][b-anvk9azdoa],
.nlg-ruhe [data-nlg="bogen2"][b-anvk9azdoa] {
    transform: scale(.84);
}

.nlg-ruhe [data-nlg="innen"][b-anvk9azdoa] {
    transform: scale(.9);
}

.nlg-ruhe .nlg-wuerfel-bild[b-anvk9azdoa] {
    --nlg-leuchten: 0;
}

.nlg-ruhe .nlg-punkte[b-anvk9azdoa] {
    opacity: 0;
}

/* VOLL (Erscheinen 1): der zweite Bogen mit Deckung 0,85. */
.nlg-voll [data-nlg="bogen2"][b-anvk9azdoa] {
    opacity: .85;
}

/* BEWEGUNG nur, solange etwas zu sehen ist (volle Grafik bzw. Skript: Erscheinen > 0); geatmet erst ab Erscheinen 0,98. */
.nlg-voll .nlg-dreht-bogen[b-anvk9azdoa],
.nlg-figur.nlg-laeuft .nlg-dreht-bogen[b-anvk9azdoa] {
    animation: nlg-drehen-b-anvk9azdoa 1.4s linear infinite;
}

.nlg-voll .nlg-dreht-bogen2[b-anvk9azdoa],
.nlg-figur.nlg-laeuft .nlg-dreht-bogen2[b-anvk9azdoa] {
    animation: nlg-drehen2-b-anvk9azdoa 2.6s linear infinite;
}

.nlg-voll .nlg-dreht-innen[b-anvk9azdoa],
.nlg-figur.nlg-laeuft .nlg-dreht-innen[b-anvk9azdoa] {
    animation: nlg-zurueck-b-anvk9azdoa 8s linear infinite;
}

.nlg-voll .nlg-schein[b-anvk9azdoa],
.nlg-figur.nlg-laeuft .nlg-schein[b-anvk9azdoa] {
    animation: nlg-schein-b-anvk9azdoa 1.1s linear infinite alternate;
}

.nlg-voll .nlg-wuerfel-schein[b-anvk9azdoa],
.nlg-figur.nlg-laeuft .nlg-wuerfel-schein[b-anvk9azdoa] {
    animation: nlg-wuerfel-schein-b-anvk9azdoa 1.1s linear infinite alternate;
}

.nlg-voll .nlg-atmen[b-anvk9azdoa],
.nlg-figur.nlg-atmet .nlg-atmen[b-anvk9azdoa] {
    animation: nlg-atmen-b-anvk9azdoa 1.1s ease-in-out infinite alternate;
}

.nlg-voll .nlg-punkte span[b-anvk9azdoa],
.nlg-figur.nlg-laeuft ~ .nlg-punkte span[b-anvk9azdoa] {
    animation: nlg-punkt-b-anvk9azdoa .45s linear infinite alternate;
}

.nlg-voll .nlg-punkte span:nth-child(2)[b-anvk9azdoa],
.nlg-figur.nlg-laeuft ~ .nlg-punkte span:nth-child(2)[b-anvk9azdoa] {
    animation-delay: .15s;
}

.nlg-voll .nlg-punkte span:nth-child(3)[b-anvk9azdoa],
.nlg-figur.nlg-laeuft ~ .nlg-punkte span:nth-child(3)[b-anvk9azdoa] {
    animation-delay: .3s;
}

@keyframes nlg-drehen-b-anvk9azdoa {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes nlg-drehen2-b-anvk9azdoa {
    from { transform: rotate(180deg); }
    to { transform: rotate(540deg); }
}

@keyframes nlg-zurueck-b-anvk9azdoa {
    from { transform: rotate(360deg); }
    to { transform: rotate(0deg); }
}

@keyframes nlg-schein-b-anvk9azdoa {
    from { opacity: .25; }
    to { opacity: .6; }
}

@keyframes nlg-wuerfel-schein-b-anvk9azdoa {
    from { opacity: .35; }
    to { opacity: .95; }
}

/* Atmen: vom jetzigen Stand 1 nach 0,95 und zurück (SineEase). */
@keyframes nlg-atmen-b-anvk9azdoa {
    from { transform: scale(1); }
    to { transform: scale(.95); }
}

@keyframes nlg-punkt-b-anvk9azdoa {
    from { opacity: .2; }
    to { opacity: 1; }
}

/* „Animationen reduzieren“: nichts kreist und pulsiert (die Verwandlung springt, js/ladegrafik.js); die Punkte bleiben sichtbar. Ausdrücklich gesetzt,
   weil metro4.css sonst jede Animation auf 0,01 ms verkürzt und die Teile in ihrem Endbild stehen ließe. */
@media (prefers-reduced-motion: reduce) {
    .nlg .nlg-ring[b-anvk9azdoa],
    .nlg .nlg-schein[b-anvk9azdoa],
    .nlg .nlg-wuerfel-schein[b-anvk9azdoa],
    .nlg .nlg-atmen[b-anvk9azdoa],
    .nlg .nlg-punkte span[b-anvk9azdoa] {
        animation: none !important;
    }

    .nlg .nlg-punkte span[b-anvk9azdoa] {
        opacity: .7;
    }
}
/* /Shared/NemesisLaden.razor.rz.scp.css */
/* NEMESIS-LADEANZEIGE MIT TEXT (10.11.2026) – Grafik links (NemesisLadegrafik), Text rechts; schmal untereinander. */
.nl[b-nalgmq7ryr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 24px;
}

.nl-seite[b-nalgmq7ryr] {
    position: fixed;
    inset: 0;
    z-index: 1;
    display: flex;
    padding: 16px;
    box-sizing: border-box;
}

.nl-grafik[b-nalgmq7ryr] {
    flex: none;
}

.nl-text[b-nalgmq7ryr] {
    max-width: 24em;
    font-size: 15px;
    line-height: 1.4;
    color: var(--nem-schrift);
}

.nl-seite .nl-text[b-nalgmq7ryr] {
    max-width: 32em;
    font-size: 18px;
    letter-spacing: .02em;
}
/* /Shared/NemesisRueckfrage.razor.rz.scp.css */
/* RUECKFRAGE (11.10.2026, seit 16.10.2026 Shared/NemesisRueckfrage) - kleine Karte im Overlay-Bild der Palette, ueber allen Overlays der Masken. */
.nem-frage-schleier[b-71haoq3h1x] {
    z-index: 1060;
    align-items: center;
}

.nem-frage-karte[b-71haoq3h1x] {
    width: min(520px, 96%);
}

.nem-frage-text[b-71haoq3h1x] {
    padding: 12px 14px;
    font-size: var(--nem-schriftgroesse);
    white-space: pre-wrap;
}

.nem-frage-knoepfe[b-71haoq3h1x] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding: 6px 10px 10px 10px;
}

.nem-frage-knoepfe .nem-overlay-knopf[b-71haoq3h1x] {
    min-width: 80px;
    justify-content: center;
}

.nem-frage-knoepfe .nem-overlay-knopf:focus[b-71haoq3h1x] {
    outline: 2px solid var(--nem-akzent-hell);
    outline-offset: 1px;
}
/* /Shared/QuickAccessToolbar.razor.rz.scp.css */
/* Farben kommen aus der Hauspalette (wwwroot/css/nemesis-design.css, --nem-*) - damit sieht die
   Leiste im Hellen wie im Dunkeln richtig aus, ohne zweite Regel in dark.css. */
.qat[b-sgao0dq7hi] {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 2px 6px;
    background: var(--nem-flaeche);
    border-bottom: 1px solid var(--nem-kontur);
}

.qat-btn[b-sgao0dq7hi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 3px;
    border: 1px solid transparent;
    border-radius: var(--nem-radius, 2px);
    background: transparent;
    color: var(--nem-schrift-gedimmt);
    cursor: pointer;
}

    .qat-btn:hover:not(:disabled)[b-sgao0dq7hi] {
        background: var(--nem-hover-flaeche);
        border-color: var(--nem-kontur);
        color: var(--nem-schrift);
    }

    .qat-btn:disabled[b-sgao0dq7hi] {
        opacity: 0.4;
        cursor: not-allowed;
    }

    /* RadzenIcon rendert ein <i>-Element ohne den Scope dieser Komponente -> ::deep. */
    .qat-btn[b-sgao0dq7hi]  i {
        font-size: 18px;
        line-height: 1;
    }

/* Bild aus admin_usercontrols (SmallImage) wie die QuickAccessItems des Desktops: 16 px. */
.qat-bild[b-sgao0dq7hi] {
    display: block;
    width: 16px;
    height: 16px;
}

/* Ersatzsymbol für System-Einträge ohne Bild (17.10.2026) - so groß wie die Bilder der Datenbank (16 px). */
[b-sgao0dq7hi] .qat-ersatz {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
}

.qat-text[b-sgao0dq7hi] {
    padding: 0 4px;
    white-space: nowrap;
}

/* Schiebt den Hell/Dunkel-Umschalter an das rechte Ende der Leiste. */
.qat-rechts[b-sgao0dq7hi] {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
}

.qat-sep[b-sgao0dq7hi] {
    width: 1px;
    height: 20px;
    margin: 0 4px;
    background: var(--nem-kontur);
}

/* Der Theme-Schalter ist eine eigene Komponente - sein Knopf traegt den Scope dieser Datei nicht
   und braucht deshalb ::deep, sonst saesse er ohne Rahmen und Groesse in der Leiste. */
.qat[b-sgao0dq7hi]  .qat-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--nem-radius, 2px);
    background: transparent;
    color: var(--nem-schrift-gedimmt);
    cursor: pointer;
}

.qat[b-sgao0dq7hi]  .qat-btn:hover {
    background: var(--nem-hover-flaeche);
    border-color: var(--nem-kontur);
    color: var(--nem-schrift);
}
/* /Shared/RibbonMenu.razor.rz.scp.css */
/* Farben aus der Hauspalette (wwwroot/css/nemesis-design.css, --nem-*): das Ribbon kam als
   Metro-Kopie mit eigenem Blau (#1979ca/#a4cef9) und eigenen Grautoenen. Seit 08.10.2026 nimmt es
   die Desktop-Farben, damit Hell- und Dunkelmodus aus einer Quelle kommen. */
.ribbon-menu[b-u8bgqa7mff] {
    display: block;
    /* Bezugsrahmen für die absolut positionierten Blätter-Buttons. */
    position: relative;
}

/* Blättern nach links/rechts – nur sichtbar, wenn das Ribbon breiter ist als das Fenster.
   Die Klasse nem-scrollbar am nav setzt nemRibbon (app.js), da sich Überlauf in CSS nicht
   abfragen lässt. */
.ribbon-scroll[b-u8bgqa7mff] {
    display: none;
}

/* Die Blätter-Buttons liegen ÜBER dem Ribbon-Inhalt (links und rechts am Rand), wie in der
   Desktop-Anwendung – sie nehmen also keine Breite weg, sondern überlagern die Gruppen.

   WICHTIG: Die Regel ".ribbon-menu div { position: relative }" weiter oben macht auch diesen
   Container zum Positionierungsrahmen. Er muss deshalb selbst die Fläche der Buttonzeile
   aufspannen – sonst ist er 0 Pixel hoch (beide Kinder sind absolut positioniert) und die
   Buttons kollabieren zu einem Strich. pointer-events sorgt dafür, dass nur die Buttons
   Klicks abfangen, nicht die ganze Ebene. */
.ribbon-menu.nem-scrollbar .ribbon-scroll[b-u8bgqa7mff] {
    bottom: 1px;
    display: block;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    /* Unterhalb der Reiterleiste (24px hoch). */
    top: 25px;
    z-index: 20;
}

/* Vollflächige, abgerundete Lasche am Rand – zum Fensterrand hin bündig, zur Inhaltsseite
   abgerundet. */
.ribbon-scroll-btn[b-u8bgqa7mff] {
    align-items: center;
    background-color: var(--nem-reiter-flaeche);
    border: 1px solid var(--nem-reiter-kontur);
    color: var(--nem-schrift);
    cursor: pointer;
    display: flex;
    font-size: 26px;
    font-weight: 700;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    /* Volle Höhe der Overlay-Ebene (= Buttonzeile des Ribbons). */
    top: 0;
    bottom: 0;
    width: 30px;
    /* Die Ebene selbst ist klickdurchlässig – die Buttons müssen es wieder einfangen. */
    pointer-events: auto;
    /* Deutlich vom darunterliegenden Inhalt abheben. */
    box-shadow: 0 0 8px rgba(0,0,0,.28);
}

.ribbon-scroll-links[b-u8bgqa7mff] {
    border-left: none;
    border-radius: 0 var(--nem-radius, 2px) var(--nem-radius, 2px) 0;
    left: 0;
}

.ribbon-scroll-rechts[b-u8bgqa7mff] {
    border-radius: var(--nem-radius, 2px) 0 0 var(--nem-radius, 2px);
    border-right: none;
    right: 0;
}

.ribbon-scroll-btn:hover[b-u8bgqa7mff] {
    background-color: var(--nem-akzent-schleier);
    border-color: var(--nem-akzent);
}

.ribbon-scroll-btn:active[b-u8bgqa7mff] {
    background-color: var(--nem-akzent);
    color: var(--nem-schrift-auf-akzent);
}

/* Richtung, in die es nichts mehr zu scrollen gibt: Button ganz ausblenden (wie im Desktop),
   nicht nur ausgrauen. */
.ribbon-menu:not(.nem-scroll-links-moeglich) .ribbon-scroll-links[b-u8bgqa7mff],
.ribbon-menu:not(.nem-scroll-rechts-moeglich) .ribbon-scroll-rechts[b-u8bgqa7mff] {
    display: none;
}

    .ribbon-menu[b-u8bgqa7mff], .ribbon-menu div[b-u8bgqa7mff] {
        position: relative
    }

        .ribbon-menu .tabs-holder[b-u8bgqa7mff] {
            -webkit-box-pack: start;
            -webkit-box-align: center;
            align-items: center;
            border-bottom: 1px solid var(--nem-kontur);
            display: -webkit-box;
            display: flex;
            justify-content: flex-start;
            list-style: none inside;
            margin: 0;
            padding: 0;
            position: relative;
            z-index: 1;
            /* Passen nicht alle Reiter nebeneinander, wird gescrollt statt gestaucht.
               Auch hier ohne sichtbaren Scrollbalken. */
            overflow-x: auto;
            overflow-y: hidden;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }

            .ribbon-menu .tabs-holder[b-u8bgqa7mff]::-webkit-scrollbar {
                display: none;
            }

            .ribbon-menu .tabs-holder a[b-u8bgqa7mff], .ribbon-menu .tabs-holder li[b-u8bgqa7mff] {
                display: block;
                height: 24px;
                line-height: 24px
            }

            .ribbon-menu .tabs-holder li[b-u8bgqa7mff] {
                background-color: var(--nem-flaeche);
                border-bottom: 1px solid var(--nem-kontur);
                border-left: 1px solid transparent;
                border-right: 1px solid transparent;
                color: var(--nem-schrift);
                /* Reiter nicht zusammenquetschen, wenn viele Tabs da sind – lieber scrollen. */
                flex: 0 0 auto;
                white-space: nowrap;
            }

                .ribbon-menu .tabs-holder li:hover[b-u8bgqa7mff] {
                    border-left-color: var(--nem-kontur);
                    border-right-color: var(--nem-kontur)
                }

                .ribbon-menu .tabs-holder li + li[b-u8bgqa7mff] {
                    margin-left: 3px
                }

            .ribbon-menu .tabs-holder a[b-u8bgqa7mff] {
                background-color: inherit;
                color: inherit;
                font-size: var(--nem-schriftgroesse);
                padding: 0 14px;
                text-decoration: none
            }

            .ribbon-menu .tabs-holder .active[b-u8bgqa7mff] {
                background-color: var(--nem-reiter-flaeche);
                border: 1px solid var(--nem-kontur);
                border-bottom-color: transparent
            }

            .ribbon-menu .tabs-holder .static[b-u8bgqa7mff] {
                background-color: var(--nem-akzent);
                color: var(--nem-schrift-auf-akzent)
            }

        /* GLEICHE HOEHE IN JEDEM REITER (14.11.2026, Vorgabe Bastian: „das Ribbonmenü ist nicht in jedem Tab gleich hoch!“): wie im
           Fluent-Ribbon des Desktops hat die Knopfflaeche immer dieselbe Hoehe, egal ob ein Reiter grosse Knoepfe, nur mittlere Aktionen
           oder leere Gruppen hat. Dafuer liegen ALLE Bereiche in derselben Rasterzelle uebereinander - die nicht gewaehlten unsichtbar
           (visibility statt display: none, sie zaehlen also mit) -, und die Flaeche ist so hoch wie der hoechste Bereich. Untergrenze ist die
           Hoehe eines grossen Knopfs mit Gruppentitel (--nem-ribbon-flaeche), damit auch ein Menueband ohne grosse Knoepfe (z. B. im
           ausgedockten Fenster) die gewohnte Hoehe hat. Der Inhalt steht oben (Gruppen align-items: flex-start), die Gruppentitel unten. */
        .ribbon-menu[b-u8bgqa7mff] {
            /* Beschriftung eines grossen Knopfs: Zeilenhoehe zur Schrift des Benutzers (data-schrift). */
            --nem-ribbon-beschriftung: calc(var(--nem-schriftgroesse) + 6px);
            /* Grosser Knopf (Rand 2 + Polster 8 + Symbol 32 + Abstand 8 + Beschriftung) + Rand in der Gruppe 4 + Gruppentitel 24
               + Polster des Bereichs 8 + Linie 1. */
            --nem-ribbon-flaeche: calc(var(--nem-ribbon-beschriftung) + 87px);
        }

        .ribbon-menu .content-holder[b-u8bgqa7mff] {
            background-color: var(--nem-reiter-flaeche);
            border-left: none;
            border-right: none;
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: auto;
            position: relative
        }

            .ribbon-menu .content-holder .section[b-u8bgqa7mff] {
                -webkit-box-pack: start;
                border-bottom: 1px solid var(--nem-kontur);
                display: block;
                grid-area: 1 / 1;
                justify-content: flex-start;
                min-height: var(--nem-ribbon-flaeche);
                min-width: 0;
                padding: 4px
            }

                .ribbon-menu .content-holder .section.active[b-u8bgqa7mff] {
                    display: -webkit-box;
                    display: flex;
                    /* Passt das Ribbon nicht in die Breite, wird gescrollt statt gestaucht.
                       flex-wrap: nowrap ist wichtig – sonst klappen Gruppen in eine zweite Zeile. */
                    flex-wrap: nowrap;
                    overflow-x: auto;
                    overflow-y: hidden;
                    /* Scrollbalken ausblenden – gescrollt wird über die Pfeil-Buttons (und weiterhin
                       per Wischgeste/Shift+Mausrad). Das Element bleibt scrollbar, nur der Balken
                       ist unsichtbar. */
                    scrollbar-width: none;
                    -ms-overflow-style: none;
                }

                    .ribbon-menu .content-holder .section.active[b-u8bgqa7mff]::-webkit-scrollbar {
                        display: none;
                    }

                /* Nicht gewaehlt: unsichtbar, aber im Raster - so bestimmt auch er die gemeinsame Hoehe (siehe .content-holder). */
                .ribbon-menu .content-holder .section.non-active[b-u8bgqa7mff] {
                    display: -webkit-box;
                    display: flex;
                    flex-wrap: nowrap;
                    overflow: hidden;
                    pointer-events: none;
                    visibility: hidden;
                }

            .ribbon-menu .content-holder .group[b-u8bgqa7mff] {
                -webkit-box-align: start;
                align-content: flex-start;
                align-items: flex-start;
                background-color: inherit;
                cursor: default;
                display: -webkit-box;
                display: flex;
                padding: 0 4px 24px;
                position: relative;
                /* Gruppen duerfen NICHT schrumpfen: sie sind Flex-Items der Section, und die Buttons
                   setzen min-width:0 bei gleichzeitig umbruchfreien Beschriftungen. Ohne das hier
                   wird die Gruppe schmaler als ihr Inhalt und die Aktionstexte laufen sichtbar in
                   die naechste Gruppe hinein. min-width haelt zusaetzlich die Inhaltsbreite,
                   damit beim Verkleinern des Fensters gescrollt statt gestaucht wird. */
                flex: 0 0 auto;
                min-width: max-content;
            }

            /* Auch die Buttons selbst duerfen nicht schrumpfen – die globale metro-Regel setzt
               min-width:0, wodurch sie sonst unter ihre Textbreite gequetscht werden. */
            .ribbon-menu .content-holder .group .ribbon-button[b-u8bgqa7mff],
            .ribbon-menu .content-holder .group .ribbon-icon-button[b-u8bgqa7mff] {
                flex: 0 0 auto;
            }

                .ribbon-menu .content-holder .group:first-child:last-child[b-u8bgqa7mff] {
                    flex-basis: 100%
                }

                .ribbon-menu .content-holder .group .title[b-u8bgqa7mff] {
                    border-top: 1px solid var(--nem-kontur);
                    bottom: 0;
                    display: block;
                    font-size: var(--nem-schriftgroesse);
                    height: 20px;
                    left: 0;
                    line-height: 24px;
                    position: absolute;
                    text-align: center;
                    white-space: nowrap;
                    width: 100%;
                    color: var(--nem-schrift-gedimmt);
                }

                .ribbon-menu .content-holder .group .group-divider[b-u8bgqa7mff] {
                    background-color: var(--nem-kontur);
                    display: block;
                    height: 100%;
                    margin: 0 4px;
                    position: relative;
                    width: 1px
                }

                .ribbon-menu .content-holder .group > :not(.group-divider)[b-u8bgqa7mff], .ribbon-menu .content-holder .group > :not(.title)[b-u8bgqa7mff] {
                    margin: 2px
                }

                .ribbon-menu .content-holder .group + .group[b-u8bgqa7mff] {
                    border-left: 1px solid var(--nem-kontur)
                }

.ribbon-button[b-u8bgqa7mff], .ribbon-button-dropdown[b-u8bgqa7mff], .ribbon-icon-button[b-u8bgqa7mff], .ribbon-tool-button[b-u8bgqa7mff] {
    background-color: var(--nem-reiter-flaeche);
    border: 1px solid transparent;
    cursor: pointer;
    min-width: 0;
    outline: none;
    position: relative;
    text-align: center
}

.ribbon-button[b-u8bgqa7mff] {
    height: auto;
    margin: 0;
    min-height: 64px;
    padding: 4px;
    width: auto
}

    .ribbon-button .caption[b-u8bgqa7mff], .ribbon-button .icon[b-u8bgqa7mff] {
        display: block;
        text-align: center;
    }

    .ribbon-button .caption[b-u8bgqa7mff] {
        font-size: var(--nem-schriftgroesse);
        line-height: var(--nem-ribbon-beschriftung)
    }

    .ribbon-button .icon *[b-u8bgqa7mff] {
        font-size: 26px;
        height: 32px;
        line-height: 32px;
        max-width: 32px
    }

    /* Die Icons kommen als <img> aus der DB und haben unterschiedliche native Grössen
       (24x24 bis 128x128). Die Regel oben (nur max-width/height) reicht dafür nicht aus,
       darum feste Grösse erzwingen. object-fit bewahrt das Seitenverhältnis.
       !important, weil die globale metro-ui-CSS ebenfalls auf .ribbon-button .icon zielt. */
    .ribbon-button .icon img[b-u8bgqa7mff] {
        width: 32px !important;
        height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
        object-fit: contain;
    }

    .ribbon-button .icon + .caption[b-u8bgqa7mff] {
        margin-top: 8px
    }

    .ribbon-button.dropdown-toggle[b-u8bgqa7mff] {
        padding-right: 4px !important
    }

        .ribbon-button.dropdown-toggle[b-u8bgqa7mff]:before {
            margin-left: -.65rem
        }

.ribbon-icon-button[b-u8bgqa7mff] {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: inline-flex;
    flex-flow: row nowrap;
    flex-wrap: nowrap;
    height: 24px;
    margin: 0;
    padding: 0 4px;
    width: auto
}

    .ribbon-icon-button .caption[b-u8bgqa7mff], .ribbon-icon-button .icon[b-u8bgqa7mff] {
        display: block
    }

    .ribbon-icon-button .caption[b-u8bgqa7mff] {
        font-size: var(--nem-schriftgroesse);
        white-space: nowrap
    }

    .ribbon-icon-button .icon[b-u8bgqa7mff] {
        -webkit-box-pack: center;
        -webkit-box-align: center;
        align-items: center;
        display: -webkit-box;
        display: flex;
        justify-content: center
    }

        .ribbon-icon-button .icon *[b-u8bgqa7mff] {
            font-size: 14px;
            height: 16px;
            line-height: 16px;
            width: 16px
        }

        /* Aktions-Icons klein und formattreu (siehe Kommentar bei .ribbon-button .icon img). */
        .ribbon-icon-button .icon img[b-u8bgqa7mff] {
            width: 16px !important;
            height: 16px !important;
            max-width: 16px !important;
            max-height: 16px !important;
            object-fit: contain;
        }

        .ribbon-icon-button .caption + .icon[b-u8bgqa7mff], .ribbon-icon-button .icon + .caption[b-u8bgqa7mff] {
            margin-left: 4px
        }

    .ribbon-icon-button [class*=mif-][b-u8bgqa7mff] {
        vertical-align: inherit
    }

.ribbon-tool-button[b-u8bgqa7mff] {
    height: 24px;
    margin: 0;
    padding: 0 2px;
    width: 24px
}

    .ribbon-tool-button *[b-u8bgqa7mff] {
        font-size: 14px;
        height: 16px;
        line-height: 16px;
        width: 16px
    }

    .ribbon-icon-button.dropdown-toggle[b-u8bgqa7mff], .ribbon-tool-button.dropdown-toggle[b-u8bgqa7mff] {
        padding-right: 2px !important
    }

        .ribbon-icon-button.dropdown-toggle[b-u8bgqa7mff]:before, .ribbon-tool-button.dropdown-toggle[b-u8bgqa7mff]:before {
            display: none
        }

        .ribbon-icon-button.dropdown-toggle[b-u8bgqa7mff]:after, .ribbon-tool-button.dropdown-toggle[b-u8bgqa7mff]:after {
            border-color: transparent transparent var(--nem-schrift);
            border-style: solid;
            border-width: 0 0 4px 4px;
            bottom: 0;
            content: "";
            display: block;
            height: 0;
            position: absolute;
            right: 0;
            width: 0;
            z-index: 1
        }

.ribbon-icon-button.dropdown-toggle[b-u8bgqa7mff] {
    padding-right: 4px !important
}

.ribbon-split-button[b-u8bgqa7mff] {
    border: 1px solid transparent;
    margin: 0;
    padding: 0;
    text-align: center
}

    .ribbon-split-button:not(.disabled):hover[b-u8bgqa7mff], .ribbon-split-button:not(.disabled):hover .ribbon-split[b-u8bgqa7mff], .ribbon-split-button:not([disabled]):hover[b-u8bgqa7mff], .ribbon-split-button:not([disabled]):hover .ribbon-split[b-u8bgqa7mff] {
        border-color: var(--nem-akzent)
    }

    .ribbon-split-button .ribbon-main[b-u8bgqa7mff], .ribbon-split-button .ribbon-split[b-u8bgqa7mff] {
        cursor: pointer;
        display: block;
        min-width: 0;
        padding: 2px 4px;
        text-align: center;
        width: 100%
    }

        .ribbon-split-button .ribbon-main:hover[b-u8bgqa7mff], .ribbon-split-button .ribbon-split:hover[b-u8bgqa7mff] {
            background-color: var(--nem-akzent-schleier)
        }

    .ribbon-split-button .ribbon-main[b-u8bgqa7mff] {
        background-color: inherit;
        border: none;
        outline: none;
        position: relative
    }

    .ribbon-split-button .icon *[b-u8bgqa7mff] {
        font-size: 26px;
        height: 32px;
        line-height: 32px;
        max-width: 32px
    }

    .ribbon-split-button .icon + .caption[b-u8bgqa7mff] {
        margin-top: 8px
    }

    .ribbon-split-button .ribbon-split[b-u8bgqa7mff] {
        border-top: 1px solid transparent;
        font-size: var(--nem-schriftgroesse);
        padding-bottom: 4px
    }

        .ribbon-split-button .ribbon-split.dropdown-toggle[b-u8bgqa7mff] {
            padding-right: 4px !important
        }

            .ribbon-split-button .ribbon-split.dropdown-toggle[b-u8bgqa7mff]:before {
                display: none
            }

            .ribbon-split-button .ribbon-split.dropdown-toggle[b-u8bgqa7mff]:after {
                border-color: transparent transparent var(--nem-schrift);
                border-style: solid;
                border-width: 0 0 4px 4px;
                bottom: 2px;
                content: "";
                display: block;
                height: 0;
                left: 50%;
                position: absolute;
                -webkit-transform: translateX(-50%) rotate(45deg);
                transform: translateX(-50%) rotate(45deg);
                width: 0;
                z-index: 1
            }

.ribbon-dropdown[b-u8bgqa7mff] {
    background-color: var(--nem-karte);
    border: 1px solid var(--nem-kontur);
    -webkit-box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .25);
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, .25);
    color: var(--nem-schrift);
    display: block;
    float: left;
    font-size: var(--nem-schriftgroesse);
    left: 0;
    list-style: none inside;
    margin: 0;
    padding: 2px;
    position: relative;
    position: absolute;
    top: 100%;
    width: auto;
    z-index: 1000
}

    .ribbon-dropdown a[b-u8bgqa7mff], .ribbon-dropdown li[b-u8bgqa7mff] {
        background-color: inherit;
        color: inherit;
        display: block;
        height: 24px;
        position: relative
    }

    .ribbon-dropdown li[b-u8bgqa7mff] {
        border: 1px solid transparent;
        padding-left: 24px
    }

        .ribbon-dropdown li:not(.disabled):hover[b-u8bgqa7mff], .ribbon-dropdown li:not([disabled]):hover[b-u8bgqa7mff] {
            background-color: var(--nem-akzent-schleier);
            border-color: var(--nem-akzent)
        }

    .ribbon-dropdown a[b-u8bgqa7mff] {
        border-left: 1px solid var(--nem-kontur);
        line-height: 24px;
        padding: 0 8px;
        text-decoration: none;
        white-space: nowrap
    }

    .ribbon-dropdown .divider[b-u8bgqa7mff] {
        background-color: var(--nem-kontur);
        display: block;
        height: 1px;
        position: relative;
        width: 100%
    }

    .ribbon-dropdown .checked-one[b-u8bgqa7mff]:after, .ribbon-dropdown .checked-one[b-u8bgqa7mff]:before, .ribbon-dropdown .checked[b-u8bgqa7mff]:after, .ribbon-dropdown .checked[b-u8bgqa7mff]:before {
        content: "";
        display: block;
        position: absolute
    }

    .ribbon-dropdown .checked-one[b-u8bgqa7mff]:before, .ribbon-dropdown .checked[b-u8bgqa7mff]:before {
        background-color: initial;
        border-color: var(--nem-schrift);
        border-bottom: 2px solid;
        border-left: 2px solid;
        height: .325rem;
        left: .5rem;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(-45deg);
        transform: translateY(-50%) rotate(-45deg);
        width: .5rem;
        z-index: 2
    }

    .ribbon-dropdown .checked-one[b-u8bgqa7mff]:after, .ribbon-dropdown .checked[b-u8bgqa7mff]:after {
        height: 22px;
        left: 0;
        top: 0;
        width: 23px;
        z-index: 1
    }

    .ribbon-dropdown .checked[b-u8bgqa7mff]:after {
        background-color: var(--nem-akzent-schleier);
        border: 1px solid var(--nem-akzent)
    }

    .ribbon-dropdown .checked-one[b-u8bgqa7mff]:before {
        background-color: var(--nem-schrift);
        border-radius: 50%;
        height: .4rem;
        width: .4rem
    }

    .ribbon-dropdown .ribbon-dropdown[b-u8bgqa7mff] {
        left: 100%;
        top: -4px
    }

    .ribbon-dropdown .dropdown-toggle[b-u8bgqa7mff]:before {
        -webkit-transform: rotate(-135deg) !important;
        transform: rotate(-135deg) !important
    }

    .ribbon-dropdown .dropdown-toggle.active-toggle[b-u8bgqa7mff]:before {
        -webkit-transform: rotate(45deg) !important;
        transform: rotate(45deg) !important
    }

.ribbon-toggle-group[b-u8bgqa7mff] {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    background-color: var(--nem-reiter-flaeche);
    border: 1px solid var(--nem-kontur);
    display: -webkit-box;
    display: flex;
    flex-flow: column wrap;
    max-height: 80px;
    width: auto
}

    .ribbon-toggle-group .ribbon-icon-button[b-u8bgqa7mff] {
        background-color: inherit;
        height: 20px;
        margin: 1px
    }

        .ribbon-toggle-group .ribbon-icon-button > *[b-u8bgqa7mff] {
            height: 18px
        }

/* Container für die Aktions-Buttons einer Gruppe: senkrecht gestapelt, nach 3 Einträgen bricht
   eine neue Spalte um – wie SizeDefinition "Middle" im Fluent-Ribbon der Desktop-App.

   Bewusst Grid statt "flex-flow: column wrap": Ein Flex-Container mit Spaltenumbruch waechst
   NICHT in der Breite mit: die umgebrochenen Spalten ragen aus dem Element heraus und landen
   optisch in der Nachbargruppe. Grid legt die Spuren dagegen echt an, der Container bekommt
   damit die richtige Breite. */
.ribbon-actions[b-u8bgqa7mff] {
    align-content: start;
    column-gap: 4px;
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    justify-items: start;
    /* Wie bei .group: als Flex-Item nicht schrumpfen lassen. */
    flex: 0 0 auto;
}

    /* Die Buttons setzen global min-width:0; in der Aktionsspalte sollen sie aber ihre
       Textbreite behalten, sonst laeuft die Beschriftung aus dem Button heraus. */
    .ribbon-actions .ribbon-icon-button[b-u8bgqa7mff] {
        min-width: max-content;
    }

    .ribbon-actions .ribbon-icon-button[b-u8bgqa7mff] {
        justify-content: flex-start;
        text-align: left;
    }

        /* Icon-Spalte auch ohne Icon breit halten, damit die Beschriftungen untereinander bündig stehen
           (viele Aktionen haben kein Icon hinterlegt). */
        .ribbon-actions .ribbon-icon-button .icon[b-u8bgqa7mff] {
            flex: 0 0 16px;
            min-width: 16px;
        }

/* Nicht verfügbar (keine WebRoute): ausgegraut, aber sichtbar und mit Tooltip. */
.nem-nicht-verfuegbar[b-u8bgqa7mff] {
    cursor: not-allowed;
    opacity: 0.45;
}

.ribbon-button:hover:enabled[b-u8bgqa7mff], .ribbon-button:not(.disabled):hover[b-u8bgqa7mff], .ribbon-icon-button:hover:enabled[b-u8bgqa7mff], .ribbon-icon-button:not(.disabled):hover[b-u8bgqa7mff], .ribbon-tool-button:hover:enabled[b-u8bgqa7mff], .ribbon-tool-button:not(.disabled):hover[b-u8bgqa7mff] {
    background-color: var(--nem-akzent-schleier);
    border-color: var(--nem-akzent)
}

.ribbon-button.active[b-u8bgqa7mff], .ribbon-button:active[b-u8bgqa7mff], .ribbon-icon-button.active[b-u8bgqa7mff], .ribbon-icon-button:active[b-u8bgqa7mff], .ribbon-main.active[b-u8bgqa7mff], .ribbon-main:active[b-u8bgqa7mff], .ribbon-menu .active-container .ribbon-button[b-u8bgqa7mff], .ribbon-menu .active-container .ribbon-icon-button[b-u8bgqa7mff], .ribbon-menu .active-container .ribbon-tool-button[b-u8bgqa7mff], .ribbon-split.active[b-u8bgqa7mff], .ribbon-split:active[b-u8bgqa7mff], .ribbon-tool-button.active[b-u8bgqa7mff], .ribbon-tool-button:active[b-u8bgqa7mff] {
    background-color: var(--nem-selektion) !important;
    border-color: var(--nem-akzent)
}

/* Lade-Skelett der Reiter, solange das Menue geladen wird (To-do #48): gedaempfte Balken mit Schimmer. */
.nem-ribbon-skelett[b-u8bgqa7mff] {
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    pointer-events: none;
}

.nem-ribbon-skelett > span[b-u8bgqa7mff] {
    display: inline-block;
    width: 84px;
    height: 10px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--nem-reiter-flaeche) 0%, var(--nem-kontur) 50%, var(--nem-reiter-flaeche) 100%);
    background-size: 200% 100%;
    animation: nem-ribbon-schimmer-b-u8bgqa7mff 1.2s linear infinite;
}

@keyframes nem-ribbon-schimmer-b-u8bgqa7mff {
    from { background-position: 200% 0; }
    to { background-position: 0 0; }
}

/* MENÜ „NEMESIS“ (17.10.2026): Backstage-Knopf ganz links in der Akzentfarbe (.static), halbfett; Hover und offen dunkler. */
.ribbon-menu .tabs-holder .nem-backstage-knopf[b-u8bgqa7mff] {
    font-weight: 600;
}

    .ribbon-menu .tabs-holder .nem-backstage-knopf:hover[b-u8bgqa7mff],
    .ribbon-menu .tabs-holder .nem-backstage-knopf.offen[b-u8bgqa7mff] {
        background-color: var(--nem-akzent-dunkel);
        border-left-color: transparent;
        border-right-color: transparent;
    }
/* /Shared/StatusLeiste.razor.rz.scp.css */
/* Wie intranet3 UcState: Leiste in der Statusfarbe, Schrift weiß, Symbolfeld 14 px, Meldungen mit 10 px Abstand,
   Laufbalken 200 × 3 (weiß auf 30 % weiß, unbestimmt). */
.sl-leiste[b-p5ocwcyoyt] {
    display: flex;
    align-items: center;
    gap: 0;
    height: var(--nem-feld-hoehe);
    padding: 0 8px 0 6px;
    font-size: var(--nem-schriftgroesse, 12px);
    line-height: var(--nem-zeilenhoehe, 16px);
    color: var(--nem-plattform-status-schrift);
    background: var(--nem-plattform-status);
    white-space: nowrap;
    overflow: hidden;
}

.sl-symbol[b-p5ocwcyoyt] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-left: 2px;
}

    .sl-symbol svg[b-p5ocwcyoyt] {
        width: 14px;
        height: 14px;
    }

/* Ladegrafik wie UcState: Feld 12 × 8, das Bild (loading.gif, 28 × 4) aber mit festem Seitenverhältnis wie WPF Stretch="Uniform" –
   also rund 12 × 2 mittig. Vorher auf 12 × 8 gezogen und damit viel zu hoch (Rückmeldung Bastian 18.10.2026). */
.sl-lauf[b-p5ocwcyoyt] {
    width: 12px;
    height: 8px;
    object-fit: contain;
}

.sl-erfolg[b-p5ocwcyoyt] { fill: var(--nem-erfolg); stroke: var(--nem-plattform-status-schrift); stroke-width: 1; }
.sl-warnung[b-p5ocwcyoyt] { fill: var(--nem-warnung); stroke: var(--nem-plattform-status-schrift); stroke-width: 1; }
.sl-fehler[b-p5ocwcyoyt] { fill: var(--nem-fehler); stroke: var(--nem-plattform-status-schrift); stroke-width: 1; }

.sl-punkt[b-p5ocwcyoyt] {
    fill: var(--nem-plattform-status-schrift);
}

.sl-strich[b-p5ocwcyoyt] {
    fill: none;
    stroke: var(--nem-plattform-status-schrift);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sl-text[b-p5ocwcyoyt] {
    margin-left: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sl-haupt[b-p5ocwcyoyt] {
    margin-left: 5px;
    font-weight: 600;
    animation: sl-einblenden-b-p5ocwcyoyt 0.4s ease-out;
}

@keyframes sl-einblenden-b-p5ocwcyoyt {
    from { opacity: 0; }
    to { opacity: 1; }
}

.sl-balken[b-p5ocwcyoyt] {
    position: relative;
    flex: 0 0 200px;
    height: 3px;
    margin-left: 10px;
    overflow: hidden;
    background: color-mix(in srgb, var(--nem-plattform-status-schrift) 19%, transparent);
}

    .sl-balken > span[b-p5ocwcyoyt] {
        position: absolute;
        top: 0;
        left: -40%;
        width: 40%;
        height: 100%;
        background: var(--nem-plattform-status-schrift);
        animation: sl-lauf-b-p5ocwcyoyt 1.2s ease-in-out infinite;
    }

@keyframes sl-lauf-b-p5ocwcyoyt {
    from { left: -40%; }
    to { left: 100%; }
}

/* LAUFBALKEN AUCH BEI „ANIMATIONEN REDUZIEREN“ (20.10.2026, Rückmeldung Bastian „Im Status gibt es eine Progressbar für das Laden …,
   aber dieser läuft nicht“): metro4.css setzt unter prefers-reduced-motion für JEDES Element animation-duration .01ms !important und
   animation-iteration-count 1 !important – der Balken lief einmal in 0,01 ms durch und blieb unsichtbar links stehen (Windows-Einstellung
   „Animationseffekte“ aus, häufig in VMs und Remotedesktop). Der Laufbalken zeigt, DASS etwas läuft (wie die unbestimmte ProgressBar des
   Desktops, die die Einstellung ebenso nicht kennt) – deshalb läuft er hier weiter, nur halb so schnell. Die Klassen sind spezifischer als
   Metros „*“, darum gewinnt dieses !important. Gilt ebenso für den Lauf der SignalR-Anzeige beim Neuverbinden. */
@media (prefers-reduced-motion: reduce) {
    .sl-balken > span[b-p5ocwcyoyt],
    .sl-hub-neuverbinden > span[b-p5ocwcyoyt] {
        animation-duration: 2.4s !important;
        animation-iteration-count: infinite !important;
    }
}

.sl-rechts[b-p5ocwcyoyt] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    padding-left: 15px;
}

    .sl-rechts > span:last-child[b-p5ocwcyoyt] {
        opacity: 0.8;
    }

/* SignalR: Balken 100 × 2 wie die ProgressBar der UcState, Farbe nach Zustand; beim Neuverbinden läuft ein Licht darüber. */
.sl-hub[b-p5ocwcyoyt] {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 2px;
    overflow: hidden;
    background: var(--nem-hub-getrennt);
}

.sl-hub-verbunden[b-p5ocwcyoyt] { background: var(--nem-hub-verbunden); }
.sl-hub-getrennt[b-p5ocwcyoyt] { background: var(--nem-hub-getrennt); }
.sl-hub-neuverbinden[b-p5ocwcyoyt] { background: color-mix(in srgb, var(--nem-hub-neuverbinden) 35%, transparent); }

    .sl-hub-neuverbinden > span[b-p5ocwcyoyt] {
        position: absolute;
        top: 0;
        left: -40%;
        width: 40%;
        height: 100%;
        background: var(--nem-hub-neuverbinden);
        animation: sl-lauf-b-p5ocwcyoyt 1.2s ease-in-out infinite;
    }
/* /Shared/TabControl.razor.rz.scp.css */
/* Farben aus der Hauspalette (wwwroot/css/nemesis-design.css, --nem-*), 08.10.2026. */
.tab-headers[b-9rhrn24mf8] {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.tab-button[b-9rhrn24mf8] {
    padding: 10px;
    border: none;
    cursor: pointer;
    background-color: var(--nem-reiter-flaeche);
    color: var(--nem-reiter-schrift);
    border-radius: var(--nem-radius, 2px);
}

    .tab-button.active[b-9rhrn24mf8] {
        font-weight: bold;
        background-color: var(--nem-akzent);
        color: var(--nem-schrift-auf-akzent);
    }

.tab-content[b-9rhrn24mf8] {

}
/* /Shared/TestLayout.razor.rz.scp.css */
.page[b-0yinhwi2ra] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-0yinhwi2ra] {
    flex: 1;
}

.sidebar[b-0yinhwi2ra] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-0yinhwi2ra] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-0yinhwi2ra]  a, .top-row[b-0yinhwi2ra]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-0yinhwi2ra]  a:hover, .top-row[b-0yinhwi2ra]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-0yinhwi2ra]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-0yinhwi2ra] {
        display: none;
    }

    .top-row.auth[b-0yinhwi2ra] {
        justify-content: space-between;
    }

    .top-row[b-0yinhwi2ra]  a, .top-row[b-0yinhwi2ra]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-0yinhwi2ra] {
        flex-direction: row;
    }

    .sidebar[b-0yinhwi2ra] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-0yinhwi2ra] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-0yinhwi2ra]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-0yinhwi2ra], article[b-0yinhwi2ra] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* /Shared/VersionHinweis.razor.rz.scp.css */
/* Version bzw. „Neue Version – neu laden“ (Statusleiste und Kundenfußzeile). Der Knopf ist eine Pille in Warnfarbe, die sanft pulsiert. */
.vh[b-80ru6m3kzb] {
    display: inline-flex;
    align-items: center;
}

.vh-version[b-80ru6m3kzb] {
    opacity: .8;
}

.vh-neu[b-80ru6m3kzb] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 9px;
    border: none;
    border-radius: 9px;
    font: inherit;
    font-weight: 600;
    line-height: 18px;
    color: #FFFFFF;
    background: var(--nem-warnung);
    cursor: pointer;
    animation: vh-puls-b-80ru6m3kzb 2s ease-in-out infinite;
}

    .vh-neu:hover[b-80ru6m3kzb] {
        filter: brightness(1.08);
    }

    .vh-neu[b-80ru6m3kzb]  .rzi {
        font-size: 15px;
        width: 15px;
        height: 15px;
    }

@keyframes vh-puls-b-80ru6m3kzb {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--nem-warnung) 55%, transparent); }
    50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--nem-warnung) 0%, transparent); }
}

@media (prefers-reduced-motion: reduce) {
    .vh-neu[b-80ru6m3kzb] {
        animation: none;
    }
}
/* /Shared/Workflow/MeldungKarteAnsicht.razor.rz.scp.css */
/* Meldungs-Kachel der Seitenleiste (UcMeldungen: ListView.ItemTemplate). Die Kachel selbst kommt aus NemesisKachel. */

/* Zeitpunkt 11, gedimmt wie in der XAML. */
.ml-datum[b-6sx0z79k3h] {
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
}

/* Text: markier- und kopierbar, höchstens 80 hoch (XAML: TextBox IsReadOnly, MaxHeight 80). */
.ml-text[b-6sx0z79k3h] {
    margin-top: 4px;
    max-height: 80px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    user-select: text;
}
/* /Shared/Workflow/MerklisteEintragOverlay.razor.rz.scp.css */
/* Auf die Merkliste (UcMerklisteEintrag): Kacheln untereinander, die Hinweis-Kachel fuellt den Rest (Desktop: Zeile * MinHeight 110). */
.wf-dialog[b-smdkypbmuk] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    padding: 4px;
}

.wf-dialog[b-smdkypbmuk]  .nem-kachel {
    margin-bottom: 6px;
    flex: 0 0 auto;
}

.wf-dialog[b-smdkypbmuk]  .wf-dialog-fuellend {
    flex: 1 1 auto;
    min-height: 140px;
}

.wf-dialog[b-smdkypbmuk]  .wf-dialog-fuellend > .nem-kachel-inhalt {
    display: flex;
    flex-direction: column;
}

.wf-dialog-text[b-smdkypbmuk] {
    padding: 2px 0;
    white-space: pre-wrap;
    color: var(--nem-schrift);
}

/* Raster wie die XAML: Auto | * , Beschriftung gedimmt. */
.wf-dialog-raster[b-smdkypbmuk] {
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: 4px;
}

.wf-dialog-wert[b-smdkypbmuk] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    padding: 2px 5px;
}

.wf-dialog-hervor[b-smdkypbmuk] {
    font-weight: 600;
    color: var(--nem-akzent);
}

.wf-dialog-haken[b-smdkypbmuk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.wf-dialog-zeile[b-smdkypbmuk] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 5px;
}

.wf-dialog-datum[b-smdkypbmuk] {
    width: 140px;
}

.wf-dialog-zeile .nem-overlay-knopf[b-smdkypbmuk] {
    height: var(--nem-feld-hoehe);
    padding: 0 8px;
}

.wf-dialog-textfeld[b-smdkypbmuk] {
    flex: 1 1 auto;
    height: auto;
    min-height: 80px;
    padding: 4px;
    resize: none;
    line-height: 16px;
}
/* /Shared/Workflow/WorkflowAntwortOverlay.razor.rz.scp.css */
/* Antwort an Absender (UcWorkflowAntwort): Fehler, "Antwort an", die Antwort-Kachel füllt den Rest (MinHeight 120). */
.wf-dialog[b-tsynbu6k0v] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    padding: 4px;
}

.wf-dialog[b-tsynbu6k0v]  .nem-kachel {
    margin-bottom: 6px;
    flex: 0 0 auto;
}

.wf-dialog[b-tsynbu6k0v]  .wf-dialog-fuellend {
    flex: 1 1 auto;
    min-height: 140px;
}

.wf-dialog[b-tsynbu6k0v]  .wf-dialog-fuellend > .nem-kachel-inhalt {
    display: flex;
    flex-direction: column;
}

.wf-dialog-text[b-tsynbu6k0v] {
    padding: 2px 0;
    white-space: pre-wrap;
    color: var(--nem-schrift);
}

.wf-dialog-an[b-tsynbu6k0v] {
    padding: 0 0 3px 0;
}

.wf-dialog-wert[b-tsynbu6k0v] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}

.wf-dialog-textfeld[b-tsynbu6k0v] {
    flex: 1 1 auto;
    height: auto;
    min-height: 90px;
    padding: 4px;
    resize: none;
    line-height: 16px;
}

/* Desktop: Foreground #C0392B, halbfett - hier die Fehlerfarbe der Palette. */
.wf-dialog-pflicht[b-tsynbu6k0v] {
    margin-top: 6px;
    font-weight: 600;
    color: var(--nem-fehler);
}
/* /Shared/Workflow/WorkflowDetailsAnsicht.razor.rz.scp.css */
/* Einzelheiten einer Karte (Postkorb-Inhalt): flach unter dem Kartentext, Titel gedimmt wie im Postkorb. */
.wf-details[b-n499qmvlc2] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid var(--nem-k-kontur, var(--nem-kontur));
    cursor: default;
}

.wf-details-titel[b-n499qmvlc2] {
    margin-top: 4px;
    color: var(--nem-schrift-gedimmt);
}

.wf-details-gedimmt[b-n499qmvlc2] {
    color: var(--nem-schrift-gedimmt);
}

/* Hinweis/Antwort: Rahmen wie der Postkorb (Kontur, Rundung 4, Polster 6), Text markierbar. */
.wf-details-kasten[b-n499qmvlc2] {
    padding: 6px;
    border: 1px solid var(--nem-kontur);
    border-radius: 4px;
    background: var(--nem-eingabe-flaeche);
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 140px;
    overflow: auto;
    user-select: text;
}

.wf-details-positionen[b-n499qmvlc2] {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 160px;
    overflow: auto;
}

.wf-details-positionen li[b-n499qmvlc2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    padding: 2px 0;
}

.wf-details-positionen label[b-n499qmvlc2] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.wf-details-eingabe[b-n499qmvlc2] {
    height: auto;
    min-height: 46px;
    margin-top: 4px;
    padding: 4px;
    resize: vertical;
    line-height: 16px;
}

/* Desktop: #C0392B halbfett - hier die Fehlerfarbe der Palette. */
.wf-details-pflicht[b-n499qmvlc2] {
    font-weight: 600;
    color: var(--nem-fehler);
}

.wf-details-knoepfe[b-n499qmvlc2] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
}

.wf-details-knoepfe .nem-overlay-knopf[b-n499qmvlc2] {
    height: var(--nem-feld-hoehe);
    padding: 0 8px;
}

.wf-details-knoepfe .nem-overlay-knopf:disabled[b-n499qmvlc2] {
    cursor: default;
}

.wf-details-frage[b-n499qmvlc2] {
    font-weight: 600;
    color: var(--nem-fehler);
}

.wf-details-knoepfe .wf-details-gefahr[b-n499qmvlc2] {
    background: var(--nem-fehler);
}
/* /Shared/Workflow/WorkflowKarteAnsicht.razor.rz.scp.css */
/* Karte der Seitenleiste (WorkflowKachelVorlage/MerklisteKachelVorlage). Die Kachel selbst kommt aus NemesisKachel. */
.wf-karte-zeile[b-l6czrrxypm] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.wf-karte-kurz[b-l6czrrxypm] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Datum rechts, gedimmt, 11 wie in der XAML. */
.wf-karte-datum[b-l6czrrxypm] {
    flex: 0 0 auto;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
}

/* "fällig"-Marke in Gold mit heller Schrift (NemesisSidebar.Merkliste / NemesisSchriftAufAkzent). */
.wf-karte-faellig[b-l6czrrxypm] {
    flex: 0 0 auto;
    padding: 0 6px;
    border-radius: 7px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    font-weight: 600;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-merkliste, #B8860B);
}

/* Hinweis: markier- und kopierbar, höchstens 75 hoch (XAML: TextBox IsReadOnly, MaxHeight 75). */
.wf-karte-text[b-l6czrrxypm] {
    margin-top: 4px;
    max-height: 75px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    user-select: text;
}

.wf-karte-pflicht[b-l6czrrxypm] {
    margin-top: 4px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    font-weight: 600;
    color: var(--nem-fehler);
}

.wf-karte-stand[b-l6czrrxypm] {
    margin-top: 4px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    color: var(--nem-schrift-gedimmt);
}

.wf-karte-fuss[b-l6czrrxypm] {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

/* Knöpfe im Fuß wie SidebarKartenKnopf: flach, Symbol 16. */
.wf-karte-knopf[b-l6czrrxypm] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: var(--nem-feld-hoehe);
    padding: 0;
    color: var(--nem-akzent);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
    cursor: pointer;
}

.wf-karte-knopf:hover[b-l6czrrxypm] {
    background: var(--nem-reiter-flaeche);
    border-color: var(--nem-reiter-kontur);
}

.wf-karte-knopf .rzi[b-l6czrrxypm] {
    font-size: 16px;
}
/* /Shared/Workflow/WorkflowSeitenleiste.razor.rz.scp.css */
/* SEITENLEISTE (UcMeldungen): Inhalt links, Streifen mit hochkant stehenden Reitern rechts am Rand. Die aufgeklappte Leiste liegt
   UEBER dem Inhalt (Desktop: Canvas-Anker ohne Breite, ein Viertel der Fensterbreite, MinWidth 280, Schatten nach links) - der
   Inhalt wird nicht schmaler. Kein z-index am Inhalt: die Masken-Overlays (z-index 1050, position fixed) muessen ueber der Leiste
   liegen, sonst ragte die Leiste in ein offenes Overlay. Farben aus der Palette (NemesisSidebar.* = --nem-*). */
.wf-rahmen[b-7v8pkuwvyo] {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 0;
    min-width: 0;
}

.wf-inhalt[b-7v8pkuwvyo] {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
}

/* ---------- Streifen mit den Reitern ---------- */
.wf-streifen[b-7v8pkuwvyo] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 24px;
    padding: 4px 0;
    background: var(--nem-flaeche);
    box-shadow: inset 1px 0 0 var(--nem-kontur);
}

/* Reiter wie SidebarReiter: Flaeche weiss/Reiterflaeche, Beschriftung gedimmt, Anzahl als Pille; Text hochkant (RotateTransform 90). */
.wf-streifen-reiter[b-7v8pkuwvyo] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 24px;
    padding: 6px 0 8px 0;
    color: var(--nem-reiter-schrift);
    background: var(--nem-flaeche);
    border: 0;
    border-left: 2px solid transparent;
    cursor: pointer;
    font-size: var(--nem-schriftgroesse);
}

.wf-streifen-reiter:hover[b-7v8pkuwvyo] {
    background: var(--nem-hover-flaeche);
}

.wf-streifen-reiter.aktiv[b-7v8pkuwvyo] {
    color: var(--nem-akzent);
    background: var(--nem-reiter-flaeche);
    border-left-color: var(--nem-akzent);
}

.wf-streifen-text[b-7v8pkuwvyo] {
    writing-mode: vertical-rl;
    white-space: nowrap;
    line-height: 18px;
}

.wf-pille[b-7v8pkuwvyo] {
    display: inline-block;
    min-width: 14px;
    padding: 0 4px;
    border-radius: 7px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    font-weight: 600;
    line-height: 14px;
    text-align: center;
    box-sizing: border-box;
}

.wf-pille-leer[b-7v8pkuwvyo] {
    color: var(--nem-schrift-gedimmt);
}

.wf-pille-akzent[b-7v8pkuwvyo] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-akzent);
}

.wf-pille-fehler[b-7v8pkuwvyo] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-fehler);
}

.wf-pille-gold[b-7v8pkuwvyo] {
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-merkliste, #B8860B);
}

/* Punkt am Workflow-Reiter: neue Antwort auf eine eigene Übergabe (unten, die Pille steht oben). */
.wf-punkt[b-7v8pkuwvyo] {
    position: absolute;
    bottom: 2px;
    left: 50%;
    margin-left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--nem-fehler);
}

/* ---------- Aufgeklappte Leiste ---------- */
.wf-leiste[b-7v8pkuwvyo] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 24px;
    z-index: 40;
    display: flex;
    flex-direction: column;
    width: max(280px, 25%);
    max-width: calc(100% - 24px);
    background: var(--nem-flaeche);
    color: var(--nem-schrift);
    border-left: 1px solid var(--nem-kontur);
    box-shadow: -3px 0 14px rgba(0, 0, 0, .28);
    font-size: var(--nem-schriftgroesse);
}

.wf-leiste.wf-gross[b-7v8pkuwvyo] {
    left: 0;
    width: auto;
    max-width: none;
}

/* Kopfzeile wie NemesisSidebar.Kopf (= Spaltenkopf, bleibt auch hell dunkel). */
.wf-kopf[b-7v8pkuwvyo] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 2px;
    min-height: 34px;
    padding: 0 4px 0 10px;
    background: var(--nem-spalten-kopf);
    color: var(--nem-spalten-kopf-schrift);
}

.wf-kopf-titel[b-7v8pkuwvyo] {
    flex: 1 1 auto;
    font-size: calc(var(--nem-schriftgroesse) + 1px);
    font-weight: 600;
}

.wf-kopf-knopf[b-7v8pkuwvyo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: var(--nem-zeile);
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
}

.wf-kopf-knopf:hover[b-7v8pkuwvyo] {
    background: color-mix(in srgb, var(--nem-spalten-kopf-schrift) 18%, transparent);
}

.wf-kopf-knopf .rzi[b-7v8pkuwvyo] {
    font-size: 18px;
}

.wf-hinweis[b-7v8pkuwvyo] {
    margin: 6px 6px 0 6px;
}

/* Reiter Empfangene/Gesendete wie NemesisReiter (oben, Kante oben in der Akzentfarbe). */
.wf-reiter[b-7v8pkuwvyo] {
    flex: 0 0 auto;
    display: flex;
    gap: 3px;
    margin: 6px 6px 0 6px;
    border-bottom: 1px solid var(--nem-reiter-linie);
}

.wf-reiter-knopf[b-7v8pkuwvyo] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    font-size: var(--nem-schriftgroesse);
    color: var(--nem-reiter-schrift);
    background: transparent;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    cursor: pointer;
}

.wf-reiter-knopf:hover:not(.aktiv)[b-7v8pkuwvyo] {
    background: var(--nem-reiter-flaeche);
}

.wf-reiter-knopf.aktiv[b-7v8pkuwvyo] {
    color: var(--nem-akzent);
    background: var(--nem-flaeche);
    border-color: var(--nem-reiter-linie);
    box-shadow: inset 0 2px 0 var(--nem-akzent);
    margin-bottom: -1px;
}

.wf-reiter-zahl[b-7v8pkuwvyo] {
    color: var(--nem-schrift-gedimmt);
}

/* Inhalt: Kacheln untereinander (schmal) bzw. nebeneinander (vergrößert, Desktop: WrapPanel). */
.wf-koerper[b-7v8pkuwvyo] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 6px 6px 2px 6px;
}

.wf-koerper-breit[b-7v8pkuwvyo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    align-content: start;
    gap: 0 8px;
}

.wf-koerper-liste[b-7v8pkuwvyo] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.wf-koerper[b-7v8pkuwvyo]  .wf-karte {
    margin-bottom: 8px;
}

.wf-leer[b-7v8pkuwvyo] {
    padding: 12px 6px;
    color: var(--nem-schrift-gedimmt);
}

/* Listenansicht: Knöpfe in der letzten Spalte, "fällig"-Marke. */
.wf-zeilen-knoepfe[b-7v8pkuwvyo] {
    display: inline-flex;
    gap: 2px;
}

.wf-zeilen-knopf[b-7v8pkuwvyo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--nem-feld-hoehe);
    height: 20px;
    padding: 0;
    color: var(--nem-akzent);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
    cursor: pointer;
}

.wf-zeilen-knopf:hover[b-7v8pkuwvyo] {
    background: var(--nem-reiter-flaeche);
    border-color: var(--nem-reiter-kontur);
}

.wf-zeilen-knopf .rzi[b-7v8pkuwvyo] {
    font-size: 15px;
}

.wf-faellig[b-7v8pkuwvyo] {
    padding: 0 6px;
    border-radius: 7px;
    font-size: calc(var(--nem-schriftgroesse) - 1px);
    font-weight: 600;
    color: var(--nem-schrift-auf-akzent);
    background: var(--nem-merkliste, #B8860B);
}
/* /Shared/Workflow/WorkflowUebergabeOverlay.razor.rz.scp.css */
/* Übergeben an Kollegen (UcWorkflowUebergabe): Spalten * (min 300) | 1,15* (min 300), links die Versandmaske, rechts die letzten
   Übergaben. Unter 700 px Breite untereinander. */
.wf-uebergabe[b-vcaqwgxjrw] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    column-gap: 6px;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    padding: 4px;
}

@media (max-width: 700px) {
    .wf-uebergabe[b-vcaqwgxjrw] {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
    }
}

.wf-uebergabe-links[b-vcaqwgxjrw] {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.wf-uebergabe[b-vcaqwgxjrw]  .nem-kachel {
    margin-bottom: 6px;
    flex: 0 0 auto;
}

.wf-uebergabe[b-vcaqwgxjrw]  .wf-dialog-fuellend {
    flex: 1 1 auto;
    min-height: 140px;
}

.wf-uebergabe[b-vcaqwgxjrw]  .wf-dialog-fuellend > .nem-kachel-inhalt {
    display: flex;
    flex-direction: column;
}

.wf-uebergabe[b-vcaqwgxjrw]  .wf-uebergabe-rechts {
    min-height: 220px;
    margin-bottom: 6px;
}

.wf-uebergabe[b-vcaqwgxjrw]  .wf-uebergabe-rechts > .nem-kachel-inhalt {
    display: flex;
    flex-direction: column;
}

.wf-dialog-text[b-vcaqwgxjrw] {
    padding: 2px 0;
    white-space: pre-wrap;
    color: var(--nem-schrift);
}

.wf-dialog-raster[b-vcaqwgxjrw] {
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: 4px;
}

.wf-oben[b-vcaqwgxjrw] {
    align-self: start;
}

.wf-dialog-wert[b-vcaqwgxjrw] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    padding: 2px 5px;
}

.wf-dialog-hervor[b-vcaqwgxjrw] {
    font-weight: 600;
    color: var(--nem-akzent);
}

/* Suchfeld über der Auswahl, links bündig, mindestens 240 breit (XAML: MinWidth 240). */
.wf-dialog-spalte[b-vcaqwgxjrw] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: min(100%, 320px);
    min-width: 0;
    padding: 0 5px;
    box-sizing: border-box;
}

.wf-dialog-zeile[b-vcaqwgxjrw] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 5px;
}

.wf-prio[b-vcaqwgxjrw] {
    width: 140px;
}

.wf-dialog-textfeld[b-vcaqwgxjrw] {
    flex: 1 1 auto;
    height: auto;
    min-height: 70px;
    padding: 4px;
    resize: none;
    line-height: 16px;
}

.wf-dialog-haken[b-vcaqwgxjrw] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.wf-antwort-haken[b-vcaqwgxjrw] {
    margin-top: 8px;
}
