/** @format */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@media (prefers-contrast: more) {
	:root {
		--text-color: black;
	}
}

@font-face {
	font-family: 'Poppins';
	src: url('/fonts/Poppins-Regular.ttf');
	font-weight: 400;
	font-style: normal;
}

.datepicker {
	z-index: 9999 !important;
}

.ui-sortable-helper {
	display: table;
	background-color: #fff3cd;
}

html {
	font-size: 14px;
	position: relative;
	min-height: 100%;
}

.printable {
	display: none;
}

@media print {
	@page {
		size: auto;
		margin: 1cm;
	}

	label {
		font-weight: 600;
	}

	.no-printable {
		display: none !important;
	}

	.no-printable-td {
		visibility: hidden !important;
	}

	.printable {
		display: block !important;
	}

	.quebra-pagina {
		break-before: page;
	}

	.input-group > span {
		display: none;
	}

	.input-group > input {
		border: none;
		border-bottom: 1px solid #ced4da;
	}

	.input-group-text {
		display: block;
	}
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}
.btn-outline-success {
	color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}
.btn-outline-success:hover {
	color: white !important;
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}

body {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400;
}

.poppins-thin {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 100;
	font-style: normal;
}

.poppins-extralight {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 200;
	font-style: normal;
}

.poppins-light {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 300;
	font-style: normal;
}

.poppins-regular {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400;
	font-style: normal;
}

.poppins-medium {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 500;
	font-style: normal;
}

.poppins-semibold {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600;
	font-style: normal;
}

.poppins-bold {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700;
	font-style: normal;
}

.poppins-extrabold {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 800;
	font-style: normal;
}

.poppins-black {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 900;
	font-style: normal;
}

.poppins-thin-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 100;
	font-style: italic;
}

.poppins-extralight-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 200;
	font-style: italic;
}

.poppins-light-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 300;
	font-style: italic;
}

.poppins-regular-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400;
	font-style: italic;
}

.poppins-medium-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 500;
	font-style: italic;
}

.poppins-semibold-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600;
	font-style: italic;
}

.poppins-bold-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700;
	font-style: italic;
}

.poppins-extrabold-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 800;
	font-style: italic;
}

.poppins-black-italic {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 900;
	font-style: italic;
}

.datepicker td,
th {
	text-align: center;
	padding: 8px 12px;
	font-size: 14px;
}

td.active {
	color: white !important;
	display: revert !important;
}

#lista-grupos > *:checked {
	background-color: var(--primary-color) !important;
	color: white !important;
}

.step {
	display: none;
}

.active {
	display: block;
}

input:focus {
	border: 1px solid var(--primary-color);
	outline: 0;
}

input:checked {
	accent-color: var(--primary-light);
	color: white;
	border: 1px solid var(--primary-color);
	outline: 0;
}

.invalid {
	border: 1px solid #ffaba5;
}

.progress {
	margin-bottom: 20px;
}

.app-btn-outline-primary {
	border-color: var(--primary-color);
	color: var(--primary-color);
	background-color: white;
	flex: 0 0 auto !important;
}

.btn-check:checked + .app-btn-outline-primary {
	background-color: var(--primary-color);
	color: white;
	transition: 0.15s ease-in-out;
}

.app-btn-outline-primary:hover {
	background-color: var(--primary-color);
	color: white;
}

.app-btn-primary,
.app-bg-primary {
	background-color: var(--primary-color);
	color: var(--text-color);
	transition: 0.15s ease-in-out;
	color: white;
}

.app-bg-secondary {
	background-color: var(--primary-dark);
}

.app-btn-primary:hover {
	background-color: var(--primary-dark);
	cursor: pointer;
	color: white;
}

.navbar-nav:nth-of-type(1) .nav-item {
	transition: 0.1s ease-in-out;
}

.navbar-nav:nth-of-type(1) .nav-item:hover {
	color: var(--primary-dark);
	background-color: rgba(var(--primary-dark), 0.08);
}

.navbar-nav .dropdown ul a {
	transition: 0.1s ease-in-out;
}

.navbar-nav .dropdown ul a:hover {
	color: var(--primary-dark);
	/* background-color: transparent; */
	background-color: rgba(var(--primary-dark-rgb), 0.08);
}

.page-link {
	color: var(--primary-color);
}

.dt-paging-button.page-item > .page-link:hover {
	color: hsl(from var(--primary-color) h s calc(l - 7));
}

.dt-paging-button.page-item.active > .page-link {
	background-color: var(--primary-color);
	border: 1px solid var(--primary-color);
}

.dt-paging-button.page-item.active > .page-link:hover {
	color: white;
}

.app-text-primary {
	color: var(--primary-color) !important;
}

.app-background-primary {
	background-color: var(--primary-color) !important;
	color: white !important;
}

.app-text-secondary {
	color: black !important;
}

.shake {
	position: relative;
	animation-name: shakeAnim;
	animation-duration: 1s;
	animation-timing-function: ease-in;
}

@keyframes shakeAnim {
	0% {
		left: 0;
	}

	10% {
		left: -3px;
	}

	20% {
		left: 3px;
	}

	30% {
		left: -8px;
	}

	40% {
		left: 8px;
	}

	50% {
		left: -5px;
	}

	60% {
		left: 3px;
	}

	70% {
		left: 0;
	}
}

.btns-header > button {
	transition: 0.15s ease-in-out;
}

.btns-header > button:hover {
	transform: scale(1.5);
}

.apexcharts-legend {
	justify-content: center !important;
	top: 0 !important;
}

.grid-stack-item-content {
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

ol li::marker {
	font-weight: bold;
	color: var(--primary-color);
	font-size: 1.1em;
}

#list-anexos i {
	transition: 0.1s ease-in-out;
}

#list-anexos i:hover {
	transform: scale(1.3);
}

#canvas {
	border: 2px dotted #cccccc;
	border-radius: 15px;
	cursor: crosshair;
}

canvas {
	touch-action: none;
}

.grid-stack {
	background: #efefef;
}

.grid-stack-item-content {
	background-color: white;
	border-radius: 0.3rem;
}

.btns-header > button {
	transition: 0.15s ease-in-out;
}

.btns-header > button:hover {
	transform: scale(1.5);
}

.app-bg-warning {
	background-color: #fff3cd;
}

.nav-link {
	color: #6c757d;
}

.nav-link:hover {
	color: var(--primary-color);
}

#notificationDropdown::after {
	display: none;
}

.grabbing * {
	cursor: grab;
}

@keyframes blinkBorder {
	0% {
		background-color: #dc3545;
	}

	50% {
		background-color: transparent;
	}

	100% {
		background-color: #dc3545;
	}
}

.template-pmp {
	height: 100%;
}

::-webkit-scrollbar {
	width: 7px;
	height: 7px;
}

::-webkit-scrollbar-track {
	background: #ffffff !important;
}

::-webkit-scrollbar-thumb {
	background-color: var(--primary-color) !important;
	border-radius: 5px !important;
}

#calendar::-webkit-scrollbar,
#tab-menu::-webkit-scrollbar {
	display: none;
}

.accordion-button::after {
	background-image: initial;
}

.accordion-button:not(.collapsed)::after {
	background-image: initial;
}

#calendar td.fc-day-sun,
#calendar td.fc-day-sat {
	background-color: rgb(240, 240, 240);
}

#modal-substituir-tag-nfc,
#modal-acesso-contratos {
	z-index: 1060 !important;
}

.fc-event-local {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	max-width: 280px;
}

.fc-local {
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	max-width: auto;
}

.fc-list-day-text {
	color: var(--primary-color) !important;
}

.fc-list-day-side-text {
	color: var(--primary-color) !important;
}

.select2-search__field,
.select2-selection {
	box-shadow: none !important;
	border: 1px solid #ced4da !important;
}

#login-submit {
	transition: 0.15s ease-in-out;
}

#login-submit:hover {
	background-color: #c62828;
}

.form-check-input:checked {
	background-color: var(--primary-light);
	border-color: var(--primary-dark);
}

.datepicker table tr td.active.active {
	background-color: var(--primary-dark) !important;
	background-image: none !important;
}

.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
	background-color: var(--primary-light) !important;
	background-image: none !important;
}

select option:hover {
	background-color: var(--primary-light) !important;
	color: white !important;
}

.dropdown-submenu {
	position: relative;
}

.dropdown-submenu .dropdown-menu {
	top: 100%;
	left: 0;
	margin-top: 0;
	margin-left: 0;
	position: absolute;
}

.dropdown-submenu:hover .dropdown-menu {
	display: block;
}

.dropdown-submenu .dropdown-toggle::after {
	transform: rotate(0deg);
}

.dropdown-submenu .dropdown-menu {
	border-radius: 0.375rem;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.fc-button-primary {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
}

.fc-button-primary:hover {
	background-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	color: white !important;
}

.fc-button-primary:focus {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
	box-shadow: 0 0 0 0.2rem rgba(210, 36, 38, 0.25) !important;
}

.fc-button-primary:not(:disabled):active {
	background-color: hsl(from var(--primary-color) h s calc(l - 10)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 10)) !important;
	color: white !important;
}

.fc-button-primary:disabled {
	background-color: #6c757d !important;
	border-color: #6c757d !important;
	color: white !important;
}

.fc-today-button {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
}

.fc-today-button:hover {
	background-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	color: white !important;
}

.fc-prev-button,
.fc-next-button {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
}

.fc-prev-button:hover,
.fc-next-button:hover {
	background-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	color: white !important;
}

.fc-configs-button {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
}

.fc-configs-button:hover {
	background-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	color: white !important;
}

.fc-goToDate-button {
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
	color: white !important;
}

.fc-goToDate-button:hover {
	background-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	border-color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
	color: white !important;
}

.fc-goToDate-button .input-group-text {
	background-color: transparent !important;
	border-color: transparent !important;
	color: white !important;
}

.fc-goToDate-button .form-control {
	border-color: transparent !important;
	background-color: transparent !important;
	color: white !important;
}

.fc-goToDate-button .form-control::placeholder {
	color: rgba(255, 255, 255, 0.7) !important;
}

.fc-goToDate-button .form-control:focus {
	border-color: rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25) !important;
	color: white !important;
}

.fc-daygrid-day-number {
	color: var(--primary-color) !important;
	font-weight: 600 !important;
}

.fc-daygrid-day-number:hover {
	color: hsl(from var(--primary-color) h s calc(l - 7)) !important;
}

.fc-day-today .fc-daygrid-day-number {
	background-color: var(--primary-color) !important;
	color: white !important;
	border-radius: 50% !important;
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: bold !important;
}

.fc-col-header-cell-cushion {
	color: var(--primary-color) !important;
	font-weight: 600 !important;
}

.fc-toolbar-title {
	color: var(--primary-color) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
}

.fc-timegrid-slot-label-cushion {
	color: var(--primary-color) !important;
	font-weight: 500 !important;
}

.fc-timegrid-axis-cushion {
	color: var(--primary-color) !important;
	font-weight: 500 !important;
	text-align: center !important;
}

.fc-more-link {
	color: var(--primary-color) !important;
	font-weight: 600 !important;
	background-color: var(--primary-dark) !important;
	border: 1px solid var(--primary-color) !important;
	border-radius: 4px !important;
	padding: 2px 6px !important;
}

.fc-more-link:hover {
	background-color: var(--primary-color) !important;
	color: white !important;
}

.fc-event-title {
	color: white !important;
	font-weight: 500 !important;
}

div.dt-scroll-body {
	border-width: 1px !important;
}

@media (max-width: 1199px) {
	.fc-toolbar-chunk {
		flex-wrap: wrap !important;
		gap: 0.5rem !important;
	}

	.fc-button {
		font-size: 0.875rem !important;
		padding: 0.375rem 0.75rem !important;
	}

	.fc-toolbar-title {
		font-size: 1.25rem !important;
	}

	.fc-goToDate-button {
		width: 150px !important;
	}

	.fc-goToDate-button .form-control {
		font-size: 0.875rem !important;
	}

	#linhas-template-pmp {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.modal-fullscreen-xl-down .modal-content {
		height: fit-content !important;
	}
}

#calendar {
	max-height: calc(100vh - 200px) !important;
	overflow-y: auto !important;
}

#modal-agenda-tecnicos .modal-body {
	max-height: calc(100vh - 250px) !important;
	padding-bottom: 1rem !important;
}

#calendar-tecnicos {
	max-height: 100% !important;
	overflow-y: auto !important;
}

#calendar-tecnicos .fc-view-harness {
	max-height: calc(100vh - 450px) !important;
}

.fc-view-harness {
	max-height: calc(100vh - 200px) !important;
}

.fc-scroller {
	max-height: calc(100vh - 200px) !important;
	overflow-y: auto !important;
}

.fc-view-harness.vh-100 {
	height: auto !important;
	max-height: calc(100vh - 300px) !important;
}

.container-fluid {
	min-height: auto !important;
}

body {
	overflow-x: hidden !important;
}

.btn-outline-success {
	color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}
.btn-outline-success:hover {
	color: white !important;
	background-color: var(--primary-color) !important;
	border-color: var(--primary-color) !important;
}

@media (min-width: 768px) and (max-width: 991px) {
	.modal-dialog {
		margin: 1rem;
		max-width: calc(100% - 2rem);
	}

	.row-cols-2 > * {
		flex: 0 0 50%;
		max-width: 50%;
	}

	.row-cols-3 > * {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

@media (min-width: 992px) {
	.modal-dialog {
		margin: 1.75rem auto;
	}
}

.sp-replacer {
	width: 100% !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

.sp-preview {
	width: 90% !important;
}
.sp-dd {
	padding: 2px 8px !important;
}

.content {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.custom-filters-container {
	margin-bottom: 20px;
}

.filters-content {
	margin-top: 2em;
}

.multiselect-dropdown {
	position: relative;
}

.multiselect-input {
	position: relative;
	cursor: pointer;
}

.multiselect-display {
	border-radius: 6px;
	border: 1px solid #ced4da;
	padding: 8px 35px 8px 12px;
	font-size: 0.875rem;
	background-color: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.multiselect-display:focus {
	border-color: var(--primary-light);
	box-shadow: 0 0 0 0.25rem var(--primary-dark);
	outline: none;
}

.multiselect-arrow {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #6c757d;
	font-size: 0.75rem;
	transition: transform 0.2s ease;
	pointer-events: none;
}

.multiselect-arrow.rotated {
	transform: translateY(-50%) rotate(180deg);
}

.multiselect-dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid #ced4da;
	border-radius: 6px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	max-height: 300px;
	overflow: hidden;
	display: none;
}

.multiselect-dropdown-menu.show {
	display: block;
}

.multiselect-search {
	padding: 8px;
	border-bottom: 1px solid #e9ecef;
}

.multiselect-search input {
	border: 1px solid #ced4da;
	border-radius: 4px;
	padding: 6px 8px;
	font-size: 0.8rem;
	width: 100%;
}

.multiselect-search input:focus {
	border-color: var(--primary-light);
	box-shadow: 0 0 0 0.2rem var(--primary-dark);
	outline: none;
}

.multiselect-options {
	max-height: 200px;
	overflow-y: auto;
	padding: 4px 0;
}

.multiselect-option {
	display: flex;
	align-items: center;
	padding: 8px 12px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	font-size: 0.875rem;
	margin: 0;
}

.multiselect-option:hover {
	background-color: #f8f9fa;
}

.multiselect-option input[type='checkbox'] {
	margin-right: 8px;
	margin-bottom: 0;
}

.dt-search input,
.dt-length select,
.multiselect-display,
.multiselect-search input {
	border-radius: 6px;
	border: 1px solid #ced4da;
	font-size: 0.875rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dt-search input:focus,
.dt-length select:focus,
.multiselect-display:focus,
.multiselect-search input:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 0.25rem var(--primary-dark);
	outline: none;
}

.dt-search {
	position: relative;
	margin-right: 15px;
}

.dt-search input {
	padding-right: 35px;
}

.dt-search::after {
	content: '\f002';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #ced4da;
	pointer-events: none;
	font-size: 0.875rem;
}

@media (max-width: 768px) {
	hr {
		margin-bottom: 0 !important;
	}
	.mx-0.mx-lg-5 {
		padding: 2rem !important;
	}

	#btn-toggle-filtros {
		overflow: visible !important;
		position: relative !important;
	}

	#span-filtros {
		position: absolute !important;
		top: -10px !important;
		left: 25px !important;
		transform: none !important;
		z-index: 10 !important;
		min-width: 18px !important;
		height: 18px !important;
		font-size: 0.75rem !important;
		line-height: 1 !important;
		padding: 2px 6px !important;
		border-radius: 9px !important;
		background-color: var(--primary-dark) !important;
		color: white !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
		white-space: nowrap !important;
	}

	#span-filtros:empty {
		display: none !important;
	}

	.d-flex.justify-content-between,
	.dt-buttons.btn-group,
	.dataTables_wrapper > div:first-child {
		overflow: visible !important;
	}

	.custom-filters-container .btn {
		padding: 0.5rem;
		min-width: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 0.8rem;
	}

	.custom-filters-container .btn i {
		margin: 0 !important;
		font-size: 0.875rem;
	}

	.custom-filters-container .btn i.me-2 {
		margin-right: 0 !important;
	}

	.custom-filters-container {
		margin-bottom: 1rem;
	}

	.multiselect-dropdown-menu {
		max-height: 250px;
	}

	.multiselect-options {
		max-height: 150px;
	}

	.multiselect-option {
		padding: 6px 10px;
		font-size: 0.8rem;
	}

	.dt-search {
		min-width: 200px;
	}

	.dt-search input {
		min-width: 200px;
		font-size: 0.8rem;
	}

	.table-responsive {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.table {
		font-size: 0.75rem;
		min-width: 100%;
	}

	.table th,
	.table td {
		padding: 0.4rem 0.3rem;
		font-size: 0.7rem;
		white-space: nowrap;
	}

	.table th,
	.table td {
		display: table-cell !important;
		visibility: visible !important;
	}

	.dt-length,
	.dt-search,
	.dt-info,
	.dataTables_paginate {
		font-size: 0.8rem;
	}

	.dt-length label {
		display: none;
	}

	.dt-length select {
		margin-left: 0;
	}

	.dataTables_wrapper .dataTables_paginate {
		float: none !important;
		text-align: center !important;
		justify-content: center;
		display: flex;
		margin-top: 1rem;
	}

	.dataTables_wrapper .dataTables_paginate .paginate_button {
		padding: 0.25rem 0.5rem;
		font-size: 0.8rem;
		margin: 0 0.1rem;
		border: 1px solid #dee2e6;
		border-radius: 0.25rem;
	}

	.dataTables_wrapper .dataTables_paginate .paginate_button.current {
		background: var(--primary-color) !important;
		color: white !important;
		border-color: var(--primary-color) !important;
	}

	.dataTables_wrapper .dataTables_info {
		float: left;
		margin-top: 0.5rem;
		font-size: 0.8rem;
	}

	::-webkit-scrollbar {
		display: none;
	}
	.table th,
	.table td {
		padding: 0.75rem 0.5rem;
		font-size: 0.875rem;
	}

	.custom-filters-container .btn {
		padding: 0.5rem 1rem;
	}

	.dataTables_wrapper .dataTables_paginate {
		float: right !important;
		text-align: right;
		margin-top: 0.5rem;
	}

	.dataTables_wrapper .dataTables_paginate .paginate_button {
		padding: 0.375rem 0.75rem;
		font-size: 0.875rem;
		margin: 0 0.1rem;
		border: 1px solid #dee2e6;
		border-radius: 0.25rem;
	}

	.dataTables_wrapper .dataTables_paginate .paginate_button.current {
		background: var(--primary-color) !important;
		color: white !important;
		border-color: var(--primary-color) !important;
	}

	.dataTables_wrapper .dataTables_info {
		float: left;
		margin-top: 0.5rem;
		font-size: 0.875rem;
	}
	.form-footer {
		background: #fff;
		border-top: 1px solid #e5e7eb;
		padding: 12px 16px;
		gap: 12px;
		display: flex;
		justify-content: flex-end;
		margin-bottom: 20px;
	}

	.form-footer {
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	}

	.datepicker {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: 90vw !important;
		max-width: 300px !important;
		z-index: 9999 !important;
		margin: 0 !important;
	}

	.datepicker table {
		width: 100% !important;
		font-size: 12px !important;
	}

	.datepicker td,
	.datepicker th {
		padding: 6px 8px !important;
		font-size: 12px !important;
	}

	.datepicker .datepicker-switch {
		font-size: 14px !important;
		font-weight: bold !important;
	}

	.datepicker .prev,
	.datepicker .next {
		font-size: 16px !important;
	}

	.modal-dialog {
		margin: 0.5rem;
		max-width: calc(100% - 1rem);
	}

	.modal-fullscreen {
		max-height: calc(100vh - 1rem);
		margin: 0.5rem;
	}

	.modal-content {
		border-radius: 0.5rem;
		max-height: calc(100vh - 1rem);
		overflow: hidden;
	}

	.modal-body {
		padding: 1rem;
		max-height: calc(100vh - 200px);
		overflow-y: auto;
	}

	.modal-header {
		padding: 0.75rem 1rem;
		flex-wrap: wrap;
	}

	.modal-title {
		font-size: 1rem;
		margin-bottom: 0.5rem;
	}

	.modal-footer {
		padding: 0.75rem 1rem;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.modal-footer .btn {
		flex: 1;
		min-width: 120px;
		font-size: 0.875rem;
		padding: 0.5rem 0.75rem;
	}

	.row-cols-2 > * {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 1rem;
	}

	.row-cols-3 > * {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 1rem;
	}

	.table-responsive * {
		font-size: 0.875rem;
	}

	.table th,
	.table td {
		padding: 0.5rem 0.25rem;
		white-space: nowrap;
	}

	.form-select,
	.form-control {
		font-size: 0.875rem;
	}

	.btn-group {
		gap: 0.5rem;
	}

	.btn-group .btn {
		border-radius: 0.375rem !important;
	}

	.fc-toolbar {
		flex-direction: column;
		gap: 0.5rem;
	}

	.fc-toolbar-chunk {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.25rem;
	}

	.fc-button {
		font-size: 0.75rem !important;
		padding: 0.25rem 0.5rem !important;
	}

	.fc-toolbar-title {
		font-size: 1rem !important;
		margin: 0.5rem 0;
	}

	.modal .table-responsive {
		border: none;
	}

	.modal .table th,
	.modal .table td {
		padding: 0.375rem 0.25rem;
		font-size: 0.8rem;
	}

	.modal select[multiple] {
		font-size: 0.875rem;
	}

	.modal .input-group-text {
		font-size: 0.875rem;
		padding: 0.5rem 0.75rem;
	}

	.modal .input-group .form-control {
		font-size: 0.875rem;
	}
}

.main-content {
	flex: 1;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
}

.row-clickable {
	transition: background-color 0.15s ease-in-out;
}

.row-clickable:hover {
	background-color: rgba(0, 0, 0, 0.05) !important;
}

.row-clickable:active {
	background-color: rgba(0, 0, 0, 0.1) !important;
}

main {
	flex: 1;
}

.dataTables_wrapper .dt-search i,
.dataTables_wrapper .dt-search label i,
.dataTables_wrapper .dt-search::before,
.dataTables_wrapper .dt-search::after,
.dataTables_wrapper .dt-search label,
.dataTables_wrapper .dt-search .fa-search,
.dataTables_wrapper .dt-search .fa-magnifying-glass,
.dataTables_wrapper .dt-search [class*='fa-'] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.dataTables_wrapper .dt-search input {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

footer {
	margin-top: auto;
	position: relative;
	z-index: 10;
}

footer.position-fixed {
	position: relative !important;
}
