/* Início Reset CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* Fim Reset CSS */

/* Início Estilos Globais */
body {
	font-family: "Segoe UI", "Roboto", Arial, sans-serif !important;
    background-color: #f4f4f4 !important;
    color: #333 !important;
    margin: 0;
    padding: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}
a {
    color: #333;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
/* Fim Estilos Globais */

/* Customização de ícones */
.dx-icon-whatsapp {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-whatsapp" viewBox="0 0 16 16"><path d="M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232"/></svg>');
    background-repeat: no-repeat;
    background-position: 0px 0px;
}
/* Fim Customização de ícones */

.loader-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgb(255 255 255);
    z-index: 9999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 380px;
    /* transition: opacity 0.2s, display 0.2s, visibility 0.2s; */
}

.loader-content {
    width: 100px;
    height: 100px;
    background-image: url('/image/easyplus-nobg-opt-sm.gif');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 84px 46px;
    top: calc((-327px / 2) - 20px);
    position: relative;
    pointer-events: none;
}

.layout {
	display: flex;
	min-height: 100vh;
}

.sidebar {
	width: 240px;
	background-color: #2f8ad2;
	color: #fff;
	display: flex;
	flex-direction: column;
    min-width: 260px;
    transition: width 0.3s ease, transform 0.3s ease;
    overflow: hidden;
}

.sidebar.collapsed  {
    width: 0;
    min-width: 0;
}

.sidebar-header {
	padding: 16px;
	font-size: 18px;
	font-weight: 600;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    box-sizing: border-box;
    overflow: clip;
}

.sidebar-menu {
	flex: 1;
}

.content {
	flex: 1;
	display: flex;
	flex-direction: column;
    transition: margin-left 0.3s ease;
}

.btn-toggle-sidebar,
.btn-hamburger {
    border: none;
    background: none;
    font-size: 22px;
    cursor: pointer;
    margin-right: 10px;
}

.topbar-left {
    display: flex;
    align-items: center;
}

.topbar {
	height: 56px;
	background-color: #ffffff;
	border-bottom: 1px solid #e5e7eb;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 16px;
}

.user-menu {
	display: flex;
	align-items: center;
	gap: 8px;
}

.card {
	background-color: #ffffff;
	border-radius: 8px;
	padding: 16px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.card-title {
	font-size: 14px;
	color: #6b7280;
	margin-bottom: 8px;
}

.card-value {
	font-size: 28px;
	font-weight: 600;
	color: #111827;
}

.menuLateral .dx-list-item,
.menuLateral .dx-list:not(.dx-list-select-decorator-enabled) .dx-list-item.dx-state-focused {
	color: #fff;
}

.userButton {
	min-width: 180px;
}

/* #divSidebarMenuContainer {
	left: 0;
    position: relative;
    transition: 0.4s left;
	height: 100vh;
} */

/* MOBILE */
@media (max-width: 768px) {
	.topbar {
		padding: 0 5px;
	}

	.sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        transform: translateX(-100%);
        z-index: 1000;
        width: 260px;
        min-width: 260px;
    }

    /* Sidebar visível no mobile */
    .sidebar.mobile-open {
        transform: translateX(0);
    }

    /* Botões */
    .btn-toggle-sidebar {
        display: none;
    }

    .btn-hamburger {
        display: inline-block;
    }
}

/* DESKTOP */
@media (min-width: 769px) {
    .btn-hamburger {
        display: none;
    }

    .btn-toggle-sidebar {
        display: inline-block;
    }
}