/* AGRICORE — zentrales Radzen-Overlay (Designstrategie 04.07.2026).
   Basis: Radzen „Software"-Theme (dezent, dünne Ränder). Hier NUR die Farbwelt „Malz & Feld"
   und ein paar warme Akzente — bewusst zurückhaltend, keine erzwungenen dicken Kanten.
   Feldgrün führt Chrome, Malz-Amber ist Aktions-/Auswahlfarbe. Wird nach software-base.css geladen. */

:root {
  --ag-gruen: #4E5C2E;
  --ag-gruen-dunkel: #3E4A25;
  --ag-oliv: #5C6B31;
  --ag-oliv-dunkel: #47531F;
  --ag-amber: #A6661E;
  --ag-amber-dunkel: #7C4A13;
  --ag-amber-hell: #C48A3F;
  --ag-terra: #B24A1E;
  --ag-grund: #ECE6D8;
  --ag-flaeche: #FCFAF5;
  --ag-flaeche-2: #F4EFE4;
  --ag-tinte: #2A2416;
  --ag-tinte-weich: #6F6349;
  --ag-linie: #E2DBCB;
  --ag-linie-stark: #D3C9B3;

  --ag-serif: "Iowan Old Style", Georgia, "Times New Roman", serif;
  --ag-sans: -apple-system, "Segoe UI", system-ui, Roboto, "Helvetica Neue", sans-serif;
  --ag-mono: "Cascadia Mono", ui-monospace, Consolas, "SFMono-Regular", monospace;

  /* Farb-Tokens: Amber = Primär/Aktion, Feldgrün = Sekundär. Ersetzt Radzens Default-Akzent
     (behebt das „lila" Durchschlagen). */
  --rz-primary: var(--ag-amber);
  --rz-primary-dark: var(--ag-amber-dunkel);
  --rz-primary-light: var(--ag-amber-hell);
  --rz-primary-lighter: #F0E4D0;
  --rz-secondary: var(--ag-oliv);
  --rz-secondary-dark: var(--ag-oliv-dunkel);
  --rz-success: var(--ag-oliv);
  --rz-warning: var(--ag-amber);
  --rz-danger: var(--ag-terra);
  --rz-info: #4F6259;
  --rz-series-1: var(--ag-amber);
  --rz-series-2: var(--ag-oliv);

  --rz-text-color: var(--ag-tinte);
  --rz-text-secondary-color: var(--ag-tinte-weich);
  --rz-base-background-color: var(--ag-grund);
  --rz-body-background-color: var(--ag-grund);
  --rz-panel-background-color: var(--ag-flaeche);
  --rz-content-background-color: var(--ag-flaeche);
  --rz-input-background-color: #FFFFFF;
  --rz-border-color: var(--ag-linie);

  /* Kanten leicht kantiger als Software-Default, aber nicht 0 überall erzwungen */
  --rz-border-radius: 2px;

  --rz-text-font-family: var(--ag-sans);
}

body { background: var(--ag-grund); color: var(--ag-tinte); font-family: var(--ag-sans); }

/* Serifen-Titel + serifene App-Bar-Marke */
.rz-text-h4, .rz-text-h5, .rz-text-h6,
.mud-typography-h4, .mud-typography-h5, .mud-typography-h6 {
  font-family: var(--ag-serif) !important; color: var(--ag-tinte); font-weight: 600; letter-spacing: -.01em;
}
.mud-appbar .mud-typography-h6 { color: #EFE7D3 !important; }

/* Titel-Kachel (Belegart): transparent, nur Umriss */
.ag-titel-chip {
  font-family: var(--ag-sans); font-size: .64rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--ag-tinte-weich); background: transparent;
  border: 1px solid var(--ag-linie-stark); padding: 2px 8px; line-height: 1.4;
}

/* Feldwerte + Grid-Zellen dezimalgleich in Monospace (Kontor-Optik) */
.rz-textbox, .rz-textarea, input.rz-inputtext, .rz-datepicker-input,
.rz-numeric .rz-inputtext, .rz-dropdown .rz-dropdown-label, .rz-dropdown .rz-inputtext,
.rz-datatable .rz-datatable-data > tr > td {
  font-family: var(--ag-mono) !important;
  font-variant-numeric: tabular-nums;
}

/* Feld-Labels: kleine gesperrte Versalien, gedämpft (statt bunt/lila) */
.rz-form-field .rz-form-field-content > label,
.rz-form-field label.rz-form-field-label,
.rz-form-field > label {
  text-transform: uppercase; letter-spacing: .07em; font-size: .66rem;
  color: var(--ag-tinte-weich) !important; font-family: var(--ag-sans) !important;
}

/* Buttons: Versal, klare Rollen; Software-Basis liefert die dezente Form */
.rz-button { text-transform: uppercase; letter-spacing: .04em; font-weight: 600; font-size: .74rem; }
.rz-button.rz-light { color: var(--ag-tinte); }
.rz-button:disabled, .rz-button.rz-state-disabled, .rz-button[disabled] {
  background: transparent !important; border: 1px dashed var(--ag-linie-stark) !important;
  color: #A99A7E !important; opacity: 1 !important;
}

/* Panels/Fieldsets: cremeweiß, feine Hairline, Legende als Versal-Label */
.rz-fieldset, .rz-card { background: var(--ag-flaeche); border: 1px solid var(--ag-linie); }
.rz-fieldset .rz-fieldset-legend, .rz-fieldset .rz-fieldset-legend > * {
  font-size: .7rem; text-transform: uppercase; letter-spacing: .11em;
  color: var(--ag-tinte-weich); font-weight: 700;
}

/* Grid: ruhige Kopfzeile, markierte Zeile mit Amber-Streifen */
.rz-datatable .rz-datatable-thead > tr > th {
  background: var(--ag-flaeche-2); color: var(--ag-tinte-weich);
  text-transform: uppercase; font-size: .66rem; letter-spacing: .06em; font-weight: 700;
}
.rz-datatable .rz-datatable-data > tr.rz-state-highlight > td,
.rz-datatable .rz-datatable-data > tr.rz-selected > td {
  background: #F4EAD6 !important; box-shadow: inset 3px 0 0 var(--ag-amber); color: var(--ag-tinte);
}

/* Auswahllisten: Einträge klar unterscheidbar (Hover + Auswahl) */
.rz-dropdown-panel .rz-dropdown-items .rz-dropdown-item,
.rz-multiselect-panel .rz-multiselect-items .rz-multiselect-item {
  border-bottom: 1px solid var(--ag-linie);
}
.rz-dropdown-panel .rz-dropdown-item:hover,
.rz-multiselect-panel .rz-multiselect-item:hover { background: var(--ag-flaeche-2) !important; }
.rz-dropdown-panel .rz-dropdown-item.rz-state-highlight,
.rz-dropdown-panel .rz-dropdown-item.rz-state-focused {
  background: #F4EAD6 !important; color: var(--ag-amber-dunkel) !important; font-weight: 600;
  box-shadow: inset 3px 0 0 var(--ag-amber);
}

/* Reiter: aktiver Reiter mit Amber-Titel, grüne Grundlinie */
.rz-tabview .rz-tabview-nav li .rz-tabview-title {
  text-transform: uppercase; font-size: .74rem; letter-spacing: .03em; color: var(--ag-tinte-weich);
}
.rz-tabview .rz-tabview-nav li.rz-state-active .rz-tabview-title { color: var(--ag-amber-dunkel); }

/* Badges/Chips eckig */
.rz-badge { border-radius: 2px !important; text-transform: uppercase; font-size: .64rem; letter-spacing: .04em; font-weight: 700; }

/* ---- Mengen-Kacheln (MengenKacheln.razor) ---- */
.ag-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.ag-kachel {
  border: 1px solid var(--ag-linie); background: var(--ag-flaeche);
  padding: 10px 12px; display: flex; flex-direction: column; gap: 2px;
}
.ag-kachel-wert {
  font-family: var(--ag-mono); font-size: 1.3rem; font-weight: 700; line-height: 1.1;
  color: var(--ag-tinte); font-variant-numeric: tabular-nums;
}
.ag-kachel-label {
  font-size: .62rem; text-transform: uppercase; letter-spacing: .09em;
  color: var(--ag-tinte-weich); font-weight: 700;
}
.ag-kachel--akzent { border-color: var(--ag-amber); box-shadow: inset 3px 0 0 var(--ag-amber); }
.ag-kachel--akzent .ag-kachel-wert { color: var(--ag-amber-dunkel); }
.ag-kachel--warn { border-color: var(--ag-terra); box-shadow: inset 3px 0 0 var(--ag-terra); }
.ag-kachel--warn .ag-kachel-wert { color: var(--ag-terra); }
/* Prüfung bestanden (Systemprüfung): grüner Balken = 0 Befunde */
.ag-kachel--ok { border-color: var(--ag-gruen); box-shadow: inset 3px 0 0 var(--ag-gruen); }
.ag-kachel--ok .ag-kachel-wert { color: var(--ag-gruen-dunkel); }

/* ---- Identitäts-Header (Beleg-/Bewegungs- und Stammdaten-Masken) ---- */
.ag-ident { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1px; background: var(--ag-linie);
  border: 1px solid var(--ag-linie); margin-bottom: .5rem; }
.ag-ident > div { background: var(--ag-flaeche); padding: 14px 18px; }
.ag-ident-ey { font-family: var(--ag-mono); font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--ag-amber-dunkel); }
.ag-ident-no { font-family: var(--ag-mono); font-size: 2rem; font-weight: 700; line-height: 1.1;
  letter-spacing: -.01em; font-variant-numeric: tabular-nums; margin: 1px 0 8px; color: var(--ag-tinte); }
.ag-ident-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ag-partner-nm { font-family: var(--ag-serif); font-size: 1.15rem; font-weight: 600; margin: 2px 0 1px; }
.ag-partner-ad { color: var(--ag-tinte-weich); font-size: .85rem; }
.ag-ident-kv { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 12px; }
.ag-ident-kv > div > span { display: block; font-family: var(--ag-mono); font-size: .58rem;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ag-tinte-weich); }
.ag-ident-kv > div > b { font-weight: 600; font-size: .9rem; }
@media (max-width: 820px) { .ag-ident { grid-template-columns: 1fr; } }

/* ---- Rückverfolgung (step back/forward) ---- */
.ag-trace-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 900px) { .ag-trace-grid { grid-template-columns: 1fr; } }
.ag-trace-zeile { display: flex; align-items: center; gap: .6rem; padding: .35rem 0;
  border-bottom: 1px solid var(--rz-base-200, #eee); }
.ag-trace-zeile--wurzel { font-weight: 600; }
.ag-trace-connector { color: var(--ag-tinte-weich, #999); font-family: var(--ag-mono); }
.ag-trace-nr { font-weight: 600; }
.ag-trace-art { color: var(--ag-tinte-weich, #666); flex: 1; }
.ag-trace-menge { font-variant-numeric: tabular-nums; font-weight: 600; }
.ag-trace-leer { color: var(--ag-tinte-weich, #999); font-style: italic; }

/* ---- Silo-Spiegel (Füllstands-Gauges) ---- */
.ag-silos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.ag-silo { border: 1px solid #e2e3dd; border-radius: 10px; padding: 13px; display: flex; flex-direction: column;
  gap: 9px; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.ag-silo:hover { border-color: #cfd4c9; box-shadow: 0 2px 10px rgba(25, 28, 23, .06); }
.ag-silo-kopf { display: flex; align-items: baseline; justify-content: space-between; }
.ag-silo-kopf .name { font-weight: 700; font-size: .96rem; }
.ag-silo-kopf .typ { font-family: var(--ag-mono); font-size: .54rem; text-transform: uppercase; letter-spacing: .14em; color: var(--ag-tinte-weich, #5e655a); }
.ag-gauge { height: 132px; border: 2px solid #2e3b2c; border-radius: 9px 9px 5px 5px; position: relative; overflow: hidden; background: #f7f7f3; }
.ag-gauge .fill { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(#dcb85f, #c99a3e); box-shadow: inset 0 3px 0 rgba(255, 255, 255, .35); }
.ag-gauge .fill.malz { background: linear-gradient(#c98a3a, #a86a22); }
.ag-gauge .pct { position: absolute; top: 8px; left: 0; right: 0; text-align: center; font-family: var(--ag-mono); font-size: .82rem; font-weight: 700; color: #212c20; }
.ag-gauge .leer { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--ag-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #b3b8ac; }
.ag-gauge .marks i { position: absolute; left: 0; right: 0; border-top: 1px dashed rgba(46, 59, 44, .18); }
.ag-silo-cap { font-family: var(--ag-mono); font-size: .7rem; color: var(--ag-tinte-weich, #5e655a); font-variant-numeric: tabular-nums; }
.ag-qchips { display: flex; gap: 5px; flex-wrap: wrap; min-height: 18px; }
.ag-qchip { font-family: var(--ag-mono); font-size: .6rem; padding: 2px 6px; border-radius: 20px; background: #eef3ea; color: #4e7a3e; font-variant-numeric: tabular-nums; }
.ag-silo-nr { font-family: var(--ag-mono); font-size: .62rem; color: var(--ag-tinte-weich, #5e655a); }

/* ---- Anmeldung ---- */
.ag-login { min-height: 100vh; display: grid; place-items: center; background: var(--ag-grund); }
.ag-login-karte { width: min(380px, 92vw); background: var(--ag-flaeche); border: 1px solid var(--ag-linie-stark);
  border-top: 3px solid var(--ag-amber); padding: 34px 36px 30px; }
.ag-login-marke { font-family: var(--ag-serif); font-size: 1.7rem; font-weight: 700; letter-spacing: .04em;
  margin-bottom: 22px; }
.ag-login-marke b { color: var(--ag-amber-dunkel); }
.ag-login-marke span { display: block; font-family: var(--ag-sans); font-size: .62rem; font-weight: 400;
  text-transform: lowercase; letter-spacing: .14em; color: var(--ag-tinte-weich); margin-top: 2px; }
.ag-login-haus { display: flex; align-items: center; gap: 12px; margin: -8px 0 16px; padding-bottom: 14px;
  border-bottom: 1px solid var(--ag-linie-stark); font-weight: 700; color: var(--ag-tinte); }
.ag-login-haus img { max-height: 44px; max-width: 150px; object-fit: contain; }
.ag-login-fehler { background: #F7E8DE; border-left: 3px solid var(--ag-terra); color: #7A3512;
  font-size: .8rem; padding: 9px 12px; margin-bottom: 14px; }
.ag-login-karte label { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .07em;
  color: var(--ag-tinte-weich); font-weight: 700; margin: 12px 0 4px; }
.ag-login-karte input, .ag-login-karte select { width: 100%; box-sizing: border-box; font-family: var(--ag-mono); font-size: .9rem;
  padding: 8px 10px; border: 1px solid var(--ag-linie-stark); background: #FFF; color: var(--ag-tinte); }
.ag-login-karte input:focus, .ag-login-karte select:focus { outline: none; border-color: var(--ag-amber); box-shadow: inset 0 0 0 1px var(--ag-amber); }
.ag-login-karte button { width: 100%; margin-top: 20px; padding: 10px; border: none; cursor: pointer;
  background: var(--ag-amber); color: #FFF; font-weight: 700; font-size: .78rem; text-transform: uppercase;
  letter-spacing: .06em; }
.ag-login-karte button:hover { background: var(--ag-amber-dunkel); }

/* ---- Versand: Wochen-Planungsboard ---- */
.ag-plan-kw { font-family: var(--ag-mono); font-weight: 700; font-size: .95rem; min-width: 92px;
  text-align: center; font-variant-numeric: tabular-nums; }
.ag-plan-board { display: grid; grid-template-columns: repeat(7, 1fr) .85fr; gap: 8px; align-items: start; }
@media (max-width: 1100px) { .ag-plan-board { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 700px) { .ag-plan-board { grid-template-columns: repeat(2, 1fr); } }
.ag-plan-spalte { border: 1px solid var(--ag-linie); background: var(--ag-flaeche-2); min-height: 180px;
  display: flex; flex-direction: column; gap: 6px; padding: 6px; }
.ag-plan-spalte--heute { border-color: var(--ag-amber); box-shadow: inset 0 2px 0 var(--ag-amber); }
.ag-plan-spalte--drop { background: #F4EAD6; border-color: var(--ag-amber); border-style: dashed; }
.ag-plan-kopf { display: flex; align-items: baseline; gap: 6px; padding: 2px 2px 4px;
  border-bottom: 1px solid var(--ag-linie-stark); }
.ag-plan-kopf .tag { font-size: .64rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  color: var(--ag-tinte-weich); flex: 1; }
.ag-plan-kopf .summe { font-family: var(--ag-mono); font-size: .7rem; font-weight: 700;
  color: var(--ag-amber-dunkel); font-variant-numeric: tabular-nums; }
.ag-plan-kopf .plus { border: 1px solid var(--ag-linie-stark); background: var(--ag-flaeche); cursor: pointer;
  font: 700 .78rem var(--ag-mono); color: var(--ag-tinte-weich); width: 20px; height: 20px; line-height: 1; padding: 0; }
.ag-plan-kopf .plus:hover { border-color: var(--ag-amber); color: var(--ag-amber-dunkel); }
.ag-plan-tile { background: var(--ag-flaeche); border: 1px solid var(--ag-linie); padding: 7px 9px 6px;
  display: flex; flex-direction: column; gap: 3px; box-shadow: inset 3px 0 0 var(--ag-amber); }
.ag-plan-tile[draggable="true"] { cursor: grab; }
.ag-plan-tile--gruen { box-shadow: inset 3px 0 0 var(--ag-oliv); }
.ag-plan-tile--storno { box-shadow: inset 3px 0 0 var(--ag-linie-stark); opacity: .55; }
.ag-plan-tile--storno .kunde { text-decoration: line-through; }
.ag-plan-tile .kopf { display: flex; justify-content: space-between; gap: 6px; align-items: baseline; }
.ag-plan-tile .kunde { font-weight: 600; font-size: .8rem; line-height: 1.25; }
.ag-plan-tile .zeit { font-family: var(--ag-mono); font-size: .66rem; color: var(--ag-tinte-weich); white-space: nowrap; }
.ag-plan-tile .artikel { font-size: .7rem; color: var(--ag-tinte-weich); line-height: 1.3; }
.ag-plan-tile .fuss { display: flex; align-items: baseline; gap: 6px; }
.ag-plan-tile .menge { font-family: var(--ag-mono); font-size: .8rem; font-weight: 700;
  font-variant-numeric: tabular-nums; }
.ag-plan-tile .sped { font-size: .64rem; color: var(--ag-tinte-weich); flex: 1;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ag-plan-tile .aktionen { display: flex; gap: 3px; }
.ag-plan-tile .aktionen button { border: 1px solid var(--ag-linie); background: transparent; cursor: pointer;
  font-size: .68rem; line-height: 1; padding: 2px 4px; color: var(--ag-tinte-weich); }
.ag-plan-tile .aktionen button:hover { border-color: var(--ag-amber); color: var(--ag-amber-dunkel); }

/* ---- Warenannahme ---- */
.ag-wa-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 16px; align-items: start; }
@media (max-width: 900px) { .ag-wa-grid { grid-template-columns: 1fr; } }
.ag-wa-col { display: flex; flex-direction: column; gap: 16px; }
.ag-wa-card { border: 1px solid #e2e3dd; border-radius: 10px; padding: 16px 17px; }
.ag-wa-eyebrow { font-family: var(--ag-mono); font-size: .6rem; text-transform: uppercase; letter-spacing: .18em;
  color: var(--ag-tinte-weich, #5e655a); margin: 0 0 12px; display: flex; justify-content: space-between; }
.ag-wa-eyebrow b { color: #a5630f; letter-spacing: .1em; }
.ag-waage { background: #212c20; border-radius: 10px; padding: 16px 18px; color: #dfe4da; }
.ag-waage .ag-wa-eyebrow { color: #93a08d; } .ag-waage .ag-wa-eyebrow b { color: #d7a459; }
.ag-waage-netto { border-top: 1px solid #3a4838; padding-top: 12px; margin-top: 4px; display: flex; align-items: flex-end; justify-content: space-between; }
.ag-waage-netto span { font-family: var(--ag-mono); font-size: .56rem; text-transform: uppercase; letter-spacing: .16em; color: #93a08d; align-self: center; }
.ag-waage-netto b { font-family: var(--ag-mono); font-size: 2.4rem; line-height: 1; color: #c8781e;
  text-shadow: 0 0 24px rgba(200,120,30,.28); font-variant-numeric: tabular-nums; }
.ag-waage-netto b em { font-style: normal; font-size: 1rem; color: #c99a5e; margin-left: 4px; }
.ag-wa-orte { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 10px; }
.ag-wa-ort { border: 1px solid #e2e3dd; border-radius: 8px; padding: 11px 12px; cursor: pointer; display: flex;
  flex-direction: column; gap: 3px; background: #fff; text-align: left; font: inherit; }
.ag-wa-ort:hover { border-color: #cfd4c9; }
.ag-wa-ort.aktiv { border-color: #c8781e; background: #fdf6ee; box-shadow: inset 0 0 0 1px #c8781e; }
.ag-wa-ort .typ { font-family: var(--ag-mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .14em; color: var(--ag-tinte-weich, #5e655a); }
.ag-wa-ort .name { font-weight: 600; font-size: .9rem; }
.ag-wa-ort.aktiv .name { color: #a5630f; }
.ag-wa-ort .info { font-family: var(--ag-mono); font-size: .64rem; color: var(--ag-tinte-weich, #5e655a); }
.ag-wa-note { margin-top: 11px; background: #f7f0dc; border-radius: 7px; padding: 9px 12px; font-size: .8rem; color: #7a5f14; }
.ag-wa-note .code { font-family: var(--ag-mono); font-weight: 600; }
.ag-wa-foot { background: #2e3b2c; color: #eef0ea; border-radius: 10px; padding: 16px 20px; display: flex;
  align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 16px; }
.ag-wa-foot .charge { display: flex; gap: 24px; flex-wrap: wrap; }
.ag-wa-foot .charge div { display: flex; flex-direction: column; }
.ag-wa-foot .charge span { font-family: var(--ag-mono); font-size: .55rem; text-transform: uppercase; letter-spacing: .16em; color: #93a08d; }
.ag-wa-foot .charge b { font-family: var(--ag-mono); font-size: 1rem; color: #eef0ea; font-variant-numeric: tabular-nums; }
.ag-wa-foot .charge b.fluss { color: #d7a459; }


/* ---- Schwebende Rückmelde-Blase (PASTACORE-Muster, 27.07.2026) ----
   Unten rechts auf jeder Seite; beim Drucken ausgeblendet, damit sie in
   keinem Beleg-/Listenausdruck erscheint.

   Befund C-7 (RUDLOFF-Mandant-2-Lauf, 28.08.2026): Mit z-index 1300 lag die
   Blase ÜBER den Radzen-Dialogen und fing dort Klicks auf die Buttonleiste ab
   — im Absack-/Mischauftrag traf „Auftrag anlegen" die Blase statt des Knopfes.
   Zwei Absicherungen statt einer:
   1. z-index unter die Dialogschichten (Radzen ~1000+, MudBlazor ~1400), aber
      über dem normalen Seiteninhalt — sie kann nichts mehr verdecken;
   2. bei offenem Dialog ganz ausblenden, damit sie auch optisch nicht in der
      Buttonleiste klebt. Rückmeldung gibt man zur Seite, nicht zum Dialog —
      der Knopf in der Kopfleiste bleibt ohnehin erreichbar. */
.ag-fab { position: fixed; right: 20px; bottom: 20px; z-index: 900; }
body:has(.rz-dialog-wrapper) .ag-fab,
body:has(.rz-dialog) .ag-fab,
body:has(.mud-dialog-container) .ag-fab { display: none !important; }
@media print { .ag-fab { display: none !important; } }


/* ---- Leere Listen sprechen Deutsch (Befund RC-Abnahme 27.08.2026) ----
   Radzen schreibt in jede leere Liste sein englisches „No records to display." —
   in 1.396 Grids, Dropdowns und Auswahlfeldern dieser Anwendung. Der Parameter
   dafür (EmptyText) müsste an jeder einzelnen Komponente gesetzt werden; das wäre
   dieselbe Massenflickerei, die wir uns bei den Feldrechten verboten haben.
   Deshalb hier EINE zentrale Regel: Der Originaltext wird auf Schriftgröße 0
   gesetzt und der deutsche Text als ::after eingesetzt. Kein EmptyTemplate im
   Projekt (geprüft), also überschreibt die Regel keinen eigenen Inhalt.
   Wer für eine einzelne Liste einen genaueren Text will, setzt dort EmptyText —
   dann trägt der Span eigenen Text, und nur diese Regel greift weiterhin: also
   in dem Fall zusätzlich die Klasse ag-eigener-leertext am Grid setzen. */
.rz-datatable-emptymessage > span,
.rz-dropdown-panel .rz-multiselect-item-empty,
.rz-datalist-emptymessage > span { font-size: 0; }
.rz-datatable-emptymessage > span::after,
.rz-dropdown-panel .rz-multiselect-item-empty::after,
.rz-datalist-emptymessage > span::after {
  content: "Keine Angaben"; font-size: .82rem; color: var(--ag-tinte-weich, #5e655a);
}
.ag-eigener-leertext .rz-datatable-emptymessage > span { font-size: inherit; }
.ag-eigener-leertext .rz-datatable-emptymessage > span::after { content: none; }

/* ---- Masken-Abschnitte (Wunsch Oli 28.08.2026: lange Dialoge gruppieren) ----
   Karten-Optik in Hausfarben: Kopf auf flaeche-2 mit gruener Schrift, Body auf flaeche,
   weiche Schattierung. Aufklappbar ohne JS-Bibliothek (Blazor-@if). */
.ag-abschnitt {
  border: 1px solid var(--ag-linie);
  border-radius: 10px;
  margin-top: .9rem;
  background: var(--ag-flaeche);
  box-shadow: 0 1px 3px rgba(42, 36, 22, .07);
  overflow: hidden;
}
.ag-abschnitt-kopf {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
  border: 0;
  padding: .5rem .85rem;
  background: var(--ag-flaeche-2);
  color: var(--ag-gruen-dunkel);
  font: inherit;
  font-weight: 600;
  font-size: .84rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left;
  border-bottom: 1px solid var(--ag-linie);
}
button.ag-abschnitt-kopf { cursor: pointer; }
button.ag-abschnitt-kopf:hover { background: var(--ag-grund); }
.ag-abschnitt--zu .ag-abschnitt-kopf { border-bottom: 0; }
.ag-abschnitt-kopf .rzi { font-size: 1.1rem; color: var(--ag-oliv); }
.ag-abschnitt-info {
  margin-left: auto;
  color: var(--ag-tinte-weich);
  font-weight: 400;
  font-size: .78rem;
  text-transform: none;
  letter-spacing: 0;
}
.ag-abschnitt-body { padding: .7rem .85rem .85rem; }

/* ---- Dialoge: nie hoeher als der Bildschirm (Befund Oli 28.08.2026: bei langen Masken
   scrollte der GANZE Dialog aus dem Bild — Titelzeile samt Schliesskreuz verschwand).
   Jetzt scrollt der Inhalt intern, Titel und X bleiben stehen. ---- */
.rz-dialog {
  max-height: 94vh;
  display: flex;
  flex-direction: column;
}
.rz-dialog-titlebar { flex: none; }
.rz-dialog-content {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

/* ---- Auswertungs-Legende (AuswertungsLegende.razor, Wunsch Oli 29.08.2026) ---- */
.ag-legende { border: 1px solid var(--ag-linie); background: var(--ag-flaeche); }
.ag-legende-kopf {
  display: flex; align-items: center; gap: .45rem; width: 100%;
  padding: .45rem .75rem; border: none; background: none; cursor: pointer;
  font: inherit; font-size: .82rem; font-weight: 700; color: var(--ag-tinte-weich);
  text-align: left;
}
.ag-legende-kopf:hover { color: var(--ag-amber-dunkel); }
.ag-legende-hint { font-weight: 400; font-size: .72rem; margin-left: auto; opacity: .6; }
.ag-legende-inhalt {
  padding: 0 .85rem .8rem; display: grid; gap: .7rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  font-size: .82rem; line-height: 1.45; color: var(--ag-tinte);
}
.ag-legende-titel {
  font-size: .62rem; text-transform: uppercase; letter-spacing: .09em;
  color: var(--ag-tinte-weich); font-weight: 700; margin-bottom: .25rem;
}
.ag-legende-block--warn { box-shadow: inset 3px 0 0 var(--ag-terra); padding-left: .6rem; }
.ag-legende-liste { margin: 0; padding-left: 1.1rem; }
.ag-legende-liste li { margin-bottom: .2rem; }
