.nmb-app-wordmark {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.02em;
	color: var(--text-color);
	white-space: nowrap;
	max-width: 240px;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Navbar-Brand ist ein Flex-Item mit flex-shrink:1 — ohne explizite
 * Mindestgroesse shrinkt es auf 0 weil das innere <img> in einem
 * unknown-size Parent kollabiert. flex-shrink:0 + min-width auf den
 * Brand-Anchor garantiert, dass die Logo-Box (140x28 — siehe unten)
 * tatsaechlich Platz bekommt. */
.navbar .navbar-brand.navbar-home,
.navbar-brand.navbar-home {
	flex-shrink: 0;
	min-width: 140px;
}

.navbar .app-logo,
.navbar-brand .app-logo,
.navbar-brand.navbar-home .app-logo {
	/* Feste Pixel-Box statt width:auto. In Flex-Layout mit shrink:1
	 * kollabiert width:auto auf 0 (Replaced-Element Quirk). 140x28
	 * bietet Lese-Raum fuer typische Logo-Aspect-Ratios (4:1 bis 6:1).
	 * object-fit:contain skaliert das SVG ohne Distortion in die Box. */
	width: 140px;
	height: 28px;
	max-width: 140px;
	max-height: 28px;
	object-fit: contain;
	object-position: left center;
	display: block;
}

.page-card-head .app-logo {
	max-height: 80px;
	max-width: 260px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto 8px;
}

.page-card-head .nmb-app-wordmark {
	display: block;
	margin-bottom: 8px;
	font-size: 18px;
}

/* ── Accessibility: focus-visible ────────────────────────────── */

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

.nmb-home-table td:focus-visible,
.nmb-home-table th:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

/* ── Accessibility: skip-to-content ──────────────────────────── */

.nmb-skip-to-main {
	position: absolute;
	left: -9999px;
	z-index: 1000;
	padding: 12px 16px;
	background: var(--bg-color);
	border: 2px solid var(--primary);
	border-radius: var(--border-radius, 4px);
	font-size: var(--text-base, 14px);
	color: var(--text-color);
	text-decoration: none;
}

.nmb-skip-to-main:focus {
	left: 16px;
	top: 16px;
}

/* ── Realtime: row update highlight ──────────────────────────── */

.nmb-row--just-updated {
	animation: nmb-row-pulse 1.5s ease-out;
}

@keyframes nmb-row-pulse {
	0% { background-color: var(--bg-blue, rgba(37, 144, 239, 0.15)); }
	100% { background-color: transparent; }
}

/* ── Accessibility: live region for status announcements ──────── */

.nmb-home__status-announcement {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
