/* Touring Mitarbeiter-Frontend */

.touring-field-app {
	min-height: 100vh;
}

.tf-header {
	background-color: var(--bs-body-bg);
	backdrop-filter: blur(8px);
	z-index: 1030;
}

.tf-brand-icon {
	width: 2rem;
	height: 2rem;
	background: var(--bs-primary);
	color: var(--bs-white);
	font-size: 1rem;
}

.tf-emoji {
	font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
	line-height: 1;
}

.tf-header-dashboard {
	background-color: var(--bs-body-bg);
}

.tf-hd-label {
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--bs-secondary-color);
	line-height: 1.2;
	margin-bottom: 0.15rem;
}

.tf-hd-value {
	font-size: clamp(0.75rem, 2.8vw, 0.95rem);
	font-weight: 600;
	line-height: 1.25;
}

.tf-hd-sub {
	font-size: clamp(0.65rem, 2.4vw, 0.8rem);
	color: var(--bs-secondary-color);
	line-height: 1.2;
}

@media (max-width: 359.98px) {
	.tf-header-cols .tf-hd-value,
	.tf-header-cols .tf-hd-sub {
		font-size: 0.65rem;
	}
	.tf-hd-label {
		font-size: 0.58rem;
	}
}

#tfProfileBtn {
	color: var(--bs-body-color);
	line-height: 1;
}

#tfProfileBtn.tf-inbox-pulse {
	animation: tfInboxPulse 0.55s ease-in-out 3;
}

@keyframes tfInboxPulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.08); }
}

#tfInboxBadge {
	font-size: 0.65rem;
	min-width: 1.1rem;
}

.tf-theme-choice {
	padding: 0.65rem 0.85rem;
	border-radius: 0.5rem;
}

.btn-check:checked + .tf-theme-choice {
	border-color: var(--bs-primary);
	background-color: rgba(var(--bs-primary-rgb), 0.08);
}

#tfInboxBody {
	min-height: 4rem;
	max-height: 40vh;
	overflow-y: auto;
}

.tf-inbox-unread {
	border-left: 3px solid var(--bs-danger);
	background-color: rgba(var(--bs-danger-rgb), 0.06);
}

.tf-urgency-bars {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	height: 0.9rem;
	vertical-align: middle;
}

.tf-urgency-bar {
	display: inline-block;
	width: 5px;
	height: 35%;
	background-color: var(--bs-secondary-bg);
	border-radius: 1px;
}

.tf-urgency-bar.tf-urgency-on {
	background-color: var(--bs-warning);
}

.tf-urgency-bar:nth-child(5).tf-urgency-on {
	background-color: var(--bs-danger);
	height: 100%;
}

.tf-object-card {
	cursor: pointer;
	border: 1px solid var(--bs-border-color);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
	color: inherit;
}

.tf-object-card:hover,
.tf-object-card:focus {
	transform: translateY(-1px);
	box-shadow: var(--bs-box-shadow) !important;
	color: inherit;
}

.tf-object-card:active {
	transform: translateY(0);
}

.tf-object-card .h5 {
	font-size: clamp(1.1rem, 2.5vw, 1.35rem);
}

.tf-job-btn {
	min-height: 3.25rem;
	text-align: left;
}

.border-dashed {
	border-style: dashed !important;
}

@media (min-width: 992px) {
	.tf-job-btn {
		min-height: 2.75rem;
	}
}

[data-bs-theme="dark"] .tf-header {
	background-color: rgba(var(--bs-body-bg-rgb), 0.92);
}

[data-bs-theme="dark"] .tf-object-card.border-warning {
	border-color: var(--bs-warning) !important;
}
