/* Helpers */
.horizontal-mirror { transform: scaleX(-1); }

/* Menu - grupos colapsáveis (desktop e mobile) */
.menu-chevron { transition: transform 0.2s ease; }
a[aria-expanded="true"] .menu-chevron { transform: rotate(180deg); }
.menu-group-toggle { background-color: #eef0f2; font-weight: 500; }
.menu-group-toggle[aria-expanded="true"] { background-color: #cfe2ff; color: #052c65; }
.collapse .list-group-item,
.collapsing .list-group-item { font-size: 0.85rem; }

/* Layout */
body {
	background-image: url('/assets/images/background.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
body.page-login {
	background-image: url('/assets/images/login-background.jpg');
}
/* Diversos */
button[data-form="password-revealer"]:not(.revealed) i.bi-eye-slash {display: none;}
button[data-form="password-revealer"].revealed i.bi-eye {display: none;}
button.btn-perfil {
	border: 2px solid #fff;
	background: rgba(255,255,255,.2);
	color: #fff;
	width: 32px;
	height: 32px;
	font-size: 13px;
	font-weight: bold;
	overflow: hidden;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* BS5 Custom */
.modal-custom {
	max-width: min(100vw - 40px, 1320px);
}

/* Tabelas */
table.table-crud td,
table.table-crud th {
	font-size: 0.875rem;
	padding: 0.5rem;
}
table th[data-sort] {
	cursor: pointer;
	position: relative;
	white-space: nowrap;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;		
}
table th[data-sort]:after {
	content: "";
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: normal !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;		
	margin-left: 4px;
	opacity: .7;
	content: "\f127"; /* arrow-up-down */
}
table th[data-sort][data-order]:after {
	opacity: 1;
	color: var(--bs-primary);
}
table th[data-sort][data-order="asc"]:after {
	content: "\f148";
	font-weight: bold !important;
}
table th[data-sort][data-order="desc"]:after {
	content: "\f128";
	font-weight: bold !important;
}

/* Alerts */
.alert.slide {
	transform: translateY(100%);
	opacity: 0;
	transition: all 0.3s ease;
}
.alert.slide.show {
	transform: translateY(0);
	opacity: 1;
}
.alert.alert-toast {
	z-index: 99999;
	width: 480px;
	max-width: calc(100vw - 40px);
	min-width: 180px;
	max-height: 160px;
	pointer-events: all;
}

/* Toasts */
#signToastPlaceholder {
	pointer-events: none;
}