#chart-loading {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 10;
	}

	.spinner {
		width: 40px;
		height: 40px;
		border: 5px solid #ddd;
		border-top-color: #eb4b5a;
		border-radius: 50%;
		animation: spin 0.8s linear infinite;
	}

	@keyframes spin {
		to {
			transform: rotate(360deg);
		}
	}

	#chart-dashboard {
		display: none;
	}

	.land-dashboard {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	.land-dashboard-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.land-card {
		position: relative;
		background: #fff;
		border: 1px solid #d9e1ea;
		border-radius: 28px;
		padding: 28px 28px 22px;
		box-shadow: 0 12px 30px rgba(0, 0, 0, .05);
		overflow: hidden;
	}

	.land-card::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 6px;
		background: linear-gradient(90deg, #0d63a8 0%, #2f8bd9 100%);
	}

	.land-card__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin-bottom: 18px;
		flex-wrap: wrap;
	}

	.land-card__title {
		font-size: 28px;
		font-weight: 800;
		line-height: 1.2;
		color: #073a68;
		margin: 0;
	}

	.land-card__total {
		font-size: 24px;
		font-weight: 700;
		color: #5f6f86;
		white-space: nowrap;
	}

	.land-card__total strong {
		color: #0d63a8;
		font-size: 28px;
		font-weight: 900;
	}

	.land-card__rows {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.land-card__row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		padding: 22px 24px;
		border: 1px solid #d9e1ea;
		border-radius: 24px;
		background: #fff;
		flex-wrap: wrap;
	}

	.land-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 98px;
		padding: 12px 20px;
		border-radius: 999px;
		font-size: 20px;
		font-weight: 800;
		line-height: 1;
		border: 1px solid transparent;
	}

	.land-badge--public,
	.land-badge--finish {
		background: #edf6ff;
		color: #0d63a8;
		border-color: #c9ddf1;
	}

	.land-badge--private,
	.land-badge--process {
		background: #fff5ea;
		color: #cc7200;
		border-color: #f1cfaa;
	}

	.land-row__value {
		font-size: 28px;
		font-weight: 900;
		color: #063f73;
		white-space: nowrap;
	}

	.land-row__value small {
		font-size: 18px;
		font-weight: 700;
		color: #5f6f86;
	}

	.land-row__sub {
		margin-top: 8px;
		font-size: 16px;
		font-weight: 600;
		color: #5f6f86;
	}

	.map-card {
		position: relative;
		background: #fff;
		border: 1px solid #d9e1ea;
		border-radius: 28px;
		padding: 28px;
		box-shadow: 0 12px 30px rgba(0, 0, 0, .05);
		overflow: hidden;
	}

	.map-card::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 6px;
		background: linear-gradient(90deg, #0d63a8 0%, #2f8bd9 100%);
	}

	.map-card__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin-bottom: 20px;
		flex-wrap: wrap;
	}

	.map-card__title {
		font-size: 26px;
		font-weight: 800;
		color: #073a68;
		margin: 0;
	}

	.map-card__legend {
		font-size: 18px;
		font-weight: 700;
		color: #5f6f86;
	}

	.map-card__body {
		border: 1px solid #d9e1ea;
		border-radius: 24px;
		padding: 20px;
		background: #fcfdff;
	}

	.map-wrap {
		width: 100%;
		overflow: auto;
	}

	.map-wrap svg {
		width: 100%;
		height: auto;
		display: block;
		min-width: 720px;
	}

	.map-shape {
		stroke: #ffffff;
		stroke-width: 6;
		filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .10));
	}

	.map-label-main {
		font-size: 34px;
		font-weight: 900;
		fill: #ffffff;
		paint-order: stroke;
		stroke: rgba(6, 44, 76, .45);
		stroke-width: 6;
	}

	.map-label-sub {
		font-size: 16px;
		font-weight: 800;
		fill: #ffffff;
		paint-order: stroke;
		stroke: rgba(6, 44, 76, .45);
		stroke-width: 4;
	}

	@media (max-width: 991.98px) {
		.land-dashboard-grid {
			grid-template-columns: 1fr;
		}

		.land-card__title,
		.map-card__title {
			font-size: 24px;
		}

		.land-card__total {
			font-size: 20px;
		}

		.land-card__total strong,
		.land-row__value {
			font-size: 24px;
		}
	}

	@media (max-width: 575.98px) {

		.land-card,
		.map-card {
			padding: 22px 18px 18px;
			border-radius: 22px;
		}

		.land-card__row {
			padding: 18px 16px;
		}

		.land-badge {
			min-width: 84px;
			font-size: 18px;
			padding: 10px 16px;
		}

		.land-row__value {
			font-size: 22px;
		}

		.land-row__sub {
			font-size: 14px;
		}
	}