/* Estilos para o novo layout full-width com sidebar */

:root {
	--sidebar-width: 260px;
	--sidebar-collapsed-width: 70px;
	--header-height: 60px;
	--transition-speed: 0.3s;
	--fs-7: 0.75rem;

	--border-radius-sm: 0.25rem;
	--border-radius-md: 0.5rem;
	--border-radius-lg: 0.75rem;
	--border-radius-xl: 1rem;
	--border-radius-full: 9999px;

	--font-size-sm: 0.875rem;
	--font-size-md: 1rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 2rem;
	--font-size-3xl: 2.5rem;
	--font-size-4xl: 3rem;
	--font-size-5xl: 3.5rem;
	--font-size-6xl: 4rem;
	--font-size-7xl: 4.5rem;
	--font-size-8xl: 5rem;
	--font-size-9xl: 5.5rem;
	--font-size-10xl: 6rem;
}

[data-bs-theme="light"]:root {
	--sidebar-bg: var(--bg-secondary);
	--sidebar-active-bg: rgb(98 98 98 / 10%);
	--sidebar-active-text: #444;
	--sidebar-border-color: rgba(0, 0, 0, 0.05);
}

[data-bs-theme="dark"]:root {
	--sidebar-bg: var(--bg-secondary);
	--sidebar-active-bg: rgba(255, 255, 255, 0.1);
	--sidebar-active-text: #FFF;
	--sidebar-border-color: rgba(0, 0, 0, 0.05);
}

/* Layout principal */
html, body {
	height: 100%;
	overflow-x: hidden;
}

body {
	display: flex;
	flex-direction: column;
	overflow-y: hidden; /* Evita scroll duplo na página */
}

.border-radius-sm {
	border-radius: var(--border-radius-sm) !important;
}
.border-radius-md {
	border-radius: var(--border-radius-md) !important;
}
.border-radius-lg {
	border-radius: var(--border-radius-lg) !important;
}
.border-radius-xl {
	border-radius: var(--border-radius-xl) !important;
}
.border-radius-full {
	border-radius: var(--border-radius-full) !important;
}

.font-size-sm {	
	font-size: var(--font-size-sm) !important;
}
.font-size-md {
	font-size: var(--font-size-md) !important;
}
.font-size-lg {
	font-size: var(--font-size-lg) !important;
}
.font-size-xl {
	font-size: var(--font-size-xl) !important;
}
.font-size-2xl {
	font-size: var(--font-size-2xl) !important;
}
.font-size-3xl {
	font-size: var(--font-size-3xl) !important;
}
.font-size-4xl {
	font-size: var(--font-size-4xl) !important;
}
.font-size-5xl {
	font-size: var(--font-size-5xl) !important;
}
.font-size-6xl {
	font-size: var(--font-size-6xl) !important;
}
.font-size-7xl {
	font-size: var(--font-size-7xl) !important;
}
.font-size-8xl {
	font-size: var(--font-size-8xl) !important;
}
.font-size-9xl {
	font-size: var(--font-size-9xl) !important;
}
.font-size-10xl {
	font-size: var(--font-size-10xl) !important;
}

#wrapper {
	display: flex;
	min-height: 100vh;
	overflow-x: hidden;
	max-height: 100vh; /* Limita a altura para evitar overflow */
}

/* Page Content */
#page-content-wrapper {
	width: 100%;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow-y: auto; /* Permite scroll vertical apenas neste container */
}

.min-vw-auto {
	min-width: auto !important;
	width: fit-content !important;
}

/* Sidebar */
.sidebar {
	width: var(--sidebar-width);
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1030;
	background: var(--sidebar-bg);
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
	transition: all var(--transition-speed);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overflow-x: hidden;
}

.sidebar-collapsed .sidebar {
	width: var(--sidebar-collapsed-width);
}

.sidebar-collapsed .sidebar .sidebar-header span,
.sidebar-collapsed .sidebar .sidebar-user div,
.sidebar-collapsed .sidebar .nav-link span,
.sidebar-collapsed .sidebar .sidebar-heading span,
.sidebar-collapsed .sidebar .sidebar-footer span,
.sidebar-collapsed .sidebar .dropdown-toggle::after,
.sidebar-collapsed .sidebar .nav-link i.bi-chevron-down {
	display: none;
}

.sidebar-collapsed .sidebar .nav-link {
	justify-content: center;
	padding: 0.75rem;
}

.sidebar-collapsed .sidebar .collapse {
	display: none !important;
}

/* Ajusta o conteúdo da página quando a sidebar está aberta */
#page-content-wrapper {
	background-color: #1E1F23;
	box-shadow: inset 0px 65px 20px -5px rgba(0 0 0 / 50%);
	transition: margin-left var(--transition-speed);
}

.sidebar-collapsed #page-content-wrapper {
	margin-left: var(--sidebar-collapsed-width);
}

/* Estilos para header da sidebar */
.sidebar-header {
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--sidebar-border-color);
}

/* Estilos para o menu da sidebar */
.sidebar-menu {
	flex: 1;
	overflow-y: auto;
	padding-top: 1rem;
}

.sidebar-heading {
	letter-spacing: 0.05em;
	margin-bottom: 0.5rem;
}

.fs-7 {
	font-size: var(--fs-7);
}

.sidebar-menu .nav-link {
	border-radius: 0.5rem;
	margin: 0.15rem 0;
	color: var(--text-secondary);
	font-weight: 500;
	transition: all 0.2s;
}

/* Estilos para submenu */
.sidebar-menu .collapse .nav-link {
	padding-left: 3rem;
}

/* Header */
.top-header {
	height: var(--header-height);
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 1020;
	background-color: var(--bg-primary)!important;
}

	.top-header .nav-link img {
		box-shadow: 0px 0px 0px 2px rgba(255 255 255 / 80%), 0px 0px 10px 2px rgb(0 187 255 / 35%);
	}

/* Search form */
.search-form .form-control {
	min-width: 250px;
}

/* Avatar sizes */
.avatar-sm {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.avatar-md {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Badges */
.badge.rounded-pill {
	font-size: 0.65rem;
	min-width: 1rem;
	height: 1rem;
	padding: 0 0.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Notification styles */
.notification-list .dropdown-item:hover,
.notification-list .dropdown-item:focus {
	background-color: var(--bs-dropdown-link-hover-bg);
}

.sidebar-footer .btn:hover,
.sidebar-footer .btn.active {
	background-color: var(--sidebar-active-bg);
}

.fs-14 {
	font-size: 0.875rem;
}

/* Mobile */
@media (max-width: 992px) {
	.sidebar {
		transform: translateX(-100%);
		box-shadow: none;
	}

	.sidebar-show .sidebar {
		transform: translateX(0);
		box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	}

	#page-content-wrapper {
		margin-left: 0;
	}

	.sidebar-collapsed #page-content-wrapper {
		margin-left: 0;
	}

	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1020;
		background-color: rgba(0, 0, 0, 0.4);
		display: none;
	}

	.sidebar-show .overlay {
		display: block;
	}
}

/* Adaptações para modo escuro */
[data-bs-theme="dark"] .top-header {
	background-color: var(--bg-secondary);
}

[data-bs-theme="dark"] .bg-white {
	background-color: var(--bg-secondary) !important;
}

div:where(.swal2-container) div:where(.swal2-actions) {
	gap: 1.0rem;
}