@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

html, body {
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	width: 100% !important;
	max-width: 100% !important;
	overflow-x: hidden;
	position: relative;
}

[onclick] {
 	cursor: pointer;
}

.small .form-check-label {
	line-height: 1.8em;
}
.list-group-sm .list-group-item {
	padding: 7px 12px !important;
}

/* CORES ===================================================== */
.bg-black {
	background: #212130 !important;
}
.bg-navy {
	background: #122e5b;
}
.text-navy {
	color: #122e5b;
}
.bg-azul {
	background: #1a4895;
}
.text-azul {
	color: #1a4895;
}
.pf-deck { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.pf-deck > .card { margin-bottom: 0 !important; }
.table {
	margin: 0;
}

/* ELEMENTOS DE INTERFACE ======================================= */

.btn {
	white-space: nowrap;
}

/* Elementos comuns do Bootstrap 5 em todas as telas do painel. */
.card { border:0; border-radius:1rem; box-shadow:0 .25rem 1rem rgba(30,55,90,.08)!important; overflow:hidden; }
.card-header { padding:1rem 1.25rem; color:#1f314d; border-color:#edf0f5; background:#fff; }
.card-body { padding:1.25rem; }
.form-control,.form-select,.input-group-text { min-height:42px; border-color:#dbe2ec; border-radius:.7rem; }
.input-group > .form-control:not(:last-child) { border-top-right-radius:0; border-bottom-right-radius:0; }
.input-group > .input-group-text { border-top-left-radius:0; border-bottom-left-radius:0; }
.form-control:focus,.form-select:focus { border-color:#86b7fe; box-shadow:0 0 0 .22rem rgba(13,110,253,.12); }
.btn { border-radius:.7rem; font-weight:600; }
.btn-primary { box-shadow:0 .25rem .6rem rgba(13,110,253,.18); }
.list-group-item { border-color:#edf0f5; }
.form-switch { display:flex; align-items:center; min-height:1.7rem; padding-left:3.05rem; }
.form-switch .form-check-input { width:2.45rem; height:1.35rem; margin-left:-3.05rem; margin-top:0; cursor:pointer; }
.form-switch .form-check-label { cursor:pointer; line-height:1.35; }
.modal-content { border:0; border-radius:1rem; overflow:hidden; box-shadow:0 1rem 3rem rgba(15,35,68,.22); }
.modal-header,.modal-footer { padding:1rem 1.25rem; border-color:#edf0f5; }


/* APLICAÇÃO E MENU LATERAL */
.app-shell { display:flex; min-height:100vh; background:#f6f8fc; }
#menu_lateral.app-sidebar { background:linear-gradient(180deg,#102b55 0%,#0a1f3e 100%); box-shadow:8px 0 30px rgba(15,35,68,.12); position:relative; z-index:10; }
.sidebar-brand { min-height:88px; padding:18px 20px; border-bottom:1px solid rgba(255,255,255,.11); }
.sidebar-avatar { width:50px; height:50px; object-fit:cover; border-radius:16px; border:2px solid rgba(255,255,255,.32); box-shadow:0 .5rem 1.25rem rgba(0,0,0,.18); }
.sidebar-brand a { min-width:0; }
.sidebar-brand-name { min-width:0; font-size:.82rem; font-weight:700; letter-spacing:.01em; line-height:1.2; overflow-wrap:anywhere; }
.app-sidebar .navbar-collapse { width:100%; flex-direction:column; }
.app-sidebar .sidebar-nav { display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; width:100%; padding:14px 10px; gap:3px; }
.app-sidebar .nav-item { width:100%; white-space:nowrap; position:relative; }
.app-sidebar .nav-link { color:rgba(255,255,255,.82)!important; display:flex; align-items:center; gap:12px; width:100%; min-height:45px; padding:11px 13px!important; border:0; border-radius:10px; font-size:.9rem; font-weight:500; line-height:1.2; background:transparent; text-decoration:none; transition:background .18s,color .18s,transform .18s; }
.app-sidebar .nav-link:hover,.app-sidebar .nav-link:focus,.app-sidebar .nav-link.is-active { color:#fff!important; background:rgba(255,255,255,.13); outline:0; }
.app-sidebar .nav-link:hover { transform:translateX(2px); }
.app-sidebar .nav-link > i:first-child { width:1.25rem; font-size:1rem; text-align:center; }
.app-sidebar .nav-link .badge { position:static; }
.sidebar-collapse-toggle { text-align:left; cursor:pointer; }
.sidebar-chevron { font-size:.72rem!important; transition:transform .2s ease; }
.sidebar-collapse-toggle[aria-expanded="true"] .sidebar-chevron { transform:rotate(180deg); }
.sidebar-submenu { margin:2px 0 6px 24px; padding:5px 0 5px 18px; border-left:1px solid rgba(255,255,255,.23); }
.sidebar-submenu a { display:block; padding:8px 10px; border-radius:8px; color:rgba(255,255,255,.7); font-size:.82rem; text-decoration:none; }
.sidebar-submenu a:hover,.sidebar-submenu a:focus,.sidebar-submenu a.is-active { color:#fff; background:rgba(255,255,255,.1); outline:0; }
.sidebar-signout { color:#ffd7d7!important; }
.sidebar-footer { margin-top:auto; padding:22px 34px 28px; opacity:.88; }

#conteudo_principal { min-width:0; background:#f6f8fc; }
.page-hero { color:#fff; background:linear-gradient(118deg,#17488f,#1f69d5); box-shadow:inset 0 -1px rgba(255,255,255,.14); }
.eyebrow { display:block; margin-bottom:.35rem; color:rgba(255,255,255,.72); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
@media (min-width:800px) {
	html,body { overflow:hidden; }
	#menu_lateral.app-sidebar { width:220px; min-width:220px; max-width:220px; }
	.app-sidebar .navbar-collapse { flex:1 1 auto; }
	#menu_lateral,#conteudo_principal { height:100vh; min-height:100vh; max-height:100vh; overflow-x:hidden; overflow-y:auto; }
}
@media (max-width:799.98px) {
	.app-shell { display:block; }
	#menu_lateral.app-sidebar { position:sticky; top:0; box-shadow:0 3px 18px rgba(15,35,68,.18); }
	/* Mobile: a altura da sidebar é a do conteúdo (auto). O painel não declara doctype (quirks mode), onde o .h-100 do nav herdava a altura da tela. */
	#menu_lateral.app-sidebar, #menu_lateral.app-sidebar > .navbar { height:auto!important; min-height:0!important; max-height:none!important; }
	.sidebar-brand { min-height:64px; padding:8px 14px; }
	.sidebar-avatar { width:42px; height:42px; border-radius:12px; }
	.sidebar-nav { padding:8px 12px 14px; }
}







/* ABAS */
.nav-pills {
	overflow-x: auto;
	overflow-y: hidden;
	display: block;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	flex-wrap: nowrap;
	margin: 0;
}
.nav-pills .nav-item {
	display: inline-block !important;
}
@media(max-width: 768px) {
	.nav-pills .nav-item .nav-link {
		padding: 5px 10px;
	}
}


.dropdown-menu .dropdown-item {
	padding: 15px;
	color: #000000;
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus {
	background: #f2f2f2;
	color: #000000;
}
.dropdown-toggle::after {
    display: none;
}







#notificacoes {
	position: fixed;
	z-index: 999;
	top: 15px;
	right: 15px;
}

.pulse {
	transform: scale(1);
	animation: pulse 1s infinite;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.8);
}

@keyframes pulse {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
	}
}


@media (max-width: 768px) {
	.table td {
		word-wrap: break-word !important;
	}
	#notificacoes {
		top: 60px;
		right: 0;
		padding: 0 10px;
	}
	.toast {
	    width: 100% !important;
	    min-width: 100% !important;
	    max-width: 100% !important;
	}
}

.btn-recenter {
    background: #ffffff url(../../painel/img/recenter.png) no-repeat;
}
.btn-maps {
    background-size: contain;
    border: 2px solid #ffffff;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
    cursor: pointer;
    margin: 10px;
    padding: 17.5px;
}
.notif-pedidos {
	position: absolute;
	top: 0.5em;
	left: 2.4em;
	font-size: 9px;
	color: #ffffff;
	padding: 1px 5px;
}
.mover {
	cursor: grab;
}


.img-produto {
	object-fit: cover !important;
	width: 70px;
	height: 70px;
	border: 1px solid #c4c4c4;
	border-radius: 4px;
}
.circulo {
	width: 55px;
	height: 55px;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0 auto;
	border-radius: 50%;
	font-size: 1.1em;
	margin-bottom: 3px;
	border: 2px solid #1a4895;
	text-align: center;
}
@media(max-width: 768px) {
	.img-produto {
		width: 55px;
		height: 55px;
	}
	.notif-pedidos {
		left: 1.8em;
	}
}



.img-edit {
	position: relative;
}
.img-edit .dropdown {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.img-edit .dropdown .dropdown-toggle {
	display: block;
	height: 100%;
	width: 100%;
}











.toast-body {
	background: #ffffff !important;
}

.toast {
	width: 400px;
	max-width: min(400px, calc(100vw - 2rem));
}
