@charset "UTF-8";

:root, [data-bs-theme=light] {
	--bs-font-sans-serif: "Open Sans", Inter, Helvetica, "sans-serif";
	--bs-btn-font-family: var(--bs-font-sans-serif) !important;
	--bs-body-text-align: right;
}

html, body {
	font-family: "Open Sans", Inter, Helvetica, "sans-serif";
}

#kt_wrapper {
	padding-top: 0 !important;
}

#plus-button {
	position: sticky;
	display: flex;
	top: 105px;
	left: 0;
	width: 45px;
	height: 45px;
	margin-left: 15px;
	margin-right: auto;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	z-index: 110;
}

#plus-button i {
	display: block;
	width: auto;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	font-size: 24px;
	line-height: 1;
	transform: none !important;
}

/*general*/
.cursor-pointer {
	cursor: pointer;
}

.income-title-margin {
	margin: 0 50px 25px !important;
}

.btn-submit .indicator-progress {
	display: none;
}

.btn-submit:disabled .indicator-progress, .btn-submit[disabled] .indicator-progress {
	display: inline-block;
}

.btn-submit:disabled .text, .btn-submit[disabled] .text {
	display: none;
}

.btn-export-csv {
	transform: translateY(-6px);
	border: 1px solid #022561 !important;
	color: #022561 !important;
	font-size: 0.875rem !important;
	border-radius: 50rem !important;
	align-items: center !important;
	padding: 0.25rem 1rem 0.25rem 1rem !important;
	transition: all 0.2s ease;
}

.btn-generate-report {
	border: 1px solid #022561 !important;
	color: #022561 !important;
	font-size: 0.875rem !important;
	border-radius: 50rem !important;
	align-items: center !important;
	padding: 0.25rem 1rem 0.25rem 1rem !important;
	transition: all 0.2s ease;
}

.btn-generate-report:hover {
	background-color: #cad5e8 !important;
	/*color: #FFFFFF !important;*/
}

.ps-25 {
	padding-inline-start: 6.5rem !important;
}

.bg-dark-blue {
	background-color: #022561;
}

.file-input-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.file-upload-label {
	width: 160px;
	height: 200px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	cursor: pointer;

	border: 2px dashed #28428f;
	border-radius: 0.75rem;
	background-color: #f9fff9;
	transition: border-color 0.3s ease, background-color 0.3s ease;

	box-shadow: 0 4px 12px rgba(40, 66, 143, 0.2);
	color: #b0c4f1;
}

.file-upload-label:hover {
	border-color: #3c5de5;
	background-color: #e2e9fc;
}

.file-upload-label.drag-over {
	border-color: #1a3dd9;
	background-color: #dde7ff;
}

.file-upload-label small.upload-hover {
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
	text-align: center;

	opacity: 0;
	transition: opacity 0.3s ease;
	font-size: 0.9rem;
	color: #28428f;
	font-weight: 500;
	pointer-events: none;
}

.file-upload-label:hover small.upload-hover {
	opacity: 1;
}

.pdf-preview {
	width: 200px;
	height: 200px;
	cursor: pointer;
}

.table th {
	background-color: #f8f9fa !important;
	font-weight: 600;
	white-space: nowrap;
}

/* hide dt search */
.dataTables_filter {
	display: none;
}

.modal-header.bg-primary {
	border-bottom: none;
}

.tooltip-dark {
	background-color: transparent !important;
	box-shadow: none !important;
}

.tooltip-dark .tooltip-inner {
	background-color: #000 !important;
	color: #fff !important;
	font-size: 0.85rem;
	padding: 4px 6px;
	border-radius: 4px;
	text-align: center;
	max-width: 200px;
}

/* black arrow tooltip */
.tooltip-dark .tooltip-arrow::before {
	border-top-color: #000 !important;
}

.text-decoration-underline:hover {
	color: #28a745;
}

.table-default thead {
	position: sticky;
	top: -40px;
	z-index: 10;
	background-color: transparent !important;
	box-shadow: none;
	border-bottom: none;
}

.table-default thead th {
	background-color: transparent !important;
	color: #7e8299;
	font-weight: 600;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.table-default thead tr.filters th {
	padding: 0;
}

table.table.dataTable > tbody > tr {
	border: none;
	background-color: white;
}

.table-default tbody tr.group {
	background-color: #e2e8f0;
	font-weight: bold;
	font-size: 1.5rem;
	padding: 12px 16px;
	border-radius: 5px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
	margin-top: 20px;
}

.table-default tbody tr.group td {
	border-radius: 10px;
	padding: 12px 16px;
}

.table-default tbody tr {
	transition: all 0.15s ease;

}

.table-default tbody tr:hover {
	background-color: #f1f5f9;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	transform: scale(1.000);
	cursor: pointer;
}

.table:not(.table-bordered) tr:first-child, .table:not(.table-bordered) th:first-child, .table:not(.table-bordered) td:first-child {
	padding-right: 10px;
}

.table:not(.table-bordered) tr:last-child, .table:not(.table-bordered) th:last-child, .table:not(.table-bordered) td:last-child {
	padding-left: 10px;
}

.truncate {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	max-width: 100px;
	font-size: 1rem;
}

/* separate months */
.empty-spacer-row {
	height: 25px !important;
	cursor: default !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.month-header-row {
	border-bottom: 1px solid #dee2e6 !important;
	cursor: default !important;
	border-top: none !important;

}

.month-header-cell {
	padding: 12px 15px !important;
	border-top-left-radius: 12px !important;
	border-top-right-radius: 12px !important;

}

.month-title-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.month-title-text {
	font-weight: 700;
	font-family: "Calibri Light";
	color: #495057;
	text-align: right;
}

.btn-row-group {
	opacity: 0;
	transition: opacity 0.2s ease;
}

tr:hover .btn-row-group {
	opacity: 1;
}

.close-btn {
	background: rgba(255, 255, 255, 0.2);
	border: none;
	color: white;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease;
}

.close-btn:hover {
	background: rgba(255, 255, 255, 0.3);
}

.close-window-btn {
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
	padding: 2px;
}

.close-window-btn:hover {
	background: #e9ecef;
	color: #000;
}

/* DataTables */
.dt-container > .row:first-child > div:first-child label {
	display: none;
}

.dt-default table {
	border-spacing: 2px;
	border-collapse: separate;
}

.dt-default table tr th, .dt-default table tr td {
	padding: 1px;
}

.dt-default table tr th, .dt-default table tr td {
	text-align: right;
}
