html, body {
	height: 100%;
}

body {
	padding-top: 4.5rem;
}

main > .container, main > .container-fluid {
	padding: 20px 15px 40px;
	max-width: 100%;
}



/* ===================================================================================================================================================================== */
/* theme -- dark default, light override, agriculture accent palette */
/* ===================================================================================================================================================================== */

:root,
[data-bs-theme="dark"] {
	--bs-primary: #4caf50;
	--bs-primary-rgb: 76, 175, 80;
	--bs-success: #6ba946;
	--bs-warning: #d9a441;
	--bs-danger: #c0453b;
	--dfb-accent-soil: #8a6d3b;
	--dfb-body-bg: #14181b;
	--dfb-surface-bg: #1d2226;
}

[data-bs-theme="dark"] body {
	background-color: var( --dfb-body-bg );
}

[data-bs-theme="dark"] .navbar {
	background-color: #10130f;
	border-bottom: 1px solid #23291f;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .table {
	background-color: var( --dfb-surface-bg );
}

[data-bs-theme="light"] {
	--bs-primary: #2e7d32;
	--bs-primary-rgb: 46, 125, 50;
	--bs-success: #4b8b2b;
	--bs-warning: #b8790f;
	--bs-danger: #a3352b;
}

[data-bs-theme="light"] .navbar {
	background-color: #eef3ea;
	border-bottom: 1px solid #d6e0cf;
}

.navbar-brand,
.navbar .nav-link {
	color: var( --bs-emphasis-color, inherit );
}

.navbar .nav-link.active,
.navbar .nav-item.active .nav-link {
	color: var( --bs-primary );
	font-weight: 600;
}

.btn-primary {
	--bs-btn-bg: var( --bs-primary );
	--bs-btn-border-color: var( --bs-primary );
}



/* ===================================================================================================================================================================== */
/* visual aid overlay */
/* ===================================================================================================================================================================== */

.visual-aid-backdrop {
	position: fixed;
	inset: 0;
	z-index: 10000;
	pointer-events: none;
}

.visual-aid-spotlight {
	position: absolute;
	border-radius: 6px;
	box-shadow: 0 0 0 9999px rgba( 0, 0, 0, 0.65 );
	transition: all 0.2s ease-in-out;
	pointer-events: none;
}

.visual-aid-tooltip {
	position: absolute;
	z-index: 10001;
	max-width: 320px;
	pointer-events: auto;
}



/* ===================================================================================================================================================================== */
/* map split layout (land.list.php, land.action.list.php, map.php) */
/* ===================================================================================================================================================================== */

.dfb-map-split {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.dfb-map-split .dfb-map-pane {
	flex: 1 1 480px;
	min-height: 420px;
}

.dfb-map-split .dfb-table-pane {
	flex: 1 1 480px;
}



/* ===================================================================================================================================================================== */
/* print reports */
/* ===================================================================================================================================================================== */

@media print {

	nav, footer, .no-print {
		display: none !important;
	}

	body {
		padding-top: 0;
	}

}
