.simkeu-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 1.5rem 1rem;
}

.simkeu-loader--content {
	min-height: 180px;
}

.simkeu-loader--compact {
	padding: .75rem;
	min-height: auto;
}

.simkeu-loader--compact .simkeu-loader__card {
	min-width: 160px;
	padding: .85rem 1rem;
	border-radius: 14px;
	box-shadow: 0 12px 24px rgba(15, 23, 42, 0.07);
}

.simkeu-loader--compact .simkeu-loader__spinner {
	width: 44px;
	height: 44px;
}

.simkeu-loader--compact .simkeu-loader__text {
	font-size: .86rem;
}

.simkeu-loader__card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .85rem;
	min-width: 180px;
	padding: 1.1rem 1.25rem;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(148, 163, 184, 0.28);
	box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
	backdrop-filter: blur(10px);
}

.simkeu-loader__spinner {
	position: relative;
	width: 54px;
	height: 54px;
}

.simkeu-loader__spinner::before,
.simkeu-loader__spinner::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 50%;
}

.simkeu-loader__spinner::before {
	border: 3px solid rgba(15, 118, 110, 0.16);
}

.simkeu-loader__spinner::after {
	border: 3px solid transparent;
	border-top-color: #0f766e;
	border-right-color: #0891b2;
	animation: simkeuLoaderSpin .9s linear infinite;
}

.simkeu-loader__spinner span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0f766e 0%, #06b6d4 100%);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 8px rgba(15, 118, 110, 0.12);
	animation: simkeuLoaderPulse 1.2s ease-in-out infinite;
}

.simkeu-loader__text {
	font-size: .92rem;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: .2px;
	text-align: center;
}

@keyframes simkeuLoaderSpin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes simkeuLoaderPulse {
	0%, 100% { transform: translate(-50%, -50%) scale(1); box-shadow: 0 0 0 8px rgba(15, 118, 110, 0.12); }
	50% { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 14px rgba(15, 118, 110, 0.08); }
}

/* ============================================================
   Text sharpening — pertajam warna teks konten
   ============================================================ */

/* Teks umum body / konten */
.content-page,
.content-page p,
.content-page span,
.content-page div {
	color: #1e293b;
}

/* Teks tabel */
.table td,
.table th {
	color: #1e293bdb !important;
}

/* Header kolom tabel (DataTables) */
table.dataTable thead th,
table.dataTable thead td {
	color: #0f172a !important;
	font-weight: 600 !important;
}

/* Teks label form */
.form-label,
.form-label-modern,
label {
	color: #1e293b !important;
	font-weight: 500 !important;
}

/* Heading h1–h5 di konten */
.content-page h1,
.content-page h2,
.content-page h3,
.content-page h4,
.content-page h5 {
	color: #0f172a !important;
}

/* Teks menu title sidebar */
#sidebar-menu .menu-title {
	color: #64748b !important;
}

/* ============================================================
   Form controls — warna input, select, textarea
   ============================================================ */

/* Input, select, textarea */
.form-control,
.form-select,
textarea.form-control {
	color: #1e293b !important;
	background-color: #ffffff !important;
	border-color: #c8d3e0 !important;
}

/* Placeholder lebih terang */
.form-control::placeholder,
textarea.form-control::placeholder {
	color: #94a3b8 !important;
	opacity: 1;
}

/* Focus state */
.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
	color: #0f172a !important;
	border-color: #1a73e8 !important;
	box-shadow: 0 0 0 0.2rem rgba(26, 115, 232, 0.18) !important;
	background-color: #ffffff !important;
}

/* Disabled state */
.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
	color: #64748b !important;
	background-color: #f1f5f9 !important;
	border-color: #dde3ec !important;
}

/* Input group addon */
.input-group-text {
	color: #475569 !important;
	background-color: #f1f5f9 !important;
	border-color: #c8d3e0 !important;
}


