/* width */
::-webkit-scrollbar {
	width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
	background: #f0f3f5;
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: #257260;
}

/* scrollbar table */
.scrollbar-custom::-webkit-scrollbar {
	height: 14px !important;
}

.scrollbar-custom {
	overflow-x: scroll;
	transform: rotateX(180deg);
}

.scrollbar-custom > table {
	white-space: nowrap;
	transform: rotateX(180deg);
}

/**
 * Align
 */
.align-center {
	text-align: center !important;
}

.align-left {
	text-align: left !important;
}

.align-right {
	text-align: right !important;
}

/**
 * End align
 */

/**
 * Padding style
 */

.pr-25px {
	padding-right: 25px;
}

.pt-0px {
	padding-top: 0px;
}

.pl-15px {
	padding-left: 15px;
}

.pr-15px {
	padding-right: 15px;
}

.p-0px {
	padding: 0px;
}

.pb-15px {
	padding-bottom: 15px;
}

.pl-0px {
	padding-left: 0px;
}

.pr-0px {
	padding-right: 0px;
}

.px-3rem {
	padding-left: 0.3rem;
	padding-right: 0.3rem;
}

/**
 * End padding style
 */

/**
 * Margin style
 */

.mt-5px {
	margin-top: 5px;
}

.mt-15px {
	margin-top: 15px;
}

.mb-0px {
	margin-bottom: 0px;
}

.mb-30px {
	margin-bottom: 30px;
}

/**
 * End margin style
 */

/**
 * Template
 */

.fs-12px {
	font-size: 12px;
}

.i-checks {
	font-size: 12px;
	margin-bottom: 0px;
}

.tittle-header {
	padding-bottom: 15px;
	margin-top: 15px;
	color: #000000;
	margin-bottom: 15px;
	width: 100%;
	border-bottom: 1px solid #dddddd;
}

.pagination {
	font-size: 11px;
}

.ui-select-bootstrap .ui-select-match .btn-default {
	height: 28px;
	font-size: 11px;
}

.ui-select-toggle {
	padding-top: 5px;
}

.ui-select-bootstrap .ui-select-choices-row > span {
	font-size: 11px;
}

.ui-select-search {
	font-size: 11px;
	height: 28px;
}

.sidebar .nav-item a {
	font-size: 11px;
}

.angka {
	text-align: center;
}

.angka-custom {
	text-align: center;
}

.badge-table {
	font-size: 11px;
}

.input-group-sm {
	height: 28px;
}

.input-group-sm .input-group-text {
	font-size: 11px;
}

.rp {
	text-align: right;
}

.required::after {
	content: "*";
	color: red;
}

.steps-indicator li.current a:before {
	background-color: #31b5f5 !important;
}

body {
	background-color: #f6f7f7;
}

.app-header.navbar .navbar-brand {
	padding: 0px;
	padding-right: 0px;
	border-right: 1px solid #f0f3f5;
	position: relative;
	height: 93px;
	font-size: 20px;
	border-bottom: none;
	background-color: #ffff;
	width: 200px;
	text-align: center;
	border-bottom: 1px solid #f0f3f5;
}

.navbar-brand {
	margin-top: 5px;
}

.navbar-brand-text {
	margin-top: 8px;
}

.img-brand {
	height: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.box-shadow {
	border-radius: 5px;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.card-footer {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

/**
 * End template
 */

/** 
 * Password Checker
 */

input.ng-pristine + ul#strength {
	display: none;
}

ul#strength {
	/*display: inline;*/
	list-style: none;
	margin: 0;
	/*margin-left: 15px;*/
	padding: 0;
	vertical-align: 2px;
}

.point:last {
	margin: 0 !important;
}

.point {
	background: #ddd;
	border-radius: 2px;
	display: inline-block;
	height: 5px;
	margin-right: 1px;
	width: 20px;
}

.point-text {
	background: #ddd;
	display: inline-block;
	height: 5px;
	margin-right: 1px;
	margin-left: 4px;
	background-color: transparent;
	font-size: 11px;
}

.help-block-sm {
	font-size: 11px;
	margin-bottom: 0px;
}

/** End Password Checker */

/**
 * Table
 */

.table td,
.table th {
	border-top: 1px solid #c8ced3;
	padding: 5px;
	font-size: 11px;
	/* cursor: pointer; */
}

.table:not(.clear) td,
.table th {
	cursor: pointer;
}

.table td,
.table th {
	vertical-align: middle;
}

.table thead tr th {
	height: 35px;
	border-bottom: 1px solid #c8ced3;
	vertical-align: middle;
}

.table-striped td {
	border-top: none;
}

/**
 * End table
 */

/**
 * Tabel Laporan
 */
.table-laporan tr {
	background-color: #e3f1f31f;
	border-bottom: none;
}

.table-laporan td {
	border: none !important;
}

.table-laporan tbody + tbody {
	border-top: none;
}

.table-laporan tbody tr:nth-of-type(odd) {
	background-color: rgba(57, 143, 163, 0.12);
}

.table-laporan thead tr {
	background-color: #398fa3;
	color: white;
}

.table-laporan tbody tr th {
	background-color: #398fa3;
	color: white;
}

.table-laporan tfoot tr {
	background-color: #398fa3;
	color: white;
}

.header-laporan {
	margin: 0px;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
}

.content-center {
	text-align: center;
}

.header-laporan-wrapper {
	margin-bottom: 15px;
	margin-top: 15px;
	color: #525252;
}

.table-laporan thead tr th {
	border-bottom: none;
	border-top: none;
	vertical-align: middle;
	height: auto;
}

/**
 * End tabel laporan
 */

/**
 * Sweet alert
 */

.swal2-popup .swal2-title {
	font-size: 20px;
}

.swal2-popup #swal2-content {
	font-size: 16px;
	text-align: center;
}

/**
 * Medium
 */

.medium-editor-toolbar li button {
	min-width: 35px !important;
	height: 35px !important;
	padding: 5px !important;
}

.card-header strong {
	font-size: 14px;
}

.card-header strong {
	font-size: 14px;
}

.card-header-white {
	background-color: #fff;
	border-bottom: 1px solid #e4e5e6;
}

.modal-xl {
	min-width: 90% !important;
}

.modal-xl-custom {
	min-width: 80% !important;
}

.modal-xm {
	width: 400px !important;
}

/*-----*/
/*! CSS Used from: http://akademik.sunsal.or.id/app/css/style.css */
.i-checks {
	padding-left: 20px;
	cursor: pointer;
}

.i-checks input {
	position: absolute;
	margin-left: -20px;
	opacity: 0;
}

.i-checks input:checked + i {
	border-color: #23b7e5;
}

.i-checks input:checked + i:before {
	top: 4px;
	left: 4px;
	width: 10px;
	height: 10px;
	background-color: #23b7e5;
}

.i-checks > i {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-top: -2px;
	margin-right: 4px;
	margin-left: -20px;
	line-height: 1;
	vertical-align: middle;
	background-color: #fff;
	border: 1px solid #cfdadd;
}

.i-checks > i:before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	background-color: transparent;
	content: "";
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.list-group-item {
	padding: 5px 6px;
}

.bg-secondary-light {
	background-color: #ececec;
	color: black;
}

.input-group-append .btn,
.input-group-prepend .btn {
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}

.form-control:disabled,
.form-control[readonly] {
	background-color: #edf1f4;
}

.col-form-label {
	line-height: 1;
}

.bg-success-gradient {
	background: linear-gradient(45deg, #4dbc74, #c2e1ec);
	color: #ffffff;
}

.kasir .card-footer,
.kasir .card-header {
	padding-top: 10px;
	padding-bottom: 8px;
	padding-left: 15px;
	padding-right: 15px;
}

.badge-info {
	color: #ffffff;
}

.kasir .badge-info {
	font-size: 11px;
}

.footer-kasir {
	position: fixed;
	bottom: 0px;
	width: 100%;
	background-color: #ffffff;
	border-top: 1px solid #dddddd;
}

.footer-kasir .col-md-12 {
	padding-top: 5px;
	padding-bottom: 5px;
}

#hover-table:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

#hover ul li:hover {
	background-color: rgba(0, 0, 0, 0.1);
}

.ibg-hayyu-hijau {
	background-color: #257260 !important;
	color: #ffffff !important;
}

.ibg-hayyu-hijau:hover {
	background-color: #257260 !important;
	color: #ffffff !important;
}

.ibg-hayyu-hijau:focus {
	outline: #257260a8 !important;
}

.bg-hayyu-hijau {
	background-color: #257260;
	color: #ffffff;
}

.bg-hayyu-hijau:hover {
	background-color: #257260;
	color: #ffffff;
}

.bg-hayyu-hijau:focus {
	outline: #257260a8 !important;
}

.bg-hayyu-gold {
	background-color: #e2c992;
	border: 1px solid #e2c992;
	font-weight: bold;
	color: #000000;
}

.bg-hayyu-gold:hover {
	background-color: #e2c992;
}

.bg-hayyu-gold-custom {
	background-color: #e2c992;
	border: 1px solid #e2c992;
	font-weight: bold;
	color: #000000;
}

.bg-hayyu-gold-custom:hover {
	background-color: #e2c992;
	color: green;
}

.bg-hayyu-grey {
	background-color: #e6f0ef;
	color: #1f1f1f;
}

.bg-hayyu-grey:hover {
	background-color: #e6f0ef;
	color: #1f1f1f;
}

.bg-hayyu-grey:focus {
	outline: #e6f0ef !important;
}

/*.kasir .form-group .btn-group .active{*/
/*    background-color: #257260;*/
/*}*/

.kasir .btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
	background-color: #257260;
}

.color-hayyu {
	background-color: #257260;
	color: white;
}

#month-only + div thead {
	display: none;
}

.cust-no-caret .caret {
	display: none;
}

/* Lucide Icon */
.lucide-64 {
	height: 64px;
	width: 64px;
}

.lucide-32 {
	height: 32px;
	width: 32px;
}

.lucide-24 {
	height: 24px;
	width: 24px;
}

.lucide-20 {
	height: 20px;
	width: 20px;
}

.lucide-16 {
	height: 16px;
	width: 16px;
}

.lucide-14 {
	height: 14px;
	width: 14px;
}

.lucide-12 {
	height: 12px;
	width: 12px;
}

.lucide-sidebar {
	display: inline-block;
	width: 20px;
	margin: 0 0.5rem 0 0;
	font-size: 14px;
	color: #536c79;
	text-align: center;
}

.navbar .sidebar .active.dropdown-toggle .lucide-sidebar,
.sidebar .nav-link.active .lucide-sidebar,
.sidebar .navbar .active.dropdown-toggle .lucide-sidebar {
	color: #20a8d8;
}

/* Anis Style */
.btn.btn-hayyu {
	border-radius: 0;
	background-color: white;
	border: solid 1px #c2cfd6;
	font-size: 0.76562rem;
	padding-block: 4px;
}

.btn.btn-hayyu.active {
	background-color: #257260;
	font-weight: 500;
	color: white;
}

.column-1 {
	column-count: 1;
}

.column-2 {
	column-count: 2;
}

.column-3 {
	column-count: 3;
}

.column-4 {
	column-count: 4;
}

@media (min-width: 576px) {
	.column-sm-1 {
		column-count: 1;
	}

	.column-sm-2 {
		column-count: 2;
	}

	.column-sm-3 {
		column-count: 3;
	}

	.column-sm-4 {
		column-count: 4;
	}
}

@media (min-width: 768px) {
	.column-md-1 {
		column-count: 1;
	}

	.column-md-2 {
		column-count: 2;
	}

	.column-md-3 {
		column-count: 3;
	}

	.column-md-4 {
		column-count: 4;
	}
}

@media (min-width: 992px) {
	.column-lg-1 {
		column-count: 1;
	}

	.column-lg-2 {
		column-count: 2;
	}

	.column-lg-3 {
		column-count: 3;
	}

	.column-lg-4 {
		column-count: 4;
	}
}

@media (min-width: 1200px) {
	.column-xl-1 {
		column-count: 1;
	}

	.column-xl-2 {
		column-count: 2;
	}

	.column-xl-3 {
		column-count: 3;
	}

	.column-xl-4 {
		column-count: 4;
	}
}

.break-inside-avoid {
	page-break-inside: avoid;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	-moz-column-break-inside: avoid;
}

.break-inside-auto {
	page-break-inside: auto;
	break-inside: auto;
	-webkit-column-break-inside: auto;
	-moz-column-break-inside: auto;
}

.break-before-auto {
	page-break-before: auto;
	break-before: auto;
}

.break-before-avoid {
	page-break-before: avoid;
	break-before: avoid;
}

.break-before-always {
	page-break-before: always;
	break-before: always;
}

.break-after-auto {
	page-break-after: auto;
	break-after: auto;
}

.break-after-avoid {
	page-break-after: avoid;
	break-after: avoid;
}

.break-after-always {
	page-break-after: always;
	break-after: always;
}

.item-news {
	display: inline-flex;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	padding-bottom: 0.5rem;
	border-radius: 0.75rem;
	justify-content: center;
	align-items: center;
	background: rgba(230, 240, 239, 1);
	color: rgba(0, 100, 98, 1);
	font-weight: 400;
	line-height: 25.09px;
	font-size: 14px;
}

.header-full-green {
	width: 100%;
	font-size: 18px;
	color: rgba(0, 100, 98, 1) !important;
	font-weight: 400;
	line-height: 27.81px;
	position: relative;
	flex: start;
	text-align: start;
	justify-content: start;
	padding-bottom: 18px;
	margin-bottom: 28px;
}

.header-full-green::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(89.84deg, #007573 0%, #d9d9d9 100%);
}

.header-full-gray {
	width: 100%;
	font-size: 18px;
	color: rgba(109, 111, 120, 1) !important;
	font-weight: 400;
	line-height: 27.81px;
	position: relative;
	flex: start;
	text-align: start;
	justify-content: start;
	padding-bottom: 18px;
	margin-bottom: 28px;
}

.header-full-gray::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(89.84deg, #007573 0%, #d9d9d9 100%);
}

.btn-export {
	width: 135px;
	height: 32px;
	padding: 7px 11px;
	border-radius: 5px;
	font-size: 0.72rem;
	background-color: white;
	border: 1px solid #006462;
	color: #006462;
}

.btn-action {
	width: auto;
	height: 32px;
	border-radius: 6px;
	padding: 8px 12px;
	background-color: white;
	border: 1px solid #006462;
	color: #006462;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.bg-hayyu-hijau-new {
	background-color: #006462 !important;
	color: #ffffff !important;
}

.bg-hayyu-hijau-new:hover {
	background-color: #006462 !important;
	color: #ffffff !important;
}

.bg-hayyu-hijau-new:hover {
	background-color: #006462;
	color: #ffffff;
}

.bg-hayyu-hijau-new:focus {
	outline: none !important;
}

.bg-hayyu-grey-new {
	background-color: #b0cfce !important;
	color: #1f1f1f !important;
}

.bg-hayyu-grey-new:hover {
	background-color: #b0cfce !important;
	color: #1f1f1f !important;
}

.bg-hayyu-grey-new:hover {
	background-color: #b0cfce;
	color: #1f1f1f;
}

.bg-hayyu-grey-new:focus {
	outline: none !important;
}

.btn-outline-hayyu {
	color: #006462;
	background-color: transparent;
	border-color: #006462;
}

.btn-outline-hayyu:hover {
	background-color: #006462 !important;
	color: #ffffff !important;
}

.badge-green-new {
	display: inline-block;
	background-color: #e3f7ee;
	border: 1px solid #1ea973;
	border-radius: 9px;
	padding: 2px 8px;
	color: #0f7a4f;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	white-space: nowrap;
}

.badge-blue-new {
	display: inline-block;
	background-color: #d9f0fb;
	border: 1px solid #0989c4;
	border-radius: 9px;
	padding: 2px 8px;
	color: #05628f;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	white-space: nowrap;
}

.badge-red-new {
	display: inline-block;
	background-color: #fbe2e2;
	border: 1px solid #d61f1f;
	border-radius: 9px;
	padding: 2px 8px;
	color: #a30f0f;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	white-space: nowrap;
}

.badge-yellow-new {
	display: inline-block;
	background-color: #fbf3d3;
	border: 1px solid #c9970a;
	border-radius: 9px;
	padding: 2px 8px;
	color: #8a660a;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	white-space: nowrap;
}

.hr-50 {
	width: 50%;
	border-top: 0;
	height: 1px;
	background: linear-gradient(89.84deg, #007573 0%, #d9d9d9 100%);
}

.hr-25 {
	width: 25%;
	border-top: 0;
	height: 1px;
	background: linear-gradient(89.84deg, #007573 0%, #d9d9d9 100%);
}

.hr-10 {
	width: 10%;
	border-top: 0;
	height: 1px;
	background: linear-gradient(89.84deg, #007573 0%, #d9d9d9 100%);
}

/* Button styling — pindah ke css/_button.css */

.pagination-template {
	margin-top: 8px;
	/* margin-left: 1rem;
    margin-right: 1rem; */
	gap: 0.5rem;
	flex-wrap: wrap;
	align-content: center;

	.pagination {
		margin-bottom: 0;

		a {
			border-color: #e0e2eb;
			color: #006462;

			&.foreground {
				color: #b5b7c4;
			}
		}

		.active a {
			color: #006462;
			background-color: #e6f0ef;
			border-color: #e0e2eb;
		}
	}

	@media (max-width: 576px) {
		.pagination,
		div {
			width: clamp(286px, 100%, 340px);
		}
	}

	.options-mobile {
		gap: 1rem;
		align-items: center;
		color: #006462;

		select {
			height: 30px;
			color: #006462;
			border: 1px solid #c8ced3;
			padding-left: 6px;
			font-weight: 500;
		}
	}
}

.uiselect-filtertable {
	.ui-select-search.form-control {
		height: 32px;
		border-radius: 8px !important;
		background-color: white;
		/* padding: 4px; */
		outline: none;
		box-shadow: none;
		border: 1px solid #b2b2b2 !important;
	}

	.form-control:focus {
		box-shadow: none;
		outline: none;
		border: 1px solid #016463 !important;
	}

	.form-control::placeholder {
		font-size: 11px;
		font-family: "Montserrat", sans-serif;
	}

	.dropdown-menu {
		top: 130%;
		border-radius: 8px;
		font-size: 11px;
		font-family: "Montserrat", sans-serif;
	}

	.ui-select-choices-row-inner {
		padding: 8px 12px;
	}
}

input-field,
number-field {
	.input-form {
		width: 100%;
		border-radius: 7px;
		padding-top: 7px;
		padding-bottom: 7px;
		padding-right: 11px;
		padding-left: 11px;
		border: 1px solid #b2b2b2;
		color: #3e3f44;
	}

	.input-form:focus {
		outline: none;
		box-shadow: none;
	}

	.input-form::placeholder {
		font-size: 11px;
		font-weight: 300;
		line-height: 21px;
		color: #d4d4d4;
	}
}

.z-top {
	z-index: 1060 !important;
}

enum-field {
	.ui-select-container {
		border-radius: 7px !important;
		background-color: white;
		padding: 3px;
		outline: none;
		box-shadow: none;
		border: 1px solid #b2b2b2 !important;

		.form-control {
			border: 0;

			&:focus,
			&:active {
				outline: none !important;
				box-shadow: none !important;
				-webkit-box-shadow: none !important;
			}
		}
	}

	.ui-select-container input,
	.ui-select-container .btn-default {
		background-color: white !important;
		text-align: left;
	}
}

.enum-field .ui-select-choices-row.active .ui-select-choices-row-inner {
	img {
		filter: invert(1);
	}
}

.bg-freebies {
	background-color: #beb491 !important;
}

.navbar .nav-notification {
	display: block;
}
.navbar .nav-notification-mobile {
	display: none;
}
@media (max-width: 768px) {
	.navbar {
		height: 63px;

		.nav-notification {
			display: none;
		}
		.nav-notification-mobile {
			display: block;
		}
	}
}

.tableComponent {
	.all-periode.input-group-text {
		border: 1px solid #016463 !important;
		background-color: #e6f1f1 !important;
		border-radius: 7px 0 0 7px !important;
		color: #3e3e3e !important;
	}

	.daterangepicker.dropdown-menu {
		display: block !important;
		width: auto !important;
	}

	.datepicker.input-group {
		width: 31.5ch !important;
	}

	@media (max-width: 575.98px) {
		.datepicker.input-group {
			width: 100% !important;
			min-width: 100%;
		}
	}

	.datepicker.form-check-input {
		border: 1px solid #3e3e3e;
	}

	.datepicker.input-group-sm {
		height: 32px !important;
	}

	/* .datepicker.input-group {
        .datepicker-input {
            border: 1px solid #EEEEEE !important;
            color: #6D6F78 !important;
            border-radius: 0 !important;
            border: 0 !important;
            text-align: center;
        }

    } */

	.datepicker-input {
		color: #6d6f78 !important;
		border-radius: 0 !important;
		border: 0 !important;
		text-align: center;
		min-width: 27ch;
	}

	.input-flatpickr.form-control {
		border-radius: 7px 0 0 7px !important;
	}

	.form-control:focus {
		box-shadow: none;
		outline: none;
	}

	.dropdown-menu {
		border-radius: 7px !important;
		border: none;
		box-shadow: 0px 5px 17px 0px rgba(0, 0, 0, 0.1) !important;
		z-index: 9999 !important;
	}

	.dropdown-item {
		border-bottom: 1px solid #e0e2eb;
	}
}

.select-table-component {
	.ui-select-search.form-control {
		width: 100%;
		height: 32px;
		border-radius: 7px !important;
		background-color: white;
		padding: 4px;
		outline: none;
		box-shadow: none;
		border: none;
	}

	.dropdown-menu {
		min-width: 100% !important;
		top: 120% !important;
	}

	.ui-select-choices-row.active > span {
		background-color: #006462 !important;
	}
}

/* ========================================
   TABLE STYLING SYSTEM
   ======================================== */

/* Standard Table Styles */

/* Wrapper untuk tabel dengan sticky column — rounded + scroll dari luar */
/* Gunakan ini sebagai pengganti .table-responsive kalau ada kolom sticky */
.table-style-wrapper {
	border-radius: 10px;
	overflow: hidden;
}

.table-style-wrapper .table-overflow {
	overflow-x: auto;
}

/* Tabel di dalam wrapper tidak perlu overflow: hidden sendiri */
.table-style-wrapper .table-style {
	border-radius: 0;
	overflow: visible;
}

.table-style {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 0;
	border: 0 !important;
}

.table-style thead {
	background-color: #b0cfce;
	color: #1f1f1f;
}

.table-style thead th {
	border-bottom: none;
	border-top: none;
	vertical-align: middle;
	height: auto;
	padding: 10px;
	font-size: 11px;
	font-weight: 600;
}

.table-style tbody {
	background-color: #f8f9fa;
}

.table-style tbody tr {
	transition: background-color 0.2s ease;
}

.table-style tbody tr:nth-child(even) {
	background-color: #ffffff;
}

.table-style tbody tr:nth-child(odd) {
	background-color: #f7fafa;
}

/* !important dipakai karena TC v2/v3 pakai inline ng-style even/odd di <tr>.
   Inline style menang lawan selector CSS normal; !important jadi satu-satunya
   cara override tanpa refactor template AngularJS. */
.table-style tbody tr:hover,
.table-style tbody tr:hover > td {
	background-color: #e6f0ef !important;
}
.table-style.table-nohover tbody tr:hover {
	background-color: unset;
}
.table-style.table-nohover tbody tr:nth-child(odd):hover {
	background-color: #f7fafa !important;
}
.table-style.table-nohover tbody tr:nth-child(even):hover {
	background-color: #ffffff !important;
}

.table-style tbody td {
	padding: 8px 10px;
	font-size: 11px;
	vertical-align: middle;
	border-top: none;
}

/* Cari tbody yang TIDAK punya .ng-hide, dan pastikan setelahnya tidak ada tbody aktif lain */
.table-style tbody:not(.ng-hide):not(:has(~ tbody:not(.ng-hide))) tr:last-child td:first-child,
.table-style tbody:not(.ng-hide):not(:has(~ tbody:not(.ng-hide))) tr:last-child th:first-child {
    border-bottom-left-radius: 10px;
}

.table-style tbody:not(.ng-hide):not(:has(~ tbody:not(.ng-hide))) tr:last-child td:last-child,
.table-style tbody:not(.ng-hide):not(:has(~ tbody:not(.ng-hide))) tr:last-child th:last-child {
    border-bottom-right-radius: 10px;
}

.table-style tfoot,
.table-style tbody tr.bg-report-gold {
	background-color: #ebe8dd;
	color: #1f1f1f;
}

.table-style tfoot td,
.table-style tfoot th {
	padding: 10px;
	font-size: 11px;
	font-weight: 500;
	border-top: none;
}

/* Rounded bawah tfoot — aktif kalau ada tfoot */
.table-style tfoot tr:last-child td:first-child,
.table-style tfoot tr:last-child th:first-child {
	border-bottom-left-radius: 10px;
}

.table-style tfoot tr:last-child td:last-child,
.table-style tfoot tr:last-child th:last-child {
	border-bottom-right-radius: 10px;
}

/* Modal Table Styles */
.modal-table-wrapper {
	border-radius: 10px;
	overflow: hidden;
}

.modal-table {
	margin-bottom: 0;
	border-radius: 10px;
	overflow: hidden;
}

.modal-table thead {
	background-color: #b0cfce;
}

.modal-table thead th {
	padding: 10px;
	font-size: 11px;
	font-weight: 600;
	border: none;
	vertical-align: middle;
}

.modal-table tbody tr {
	background-color: #ffffff;
}

.modal-table tbody tr:nth-child(even) {
	background-color: #f7fafa;
}

.modal-table tbody tr:hover {
	background-color: #e6f0ef;
}

.modal-table tbody td {
	padding: 8px 10px;
	font-size: 11px;
	vertical-align: middle;
	border-top: 1px solid #b2b2b2;
}

/* Form Builder Table Styles */
.form-builder-table.table-bordered,
.form-builder-table.table-bordered thead tr:first-child th,
.form-builder-table.table-bordered tbody tr:first-child td {
	border-top: none;
}

.form-builder-table.table-bordered thead th:first-child,
.form-builder-table.table-bordered tbody td:first-child,
.form-builder-table.table-bordered tfoot td:first-child {
	border-left: none;
}

.form-builder-table.table-bordered thead th:last-child,
.form-builder-table.table-bordered tbody td:last-child,
.form-builder-table.table-bordered tfoot td:last-child {
	border-right: none;
}

.form-builder-table.table-bordered tfoot tr:last-child td {
	border-bottom: none;
}

.form-builder-table {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 0;
}

.form-builder-table thead {
	background-color: #b0cfce;
}

.form-builder-table thead th {
	padding: 10px;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
}

.form-builder-table tbody {
	background-color: #f8f9fa;
}

.form-builder-table tbody tr {
	background-color: #ffffff;
}

.form-builder-table tbody tr:nth-child(even) {
	background-color: #f7fafa;
}

.form-builder-table tbody td {
	padding: 8px;
	font-size: 11px;
	vertical-align: middle;
}

.form-builder-table tbody tr:last-child td {
	border-bottom: 0;
}

.form-builder-table tfoot {
	background-color: #b0cfce;
}

.form-builder-table tfoot td {
	padding: 10px;
	font-size: 11px;
}

/* Table Responsive Wrapper */
.table-responsive-hayyu {
	border-radius: 10px;
}

.table-responsive-hayyu.table-bordered {
	border: 1px solid #b2b2b2;
	overflow: hidden;
}

.table-responsive-hayyu .ui-select-placeholder {
	width: unset!important;
	height: unset!important;
}

/* Loading State */
.table-loading tbody tr td {
	text-align: center;
	padding: 20px;
	color: #6c757d;
}

/* Empty State */
.table-empty tbody tr td {
	text-align: center;
	padding: 20px;
	color: #6c757d;
}

/* Utility Classes for Tables */
.table-sm-padding tbody td,
.table-sm-padding thead th {
	padding: 5px !important;
}

.table-md-padding tbody td,
.table-md-padding thead th {
	padding: 8px !important;
}

.table-lg-padding tbody td,
.table-lg-padding thead th {
	padding: 12px !important;
}

/* Table Border Variants */
.table-bordered-hayyu {
	border: 1px solid #b2b2b2;
}

.table-bordered-hayyu thead th,
.table-bordered-hayyu tbody td {
	border: 1px solid #b2b2b2;
}

/* Table Bordered — hindari double border */
.table-bordered {
	border-collapse: separate;
	border-spacing: 0;
}

.table-bordered thead th,
.table-bordered tbody td {
	border-top: none;
	border-right: none;
	border-left: 1px solid #c8ced3;
	border-bottom: 1px solid #c8ced3;
}

.table-bordered thead th:last-child,
.table-bordered tbody td:last-child {
	border-right: 1px solid #c8ced3;
}

/* No Hover Effect */
.table-no-hover tbody tr:hover {
	background-color: inherit !important;
}

/* Intro JS */
.introjs-helperLayer {
	box-shadow: #006462 0px 0px 1px 2px, rgba(33, 33, 33, 0.5) 0px 0px 0px 5000px !important;
}

.introjs-tooltip .introjs-tooltip-header {
	padding-top: 0;
}

.introjs-tooltip .introjs-tooltip-title {
	font-size: 16px;
	font-weight: 600;
}

.introjs-tooltip .introjs-tooltip-content {
	font-size: 12px;
}

.introjs-tooltip .introjs-tooltiptext {
	padding-top: 0;
	padding-bottom: 0;
}

.introjs-tooltip .introjs-tooltipbuttons {
	display: flex;
	justify-content: end;
}

.introjs-tooltip .introjs-helperNumberLayer {
	bottom: 17px;
	left: 10px;
	position: absolute;
	padding: 0;
}

.introjs-tooltip .introjs-tooltipbuttons .introjs-button {
	height: auto;
	min-width: auto;
	border-radius: 5px;
	padding: 5px 12px;
	cursor: pointer;
	font-size: 0.75rem;
	text-align: center;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	text-shadow: none;
}

.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-prevbutton {
	border: 1px solid #006462 !important;
	color: #006462 !important;
	background-color: transparent;
	background-image: none;
	margin-right: 6px;
}

.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-prevbutton:hover,
.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-prevbutton:focus {
	border: 1px solid #006462 !important;
	color: #006462 !important;
	background-color: transparent;
	background-image: none;
	outline: none !important;
}

.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-nextbutton,
.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-donebutton {
	background-color: #006462;
	background-image: none;
	border-color: #006462;
	color: white;
}

.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-nextbutton:hover,
.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-nextbutton:focus,
.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-donebutton:hover,
.introjs-tooltip .introjs-tooltipbuttons .introjs-button.introjs-donebutton:focus {
	background: linear-gradient(135deg, #006462 0%, #004d4b 100%) !important;
	border-color: #006462 !important;
	box-shadow: 0 4px 12px 0 rgba(0, 100, 98, 0.3) !important;
	color: #eaf4f6;
	outline: none !important;
}

.app-icon {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.app-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

.app-icon-img {
    width: 24px;
    height: 24px;
    display: block;
}

/* Size variations */
.app-icon.icon-sm svg,
.app-icon.icon-sm img {
    width: 16px;
    height: 16px;
}

.app-icon.icon-lg svg,
.app-icon.icon-lg img {
    width: 30px;
    height: 30px;
}

.app-icon.icon-2lg svg,
.app-icon.icon-2lg img {
    width: 40px;
    height: 40px;
}

.app-icon.icon-xl svg,
.app-icon.icon-xl img {
    width: 48px;
    height: 48px;
}

.main .banner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 1.4625rem;
    background-color: #006462;
}

.main .banner h1,
.main .banner p {
    color: #ffffff;
}

.main .banner h1 {
    font-size: large;
    font-weight: 600;
    margin-bottom: 0;
}

.main .banner p {
    margin-bottom: 0;
}

.main .banner .banner-action .btn:hover {
    color: #006462;
    background-color: #ffffff;
}

.main .banner .banner-action .btn {
    height: 32px;
    font-size: 0.72rem;
    line-height: 0;
    display: flex;
    align-items: center;
    border-radius: 5px;
}