:root {
	--bze-bg: #f4f7fb;
	--bze-surface: #ffffff;
	--bze-border: #d7dee8;
	--bze-text: #1a1a1a;
	--bze-text-muted: #666666;
	--bze-primary: #1769aa;
	--bze-primary-hover: #12578f;
	--bze-success: #187a45;
	--bze-warning: #f2c866;
	--bze-danger: #b42318;
	--bze-space-1: 4px;
	--bze-space-2: 8px;
	--bze-space-3: 12px;
	--bze-space-4: 16px;
	--bze-space-5: 24px;
	--bze-space-6: 32px;
	--bze-radius-sm: 6px;
	--bze-radius-md: 12px;
	--bze-shadow-sm: 0 1px 3px color-mix(in srgb, var(--bze-text) 10%, transparent);
	--bze-shadow-md: 0 8px 24px color-mix(in srgb, var(--bze-text) 12%, transparent);
}

.bze-wrap,
.bze-wrap * {
	box-sizing: border-box;
}

.bze-wrap {
	max-width: 1180px;
	margin: var(--bze-space-6) auto;
	padding: 0 var(--bze-space-5) var(--bze-space-6);
	color: var(--bze-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

.bze-wrap h1,
.bze-wrap h2,
.bze-wrap h3,
.bze-wrap p {
	color: var(--bze-text);
}

.bze-wrap h2,
.bze-wrap h3 {
	margin-top: 0;
}

.bze-page-header,
.bze-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--bze-space-5);
}

.bze-page-header {
	margin-bottom: var(--bze-space-5);
}

.bze-page-header h1 {
	margin: var(--bze-space-1) 0 0;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.12;
}

.bze-page-header > div > p:last-child {
	margin-bottom: 0;
	color: var(--bze-text-muted);
}

.bze-kicker {
	margin: 0;
	color: var(--bze-primary) !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.bze-tabs {
	display: flex;
	gap: var(--bze-space-1);
	margin: 0 0 var(--bze-space-5);
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	border-bottom: 1px solid var(--bze-border);
	scrollbar-width: thin;
	white-space: nowrap;
}

.bze-tab {
	position: relative;
	flex: 0 0 auto;
	min-height: 44px;
	padding: var(--bze-space-3) var(--bze-space-4);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--bze-text-muted);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.bze-tab::after {
	position: absolute;
	right: var(--bze-space-4);
	bottom: 0;
	left: var(--bze-space-4);
	height: 2px;
	background: transparent;
	content: "";
}

.bze-tab:hover {
	color: var(--bze-primary-hover);
}

.bze-tab:focus-visible {
	outline: 2px solid var(--bze-primary);
	outline-offset: -2px;
}

.bze-tab.is-active,
.bze-tab[aria-selected="true"] {
	color: var(--bze-primary);
}

.bze-tab.is-active::after,
.bze-tab[aria-selected="true"]::after {
	background: var(--bze-primary);
}

.bze-tab-link {
	color: var(--bze-text-muted);
}

.bze-panel,
.bze-card {
	margin-bottom: var(--bze-space-5);
	padding: var(--bze-space-5);
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: var(--bze-surface);
	box-shadow: var(--bze-shadow-sm);
}

.bze-panel[hidden],
.bze-panel:not(.is-active) {
	display: none;
}

.bze-panel.is-active {
	display: block;
}

.bze-section-heading {
	margin-bottom: var(--bze-space-4);
}

.bze-section-heading h2,
.bze-export-card h3,
.bze-card h2 {
	margin-bottom: var(--bze-space-4);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.bze-section-heading p {
	margin: 0;
	color: var(--bze-text-muted);
}

.bze-filters {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: var(--bze-space-3);
	margin-bottom: var(--bze-space-5);
	padding: var(--bze-space-4);
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: color-mix(in srgb, var(--bze-bg) 70%, var(--bze-surface));
}

.bze-field {
	position: relative;
	display: flex;
	flex: 1 1 180px;
	flex-direction: column;
	gap: var(--bze-space-1);
	min-width: 160px;
}

.bze-field label,
.bze-export-card label,
.bze-version-selectors label {
	color: var(--bze-text-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}

.bze-wrap input[type="text"],
.bze-wrap input[type="date"],
.bze-wrap input[type="time"],
.bze-wrap input[type="datetime-local"],
.bze-wrap input[type="month"],
.bze-wrap input[type="number"],
.bze-wrap select,
.bze-wrap textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-sm);
	background: var(--bze-surface);
	color: var(--bze-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.3;
	box-shadow: none;
}

.bze-wrap input[type="text"],
.bze-wrap input[type="date"],
.bze-wrap input[type="time"],
.bze-wrap input[type="datetime-local"],
.bze-wrap input[type="month"],
.bze-wrap input[type="number"],
.bze-wrap select {
	height: 44px;
	min-height: 44px;
}

.bze-wrap input[type="date"],
.bze-wrap input[type="time"],
.bze-wrap input[type="datetime-local"],
.bze-wrap input[type="month"],
.bze-wrap input[type="number"] {
	font-variant-numeric: tabular-nums;
}

.bze-wrap input[type="date"]::-webkit-datetime-edit,
.bze-wrap input[type="time"]::-webkit-datetime-edit,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit,
.bze-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper,
.bze-wrap input[type="time"]::-webkit-datetime-edit-fields-wrapper,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper,
.bze-wrap input[type="date"]::-webkit-datetime-edit-text,
.bze-wrap input[type="time"]::-webkit-datetime-edit-text,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-text,
.bze-wrap input[type="date"]::-webkit-datetime-edit-hour-field,
.bze-wrap input[type="time"]::-webkit-datetime-edit-hour-field,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-hour-field,
.bze-wrap input[type="date"]::-webkit-datetime-edit-minute-field,
.bze-wrap input[type="time"]::-webkit-datetime-edit-minute-field,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-minute-field,
.bze-wrap input[type="date"]::-webkit-datetime-edit-day-field,
.bze-wrap input[type="time"]::-webkit-datetime-edit-day-field,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-day-field,
.bze-wrap input[type="date"]::-webkit-datetime-edit-month-field,
.bze-wrap input[type="time"]::-webkit-datetime-edit-month-field,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-month-field,
.bze-wrap input[type="date"]::-webkit-datetime-edit-year-field,
.bze-wrap input[type="time"]::-webkit-datetime-edit-year-field,
.bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-year-field {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.3;
}

.bze-wrap input:focus-visible,
.bze-wrap select:focus-visible,
.bze-wrap button:focus-visible,
.bze-wrap a:focus-visible {
	outline: 2px solid var(--bze-primary);
	outline-offset: 2px;
}

@media (min-width: 1024px) {
.bze-wrap select {
	padding-right: var(--bze-space-6);
	appearance: none;
	-webkit-appearance: none;
}

.bze-field:has(select)::after,
.bze-version-selectors label:has(select)::after {
	position: absolute;
	right: var(--bze-space-3);
	bottom: 17px;
	width: 12px;
	height: 8px;
	background-color: var(--bze-text-muted);
	content: "";
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	pointer-events: none;
}

}
@media (max-width: 1023px) {
	.bze-wrap select { appearance: auto; -webkit-appearance: auto; min-height: 44px; padding-right: var(--bze-space-6); }
	.bze-field:has(select)::after, .bze-version-selectors label:has(select)::after { content: none; display: none; }
}

.bze-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--bze-space-2);
	min-height: 44px;
	padding: 10px var(--bze-space-4);
	border: 1px solid var(--bze-primary);
	border-radius: var(--bze-radius-sm);
	background: var(--bze-primary);
	color: var(--bze-surface) !important;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: var(--bze-shadow-sm);
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .05s ease;
}

.bze-button:hover {
	border-color: var(--bze-primary-hover);
	background: var(--bze-primary-hover);
	color: var(--bze-surface) !important;
}

.bze-button:active {
	transform: translateY(1px);
}

.bze-button-secondary {
	border-color: var(--bze-border);
	background: transparent;
	color: var(--bze-primary) !important;
	box-shadow: none;
}

.bze-button-secondary:hover {
	border-color: var(--bze-primary);
	background: color-mix(in srgb, var(--bze-primary) 7%, transparent);
	color: var(--bze-primary-hover) !important;
}

.bze-button:disabled,
.bze-button[aria-disabled="true"] {
	opacity: .5;
	cursor: not-allowed;
	transform: none;
}

.bze-button.is-loading::before {
	width: 14px;
	height: 14px;
	border: 2px solid color-mix(in srgb, currentColor 35%, transparent);
	border-top-color: currentColor;
	border-radius: 50%;
	content: "";
	animation: bze-spin .75s linear infinite;
}

@keyframes bze-spin {
	to { transform: rotate(360deg); }
}

.bze-result {
	min-height: 90px;
}

.bze-loading {
	display: grid;
	min-height: 120px;
	place-items: center;
	padding: var(--bze-space-5);
	border: 1px dashed var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: color-mix(in srgb, var(--bze-bg) 55%, var(--bze-surface));
	color: var(--bze-text-muted);
	text-align: center;
}

.bze-loading::before {
	width: 22px;
	height: 22px;
	margin-right: var(--bze-space-2);
	border: 2px solid var(--bze-border);
	border-top-color: var(--bze-primary);
	border-radius: 50%;
	content: "";
	animation: bze-spin .8s linear infinite;
}

.bze-loading > span {
	display: inline-flex;
	align-items: center;
}

.bze-error,
.bze-success,
.bze-empty,
.bze-form-message {
	margin-top: var(--bze-space-3);
	padding: var(--bze-space-3) var(--bze-space-4);
	border-radius: var(--bze-radius-sm);
}

.bze-error {
	border: 1px solid color-mix(in srgb, var(--bze-danger) 45%, var(--bze-border));
	background: color-mix(in srgb, var(--bze-danger) 7%, var(--bze-surface));
	color: var(--bze-danger);
}

.bze-success {
	border: 1px solid color-mix(in srgb, var(--bze-success) 45%, var(--bze-border));
	background: color-mix(in srgb, var(--bze-success) 7%, var(--bze-surface));
	color: var(--bze-success);
}

.bze-empty {
	border: 1px dashed var(--bze-border);
	background: color-mix(in srgb, var(--bze-bg) 60%, var(--bze-surface));
	color: var(--bze-text-muted);
}

.bze-form-message:empty {
	display: none;
}

.bze-form-message.is-success {
	border: 1px solid color-mix(in srgb, var(--bze-success) 45%, var(--bze-border));
	background: color-mix(in srgb, var(--bze-success) 7%, var(--bze-surface));
	color: var(--bze-success);
}

.bze-form-message.is-error {
	border: 1px solid color-mix(in srgb, var(--bze-danger) 45%, var(--bze-border));
	background: color-mix(in srgb, var(--bze-danger) 7%, var(--bze-surface));
	color: var(--bze-danger);
}

.bze-notice {
	margin: var(--bze-space-3) 0 var(--bze-space-5);
	padding: var(--bze-space-3) var(--bze-space-4);
	border-left: 4px solid var(--bze-warning);
	border-radius: var(--bze-radius-sm);
	background: color-mix(in srgb, var(--bze-warning) 18%, var(--bze-surface));
	color: var(--bze-text);
}

.bze-table-wrap {
	position: relative;
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: var(--bze-surface);
	box-shadow: var(--bze-shadow-sm);
	-webkit-overflow-scrolling: touch;
}

.bze-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--bze-surface);
	color: var(--bze-text);
}

.bze-table th,
.bze-table td {
	padding: var(--bze-space-3) var(--bze-space-4);
	border-bottom: 1px solid var(--bze-border);
	vertical-align: top;
	text-align: left;
}

.bze-table th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: color-mix(in srgb, var(--bze-bg) 82%, var(--bze-surface));
	color: var(--bze-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.bze-table tbody tr:nth-child(even) td {
	background: color-mix(in srgb, var(--bze-bg) 35%, var(--bze-surface));
}

.bze-table tbody tr:last-child td,
.bze-table tfoot tr:last-child th,
.bze-table tfoot tr:last-child td {
	border-bottom: 0;
}

.bze-table .bze-number,
.bze-table .bze-balance,
.bze-table th.bze-number {
	text-align: right;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.bze-negative {
	color: var(--bze-danger) !important;
}

.bze-positive {
	color: var(--bze-success) !important;
}

.bze-status-missing {
	color: var(--bze-danger);
	font-weight: 600;
}

.bze-status-ok {
	color: var(--bze-success);
	font-weight: 600;
}

.bze-summary {
	display: flex;
	gap: var(--bze-space-3);
	flex-wrap: wrap;
	margin: var(--bze-space-4) 0 var(--bze-space-5);
}

.bze-summary > div {
	min-width: 150px;
	padding: var(--bze-space-3) var(--bze-space-4);
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-sm);
	background: var(--bze-surface);
}

.bze-summary small {
	display: block;
	color: var(--bze-text-muted);
	font-size: 12px;
}

.bze-summary strong {
	display: block;
	margin-top: var(--bze-space-1);
	font-size: 20px;
	font-variant-numeric: tabular-nums;
}

.bze-employee-block {
	margin: var(--bze-space-5) 0 var(--bze-space-6);
}

.bze-export-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bze-space-4);
	align-items: stretch;
}

.bze-export-card {
	display: flex;
	flex-direction: column;
	gap: var(--bze-space-3);
	height: 100%;
	padding: var(--bze-space-5);
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: var(--bze-surface);
	box-shadow: var(--bze-shadow-sm);
}

.bze-export-card h3 {
	margin: 0 0 var(--bze-space-1);
}

.bze-export-card .bze-button {
	margin-top: auto;
}

.bze-mapping-preview {
	padding: var(--bze-space-3);
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-sm);
	background: color-mix(in srgb, var(--bze-bg) 60%, var(--bze-surface));
	color: var(--bze-text-muted);
	font-size: 13px;
}

.bze-mapping-preview strong {
	display: block;
	margin-bottom: var(--bze-space-2);
	color: var(--bze-text);
	font-size: 13px;
}

.bze-mapping-preview ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bze-space-1) var(--bze-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bze-mapping-preview li::before {
	margin-right: var(--bze-space-1);
	color: var(--bze-primary);
	content: "•";
}

.bze-source {
	display: inline-block;
	margin: 0 0 var(--bze-space-3);
	padding: var(--bze-space-1) var(--bze-space-2);
	border-radius: var(--bze-radius-sm);
	background: color-mix(in srgb, var(--bze-bg) 75%, var(--bze-surface));
	color: var(--bze-text-muted);
	font-size: 12px;
	font-weight: 600;
}

.bze-source-archive {
	background: color-mix(in srgb, var(--bze-success) 10%, var(--bze-surface));
	color: var(--bze-success);
}

.bze-source-preliminary {
	background: color-mix(in srgb, var(--bze-warning) 20%, var(--bze-surface));
	color: var(--bze-text);
}

.bze-chart-scroll {
	overflow-x: auto;
	margin: var(--bze-space-4) 0;
}

.bze-year-chart {
	min-width: 720px;
	width: 100%;
	height: auto;
	border: 1px solid var(--bze-border);
	border-radius: var(--bze-radius-md);
	background: var(--bze-surface);
}

.bze-svg-axis {
	stroke: var(--bze-border);
	stroke-width: 1;
}

.bze-svg-bar {
	fill: var(--bze-primary);
	opacity: .78;
}

.bze-svg-bar:hover {
	fill: var(--bze-primary-hover);
	opacity: 1;
}

.bze-print-header,
.bze-print-footer,
.bze-print-only {
	display: none;
}

@media (max-width: 800px) {
	.bze-export-grid {
		grid-template-columns: 1fr;
	}

	.bze-page-header {
		align-items: flex-start;
	}

	.bze-table {
		min-width: 720px;
	}
}

@media (max-width: 640px) {
	.bze-wrap {
		margin-top: var(--bze-space-5);
		padding-right: var(--bze-space-4);
		padding-left: var(--bze-space-4);
	}

	.bze-page-header {
		align-items: stretch;
		flex-direction: column;
		gap: var(--bze-space-3);
	}

	.bze-page-header .bze-button,
	.bze-header-actions,
	.bze-header-actions .bze-button,
	.bze-filters .bze-button,
	.bze-export-card .bze-button {
		width: 100%;
	}

	.bze-tabs {
		margin-right: calc(var(--bze-space-4) * -1);
		margin-left: calc(var(--bze-space-4) * -1);
		padding-right: var(--bze-space-4);
		padding-left: var(--bze-space-4);
	}

	.bze-filters {
		align-items: stretch;
		flex-direction: column;
	}

	.bze-field,
	.bze-grow {
		width: 100%;
		min-width: 0;
	}

	.bze-panel,
	.bze-card,
	.bze-export-card {
		padding: var(--bze-space-4);
	}

	.bze-table-wrap::before {
		display: block;
		padding: var(--bze-space-2) var(--bze-space-3);
		border-bottom: 1px solid var(--bze-border);
		background: color-mix(in srgb, var(--bze-bg) 75%, var(--bze-surface));
		color: var(--bze-text-muted);
		font-size: 12px;
		content: "Seitlich scrollen →";
	}
}

/* Eigenstaendige Plugin-Vollseiten: kein Theme-Layout, aber wp_head/wp_footer bleiben aktiv. */
html { min-height: 100%; }
body.bze-plugin-page {
	min-height: 100vh;
	margin: 0;
	background: var(--bze-bg);
	color: var(--bze-text);
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.bze-plugin-page > * { box-sizing: border-box; }

/* Rollenbasierte Startseite. */
.bze-dashboard-wrap {
	max-width: 1100px;
}

.bze-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bze-space-4);
	align-items: stretch;
}

.bze-dashboard-card {
	display: flex;
	flex-direction: column;
	min-height: 190px;
}

.bze-dashboard-card h2 {
	margin: 0 0 var(--bze-space-3);
	font-size: 16px;
	font-weight: 650;
}

.bze-dashboard-value {
	margin-bottom: var(--bze-space-3);
	font-size: clamp(24px, 4vw, 34px);
	font-weight: 750;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
}

.bze-dashboard-state {
	display: grid;
	gap: var(--bze-space-1);
	font-size: 20px;
}

.bze-dashboard-state small {
	color: var(--bze-text-muted);
	font-size: 13px;
	font-weight: 500;
}

.bze-dashboard-link {
	margin-top: auto;
	color: var(--bze-primary);
	font-weight: 650;
	text-decoration: none;
}

.bze-dashboard-link:hover {
	color: var(--bze-primary-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bze-dashboard-stamp-controls {
	display: grid;
	gap: var(--bze-space-2);
	margin-bottom: var(--bze-space-4);
}

.bze-dashboard-site-label {
	display: grid;
	gap: var(--bze-space-1);
	color: var(--bze-text-muted);
	font-size: 13px;
}

.bze-dashboard-stamp-button {
	min-height: 48px;
}

.bze-dashboard-detail {
	margin: 0 0 var(--bze-space-3);
	color: var(--bze-text-muted);
	font-size: 13px;
}

.bze-dashboard-status {
	min-height: 22px;
	margin-bottom: var(--bze-space-3);
	color: var(--bze-danger);
	font-weight: 600;
}

.bze-dashboard-status:empty {
	display: none;
}

.bze-access-denied-wrap {
	max-width: 760px;
}

.bze-access-denied-card {
	text-align: center;
}

.bze-access-denied-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--bze-space-2);
	margin-top: var(--bze-space-4);
}

.bze-danger-link {
	color: var(--bze-danger) !important;
}

@media (max-width: 900px) {
	.bze-dashboard-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.bze-dashboard-grid {
		grid-template-columns: 1fr;
	}

	.bze-dashboard-card {
		min-height: 0;
	}

	.bze-access-denied-actions {
		display: grid;
	}

	.bze-access-denied-actions .bze-button {
		width: 100%;
	}
}

/* 1.1.0: Bildschirm-Skala; der Bestand oberhalb bleibt für den Druck erhalten. */
@media screen {
	.bze-wrap { font-size: var(--bze-font-size-body, 16px); }
	.bze-page-header h1 { font-size: var(--bze-font-size-h1, 32px); }
	.bze-kicker { font-size: var(--bze-font-size-small, 14px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-tab { font-size: var(--bze-font-size-button, 16px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-section-heading h2, .bze-export-card h3, .bze-card h2 { font-size: var(--bze-font-size-h2, 24px); font-weight: var(--bze-font-weight-heading, 700); }
	.bze-field label, .bze-export-card label, .bze-version-selectors label { font-size: var(--bze-font-size-body, 16px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-wrap input[type="text"], .bze-wrap input[type="date"], .bze-wrap input[type="time"], .bze-wrap input[type="datetime-local"], .bze-wrap input[type="month"], .bze-wrap input[type="number"], .bze-wrap select, .bze-wrap textarea { font-size: var(--bze-font-size-body, 16px); font-weight: var(--bze-font-weight-normal, 400); }
	.bze-wrap input[type="date"]::-webkit-datetime-edit, .bze-wrap input[type="time"]::-webkit-datetime-edit, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit, .bze-wrap input[type="date"]::-webkit-datetime-edit-fields-wrapper, .bze-wrap input[type="time"]::-webkit-datetime-edit-fields-wrapper, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper, .bze-wrap input[type="date"]::-webkit-datetime-edit-text, .bze-wrap input[type="time"]::-webkit-datetime-edit-text, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-text, .bze-wrap input[type="date"]::-webkit-datetime-edit-hour-field, .bze-wrap input[type="time"]::-webkit-datetime-edit-hour-field, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-hour-field, .bze-wrap input[type="date"]::-webkit-datetime-edit-minute-field, .bze-wrap input[type="time"]::-webkit-datetime-edit-minute-field, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-minute-field, .bze-wrap input[type="date"]::-webkit-datetime-edit-day-field, .bze-wrap input[type="time"]::-webkit-datetime-edit-day-field, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-day-field, .bze-wrap input[type="date"]::-webkit-datetime-edit-month-field, .bze-wrap input[type="time"]::-webkit-datetime-edit-month-field, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-month-field, .bze-wrap input[type="date"]::-webkit-datetime-edit-year-field, .bze-wrap input[type="time"]::-webkit-datetime-edit-year-field, .bze-wrap input[type="datetime-local"]::-webkit-datetime-edit-year-field { font-size: var(--bze-font-size-body, 16px); font-weight: var(--bze-font-weight-normal, 400); }
	.bze-button { font-size: var(--bze-font-size-button, 16px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-table th { font-size: var(--bze-font-size-button, 16px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-status-missing { font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-status-ok { font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-summary small { font-size: var(--bze-font-size-small, 14px); }
	.bze-summary strong { font-size: var(--bze-font-size-metric, 32px); }
	.bze-mapping-preview { font-size: var(--bze-font-size-small, 14px); }
	.bze-mapping-preview strong { font-size: var(--bze-font-size-small, 14px); }
	.bze-source { font-size: var(--bze-font-size-small, 14px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-table-wrap::before { font-size: var(--bze-font-size-button, 16px); }
	.bze-dashboard-card h2 { font-size: var(--bze-font-size-h2, 24px); font-weight: var(--bze-font-weight-heading, 700); }
	.bze-dashboard-value { font-size: var(--bze-font-size-metric, 32px); font-weight: var(--bze-font-weight-heading, 700); }
	.bze-dashboard-state { font-size: var(--bze-font-size-h3, 20px); }
	.bze-dashboard-state small { font-size: var(--bze-font-size-small, 14px); font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-dashboard-link { font-weight: var(--bze-font-weight-emphasis, 600); }
	.bze-dashboard-site-label { font-size: var(--bze-font-size-small, 14px); }
	.bze-dashboard-detail { font-size: var(--bze-font-size-small, 14px); }
	.bze-dashboard-status { font-weight: var(--bze-font-weight-emphasis, 600); }
}

/* 1.1.0: Gemeinsame Bildschirmwerte, nur an Orari-Flächen. */
@media screen {
	body.bze-plugin-page, body.bze-login-body, body.login, .bze-wrap, .bze-demo-banner {
		--bze-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
		--bze-font-size-body: 16px;
		--bze-font-size-small: 14px;
		--bze-font-size-button: 16px;
		--bze-font-size-clock-action: 20px;
		--bze-font-size-nav: 16px;
		--bze-font-size-mobile-nav: 14px;
		--bze-font-size-calendar: 16px;
		--bze-font-size-h3: 20px;
		--bze-font-size-h2: 24px;
		--bze-font-size-h1: 32px;
		--bze-font-size-metric: 32px;
		--bze-font-size-timer: 56px;
		--bze-font-weight-normal: 400;
		--bze-font-weight-emphasis: 600;
		--bze-font-weight-heading: 700;
		--bze-text-muted: #4f6472;
		--bze-table-head-text: #142e3e;
		--bze-status-text: #142e3e;
		font-family: var(--bze-font-family);
		font-size: var(--bze-font-size-body);
		font-weight: var(--bze-font-weight-normal);
		line-height: 1.5;
		letter-spacing: normal;
	}
	.bze-wrap :is(button,input,select,textarea), .bze-login-card :is(button,input), body.login :is(button,input) {
		font-family: var(--bze-font-family);
		font-size: var(--bze-font-size-body);
		font-weight: var(--bze-font-weight-normal);
		line-height: 1.5;
		letter-spacing: normal;
	}
	.bze-wrap :is(small,sup,sub), .bze-login-body small { font-size: var(--bze-font-size-small); line-height: 1.5; }
	.bze-wrap :is(strong,b), .bze-login-body :is(strong,b) { font-weight: var(--bze-font-weight-emphasis); }
	.bze-wrap :is(h1,h2,h3,h4), .bze-login-brand h1 { font-family: var(--bze-font-family); font-weight: var(--bze-font-weight-heading); letter-spacing: normal; line-height: 1.25; }
	.bze-wrap h1 { font-size: var(--bze-font-size-h1); }
	.bze-wrap h2 { font-size: var(--bze-font-size-h2); }
	.bze-wrap h3, .bze-wrap h4 { font-size: var(--bze-font-size-h3); }
	.bze-wrap :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]), .bze-login-card :is(input[type=text],input[type=password]) { box-sizing: border-box; height: auto; min-height: 48px; min-width: 0; max-width: 100%; }
	.bze-wrap :is(button,.bze-button,.bze-link-button,summary), .bze-login-card :is(button,input[type=submit]) { min-height: 48px; min-width: 48px; max-width: 100%; }
	.bze-wrap .bze-button, .bze-wrap .bze-tab, .bze-wrap .bze-link-button { font-size: var(--bze-font-size-button); font-weight: var(--bze-font-weight-emphasis); line-height: 1.4; white-space: normal; }
	.bze-wrap label:has(input:is([type=checkbox],[type=radio])), .bze-login-card label:has(input[type=checkbox]), .bze-wrap .bze-force-confirm { min-height: 48px; cursor: pointer; }
	.bze-wrap input:is([type=checkbox],[type=radio]), .bze-login-card input[type=checkbox] { flex-shrink: 0; width: 24px; height: 24px; min-height: 24px; }
	.bze-wrap .bze-table { font-size: var(--bze-font-size-body); }
	.bze-wrap .bze-table :is(th,td) { height: 44px; line-height: 1.5; padding: 12px 14px; }
	.bze-wrap .bze-table th { color: var(--bze-table-head-text); font-size: var(--bze-font-size-small); font-weight: var(--bze-font-weight-emphasis); text-transform: none; letter-spacing: normal; }
	.bze-wrap .bze-table :is(.bze-number,.bze-balance), .bze-wrap .bze-week-time, .bze-wrap [data-week-hours] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; overflow-wrap: normal; }
	.bze-wrap .bze-table tbody tr:nth-child(even) td { background: var(--bze-surface); }
	.bze-wrap .bze-table:not(.bze-team-table):not(.bze-week-overview) tbody:has(>tr:nth-child(10))>tr:nth-child(even)>td { background: color-mix(in srgb, var(--bze-bg) 35%, var(--bze-surface)); }
	.bze-wrap .bze-source-archive { color: var(--bze-status-text); }
	.bze-wrap .bze-tabs { flex-wrap: wrap; white-space: normal; overflow: visible; }
	.bze-wrap .bze-page-header, .bze-wrap .bze-section-heading { flex-wrap: wrap; }
	.bze-wrap .bze-page-header>div, .bze-wrap .bze-section-heading>div { min-width: 0; max-width: 100%; }
	.bze-wrap .bze-card, .bze-wrap .bze-panel, .bze-wrap .bze-form-grid>*, .bze-wrap .bze-dashboard-grid>* { min-width: 0; }
	.bze-wrap :is(.bze-person,.bze-crew-name,.bze-dashboard-detail) { min-width: 0; overflow-wrap: anywhere; }
}
@media screen and (max-width: 767px) {
	body.bze-plugin-page, body.bze-login-body, body.login, .bze-wrap { --bze-font-size-h2: 22px; --bze-font-size-h1: 28px; --bze-font-size-metric: 28px; --bze-font-size-timer: 48px; }
}

@media screen {
	.bze-wrap a:not(.bze-button) { display:inline-flex; align-items:center; min-height:48px; min-width:48px; max-width:100%; overflow-wrap:anywhere; }
}

/* 1.1.1: Flex-/Karten-Zellen brauchen eine Mindesthöhe statt einer festen Höhe. */
@media screen {
	.bze-wrap .bze-table td.bze-actions { height:auto; min-height:44px; }
}
@media screen and (max-width:767px) {
	.bze-wrap .bze-team-table td,
	.bze-wrap .bze-week-overview td,
	.bze-wrap .bze-konto-table :is(th,td) { height:auto; min-height:44px; }
}
@media screen and (max-width:640px) {
	.bze-wrap .bze-filters :is(.bze-field,.bze-grow) { flex-basis:auto; }
}

/* 1.1.2: Freigegebene Handy-Skala; Tablet, Desktop und Druck behalten den Bestand. */
@media screen and (max-width:767px) {
	body.bze-plugin-page, body.bze-login-body, body.login, .bze-wrap, .bze-demo-banner {
		--bze-font-size-body:15px;
		--bze-font-size-small:13px;
		--bze-font-size-button:15px;
		--bze-font-size-clock-action:18px;
		--bze-font-size-mobile-nav:12px;
		--bze-font-size-h1:22px;
		--bze-font-size-h2:18px;
		--bze-font-size-h3:16px;
		--bze-font-size-metric:24px;
		--bze-font-size-timer:40px;
	}
	/* Eingabefelder sind von der kleineren Textskala ausgenommen. */
	body.login :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]) { font-size:16px; }
}
