/* ==========================================================================
   Belegerfassung – Eingabemaske
   Robust gegen Theme-Styles: Layout-relevante Eigenschaften der Formularfelder
   werden mit erhöhter Spezifität und !important gesetzt, damit kein Theme
   Breiten, Ränder oder Höhen verändert und Felder sich nie überlappen.
   ========================================================================== */

.be-wrap {
	--be-from: rgb(34, 80, 227);
	--be-to: rgb(0, 35, 61);
	--be-card: var(--zp-soft, rgba(255, 255, 255, 0.07));
	--be-card-border: var(--zp-line, rgba(255, 255, 255, 0.16));
	--be-text: var(--zp-text, #ffffff);
	--be-muted: var(--zp-muted, rgba(255, 255, 255, 0.74));
	--be-input-bg: #ffffff;
	--be-input-text: #10223a;
	--be-input-muted: #6b7a90;
	--be-focus: #9fb8ff;
	--be-error: #ff9b9b;
	--be-ok: #b9f3cf;
	--be-new: #ffe08a;
	--be-radius: 8px;
	--be-gap: 16px;
	--be-control-h: 44px;
	--be-rand: 2vw;
	--be-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2310223a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

	position: relative;
	box-sizing: border-box;
	background: var(--zp-bg, linear-gradient(135deg, var(--be-from) 0%, var(--be-to) 100%));
	color: var(--be-text);
	border-radius: 14px;
	padding: clamp(16px, 2.4vw, 40px);
	font-size: 15px;
	line-height: 1.45;
	container-type: inline-size;
	container-name: be;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

/* Volle Seitenbreite mit Rand links/rechts (Einstellung). --be-sb = Breite der Scrollleiste (per JS). */
.be-wrap.be-wrap--voll {
	width: calc(100vw - var(--be-sb, 0px) - 2 * var(--be-rand)) !important;
	max-width: none !important;
	margin-left: calc(50% - (100vw - var(--be-sb, 0px)) / 2 + var(--be-rand)) !important;
	margin-right: 0 !important;
}

.be-wrap *, .be-wrap *::before, .be-wrap *::after { box-sizing: border-box; }

.be-wrap .be-title {
	color: var(--be-text);
	margin: 0 0 20px;
	padding: 0;
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: 1.2;
	letter-spacing: -0.01em;
}

/* --------------------------------------------------------------------------
   Karten
   -------------------------------------------------------------------------- */
.be-wrap .be-card {
	background: var(--be-card);
	border: 1px solid var(--be-card-border) !important;
	border-radius: 12px;
	padding: 18px 22px 8px !important;
	margin: 0 0 var(--be-gap) !important;
	position: relative;
	min-width: 0;
	max-width: none !important;
	width: auto !important;
}
.be-wrap .be-card > legend {
	float: left;
	width: 100%;
	padding: 0 !important;
	margin: 0 0 14px !important;
	border: 0 !important;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--be-muted);
}
.be-wrap .be-card > legend ~ * { clear: both; }

/* --------------------------------------------------------------------------
   Raster
   -------------------------------------------------------------------------- */
.be-wrap .be-row { display: grid; gap: 12px var(--be-gap); margin: 0 0 14px; align-items: start; }
.be-wrap .be-row > * { min-width: 0; }
.be-wrap .be-row--1 { grid-template-columns: minmax(0, 1fr); }
.be-wrap .be-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.be-wrap .be-row--str { grid-template-columns: minmax(0, 1fr) 110px; } /* V1.11.00: Strasse | Nr. */

/* Belegzeile: Kreditor · Belegdatum · Leistungsdatum · Bezeichnung · Währung + Betrag
   Feste Zuordnung über Bereiche – beim Umbrechen bleiben die beiden Daten immer nebeneinander. */
.be-wrap .be-row--main {
	grid-template-columns: minmax(0, 1.55fr) minmax(140px, 0.6fr) minmax(140px, 0.6fr) minmax(0, 1.85fr) minmax(196px, 0.95fr);
	grid-template-areas: "kred bdat ldat bez betrag";
}
.be-wrap .be-row--main > .be-f-kreditor    { grid-area: kred; }
.be-wrap .be-row--main > .be-f-datum       { grid-area: bdat; }
.be-wrap .be-row--main > .be-f-ldatum      { grid-area: ldat; }
.be-wrap .be-row--main > .be-f-bezeichnung { grid-area: bez; }
.be-wrap .be-row--main > .be-f-betrag      { grid-area: betrag; }
/* Leistungsdatum, das vom Belegdatum abweicht, dezent hervorheben */
.be-wrap.be-wrap input.be-leistungsdatum.is-abweichend { border-color: rgba(255, 224, 138, 0.9) !important; }
/* Kostenstelle: drei abhängige Auswahlfelder nebeneinander */
.be-wrap .be-ks-selects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px var(--be-gap); }
.be-wrap .be-row--desc { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.be-wrap .be-row--refund { margin-top: -2px; }

.be-wrap .be-field { display: flex; flex-direction: column; min-width: 0; position: relative; margin: 0; }
.be-wrap .be-field > label,
.be-wrap .be-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 6px !important;
	padding: 0;
	color: var(--be-text);
}
.be-wrap .be-req { color: var(--be-error); }
.be-wrap .be-hint { display: block; color: var(--be-muted); font-size: 12px; line-height: 1.4; margin-top: 5px; }

/* --------------------------------------------------------------------------
   Formularfelder – Themes dürfen Grösse und Ränder nicht verändern
   -------------------------------------------------------------------------- */
.be-wrap.be-wrap input[type=text],
.be-wrap.be-wrap input[type=email],
.be-wrap.be-wrap input[type=date],
.be-wrap.be-wrap input[type=number],
.be-wrap.be-wrap select,
.be-wrap.be-wrap textarea {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: var(--be-control-h) !important;
	min-height: var(--be-control-h) !important;
	margin: 0 !important;
	padding: 0 12px !important;
	float: none !important;
	position: static !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	background-color: var(--be-input-bg) !important;
	background-image: none;
	color: var(--be-input-text) !important;
	border: 2px solid transparent !important;
	border-radius: var(--be-radius) !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.be-wrap.be-wrap textarea {
	height: auto !important;
	min-height: 112px !important;
	padding: 10px 12px !important;
	resize: vertical;
	line-height: 1.45 !important;
}
.be-wrap.be-wrap select {
	padding-right: 34px !important;
	background-image: var(--be-chevron) !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 12px 8px !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
}
.be-wrap.be-wrap select:disabled { background-color: var(--zp-soft2, rgba(255, 255, 255, 0.5)) !important; color: #4b5b73 !important; cursor: not-allowed; }
.be-wrap.be-wrap input[readonly] { background-color: var(--zp-soft2, rgba(255, 255, 255, 0.82)) !important; cursor: default; }

/* Datum: in allen Browsern links ausgerichtet und gleich hoch */
.be-wrap.be-wrap input[type=date] { text-align: left !important; line-height: calc(var(--be-control-h) - 4px) !important; }
.be-wrap input[type=date]::-webkit-date-and-time-value { text-align: left; margin: 0; }
.be-wrap input[type=date]::-webkit-datetime-edit { padding: 0; }
.be-wrap input[type=date]::-webkit-calendar-picker-indicator { opacity: .65; cursor: pointer; }

.be-wrap.be-wrap input::placeholder, .be-wrap.be-wrap textarea::placeholder { color: var(--be-input-muted); opacity: 1; }
.be-wrap.be-wrap input:focus, .be-wrap.be-wrap select:focus, .be-wrap.be-wrap textarea:focus {
	outline: none !important;
	border-color: var(--be-focus) !important;
	box-shadow: 0 0 0 3px rgba(159, 184, 255, 0.35) !important;
}
.be-wrap.be-wrap .be-amount { text-align: right !important; font-variant-numeric: tabular-nums; }

/* Währung direkt vor dem Rechnungsbetrag */
.be-wrap .be-amount-group { display: flex; align-items: stretch; gap: 0; min-width: 0; }
.be-wrap.be-wrap .be-amount-group .be-currency {
	flex: 0 0 82px;
	width: 82px !important;
	padding: 0 26px 0 10px !important;
	background-position: right 9px center !important;
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-right: 1px solid rgba(0, 0, 0, 0.12) !important;
	font-weight: 600 !important;
}
.be-wrap.be-wrap .be-amount-group .be-amount {
	flex: 1 1 auto;
	width: auto !important;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}
.be-wrap.be-wrap .be-amount-group .be-currency:focus,
.be-wrap.be-wrap .be-amount-group .be-amount:focus { position: relative !important; z-index: 1; }
.be-wrap .be-fx-hint:empty { display: none; }
.be-wrap.be-wrap .be-invalid { border-color: var(--be-error) !important; box-shadow: 0 0 0 3px rgba(255, 155, 155, 0.25) !important; }

/* --------------------------------------------------------------------------
   Beleg entfernen
   -------------------------------------------------------------------------- */
.be-wrap .be-remove {
	position: absolute;
	top: 12px;
	right: 14px;
	width: 32px !important;
	height: 32px !important;
	min-height: 0 !important;
	border-radius: 50% !important;
	border: 1px solid var(--be-card-border) !important;
	background: transparent !important;
	color: var(--be-text) !important;
	font-size: 20px !important;
	line-height: 1 !important;
	cursor: pointer;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: grid;
	place-items: center;
}
.be-wrap .be-remove:hover, .be-wrap .be-remove:focus-visible { background: var(--zp-soft, rgba(255, 255, 255, 0.15)) !important; outline: none; }

/* --------------------------------------------------------------------------
   Upload
   -------------------------------------------------------------------------- */
.be-wrap .be-drop {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 112px;
	margin: 0 !important;
	border: 2px dashed var(--zp-line, rgba(255, 255, 255, 0.45));
	border-radius: var(--be-radius);
	padding: 12px;
	cursor: pointer;
	font-weight: 400 !important;
	font-size: 14px;
	color: var(--be-muted) !important;
	transition: background .15s, border-color .15s;
}
.be-wrap .be-drop:hover, .be-wrap .be-drop.be-drag { background: var(--zp-soft, rgba(255, 255, 255, 0.1)); border-color: #fff; color: var(--zp-text, #fff) !important; }
.be-wrap .be-drop.be-invalid { border-color: var(--be-error); }
.be-wrap .be-drop:focus-within { border-color: var(--be-focus); }
.be-wrap .be-drop .be-file {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	opacity: 0;
	cursor: pointer;
	margin: 0 !important;
}
.be-wrap .be-filelist { list-style: none !important; margin: 8px 0 0 !important; padding: 0 !important; }
.be-wrap .be-filelist li {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--zp-soft, rgba(255, 255, 255, 0.12));
	border-radius: 6px;
	padding: 5px 6px 5px 10px;
	margin: 0 0 5px !important;
	font-size: 13px;
	list-style: none !important;
}
.be-wrap .be-fname { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.be-wrap .be-fsize { color: var(--be-muted); white-space: nowrap; }
.be-wrap .be-frm {
	border: 0 !important;
	background: transparent !important;
	color: var(--zp-text, #fff) !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer;
	padding: 2px 6px !important;
	margin: 0 !important;
	border-radius: 4px !important;
	min-height: 0 !important;
	box-shadow: none !important;
}
.be-wrap .be-frm:hover { background: var(--zp-soft, rgba(255, 255, 255, 0.2)) !important; }

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.be-wrap .be-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: auto;
	min-height: var(--be-control-h);
	border-radius: var(--be-radius) !important;
	padding: 10px 20px !important;
	margin: 0 !important;
	font: inherit;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	cursor: pointer;
	text-decoration: none !important;
	border: 2px solid #fff !important;
	background: #fff !important;
	color: var(--be-to) !important;
	box-shadow: none !important;
	transition: background .15s, transform .05s;
}
.be-wrap .be-btn:active { transform: translateY(1px); }
.be-wrap .be-btn--ghost { background: transparent !important; color: var(--zp-text, #fff) !important; border-style: dashed !important; }
.be-wrap .be-btn--ghost:hover { background: var(--zp-soft, rgba(255, 255, 255, 0.12)) !important; }
.be-wrap .be-btn--primary:hover { background: #e7edff !important; }
.be-wrap .be-btn:focus-visible { outline: 3px solid var(--be-focus); outline-offset: 2px; }
.be-wrap .be-btn:disabled { opacity: 0.6; cursor: wait; }
.be-wrap .be-add-wrap { margin: 0 0 8px; }
.be-wrap .be-filehint { margin: 0 0 var(--be-gap); }

/* --------------------------------------------------------------------------
   Fusszeile
   -------------------------------------------------------------------------- */
.be-wrap .be-footer {
	position: sticky;
	bottom: 12px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding: 16px 22px !important;
	background: rgba(0, 35, 61, 0.94);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	margin-bottom: 0 !important;
}
.be-wrap .be-stats { display: flex; flex-wrap: wrap; gap: 14px 32px; }
.be-wrap .be-stat { display: flex; flex-direction: column; }
.be-wrap .be-stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.09em; color: var(--be-muted); }
.be-wrap .be-stat-value { font-size: 24px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.be-wrap .be-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.be-wrap .be-check { display: flex !important; gap: 10px; align-items: flex-start; font-size: 13px; font-weight: 400 !important; line-height: 1.4; max-width: 340px; cursor: pointer; margin: 0 !important; color: var(--be-text); }
.be-wrap.be-wrap .be-check input[type=checkbox] {
	-webkit-appearance: auto !important;
	appearance: auto !important;
	width: 18px !important;
	height: 18px !important;
	min-height: 0 !important;
	margin: 1px 0 0 !important;
	flex: none;
	accent-color: #9fb8ff;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   Meldungen
   -------------------------------------------------------------------------- */
.be-wrap .be-notice {
	border-radius: var(--be-radius);
	padding: 12px 16px;
	margin: 0 0 var(--be-gap);
	background: #fff;
	color: var(--be-input-text);
	border-left: 6px solid;
}
.be-wrap .be-notice ul { margin: 6px 0 0 18px; padding: 0; }
.be-wrap .be-notice--error { border-color: #d63638; }
.be-wrap .be-notice--success { border-color: #1a9e55; font-weight: 600; }
.be-wrap .be-notice a { color: var(--be-from); }

/* Zusammenfassung nach Absenden */
.be-wrap .be-summary { padding: 18px 22px !important; overflow-x: auto; }
.be-wrap .be-summary .be-kv td { padding: 2px 16px 2px 0; border: 0; }
.be-wrap .be-summary .be-kv td:first-child { color: var(--be-muted); }
.be-wrap .be-summary .be-table { width: 100%; border-collapse: collapse; margin-top: 14px; color: var(--zp-text, #fff); }
.be-wrap .be-summary .be-table th, .be-wrap .be-summary .be-table td { padding: 7px 8px; border: 0; border-bottom: 1px solid var(--be-card-border); text-align: left; vertical-align: top; background: transparent; }
.be-wrap .be-summary .be-table th { font-size: 12px; text-transform: uppercase; color: var(--be-muted); }
.be-wrap .be-summary .be-table tfoot td { font-weight: 700; border-top: 2px solid #fff; border-bottom: 0; }
.be-wrap .be-summary .be-num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.be-wrap .be-summary .be-tag { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 10px; background: var(--zp-soft, rgba(255, 255, 255, 0.18)); font-size: 12px; }

/* Spam-Falle */
.be-wrap .be-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.be-wrap [hidden] { display: none !important; }

/* --------------------------------------------------------------------------
   Person aus dem Personenverzeichnis
   -------------------------------------------------------------------------- */
.be-wrap .be-person { position: relative; }
.be-wrap .be-person.is-selected input[readonly] { background-color: var(--zp-soft2, rgba(255, 255, 255, 0.86)) !important; }
.be-wrap .be-person-reset {
	background: transparent !important;
	border: 0 !important;
	color: var(--be-text) !important;
	text-decoration: underline;
	cursor: pointer;
	padding: 0 !important;
	margin: -4px 0 12px !important;
	font: inherit;
	font-size: 13px !important;
	min-height: 0 !important;
	box-shadow: none !important;
}
.be-wrap .be-person-reset:hover, .be-wrap .be-person-reset:focus-visible { opacity: .85; }

/* Vorschlagslisten (Personen und Kreditoren) */
.be-wrap .be-suggest {
	position: absolute;
	top: calc(100% - 2px);
	left: 0;
	right: 0;
	z-index: 30;
	list-style: none !important;
	margin: 0 !important;
	padding: 4px !important;
	background: #fff;
	color: var(--be-input-text);
	border-radius: var(--be-radius);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38);
	max-height: 320px;
	overflow-y: auto;
}
.be-wrap .be-suggest li { display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: baseline; padding: 9px 10px; margin: 0 !important; border-radius: 6px; cursor: pointer; list-style: none !important; }
.be-wrap .be-suggest li span { color: #5b6779; font-size: 13px; }
.be-wrap .be-suggest li.is-active, .be-wrap .be-suggest li:hover { background: #e7edff; }
.be-wrap .be-suggest li.be-suggest-empty { cursor: default; color: #5b6779; font-size: 13px; }
.be-wrap .be-suggest li.be-suggest-empty:hover { background: transparent; }
.be-wrap .be-suggest li.be-suggest-head { cursor: default; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #5b6779; padding: 8px 10px 2px; }
.be-wrap .be-suggest li.be-suggest-head:hover { background: transparent; }
.be-wrap .be-suggest--kred { right: auto; width: max(100%, 260px); }

.be-wrap .be-kred-hint:empty { display: none; }
.be-wrap .be-kred-hint.is-ok { color: var(--be-ok); }
.be-wrap .be-kred-hint.is-new { color: var(--be-new); }

/* Rückerstattung */
.be-wrap .be-refund { max-width: none; align-items: center; }
.be-wrap.be-wrap .be-refund input[type=checkbox] { margin-top: 0 !important; }

/* --------------------------------------------------------------------------
   Responsiv – richtet sich nach der Breite der Maske, nicht des Bildschirms
   -------------------------------------------------------------------------- */
/* Mittel: Kreditor + beide Daten oben, Bezeichnung + Betrag unten */
@container be (max-width: 1040px) {
	.be-wrap .be-row--main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(140px, 0.55fr) minmax(140px, 0.55fr);
		grid-template-areas: "kred kred bdat ldat" "bez bez betrag betrag";
	}
}
@container be (max-width: 720px) {
	.be-wrap .be-ks-selects { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-row--desc { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-row--main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas: "kred kred" "bdat ldat" "bez bez" "betrag betrag";
	}
}
@container be (max-width: 520px) {
	.be-wrap .be-row--2 { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-card { padding: 16px 14px 6px !important; }
	.be-wrap .be-footer { position: static; }
	.be-wrap .be-stats { gap: 12px 20px; }
	.be-wrap .be-stat-value { font-size: 20px; }
	.be-wrap .be-submit, .be-wrap .be-btn--primary { width: 100%; }
}
/* Sehr schmal: alles untereinander */
@container be (max-width: 340px) {
	.be-wrap .be-row--main { grid-template-columns: minmax(0, 1fr); grid-template-areas: "kred" "bdat" "ldat" "bez" "betrag"; }
}
@media (prefers-reduced-motion: reduce) {
	.be-wrap * { transition: none !important; }
}

/* Fokussierte Felder nicht hinter der fixierten Fusszeile verstecken */
html:has(.be-wrap .be-footer) { scroll-padding-bottom: 160px; }

/* Zusammenfassung: umgerechneter Betrag bei Fremdwährung */
.be-wrap .be-summary .be-fx { display: inline-block; font-size: 12px; opacity: .8; }

/* ==========================================================================
   Belegliste auf der Webseite – Shortcode [belegliste]
   ========================================================================== */
.be-wrap.be-liste .be-liste-filter { padding: 18px 22px !important; }
.be-wrap .be-liste-fields { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, .6fr) minmax(0, 1.3fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 12px var(--be-gap); }
.be-wrap .be-liste-fields--fix { grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.3fr) minmax(0, 1.5fr) minmax(0, 1fr); }
@media (max-width: 1100px) { .be-wrap .be-liste-fields, .be-wrap .be-liste-fields--fix { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.be-wrap .be-liste-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.be-wrap .be-liste-actions--solo { margin: 0 0 var(--be-gap); }
.be-wrap .be-liste-export { display: flex; gap: 10px; margin-left: auto; }
.be-wrap .be-liste-info { margin: 4px 0 12px; color: var(--be-text); }
.be-wrap .be-liste-filtertext { color: var(--be-muted); }

.be-wrap .be-liste-table-wrap { background: #fff; border-radius: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.be-wrap table.be-liste-table { width: 100% !important; min-width: 760px; border-collapse: collapse !important; border: 0 !important; margin: 0 !important; color: var(--be-input-text); font-size: 14px; background: transparent !important; }
.be-wrap .be-liste-table th, .be-wrap .be-liste-table td { padding: 9px 12px !important; border: 0 !important; border-bottom: 1px solid #e4e8ef !important; text-align: left; vertical-align: top; background: transparent !important; }
.be-wrap .be-liste-table thead th { background: #eef2f9 !important; color: #10223a; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.be-wrap .be-liste-table tbody tr:nth-child(even) td { background: #f8fafc !important; }
.be-wrap .be-liste-table .be-num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.be-wrap .be-liste-table .be-nowrap { white-space: nowrap; }
.be-wrap .be-liste-table .be-liste-total td { font-weight: 700; border-top: 2px solid #10223a !important; border-bottom: 0 !important; }
.be-wrap .be-liste-table .be-liste-sub td { color: #5b6a80; font-size: 13px; padding-top: 3px !important; padding-bottom: 3px !important; border-bottom: 0 !important; }
.be-wrap .be-liste-table .be-liste-leer { text-align: center; color: #5b6a80; padding: 28px !important; }
.be-wrap .be-liste-pages { margin-top: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
.be-wrap .be-liste-pages .page-numbers { color: var(--zp-text, #fff); padding: 6px 11px; border-radius: 6px; border: 1px solid var(--be-card-border); text-decoration: none; }
.be-wrap .be-liste-pages .page-numbers.current { background: #fff; color: var(--be-to); font-weight: 700; }

/* Anmeldung */
.be-wrap .be-card.be-login { max-width: 460px !important; padding: 18px 22px !important; }
.be-wrap .be-login p { margin: 0 0 12px; }
.be-wrap .be-login label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 6px; }
.be-wrap .be-login .login-remember label { display: flex; gap: 8px; align-items: center; font-weight: 400; }
.be-wrap.be-wrap .be-login input[type=password] { display: block !important; width: 100% !important; height: var(--be-control-h) !important; padding: 0 12px !important; border: 2px solid transparent !important; border-radius: var(--be-radius) !important; background: var(--be-input-bg) !important; color: var(--be-input-text) !important; font-size: 15px !important; box-sizing: border-box !important; }
.be-wrap .be-login input[type=submit] { min-height: var(--be-control-h); padding: 10px 22px; border-radius: var(--be-radius); border: 2px solid #fff; background: #fff; color: var(--be-to); font-weight: 700; font-size: 15px; cursor: pointer; }
.be-wrap .be-hint a { color: var(--zp-text, #fff); }
.be-wrap .be-notice a { color: #2250e3; font-weight: 600; } /* 1.01.01: Hinweise sind weiss – Links blau, sonst unsichtbar */

@container be (max-width: 900px) {
	.be-wrap .be-liste-fields, .be-wrap .be-liste-fields--fix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container be (max-width: 520px) {
	.be-wrap .be-liste-fields, .be-wrap .be-liste-fields--fix { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-liste-export { margin-left: 0; }
}

/* ==========================================================================
   Budget – geplante Ausgaben, Budgetkontrolle, Mehrjahresvergleich
   ========================================================================== */
.be-wrap .be-bud-filter { padding: 16px 22px !important; }
.be-wrap .be-bud-filterrow { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px var(--be-gap); }
.be-wrap .be-bud-filterrow > .be-field { flex: 0 1 180px; }
.be-wrap .be-bud-filterrow .be-liste-export { margin-left: auto; }
.be-wrap .be-bud-leer { align-self: center; margin-top: 18px !important; max-width: none; }
.be-wrap .be-bud-fixjahr { display: block; font-size: 24px; line-height: var(--be-control-h); }
.be-wrap .be-bud-filterrow .be-bud-kpis { margin-left: auto; display: flex; flex-wrap: wrap; gap: 10px 32px; }

/* Kennzahlen oben */
.be-wrap .be-bud-kpis--top { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--be-gap); margin: 0 0 var(--be-gap); }
.be-wrap .be-kpi { display: flex; flex-direction: column; gap: 6px; padding: 16px 22px !important; margin: 0 !important; }
.be-wrap .be-kpi-main { font-size: 24px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.be-wrap .be-kpi-main small { font-size: 14px; font-weight: 400; color: var(--be-muted); white-space: nowrap; }
.be-wrap .be-kpi-sub { font-size: 12px; color: var(--be-muted); }

/* Fortschrittsbalken */
.be-wrap .be-bar { display: block; height: 6px; border-radius: 3px; background: rgba(16, 34, 58, 0.1); overflow: hidden; }
.be-wrap .be-bar > span { display: block; height: 100%; border-radius: 3px; background: #2250e3; }
.be-wrap .be-bar--kpi { height: 8px; background: var(--zp-soft, rgba(255, 255, 255, 0.18)); }
.be-wrap .be-bar--kpi > span { background: #9fb8ff; }
.be-wrap .be-bar.is-over > span, .be-wrap .is-over .be-bar > span { background: #d63638; }
.be-wrap .be-bar.is-good > span, .be-wrap .is-good .be-bar > span { background: #1a9e55; }
.be-wrap .is-warn .be-bar > span { background: #dba617; }

/* Tabelle */
.be-wrap.be-wrap table.be-bud-table { min-width: 1010px; }
.be-wrap.be-wrap table.be-bv-table { min-width: calc(240px + var(--be-bv-years, 4) * 190px + 190px); }
.be-wrap.be-wrap .be-bud-table thead tr.be-bud-h1 th { padding-bottom: 4px !important; border-bottom: 0 !important; }
.be-wrap.be-wrap .be-bud-table thead tr.be-bud-h2 th { padding-top: 2px !important; font-size: 11px; color: #45536a; }
.be-wrap.be-wrap .be-bud-table thead th[rowspan] { vertical-align: bottom; }
.be-wrap.be-wrap .be-bud-table .be-c { text-align: center !important; }
.be-wrap.be-wrap .be-bud-table .be-grp { border-left: 1px solid #d5dcea !important; }
.be-wrap.be-wrap .be-bud-table tbody tr td { background: #fff !important; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-art th { background: #dfe7fb !important; color: #10223a; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding-top: 10px !important; padding-bottom: 8px !important; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-ber td { background: #f3f6fb !important; font-weight: 700; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-kst td:first-child { padding-left: 30px !important; position: relative; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-kst td:first-child::before { content: "└"; position: absolute; left: 13px; color: #a7b1c2; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-kst.is-inaktiv td { color: #7a8597; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-sum td { font-weight: 700; border-top: 2px solid #10223a !important; border-bottom: 0 !important; background: #fff !important; padding-bottom: 14px !important; }
.be-wrap.be-wrap .be-bud-table td.be-over { color: #b32d2e; font-weight: 700; }
.be-wrap.be-wrap .be-bud-table td.be-good { color: #1a7f37; font-weight: 700; }
.be-wrap.be-wrap .be-bud-table td.be-pct { min-width: 78px; }
.be-wrap.be-wrap .be-bud-table td.be-pct .be-pct-val { display: block; }
.be-wrap.be-wrap .be-bud-table td.be-pct .be-bar { margin: 4px 0 0 auto; width: 64px; height: 4px; }
.be-wrap.be-wrap .be-bud-table td.be-pct.is-over .be-pct-val { color: #b32d2e; font-weight: 700; }
.be-wrap.be-wrap .be-bud-table td.be-pct.is-good .be-pct-val { color: #1a7f37; font-weight: 700; }
.be-wrap.be-wrap .be-bud-table td.be-chg { color: #45536a; }
.be-wrap .be-bud-legend { margin-top: 10px; }
.be-wrap .be-leg { display: inline-flex; align-items: center; gap: 6px; margin-left: 14px; white-space: nowrap; }
.be-wrap .be-leg::before { content: ""; width: 10px; height: 10px; border-radius: 2px; }
.be-wrap .be-leg--over::before { background: #ff8f8f; }
.be-wrap .be-leg--good::before { background: #7be0a6; }

/* Geplante Ausgaben – Erfassung */
.be-wrap .be-ga-head { padding-bottom: 16px !important; }
.be-wrap .be-ga-headrow { display: grid; grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); gap: 12px var(--be-gap); align-items: end; margin: 0 0 14px; }
.be-wrap .be-ga-intro { margin: 0 0 12px; }
.be-wrap .be-ga-line {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) minmax(0, 2fr) minmax(150px, 0.8fr) 32px;
	grid-template-areas: "ber kst text betrag rm";
	gap: 12px var(--be-gap);
	align-items: end;
	padding: 14px 0;
	border-top: 1px solid var(--be-card-border);
}
.be-wrap .be-ga-line > .be-ga-f-ber    { grid-area: ber; }
.be-wrap .be-ga-line > .be-ga-f-kst    { grid-area: kst; }
.be-wrap .be-ga-line > .be-ga-f-text   { grid-area: text; }
.be-wrap .be-ga-line > .be-ga-f-betrag { grid-area: betrag; }
.be-wrap .be-ga-line > * { min-width: 0; }
.be-wrap .be-ga-head .be-ga-line .be-ga-remove { position: static; grid-area: rm; margin: 0 0 6px !important; }
.be-wrap .be-ga-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px 16px; padding-top: 14px; border-top: 1px solid var(--be-card-border); }
.be-wrap .be-ga-actions .be-ga-add { margin-right: auto !important; }
.be-wrap .be-ga-sum { color: var(--be-muted); font-size: 14px; }
.be-wrap .be-ga-sum strong { color: var(--be-text); font-size: 18px; font-variant-numeric: tabular-nums; margin-left: 6px; }

/* Geplante Ausgaben – Liste */
.be-wrap.be-wrap .be-ga-table { min-width: 900px; }
.be-wrap.be-wrap .be-ga-table tr.be-ga-st-storniert td { color: #8a94a6; }
.be-wrap.be-wrap .be-ga-table tr.be-ga-st-storniert td:nth-child(3), .be-wrap .be-ga-table tr.be-ga-st-storniert td:nth-child(4) { text-decoration: line-through; }
.be-wrap.be-wrap .be-ga-table tr.is-editing td { background: #fff8e1 !important; }
.be-wrap .be-ga-meta { font-size: 12px; color: #5b6a80; }
.be-wrap .be-ga-c-act { white-space: nowrap; }
.be-wrap .be-ga-inline { display: inline; margin: 0; }
.be-wrap .be-ga-act, .be-wrap button.be-ga-act {
	display: inline !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 0 10px 0 0 !important;
	min-height: 0 !important; height: auto !important; box-shadow: none !important; cursor: pointer;
	font: inherit; font-size: 13px !important; font-weight: 600 !important; line-height: 1.6 !important; color: #2250e3 !important; text-decoration: none; text-transform: none !important; letter-spacing: normal !important;
}
.be-wrap .be-ga-act:hover, .be-wrap .be-ga-act:focus-visible { text-decoration: underline; outline: none; }
.be-wrap .be-ga-act--del { color: #b32d2e !important; }
.be-wrap .be-pill { display: inline-block; padding: 1px 9px; border-radius: 10px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.be-wrap .be-pill--offen { background: #e7edff; color: #1f3fae; }
.be-wrap .be-pill--erledigt { background: #e6f4ea; color: #1a7f37; }
.be-wrap .be-pill--storniert { background: #eceff3; color: #5b6a80; }

@container be (max-width: 980px) {
	.be-wrap .be-ga-line {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px;
		grid-template-areas: "ber kst rm" "text betrag rm";
	}
}
@container be (max-width: 600px) {
	.be-wrap .be-ga-headrow { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-ga-line { grid-template-columns: minmax(0, 1fr) 32px; grid-template-areas: "ber rm" "kst rm" "text rm" "betrag rm"; }
	.be-wrap .be-ga-head .be-ga-line .be-ga-remove { align-self: start; margin: 24px 0 0 !important; }
	.be-wrap .be-bud-filterrow > .be-field { flex: 1 1 140px; }
	.be-wrap .be-bud-filterrow .be-liste-export, .be-wrap .be-bud-filterrow .be-bud-kpis { margin-left: 0; }
	.be-wrap .be-ga-actions { justify-content: stretch; }
	.be-wrap .be-ga-actions .be-btn--primary { width: 100%; }
}

/* Im Backend */
.be-admin-web { max-width: 1400px; }
.be-admin-web .be-admin-web-hint { margin: 10px 0 12px; }
.be-admin-web .be-wrap { margin: 0; max-width: none; }
.be-wrap .be-bud-filterrow .be-bud-kpis + .be-liste-export { margin-left: 8px; }
.be-wrap .be-bud-filterrow > .be-field.be-bud-plan { flex: 0 1 260px; }

/* Rückerstattung bei Ertrag gesperrt */
.be-wrap .be-refund.is-disabled { opacity: .5; cursor: not-allowed; }
.be-wrap .be-refund.is-disabled input { cursor: not-allowed; }
.be-wrap .be-refund-hint { margin: 2px 0 0 28px; }

/* Erfolgsrechnung */
.be-wrap.be-wrap .be-bud-table tr.be-bud-er th { background: #10223a !important; color: #fff; border-top: 12px solid #fff !important; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-erz td { background: #f3f6fb !important; font-weight: 600; }
.be-wrap.be-wrap .be-bud-table tr.be-bud-ergebnis td { font-weight: 700; font-size: 15px; border-top: 2px solid #10223a !important; border-bottom: 3px double #10223a !important; background: #fff !important; }
.be-wrap .be-kpi--ergebnis.is-gewinn .be-kpi-main { color: color-mix(in srgb, #b9f3cf, #000 var(--zp-dunkel, 0%)); }
.be-wrap .be-kpi--ergebnis.is-verlust .be-kpi-main { color: color-mix(in srgb, #ffb4b4, #000 var(--zp-dunkel, 0%)); }

/* ==========================================================================
   Portal – Shortcode [belegportal]
   ========================================================================== */
.be-wrap .be-portal-back { display: inline-block; margin: -6px 0 12px; color: var(--be-muted) !important; text-decoration: none !important; font-size: 13px; font-weight: 600; }
.be-wrap .be-portal-back:hover, .be-wrap .be-portal-back:focus-visible { color: var(--zp-text, #fff) !important; text-decoration: underline !important; }
.be-wrap .be-portal-hallo { margin: -8px 0 18px; color: var(--be-muted); font-size: 13px; }
.be-wrap .be-portal-hallo a { color: var(--zp-text, #fff); }
.be-wrap .be-portal-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--be-gap); margin: 0 0 var(--be-gap); }
.be-wrap .be-portal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--be-gap); margin: 0 0 var(--be-gap); }
.be-wrap .be-portal-tile {
	position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 190px;
	padding: 22px 22px 18px; border-radius: 12px; text-decoration: none !important;
	background: #fff; color: var(--be-input-text) !important; border: 1px solid transparent;
	box-shadow: 0 6px 18px rgba(0, 18, 40, 0.18); transition: transform .12s, box-shadow .12s;
}
.be-wrap a.be-portal-tile:hover, .be-wrap a.be-portal-tile:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 18, 40, 0.28); outline: none; }
.be-wrap a.be-portal-tile:focus-visible { border-color: var(--be-focus); }
.be-wrap .be-portal-tile.is-haupt { background: linear-gradient(135deg, #ffffff 0%, #e7edff 100%); }
.be-wrap .be-portal-icon { width: 34px; height: 34px; padding: 7px; border-radius: 9px; background: #e7edff; color: #2250e3; box-sizing: content-box; }
.be-wrap .be-portal-tile.is-haupt .be-portal-icon { background: #2250e3; color: #fff; }
.be-wrap .be-portal-name { font-size: 18px; font-weight: 700; line-height: 1.25; margin-top: 6px; padding-right: 22px; }
.be-wrap .be-portal-text { font-size: 13.5px; line-height: 1.45; color: #4b5b73; }
.be-wrap .be-portal-info { margin-top: auto; align-self: flex-start; font-size: 12px; font-weight: 600; color: #1f3fae; background: #e7edff; padding: 2px 10px; border-radius: 10px; }
.be-wrap .be-portal-go { position: absolute; top: 22px; right: 20px; font-size: 20px; color: #2250e3; transition: transform .12s; }
.be-wrap a.be-portal-tile:hover .be-portal-go { transform: translateX(3px); }
.be-wrap .be-portal-tile.is-fehlt { background: var(--zp-soft, rgba(255, 255, 255, 0.08)); color: var(--be-text) !important; border: 2px dashed var(--zp-line, rgba(255, 255, 255, 0.4)); box-shadow: none; }
.be-wrap .be-portal-tile.is-fehlt .be-portal-text { color: var(--be-muted); }
.be-wrap .be-portal-tile.is-fehlt .be-portal-icon { background: var(--zp-soft, rgba(255, 255, 255, 0.14)); color: var(--zp-text, #fff); }
.be-wrap .be-portal-fix { margin-top: auto; color: var(--zp-text, #fff) !important; font-weight: 600; font-size: 13px; }
.be-wrap .be-portal-h { color: var(--be-text); font-size: 13px; text-transform: uppercase; letter-spacing: .1em; margin: 26px 0 12px; }
.be-wrap .be-portal-h span { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--be-muted); margin-left: 8px; }
.be-wrap .be-portal-grid--klein { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.be-wrap .be-portal-tile--klein { min-height: 0; padding: 16px 18px; gap: 4px; background: var(--zp-soft, rgba(255, 255, 255, 0.1)); color: var(--be-text) !important; box-shadow: none; border: 1px solid var(--be-card-border); }
.be-wrap a.be-portal-tile--klein:hover, .be-wrap a.be-portal-tile--klein:focus-visible { background: var(--zp-soft, rgba(255, 255, 255, 0.18)); box-shadow: none; }
.be-wrap .be-portal-tile--klein .be-portal-icon { width: 22px; height: 22px; padding: 6px; background: var(--zp-soft, rgba(255, 255, 255, 0.16)); color: var(--zp-text, #fff); }
.be-wrap .be-portal-tile--klein .be-portal-name { font-size: 15px; margin-top: 4px; padding: 0; }
.be-wrap .be-portal-tile--klein .be-portal-text { color: var(--be-muted); font-size: 12.5px; }
.be-wrap .be-portal-login { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 18px 22px !important; }
.be-wrap .be-portal-login p { margin: 0; }
@container be (max-width: 720px) {
	.be-wrap .be-portal-kpis { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.be-wrap .be-portal-tile, .be-wrap .be-portal-go { transition: none; }
}
/* Hauptkachel links, vier Bereiche rechts im 2×2-Raster */
.be-wrap .be-portal-grid--hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr); }
.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt { grid-row: span 2; padding: 30px 30px 26px; }
.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt .be-portal-icon { width: 44px; height: 44px; padding: 9px; }
.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt .be-portal-name { font-size: 26px; margin-top: 14px; }
.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt .be-portal-text { font-size: 15px; max-width: 34ch; }
.be-wrap .be-portal-cta { margin-top: auto; align-self: flex-start; display: inline-block; padding: 11px 20px; border-radius: var(--be-radius); background: #2250e3; color: #fff; font-weight: 700; font-size: 15px; }
.be-wrap a.be-portal-tile:hover .be-portal-cta { background: #1a3fb8; }
.be-wrap .be-portal-tile.is-haupt .be-portal-go { display: none; }
.be-wrap.be-wrap .be-portal-h { font-family: inherit !important; font-weight: 700; line-height: 1.3; padding: 0; }
@container be (max-width: 900px) {
	.be-wrap .be-portal-grid--hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt { grid-row: auto; grid-column: 1 / -1; }
}
@container be (max-width: 560px) {
	.be-wrap .be-portal-grid--hero { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-portal-grid--hero .be-portal-tile.is-haupt .be-portal-name { font-size: 22px; }
}

/* Geplant: Art als erstes Feld */
.be-wrap .be-ga-line {
	grid-template-columns: minmax(120px, 0.6fr) minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.7fr) minmax(140px, 0.8fr) 32px;
	grid-template-areas: "art ber kst text betrag rm";
}
.be-wrap .be-ga-line > .be-ga-f-art { grid-area: art; }
.be-wrap .be-pill--aufwand { background: #fbeaea; color: #8a2424; }
.be-wrap .be-pill--ertrag { background: #e6f4ea; color: #1a7f37; }
.be-wrap.be-wrap .be-liste-table .be-liste-total--2 td { border-top: 0 !important; }
@container be (max-width: 980px) {
	.be-wrap .be-ga-line {
		grid-template-columns: minmax(120px, 0.5fr) minmax(0, 1fr) minmax(0, 1fr) 32px;
		grid-template-areas: "art ber kst rm" "text text betrag rm";
	}
}
@container be (max-width: 600px) {
	.be-wrap .be-ga-line { grid-template-columns: minmax(0, 1fr) 32px; grid-template-areas: "art rm" "ber rm" "kst rm" "text rm" "betrag rm"; }
}

/* Hinweis «Bewilligungsantrag nötig» in den geplanten Ausgaben */
.be-wrap .be-ga-line > .be-ga-antrag-hint { grid-column: 1 / -1; margin: -2px 0 0 !important; padding: 8px 12px; border-radius: 6px; background: #fff4d6; border: 1px solid #f0c75e; color: #6b4e00; font-size: 13px; line-height: 1.45; }
.be-wrap .be-ga-line > .be-ga-antrag-hint[hidden] { display: none; }
.be-wrap .be-ga-antrag-hint a { color: #2250e3; font-weight: 600; }
.be-wrap .be-notice--warning { background: #fff4d6; border: 1px solid #f0c75e; color: #6b4e00; }
.be-wrap .be-notice--warning a { color: #2250e3; font-weight: 600; }

/* ---------- Bewilligungsantrag ---------- */
.be-wrap .be-antrag-row1 { grid-template-columns: minmax(120px, 170px) minmax(0, 1fr); }
.be-wrap .be-antrag-row2 { grid-template-columns: minmax(0, 1fr) minmax(170px, 240px); }
.be-wrap .be-row--offerte { grid-template-columns: minmax(0, 1fr) minmax(170px, 240px); }
.be-wrap .be-antrag-head .be-row + .be-row { margin-top: 12px; }
.be-wrap .be-filelist--alt li.is-weg .be-fname { text-decoration: line-through; opacity: .6; }
.be-wrap .be-filelist--alt .be-weg { margin-left: auto; font-size: 12px; white-space: nowrap; }
.be-wrap .be-filelist--alt { margin-bottom: 8px; }
.be-wrap .be-pill--an-offen { background: #e7edff; color: #1f3fae; }
.be-wrap .be-pill--an-bewilligt { background: #e6f4ea; color: #1a7f37; }
.be-wrap .be-pill--an-abgelehnt { background: #fbeaea; color: #8a2424; }
.be-wrap .be-pill--an-ueberarbeitung { background: #fff4e0; color: #8a5300; }
.be-wrap .be-an-detail { color: var(--be-text); }
.be-wrap .be-an-detail .be-table, .be-wrap .be-an-detail .be-kv { color: inherit; }
.be-wrap .be-an-detail a { color: inherit; }
.be-wrap .be-an-detail .be-an-titel { margin: 0 0 12px; font-size: 18px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.be-wrap .be-an-detail .be-kv td { padding: 3px 18px 3px 0; border: 0; vertical-align: top; }
.be-wrap .be-an-detail .be-kv td:first-child { color: var(--be-muted); white-space: nowrap; }
.be-wrap .be-an-detail .be-table { width: 100%; border-collapse: collapse; margin-top: 14px; }
.be-wrap .be-an-detail .be-table th, .be-wrap .be-an-detail .be-table td { padding: 7px 8px; border: 0; border-bottom: 1px solid var(--be-card-border); text-align: left; vertical-align: top; background: transparent; }
.be-wrap .be-an-detail .be-table th { font-size: 12px; text-transform: uppercase; color: var(--be-muted); }
.be-wrap .be-an-detail .be-table .be-num { text-align: right; white-space: nowrap; }
.be-wrap .be-an-verlauf { margin: 6px 0 12px 18px; padding: 0; }
.be-wrap .be-an-verlauf li { margin: 0 0 6px; }
.be-wrap .be-an-admin { margin-top: 16px; }
.be-wrap .be-an-admin h4 { margin: 0 0 8px; }
@container be (max-width: 600px) {
	.be-wrap .be-antrag-row1, .be-wrap .be-antrag-row2, .be-wrap .be-row--offerte { grid-template-columns: minmax(0, 1fr); }
}
.be-wrap .be-an-detail .be-an-titel, .be-wrap .be-an-detail h4 { color: inherit; }
.be-wrap .be-an-verlauf .be-ga-meta { color: inherit; opacity: .7; font-size: 12px; }

/* Anträge: Auswahl und Löschen in der Backend-Liste */
.be-wrap .be-an-cb { width: 28px; text-align: center; }
.be-wrap .be-an-bulkbar { margin: 0 0 10px; }

/* 1.01.02: Abwicklung je Beleg (Rechnung bezahlen / Gegengeschäft / Sachsponsoring) */
.be-wrap .be-row--refund { grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); align-items: end; column-gap: var(--be-gap); }
.be-wrap .be-row--refund > .be-refund { padding-bottom: 10px; }
.be-wrap .be-row--refund > .be-refund[hidden] { display: none !important; }
.be-wrap .be-abw-hint:empty { display: none; }
.be-wrap.be-wrap select.be-abw.is-nopay { border-color: rgba(255, 224, 138, 0.95) !important; box-shadow: inset 4px 0 0 rgba(255, 224, 138, 0.95); }
.be-wrap .be-abw-hint { color: color-mix(in srgb, #ffe08a, #000 var(--zp-dunkel, 0%)); font-weight: 600; }
@media (max-width: 700px) {
	.be-wrap .be-row--refund { grid-template-columns: minmax(0, 1fr); }
	.be-wrap .be-row--refund > .be-refund { padding-bottom: 0; }
}
.be-wrap .be-tag--nopay { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 10px; font-size: 12px; background: #fde2e1 !important; color: #8a1f1f !important; font-weight: 700; white-space: nowrap; }

/* 1.01.02: Geplant / realisiert */
.be-wrap .be-ga-line {
	grid-template-columns: minmax(132px, 0.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(110px, 0.6fr) minmax(132px, 0.7fr) 32px;
	grid-template-areas: "art ber kst text betrag stand rm";
}
.be-wrap .be-ga-line > .be-ga-f-stand { grid-area: stand; }
.be-wrap .be-pill--geplant { background: #eef1f6; color: #45536a; }
.be-wrap .be-pill--realisiert { background: #fff1d6; color: #7a4d00; }
.be-wrap .be-bud-kpis .be-stat .be-ga-meta { display: block; color: var(--zp-muted, rgba(255, 255, 255, 0.78)); }
.be-wrap.be-wrap .be-ga-table { min-width: 1000px; }
@container be (max-width: 980px) {
	.be-wrap .be-ga-line {
		grid-template-columns: minmax(110px, 0.5fr) minmax(0, 1fr) minmax(0, 1fr) 32px;
		grid-template-areas: "art ber kst rm" "text betrag stand rm";
	}
}
@container be (max-width: 600px) {
	.be-wrap .be-ga-line { grid-template-columns: minmax(0, 1fr) 32px; grid-template-areas: "art rm" "ber rm" "kst rm" "text rm" "betrag rm" "stand rm"; }
}
/* V1.09.00: Vorschläge aus der QR-Rechnung, MWST-Feld */
.be-wrap .be-qr-vorschlag { background-color: #fff7d6 !important; border-color: #e8c35a !important; }
.be-wrap .be-qr-hint.be-qr-ok { color: #17633a; font-weight: 600; }
.be-wrap .be-f-mwst { min-width: 220px; }
