﻿.candidate-admin-photos {
			display: flex;
			justify-content: center;
			gap: 12px;
			margin: 0;
		}

		.candidate-admin-photos > div {
			float: none;
			width: 113px;
			padding: 0;
		}

		.candidate-admin-photos img {
			width: 100%;
		}

		.main-footer.admin-footer {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 4px;
			text-align: center;
		}

		.admin-footer-copyright,
		.admin-footer-credit {
			display: block;
		}

		.admin-footer-credit .fa-heart {
			margin: 0 2px;
			color: #e74c3c;
			animation: admin-heart-pulse 1s ease-in-out infinite;
		}

		@keyframes admin-heart-pulse {
			0%, 100% { transform: scale(1); }
			50% { transform: scale(1.3); }
		}

		@media (prefers-reduced-motion: reduce) {
			.admin-footer-credit .fa-heart { animation: none; }
		}

		.content-wrapper,
		.right-side {
			min-height: calc(100vh - 105px) !important;
			padding-bottom: 62px;
		}

		.main-footer.admin-footer {
			position: fixed;
			right: 0;
			bottom: 0;
			left: 230px;
			z-index: 820;
			min-height: 54px;
			margin-left: 0;
			background: #fff;
			box-shadow: 0 -1px 5px rgba(32, 52, 76, .08);
		}

		body.sidebar-collapse .main-footer.admin-footer {
			left: 50px;
		}

		#modal-tambah .voter-import-dialog {
			width: calc(100% - 30px);
			max-width: 600px;
			margin: 15px auto;
		}

		#modal-tambah .modal-content {
			display: flex;
			max-height: calc(100vh - 30px);
			flex-direction: column;
			overflow: hidden;
		}

		#modal-tambah .modal-header,
		#modal-tambah .modal-footer {
			flex: 0 0 auto;
		}

		#modal-tambah .voter-import-body {
			min-height: 0;
			overflow-y: auto;
			-webkit-overflow-scrolling: touch;
		}

		#modal-tambah .voter-import-instructions {
			margin-bottom: 15px;
			line-height: 1.6;
			text-align: left;
		}

		#modal-tambah .voter-import-actions {
			display: flex;
			min-height: 36px;
			align-items: center;
			gap: 12px;
			margin-bottom: 16px;
		}

		#modal-tambah #loading {
			display: none;
			width: 36px;
			height: 36px;
		}

		#modal-tambah .voter-import-form label {
			display: block;
			margin-bottom: 6px;
		}

		#modal-tambah .voter-import-form .form-control {
			width: 100%;
			height: auto;
			padding: 9px 10px;
		}

		#modal-tambah .modal-footer {
			background: #fff;
		}

		@media (max-width: 767px) {
			.content-wrapper,
			.right-side {
				min-height: calc(100vh - 155px) !important;
				padding-bottom: 62px;
			}

			.main-footer.admin-footer,
			body.sidebar-collapse .main-footer.admin-footer {
				left: 0;
			}

			#modal-tambah .voter-import-dialog {
				width: auto;
				margin: 10px;
			}

			#modal-tambah .modal-content {
				max-height: calc(100vh - 20px);
			}
		}

		.dashboard-page-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			min-height: 100px;
			padding: 20px 25px 18px;
			background: linear-gradient(120deg, #f8fbff 0%, #edf5ff 100%);
			border-bottom: 1px solid #e4edf7;
		}

		.dashboard-page-header h1 {
			margin: 0;
			color: #20344c;
			font-size: 25px;
			font-weight: 700;
		}

		.dashboard-page-title {
			display: flex;
			align-items: center;
			gap: 14px;
		}

		.dashboard-page-title p {
			margin: 5px 0 0;
			color: #718198;
			font-size: 13px;
		}

		.dashboard-page-breadcrumb {
			display: flex;
			align-items: center;
			gap: 10px;
			color: #63748a;
			font-size: 12px;
		}

		.dashboard-page-breadcrumb a {
			color: #3478c8;
		}

		.dashboard-page-breadcrumb a:hover {
			color: #245b9e;
		}

		.dashboard-page-icon {
			display: flex;
			width: 48px;
			height: 48px;
			align-items: center;
			justify-content: center;
			border-radius: 14px;
			background: #e1edff;
			color: #3478c8;
			font-size: 20px;
		}

		.dashboard-refresh-control {
			display: flex;
			align-items: center;
			gap: 11px;
			color: #63748a;
			font-size: 12px;
		}

		.dashboard-refresh-control .btn {
			min-width: 39px;
			border-color: #dce5ef;
			color: #63748a;
		}

		.dashboard-refresh-control .btn.active {
			border-color: #3478c8;
			background: #3478c8;
			color: #fff;
			box-shadow: none;
		}

		.dashboard-page-content {
			padding-top: 23px;
			background: #f5f7fb;
		}

		.dashboard-summary-heading {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin: 0 0 20px;
		}

		.dashboard-eyebrow {
			color: #4381c5;
			font-size: 10px;
			font-weight: 700;
			letter-spacing: 1.1px;
		}

		.dashboard-summary-heading h2 {
			margin: 5px 0 4px;
			color: #24364b;
			font-size: 21px;
			font-weight: 700;
		}

		.dashboard-summary-heading p,
		.dashboard-chart-heading p {
			margin: 0;
			color: #8290a3;
			font-size: 12px;
		}

		.dashboard-live-label {
			padding: 7px 11px;
			border: 1px solid #dcefe8;
			border-radius: 20px;
			background: #f1fbf7;
			color: #39866b;
			font-size: 11px;
			font-weight: 600;
		}

		.dashboard-live-label i {
			margin-right: 5px;
			color: #32b27b;
			font-size: 8px;
		}

		.dashboard-stat {
			position: relative;
			min-height: 145px;
			margin-bottom: 16px;
			padding: 19px 18px;
			overflow: hidden;
			border: 1px solid #edf0f5;
			border-radius: 12px;
			background: #fff;
			box-shadow: 0 4px 16px rgba(37, 61, 91, .045);
		}

		.dashboard-stat-icon {
			position: absolute;
			top: 17px;
			right: 17px;
			display: flex;
			width: 38px;
			height: 38px;
			align-items: center;
			justify-content: center;
			border-radius: 11px;
			font-size: 16px;
		}

		.stat-turnout .dashboard-stat-icon { background: #eaf2ff; color: #4385d2; }
		.stat-voters .dashboard-stat-icon { background: #e7f8f5; color: #24a58f; }
		.stat-voted .dashboard-stat-icon { background: #eaf8ed; color: #43a768; }
		.stat-pending .dashboard-stat-icon { background: #fff4e6; color: #e6a03d; }

		.dashboard-stat-label {
			margin: 1px 48px 11px 0;
			color: #718096;
			font-size: 12px;
			font-weight: 600;
		}

		.dashboard-stat-value {
			color: #25374d;
			font-size: 29px;
			font-weight: 700;
			line-height: 1.15;
		}

		.dashboard-stat-value small {
			margin-left: 2px;
			color: #8290a3;
			font-size: 15px;
		}

		.dashboard-stat-note {
			margin-top: 8px;
			color: #95a0ae;
			font-size: 11px;
		}

		.dashboard-progress-card,
		.dashboard-chart-card {
			border: 1px solid #edf0f5;
			border-radius: 12px;
			background: #fff;
			box-shadow: 0 4px 16px rgba(37, 61, 91, .045);
		}

		.dashboard-progress-card {
			margin: 1px 0 18px;
			padding: 17px 20px;
		}

		.dashboard-progress-copy {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 11px;
		}

		.dashboard-progress-copy strong,
		.dashboard-progress-copy span {
			display: block;
		}

		.dashboard-progress-copy strong {
			color: #304158;
			font-size: 13px;
		}

		.dashboard-progress-copy span {
			margin-top: 3px;
			color: #8794a5;
			font-size: 11px;
		}

		.dashboard-progress-copy > b {
			color: #3478c8;
			font-size: 16px;
		}

		.dashboard-progress-track {
			height: 7px;
			overflow: hidden;
			border-radius: 8px;
			background: #edf2f8;
		}

		.dashboard-progress-fill {
			height: 100%;
			border-radius: inherit;
			background: linear-gradient(90deg, #4c9ae8, #35b5aa);
			transition: width .4s ease;
		}

		.dashboard-chart-grid {
			display: flex;
			flex-wrap: wrap;
		}

		.dashboard-chart-grid > [class*="col-"] {
			display: flex;
			flex: 0 0 50%;
			max-width: 50%;
			margin-bottom: 16px;
		}

		.dashboard-chart-card {
			display: flex;
			flex-direction: column;
			width: 100%;
			min-height: 415px;
			min-width: 0;
			overflow: hidden;
			padding: 17px 15px 10px;
		}

		.dashboard-chart-heading {
			display: flex;
			align-items: center;
			gap: 11px;
			padding: 0 4px 9px;
			border-bottom: 1px solid #f0f2f6;
		}

		.dashboard-chart-heading h3 {
			margin: 0 0 3px;
			color: #304158;
			font-size: 14px;
			font-weight: 700;
		}

		.dashboard-chart-heading p {
			font-size: 11px;
		}

		.dashboard-chart-icon {
			display: flex;
			width: 35px;
			height: 35px;
			align-items: center;
			justify-content: center;
			border-radius: 10px;
		}

		.chart-icon-pie { background: #edf3ff; color: #4b83ce; }
		.chart-icon-bar { background: #e9f8f4; color: #29a38e; }

		.dashboard-chart {
			flex: 1 1 auto;
			width: 100%;
			height: 330px;
			min-width: 0;
			overflow: hidden;
		}

		.dashboard-chart-empty {
			display: flex;
			align-items: center;
			justify-content: center;
			color: #8290a3;
			font-size: 13px;
			font-weight: 600;
		}

		.dashboard-result-note {
			padding: 0 3px 4px;
			color: #7f8da0;
			font-size: 11px;
		}

		.dashboard-result-note i {
			margin-right: 4px;
			color: #548cca;
		}

		.dashboard-loading {
			padding: 55px 15px;
			color: #728198;
			text-align: center;
		}

		.dashboard-loading i {
			margin-right: 7px;
			color: #4385d2;
		}

		@media (max-width: 767px) {
			.dashboard-page-header {
				align-items: flex-start;
				gap: 14px;
				flex-direction: column;
				padding: 17px 15px;
			}

			.dashboard-page-header h1 { font-size: 21px; }
			.dashboard-page-icon { width: 42px; height: 42px; }
			.dashboard-refresh-control { align-self: flex-end; }
			.dashboard-page-breadcrumb { align-self: flex-end; }
			.dashboard-page-content { padding: 17px 10px; }
			.dashboard-summary-heading { align-items: flex-start; gap: 10px; }
			.dashboard-summary-heading h2 { font-size: 18px; }
			.dashboard-live-label { white-space: nowrap; }
			.dashboard-chart-grid > [class*="col-"] {
				flex: 0 0 100%;
				max-width: 100%;
			}
			.dashboard-chart-card { min-height: 375px; padding: 14px 10px 8px; }
			.dashboard-chart { height: 290px; }
			.dashboard-chart-heading { gap: 8px; }
			.dashboard-chart-heading p { line-height: 1.4; }
			.dashboard-stat { min-height: 130px; padding: 15px 12px; }
			.dashboard-stat-icon { top: 13px; right: 12px; width: 32px; height: 32px; }
			.dashboard-stat-label { margin-right: 35px; font-size: 11px; }
			.dashboard-stat-value { font-size: 24px; }
			.dashboard-stat-note { font-size: 10px; line-height: 1.35; }
			.dashboard-progress-card { padding: 14px; }
			.dashboard-progress-copy span { max-width: 230px; line-height: 1.4; }
		}

		@media (max-width: 400px) {
			.dashboard-live-label { padding: 6px 8px; font-size: 10px; }
			.dashboard-summary-heading { flex-wrap: wrap; }
			.dashboard-chart-card { min-height: 355px; }
			.dashboard-chart { height: 270px; }
			.dashboard-stat { min-height: 138px; }
			.dashboard-stat-label { min-height: 28px; }
			.dashboard-progress-copy span { max-width: 190px; }
		}
