@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates: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');

/*BÁSICO*/
* { font-family: "Montserrat Alternates", sans-serif; font-size: 14px; color: #495057; -webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box; -webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;transition:all 300ms ease-in;}
ul,li { list-style:none; }
*:focus { outline:none; }
.clear { clear:both; }
a, a:hover, a:visited { text-decoration:none; border:0 none; }
textarea { resize:none; }
input, textarea, select { -webkit-appearance: none; -moz-appearance: none; -o-appearance: none; appearance: none; -ms-appearance: none; -webkit-border-radius: 0; }
select::-ms-expand { display: none; }
select { text-indent: 0.01px; text-overflow: ''; }
select::-ms-expand { display: none; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
body .container{ flex: 1;}

:root {
	--header-height: 90px;
}
img { max-width: 100%; border:0 none;}
/*FIM BÁSICO*/


/*MENU*/
body.cadastro,
body.login,
body.pagina-texto {
	padding-top: calc(var(--header-height) + 20px);
}

a.link-esqueci-senha,
a.link-esqueci-senha:hover,
a.link-esqueci-senha:visited {
	font-size: 0.8rem;
	color: #8a8494;
	font-weight: 500;
	text-decoration: underline;
}

a.link-esqueci-senha:hover {
	color: #FB6643;
}

body.publicologado {
	padding-top: calc(var(--header-height));
}

body.menu_aberto {
	overflow: hidden;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	margin-bottom: 0;
	background-color: #C7B6FD;
	height: var(--header-height);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

header .logo img {
	height: 75px;
	z-index: 1002;
	position: relative;
}

header .planoativo {
	padding: 1.5rem 1.5rem 0;
}

header .planoativo div, header .planoativo p {
	font-size: 0.7rem;
	text-transform: uppercase;
}

header .planoativo p {
	padding: 0;
}

header .planoativo .material-symbols-outlined {
	font-size: 1.3rem;
	margin-left: 3px;
	cursor: help;
}

header .perfil {
	height: 60px;
	width: 60px;
	border-radius: 6px;
}

.cont-menu {
	margin-top: 11px;
	z-index: 1002;
    position: relative;
 }

.cont-menu .abre_menu { 
	display: block; 
	cursor: pointer; 
	width: 60px; 
	height: 30px; 
}

body.menu_aberto .cont-menu .abre_menu span, body.menu_aberto .cont-menu .abre_menu span:after, body.menu_aberto .cont-menu .abre_menu span:before {
	background-color: #FB6643;
}

.cont-menu .abre_menu span { 
	position: relative;
	width: 15px; 
	height: 15px; 
	display: block; 
	background: #fff; 
	margin-top: 0px; 
	z-index: 99;  
	-webkit-transition:all 300ms ease-in;
	-moz-transition:all 300ms ease-in;
	-o-transition:all 300ms ease-in;
	transition:all 300ms ease-in;
}
.cont-menu .abre_menu span:before { 
	position: relative;
	content: ''; 
	width: 15px; 
	height: 15px; 
	display: block; 
	background: #fff; 
	margin-left: 20px; 
	z-index: 99;    
	-webkit-transition:all 300ms ease-in;
	-moz-transition:all 300ms ease-in;
	-o-transition:all 300ms ease-in;
	transition:all 300ms ease-in;
}
.cont-menu .abre_menu span:after { 
	position: relative;
	content: ''; 
	width: 15px; 
	height: 15px; 
	display: block; 
	background: #fff; 
	margin-left: 40px; 
	margin-top: -15px;
	z-index: 99;    
	-webkit-transition:all 300ms ease-in;
	-moz-transition:all 300ms ease-in;
	-o-transition:all 300ms ease-in;
	transition:all 300ms ease-in;
}

.cont-menu .abre_menu .meioabremenu {
	padding: 5px 0;
}

.cont-menu .abre_menu .meioabremenu span {
	background-color: transparent;
}

header .fundo {
	background: #C7B6FD;
	position: absolute;
	left: -3000px;
	top: 0;
	z-index: 3;
	opacity: 0.96;
	-webkit-transition:all 300ms ease-in;-moz-transition:all 300ms ease-in;-o-transition:all 300ms ease-in;transition:all 300ms ease-in;
}
body.menu_aberto header .fundo {
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	position: fixed;
	z-index: 1001;
}

body.menu_aberto .cont-menu .abre_menu .primeiraabremenu span { 
	-moz-transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	-o-transform: rotate(45deg); 
	-ms-transform: rotate(45deg); 
	transform: rotate(45deg);
}

body.menu_aberto .cont-menu .abre_menu .ultimaabremenu span { 
	margin-top: 4px;

	-moz-transform: rotate(-90deg); 
	-webkit-transform: rotate(-90deg); 
	-o-transform: rotate(-90deg); 
	-ms-transform: rotate(-90deg); 
	transform: rotate(-45deg);
}

body.menu_aberto .cont-menu .abre_menu .meioabremenu span {
	display: none;
}

header ul{ 
	position: absolute;
	top: var(--header-height);
	left: -3000px;
	width: 280px;
	width: 100vw;

	max-height: calc(100vh - var(--header-height));
	max-height: calc(100dvh - var(--header-height));
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;

	margin: 0;
	padding: 1rem 1.25rem;
	z-index: 1002; 
	-webkit-transition:left 300ms ease-in;
	-moz-transition:left 300ms ease-in;
	-o-transition:left 300ms ease-in;
	transition:left 300ms ease-in;
}

header ul li { 
	display: block; 
	width: 100%; 
	margin-bottom: 10px; 
}

header ul.aberto { 
	left: 0; 
}

header ul li a {
	width: 100%;
    display: block;
    padding: 10px 0;
	color: #fff;
	font-weight: bold;
}

header ul li a:hover {
	color: #FB6643;
}

header ul li .botatolaranja {
	width: 100%;
	padding-left: 12px;
	padding-right: 12px;
}

header ul li .menu-submenu-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	padding: 10px 0;
	color: #fff;
	font-weight: bold;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
}

header ul li .menu-submenu-toggle:hover {
	color: #FB6643;
}

header ul li .menu-submenu-toggle .menu-submenu-seta {
	margin-left: 4px;
	font-size: 1.2rem;
	color: inherit;
}

header ul li .menu-submenu-toggle.aberto .menu-submenu-seta {
	transform: rotate(180deg);
}

header ul li .menu-submenu {
	padding: 0 0 0.75rem 0.5rem;
}

header ul li .menu-submenu a {
	padding: 8px 0;
}

header p {
    padding: 10px 0;
	color: #FB6643;
	font-weight: bold;
	text-transform: uppercase;
}

/*FIM MENU*/

footer .footer{
	margin-top: 50px;
	background: #C7B6FD;
	padding: 15px 0;
    width: 100%;
}

footer  .footer div, footer .footer div p, footer .footer div p a, footer .footer div p span {
	color: #fff;
	font-weight: 500;
	margin-bottom: 0;
	font-size: 0.8rem;
}

footer .footer .footer-links a {
	text-underline-offset: 2px;
}

footer .footer .footer-links span {
	margin: 0 6px;
	opacity: 0.8;
}

.texto-legal-atualizacao {
	color: #8a8494;
	font-size: 0.85rem;
	margin: 8px 0 0;
}

.texto-legal {
	max-width: 760px;
	margin: 2rem auto 1rem;
	line-height: 1.7;
}

.texto-legal h2 {
	color: #FB6643;
	font-size: 1.15rem;
	font-weight: 600;
	margin: 1.75rem 0 0.75rem;
}

.texto-legal p,
.texto-legal li {
	margin-bottom: 0.75rem;
}

.texto-legal ul {
	padding-left: 1.25rem;
	margin-bottom: 0.75rem;
}

.texto-legal ul li {
	list-style: disc;
}

.texto-legal a {
	color: #FB6643;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.texto-legal a:hover {
	color: #e25535;
}

h1 {
	color: #FB6643;
	text-transform: uppercase;
	font-size: 2rem;
	font-weight: bold;
}

input.form-control, select.form-select, textarea.form-control {
    padding: 10px;
	margin: 10px 0 5px;
}

.toggle-password {
	margin-bottom: 5px;
}

button.verde, a.verde {
    background: #2bc155;
    color: #fff;
	font-weight: bold;
    padding: 10px 60px;
    border-radius: 2px;
    border: none;
    cursor: pointer;
}

button.verde.pequeno, a.verde.pequeno {
	margin-top: 11px;
	padding: 8px 10px;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.verde span, a.verde span {
    color: #fff;
}

button.azul, a.azul, a.azul:hover {
    background: #3E75D1;
    color: #fff;
	font-weight: bold;
    padding: 10px 60px;
    border-radius: 2px;
    border: none;
    cursor: pointer;
	text-decoration: none;
}

button.azul.pequeno, a.azul.pequeno {
	margin-top: 11px;
	padding: 8px 10px;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.azul span, a.azul span {
    color: #fff;
}

a.laranjaaba, button.laranjaaba {
    background: rgb(206, 212, 218);
    color: rgb(73, 80, 87);
	font-weight: bold;
    padding: 10px 60px;
    border-top-right-radius: 2px;
    border-top-left-radius: 2px;
    border: 0;
	opacity: 0.7;
	margin: 0 1px 0 1px;
}

input.input-horas-dia {
	margin: 0;
	padding: 7px !important;
}

button.btn-fechar-dia {
    background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
	border-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.btn-fechar-dia span {
	color: #fff !important;
}

button.btn-salvar-dia, button.btn-salvar-dia:hover {
	background: #FB6643;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.btn-salvar-dia span {
    color: #fff;
}

a.laranjaaba.active, button.laranjaaba.active {
    background: #FB6643;
    color: #FDD66E;
	opacity: 1;
}

a.laranjaaba.active span, button.laranjaaba.active span {
    color: #FDD66E;
}

button.laranja, a.laranja {
    background: #FB6643;
    color: #FDD66E;
	font-weight: bold;
    padding: 10px 60px;
    border-radius: 2px;
    margin-top: 20px;
	border: 0;
	cursor: pointer;
}

button.laranja.pequeno, a.laranja.pequeno {
	margin-top: 11px;
	padding: 8px 10px;
	display: inline-flex;
    align-items: center;
    justify-content: center;
}

button.laranja.pequeno.pesquisar {
	padding: 8px 25px; 
}

button.laranja span, a.laranja span {
    color: #FDD66E;
}

a.laranja:hover {
	color: #FDD66E;
	text-decoration: none;
}

.toast-title, .toast-message {
	color: #fff;
}

.aviso-notificacao {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 2000;
	background: #fff;
	border: 1px solid #C7B6FD;
	border-radius: 8px;
	padding: 16px 28px 16px 18px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	max-width: 320px;
}

.aviso-notificacao p {
	margin: 0 0 10px;
	font-size: 0.9rem;
}

.aviso-notificacao p.mb-0 {
	margin-bottom: 0;
}

.aviso-notificacao button.laranja {
	margin-top: 0;
	width: 100%;
	min-height: 44px;
}

.aviso-notificacao-fechar {
	position: absolute;
	top: 4px;
	right: 8px;
	border: 0;
	background: transparent;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	color: #495057;
}

.tabela.titulo div {
	border-top: 1px solid #ced4da;
	border-bottom: 1px solid #ced4da;
	padding-top: 8px;
	padding-bottom: 8px;
	font-weight: bold;
}

.tabela.tabela-catalogo.titulo div {
	margin: 1rem 0;
}

.tabela.item div {
	border-bottom: 1px solid #ced4da;
	padding-top: 8px;
	padding-bottom: 8px;
}

.tabela.item div.poucopadding {
	padding-top: 5px;
    padding-bottom: 6px;
}

.tabela.item div.poucopadding input {
	padding: 5px 10px;
}

.tabela.item .estoque-unidade {
	display: flex;
	align-items: center;
	gap: 8px;
}

.tabela.item .estoque-unidade input {
	flex: 1;
	min-width: 0;
}

.tabela.item .estoque-unidade span {
	flex-shrink: 0;
	white-space: nowrap;
	color: #6c6676;
}

.tabela.tabela-catalogo.item .estoque-unidade {
	flex-wrap: nowrap;
	padding-top: 0;
	padding-bottom: 0;
}

.tabela.item div.alinhaestoque {
	min-height: 45px;
}

.valores-custos {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .4rem;
	font-size: .875em;
}

.tabela.titulo.tabela-alinha > [class*="col"],
.tabela.item.tabela-alinha > [class*="col"] {
	display: flex;
	align-items: center;
}

.tabela.titulo.tabela-alinha > .text-center {
	justify-content: center;
}

.tabela.item.tabela-alinha > .poucopadding {
	padding-top: 8px;
	padding-bottom: 8px;
}

.tabela.item.tabela-alinha > .poucopadding:not(.estoque-unidade) input {
	width: 100%;
}

.valores-custos > span {
	flex: 1;
	min-width: 0;
	text-align: center;
}

.tabela.titulo .valores-custos > span {
	font-weight: bold;
}

@media (min-width: 768px) {
	.valores-custos > span {
		text-align: right;
	}
}

@media (max-width: 767.98px) {
	.tabela.item.valores-item > .alinhaestoque:not(.valores-custos),
	.tabela.item.valores-item > .poucopadding {
		border-bottom: 0;
	}

	.tabela.item.valores-item .valores-custos {
		padding-top: 0;
		border-bottom: 1px solid #ced4da;
	}
}

.valores-recalcular {
	gap: .75rem;
	margin-bottom: .35rem;
	width: 100%;
}

@media (max-width: 767.98px) {
	.valores-recalcular {
		margin-top: 1rem;
	}
}

.valores-recalcular > div {
	flex: 1;
	min-width: 0;
}

.valores-recalcular label {
	display: block;
}

.valores-recalcular input {
	width: 100%;
}

.valores-recalcular button.laranja.pequeno {
	margin-top: 0;
	margin-bottom: 0;
	white-space: nowrap;
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.valores-recalcular {
		justify-content: flex-end;
	}

	.valores-recalcular > div {
		flex: 0 0 auto;
	}

	.valores-recalcular input {
		width: 110px;
	}
}

.valores-indicacao {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.valores-indicacao-inicio {
	align-items: flex-start;
}

.valores-indicacao-toggle {
	display: inline-flex;
	align-items: center;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	color: #6c6676;
	cursor: pointer;
	font-weight: bold;
}

.valores-indicacao-toggle:hover {
	color: #FB6643;
}

.valores-indicacao-toggle .menu-submenu-seta {
	margin-left: 4px;
	font-size: 1.2rem;
	color: inherit;
}

.valores-indicacao-toggle.aberto .menu-submenu-seta {
	transform: rotate(180deg);
}

.valores-indicacao-painel {
	margin-top: .5rem;
}

.tabela.tabela-catalogo.item div {
	border-bottom: 0;
	padding-top: 8px;
	padding-bottom: 8px;
}

.horario-funcionamento .tabela.item:hover {
	background: transparent;
}

.horario-funcionamento .horario-dia.fechado {
	opacity: .55;
}

.horario-funcionamento input.form-control {
	margin: 0;
}

.horario-funcionamento .form-check-input {
	margin-top: 0;
}

.tabela.item:hover {
	background-color: #C7B6FD;
}

.tabela.item .acao {
	display: flex;
    justify-content: flex-end;
}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

.verde {
	color: #2bc155;
}

.vermelho {
	color: #FF2E2E;
}

.laranja {
	color: #FB6643;
}

.botatoazul {
    background: #3E75D1;
    color: #fff;
    border-radius: 3px;
	
	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: bold;
    padding: 10px 60px;
	border: 0;
}

.botatoazul span {
	color: #fff;
}

.botatoazul:hover {
	color: #fff;
	text-decoration: none;
}

.botatolaranja {
    background: #FB6643;
    color: #FDD66E;
    border-radius: 3px;
	
	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: bold;
    padding: 10px 60px;
	border: 0;
}

.botatolaranja span {
	color: #FDD66E;
}

.tabela .botatolaranja {
	padding: 2px;
	text-align: center;
	width: 29px;
    height: 29px;
	border: 0;
	cursor: pointer;
}

a.botatolaranja:hover {
	color: #FDD66E;
	text-decoration: none;;
}


.paginacao {
    width: 100%;
    display: flex;
    justify-content: end;
    gap: 5px;
	margin-top: 20px;
}

.paginacao a.actived:not(.disabled), .paginacao a:hover:not(.disabled)
 {
	background: #FB6643;
    color: #FDD66E;
    border: none;
}

.paginacao a:hover:not(.disabled) span {
    color: #FDD66E;
}

.paginacao a {
    width: 40px;
    height: 35px;
    border: solid 2px #FB6643;
    border-radius: 2px;
    background-color: #fff;
    color: #495057;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.toggle-password {
    border: 1px solid #ced4da;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    background: #F5F5F5;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-top: 10px;
}

.toggle-password span {
    color: #b5b5b5;
    font-size: 23px;
    font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
}

.ordenacao a {
    display: inline-flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}

.ordenacao a:hover {
	text-decoration: none;
}

.form-check-input:checked {
    background-color: #FB6643;
    border-color: #FB6643;
}

.form-check-input {
	width: 1.2em;
	height: 1.2em;
}

.form-check-label {
	padding-top: 3px;
}

.form-check-input, .form-check-label {
	cursor: pointer;
}

a {
	color: #FB6643;
}

a:hover {
	color: #FB6643;
	text-decoration: underline;
}

button:disabled {
	opacity: 0.7;
    cursor: progress;
}

.fotocapapreview {
	width: 100%;
}

.fotopreview {
	height: 80px;
	width: 80px;
	min-width: 80px;
	border-radius: 6px;
	margin-right: 10px;
	margin-bottom: 10px;
}

.fotopreviewbig {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 6px;
	display: block;
}

/* Sortable de fotos do produto (mobile/tablet) */
#lista-fotos .foto-item-card {
	border: 0;
	background: transparent;
}

#lista-fotos .foto-drag-area {
	position: relative;
}

#lista-fotos .foto-drag-handle {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: grab;
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
	padding: 0;
}

#lista-fotos .foto-drag-handle:active {
	cursor: grabbing;
	background: #FB6643;
}

#lista-fotos .foto-drag-handle span, .remover span {
	color: #fff;
}

#lista-fotos .foto-sortable-chosen .fotopreviewbig {
	outline: 3px solid #FB6643;
	outline-offset: 2px;
}

#lista-fotos .foto-sortable-ghost {
	opacity: 0.4;
}

#lista-fotos .foto-sortable-ghost .fotopreviewbig {
	outline: 2px dashed #FB6643;
	outline-offset: 2px;
	filter: grayscale(0.3);
}

#lista-fotos .foto-sortable-ghost .foto-drag-handle,
#lista-fotos .foto-sortable-ghost .remover {
	visibility: hidden;
}

.foto-sortable-drag {
	opacity: 1 !important;
	z-index: 10000 !important;
}

.foto-sortable-drag,
.foto-sortable-drag * {
	transition: none !important;
}

.foto-sortable-drag .fotopreviewbig {
	transform: scale(1.1) rotate(2deg);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.4);
	outline: 3px solid #FB6643;
	outline-offset: 2px;
}

.foto-sortable-drag .foto-drag-handle {
	background: #FB6643;
}

.foto-sortable-chosen .remover,
.foto-sortable-chosen .foto-drag-handle {
	display: none !important;
}

body.foto-sorting {
	cursor: grabbing;
}

.produto-busca .produto-resultados {
	z-index: 1050;
	max-height: 240px;
	overflow-y: auto;
	border: 1px solid #dee2e6;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.produto-busca .produto-resultados .list-group-item {
	cursor: pointer;
	border-left: 0;
	border-right: 0;
}

.produto-busca .produto-resultados .list-group-item:first-child {
	border-top: 0;
}

.produto-busca .produto-resultados .list-group-item small {
	color: #6c757d;
}

.busca-cliente .produto-resultados {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	max-height: 280px;
	padding: 0;
}

.busca-cliente .cliente-lista {
	overflow-y: auto;
	max-height: 220px;
}

.busca-cliente .cliente-novo {
	border-top: 1px solid #dee2e6;
	font-weight: 700;
	color: #FB6643;
}

/* CATÁLOGO PÚBLICO */
body.catalogo-publico {
	background: #f7f5fb;
}

body.catalogo-publico.com-header-sistema {
	padding-top: var(--header-height);
}

body.catalogo-publico .container {
	max-width: 960px;
}

body.catalogo-publico > .container {
	flex: none;
	width: 100%;
}

.cat-hero {
	position: relative;
	min-height: 200px;
	background: #C7B6FD center/cover no-repeat;
	display: flex;
	align-items: flex-end;
	color: #fff;
	overflow: hidden;
}

.cat-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(40, 30, 60, 0.15) 0%, rgba(40, 30, 60, 0.75) 100%);
}

.cat-hero-content {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 1.5rem 0.7rem 1.75rem;
}

.cat-hero h1,
.cat-hero p,
.cat-hero span {
	color: #fff;
}

.cat-hero h1 {
	font-size: 1.8rem;
	font-weight: 700;
	margin: .35rem 0 .35rem;
}

.cat-tipo {
	display: inline-block;
	background: #FB6643;
	padding: .2rem .7rem;
	border-radius: 4px;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 600;
}

.cat-empresa {
	background: #fff;
	border-bottom: 1px solid #ebe6f5;
	padding: 1rem 0;
}

.cat-empresa-logo {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	background: #f0ecf8;
	flex-shrink: 0;
}

.cat-empresa-nome {
	font-weight: 700;
	font-size: 1.05rem;
	margin: 0;
	color: #3d3554;
}

.cat-empresa-meta {
	font-size: .85rem;
	color: #6c657a;
	margin: 0;
}

.cat-empresa-descricao {
	color: #5a5368;
	margin: .85rem 0 0;
	font-size: .95rem;
	line-height: 1.5;
	white-space: pre-line;
}

.cat-empresa-topo {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	flex-wrap: nowrap;
}

.cat-empresa-dados {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-width: 0;
	flex: 1 1 0;
}

.cat-horario {
	margin-top: 0;
	flex: 1 1 0;
	min-width: 0;
	text-align: right;
}

.cat-horario-aviso {
	color: #FB6643;
	font-size: .85rem;
	font-weight: 600;
}

.cat-descricao {
	color: #5a5368;
	margin: .75rem 0 0;
}

.cat-secao {
	padding: 1.5rem 0 0;
}

.cat-busca-sentinel {
	height: 1px;
	margin-bottom: -1px;
	pointer-events: none;
}

.cat-busca-wrap {
	position: sticky;
	top: 0;
	z-index: 3;
	background: #f7f5fb;
	padding: .15rem 0 .85rem;
	margin-bottom: .15rem;
}

.cat-busca-wrap.is-stuck {
	padding-top: .45rem;
	box-shadow: 0 8px 16px rgba(61, 53, 84, .08);
}

.cat-nav-categorias {
	display: flex;
	align-items: stretch;
	max-height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.cat-nav-categorias::-webkit-scrollbar {
	display: none;
}

.cat-busca-wrap.is-stuck:not(.buscando) .cat-nav-categorias {
	max-height: 46px;
	margin-bottom: .55rem;
	opacity: 1;
	overflow-x: auto;
	overflow-y: hidden;
	pointer-events: auto;
}

#cat_nav_espaco {
	transition: none;
}

.cat-nav-item {
	flex: 0 0 auto;
	border: 0;
	border-bottom: 2px solid #ebe6f5;
	background: transparent;
	color: #6c657a;
	font-weight: 600;
	font-size: .92rem;
	line-height: 1.2;
	padding: .4rem .9rem .5rem;
	white-space: nowrap;
	cursor: pointer;
}

.cat-nav-item.ativo {
	color: #FB6643;
	border-bottom-color: #FB6643;
}

body.catalogo-publico.publicologado .cat-busca-wrap {
	top: var(--header-height);
}

.cat-busca {
	position: relative;
}

.cat-busca-icone {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #9b90b3;
	font-size: 1.25rem;
	pointer-events: none;
}

.cat-busca input,
.cat-busca input.form-control,
.cat-busca textarea,
.cat-busca textarea.form-control {
	width: 100%;
	border: 1px solid #d5cce8;
	border-radius: 8px;
	padding: 10px 12px;
	margin: 0;
	background: #fff;
	color: #3d3554;
	resize: none;
	overflow: hidden;
	white-space: nowrap;
}

.cat-busca input:focus,
.cat-busca textarea:focus {
	outline: none;
	border-color: #C7B6FD;
	box-shadow: 0 0 0 3px rgba(199, 182, 253, .35);
}

.cat-busca input[type="search"]::-webkit-search-cancel-button,
.cat-busca textarea::-webkit-contacts-auto-fill-button,
.cat-busca textarea::-webkit-credentials-auto-fill-button {
	-webkit-appearance: none;
	appearance: none;
	display: none !important;
	visibility: hidden;
	pointer-events: none;
}

.cat-busca-limpar {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: transparent;
	color: #9b90b3;
	padding: 4px;
	line-height: 0;
	cursor: pointer;
}

.cat-busca-limpar .material-symbols-outlined {
	font-size: 1.2rem;
}

.cat-busca-vazio {
	text-align: center;
	color: #6c657a;
	padding: 2rem 0 1rem;
	margin: 0;
}

.cat-categoria {
	font-size: 1.15rem;
	font-weight: 700;
	color: #3d3554;
	margin: 1.5rem 0 1rem;
	padding-bottom: .4rem;
	border-bottom: 2px solid #C7B6FD;
}

.cat-produto {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(70, 50, 100, 0.08);
	cursor: pointer;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.cat-produto:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(70, 50, 100, 0.14);
}

.cat-produto-foto {
	aspect-ratio: 1;
	background: #efeaf8 center/cover no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cat-produto-foto .material-symbols-outlined {
	font-size: 3rem;
	color: #c5b8e0;
}

.cat-produto-info {
	padding: .85rem 1rem 1rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.cat-produto-nome {
	font-weight: 600;
	color: #3d3554;
	margin: 0 0 .4rem;
	font-size: .95rem;
	line-height: 1.3;
}

.cat-produto-preco {
	margin-top: auto;
	color: #FB6643;
	font-weight: 700;
	font-size: 1.05rem;
}

.cat-produto-preco small {
	color: #999;
	text-decoration: line-through;
	font-weight: 400;
	margin-right: .35rem;
}

.cat-carrinho-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 1px solid #ebe6f5;
	box-shadow: 0 -4px 16px rgba(0,0,0,.08);
	padding: .85rem 0;
	z-index: 1040;
	display: none;
}

.cat-carrinho-bar.ativo {
	display: block;
}

.modal-produto-foto {
	aspect-ratio: 1;
	background: #f3effa center/contain no-repeat;
	border-radius: 8px;
	min-height: 240px;
}

.modal-produto-foto .carousel-item {
	aspect-ratio: 1;
	background: #f3effa;
}

.modal-produto-foto img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.qtd-controle {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

.qtd-controle button {
	width: 36px;
	height: 36px;
	border: none;
	background: #C7B6FD;
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	line-height: 1;
}

.qtd-controle input {
	width: 56px;
	text-align: center;
	border: 1px solid #ddd;
	border-radius: 6px;
	height: 36px;
}

.carrinho-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .6rem 0;
	border-bottom: 1px solid #eee;
}

.campo-novo-cliente {
	display: none;
}

.campo-novo-cliente.ativo {
	display: block;
}

.cliente-encontrado {
	display: none;
	background: #f0ebfa;
	border-radius: 6px;
	padding: .75rem 1rem;
	margin-top: .75rem;
}

.cliente-encontrado.ativo {
	display: block;
}

.btn-limpar-pedido,
.btn-alterar-cliente {
	background: transparent;
	border: 1px solid #d5cce8;
	color: #6c657a;
	border-radius: 6px;
	padding: .35rem .75rem;
	font-size: .8rem;
	font-weight: 600;
}

.btn-limpar-pedido:hover,
.btn-alterar-cliente:hover {
	border-color: #FB6643;
	color: #FB6643;
}

#bloco_telefone.bloqueado #telefone,
#bloco_telefone.bloqueado #btn_buscar_cliente,
#bloco_email.bloqueado #email_busca,
#bloco_email.bloqueado #btn_buscar_cliente {
	pointer-events: none;
	opacity: .65;
}

.bloco-etapa-pedido {
	display: none;
}

.bloco-etapa-pedido.ativo {
	display: block;
}

.opcao-entrega {
	flex: 1 1 140px;
	cursor: pointer;
	margin: 0;
}

.opcao-entrega input {
	display: none;
}

.opcao-entrega span {
	display: block;
	text-align: center;
	padding: .7rem .9rem;
	border: 1px solid #d5cce8;
	border-radius: 6px;
	font-weight: 600;
	color: #6c657a;
	background: #fff;
}

.opcao-entrega input:checked + span {
	border-color: #FB6643;
	color: #FB6643;
	background: #fff8f5;
}

#bloco_tipo_entrega.has-error .opcao-entrega span,
#lista_enderecos.has-error .opcao-entrega span {
	border-color: #dc3545;
}

#modalCarrinho .form-control.is-invalid,
#modalCarrinho .form-select.is-invalid {
	border-color: #dc3545;
}

#modalCarrinho .campo-feedback {
	font-size: .8rem;
	margin: .15rem 0 .65rem;
}

#modalCarrinho .form-control,
#modalCarrinho .form-select,
#modalCarrinho .has-error,
#modalCarrinho .campo-feedback {
	scroll-margin-top: 12px;
	scroll-margin-bottom: 24px;
}

#obs_encomenda_box {
	display: none;
	background: #fff8f5;
	border-left: 3px solid #FB6643;
	padding: .75rem 1rem;
	margin-bottom: 1rem;
	border-radius: 0 6px 6px 0;
}

#obs_encomenda_box.ativo {
	display: block;
}

/* EMPRESA PÚBLICA */

body.empresa-publico {
	background: #f7f5fb;
}

body.empresa-publico .container {
	max-width: 960px;
}

.emp-hero {
	background: #C7B6FD;
	padding: 2rem 0 2.5rem;
	color: #fff;
}

.emp-hero h1,
.emp-hero p,
.emp-hero span {
	color: #fff;
}

.emp-hero h1 {
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0;
}

.emp-logo {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 12px;
	background: rgba(255,255,255,.25);
	margin-bottom: .75rem;
}

.emp-meta {
	opacity: .9;
	margin: .35rem 0 0;
	font-size: .9rem;
}

.emp-descricao {
	max-width: 40rem;
	margin: 1rem auto 0;
	font-size: .95rem;
	line-height: 1.5;
	white-space: pre-line;
	opacity: .95;
}

.emp-secao {
	padding: 1.75rem 0 3rem;
}

.emp-titulo {
	font-size: 1.2rem;
	font-weight: 700;
	color: #3d3554;
	margin-bottom: 1.25rem;
}

.emp-catalogo {
	display: block;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(70, 50, 100, 0.08);
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.emp-catalogo:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(70, 50, 100, 0.14);
	color: inherit;
}

.emp-catalogo-capa {
	aspect-ratio: 16 / 9;
	background: #efeaf8 center/cover no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.emp-catalogo-capa .material-symbols-outlined {
	font-size: 2.5rem;
	color: #c5b8e0;
}

.emp-catalogo-info {
	padding: 1rem 1.1rem 1.15rem;
}

.emp-catalogo-nome {
	font-weight: 700;
	color: #3d3554;
	margin: 0 0 .4rem;
	font-size: 1.05rem;
}

.emp-catalogo-tipo {
	display: inline-block;
	background: #FB6643;
	color: #fff !important;
	padding: .15rem .55rem;
	border-radius: 4px;
	font-size: .7rem;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: .5rem;
}

.emp-catalogo-desc {
	color: #6c657a;
	font-size: .85rem;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.emp-catalogo-horario {
	font-size: .8rem;
	font-weight: 600;
	margin: .45rem 0 0;
}

.emp-catalogo-horario.aberto {
	color: #2bc155;
}

.emp-catalogo-horario.fechado {
	color: #FB6643;
}

/* PEDIDO ACOMPANHAR */

body.pedido-acompanhar {
	background: #f7f5fb;
	min-height: 100vh;
}

.acomp-header {
	background: #C7B6FD;
	padding: 1.5rem 0 2rem;
	color: #fff;
}

.acomp-header h1,
.acomp-header p,
.acomp-header span {
	color: #fff;
}

.acomp-header h1 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
}

.acomp-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(70, 50, 100, 0.1);
	padding: 1.5rem;
	margin-top: -1.25rem;
	margin-bottom: 1.5rem;
}

.acomp-status {
	display: inline-block;
	background: #FB6643;
	color: #fff !important;
	padding: .35rem 1rem;
	border-radius: 20px;
	font-weight: 700;
	font-size: .95rem;
}

.acomp-status.status-4 { background: #6c757d; }
.acomp-status.status-5 { background: #28a745; }
.acomp-status.status-2 { background: #5b8def; }
.acomp-status.status-3 { background: #9b6bff; }
.acomp-status.status-6 { background: #c9842a; }

.acomp-item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: .75rem;
	padding: .65rem 0;
	border-bottom: 1px solid #f0ecf8;
}

.acomp-item > div:first-child {
	flex: 1;
	min-width: 0;
}

.acomp-item:last-child {
	border-bottom: none;
}

.acomp-refresh {
	font-size: .8rem;
	color: #8a8299;
	text-align: center;
	margin-bottom: 2rem;
}

.acomp-empresa {
	text-align: center;
	margin-bottom: .5rem;
}

.acomp-empresa img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: .35rem;
}

.dash-calendario-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
}

.dash-calendario {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: .5rem;
}

.dash-calendario-dia {
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: .65rem;
	min-height: 120px;
	background: #fff;
}

.dash-calendario-dia.hoje {
	border-color: #FB6643;
	box-shadow: 0 0 0 1px #FB6643;
}

.dash-calendario-dia-header {
	margin-bottom: .5rem;
	padding-bottom: .35rem;
	border-bottom: 1px solid #eee;
	text-align: center;
}

.dash-calendario-horas {
	line-height: 1.3;
}

.dash-calendario-pedidos li {
	margin-bottom: .55rem;
	padding-bottom: .35rem;
	border-bottom: 1px dashed #eee;
}

.dash-calendario-pedidos li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.dash-calendario-pedidos a {
	color: #FB6643;
	text-decoration: underline;
	font-weight: 600;
}

.dash-calendario-nav button:disabled {
	opacity: .35;
	cursor: default;
}

.nav-inferior {
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background: #fff;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
	padding: 6px 4px calc(8px + env(safe-area-inset-bottom, 0px));
	min-height: 64px;
}

body.cadastro:has(.nav-inferior) {
	padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

body.cadastro.tutoriais-item-aberto {
	padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

body.tutoriais-item-aberto .nav-inferior {
	display: none !important;
}

body.tutoriais-item-aberto footer {
	display: none;
}

.nav-inferior-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	min-width: 0;
	text-decoration: none;
	color: #495057;
}

.nav-inferior-item:hover,
.nav-inferior-item:visited {
	color: #495057;
	text-decoration: none;
}

.nav-inferior-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 32px;
	border-radius: 12px;
}

.nav-inferior-icone .material-symbols-outlined {
	font-size: 24px;
	color: #495057;
}

.nav-inferior-label {
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	color: #495057;
	white-space: nowrap;
}

.nav-inferior-criar {
	margin-top: -22px;
}

.nav-inferior-criar .nav-inferior-label {
	white-space: normal;
	max-width: 72px;
}

.nav-inferior-fab {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: #FB6643;
	border: 3px solid #fff;
	box-shadow: 0 4px 14px rgba(251, 102, 67, 0.45);
}

.nav-inferior-fab .material-symbols-outlined {
	font-size: 28px;
	color: #FDD66E;
	font-weight: 700;
}

.nav-inferior-item.ativo .nav-inferior-icone {
	background: #FDE7E1;
}

.nav-inferior-item.ativo .nav-inferior-icone .material-symbols-outlined,
.nav-inferior-item.ativo .nav-inferior-label {
	color: #FB6643;
	font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24;
}

.nav-inferior-criar.ativo .nav-inferior-fab {
	box-shadow: 0 4px 16px rgba(251, 102, 67, 0.65);
}

.pag-metodos {
	display: grid;
	gap: .9rem;
}

.pag-metodo {
	border: 2px solid #e8e0f4;
	border-radius: 12px;
	padding: 1.15rem 1rem;
	text-align: center;
	cursor: pointer;
	background: #fff;
}

.pag-metodo.principal {
	border-color: #FB6643;
	box-shadow: 0 4px 16px rgba(251, 102, 67, 0.14);
}

.pag-metodo:hover {
	border-color: #C7B6FD;
}

.pag-metodo .material-symbols-outlined {
	font-size: 2rem;
	color: #FB6643;
}

.pag-metodo strong {
	display: block;
	margin-top: .35rem;
	color: #3d3554;
}

.pag-pix-qr {
	max-width: 220px;
	width: 100%;
	margin: 0 auto 1rem;
	border-radius: 8px;
}

.pag-chave {
	word-break: break-all;
	background: #f7f4fb;
	border-radius: 8px;
	padding: .85rem;
	font-size: .8rem;
}

.pag-aviso {
	background: #fff6f2;
	border: 1px solid #ffd4c7;
	border-radius: 10px;
	padding: .9rem 1rem;
	margin: 1rem 0 .7rem;
}

.custo-resumo {
	background: #f7f4fb;
	border-radius: 8px;
	padding: 1rem 1.15rem;
}

#linha_custo_mao_obra {
	border-top: 1px solid #e6e1ee;
	margin-top: .15rem;
}

.custo-resumo .valor-destaque {
	font-size: 1.35rem;
	font-weight: bold;
}

.margem-indicacao {
	width: auto;
	max-width: 720px;
	font-size: .875em;
	border-collapse: collapse;
}

.custo-resumo .margem-indicacao {
	width: 100%;
	margin-top: .85rem;
	max-width: none;
}

.margem-indicacao th,
.margem-indicacao td {
	padding: .3rem .5rem .3rem 0;
	vertical-align: top;
	border: 0;
	font-size: .875em;
}

.margem-indicacao th {
	font-weight: bold;
	padding-bottom: .45rem;
}

.margem-indicacao td:first-child,
.margem-indicacao th:first-child {
	white-space: nowrap;
	width: 5.5rem;
	padding-right: .75rem;
}

@media (min-width: 992px) {
	.nav-tabs .laranjaaba {
		padding-left: 28px;
		padding-right: 28px;
	}
}

.tab-label-short {
	display: none;
}

.empresa-config-bloco {
	background: #f7f4fb;
	border-radius: 8px;
	padding: 1rem 1.15rem;
}

.empresa-config-bloco .form-control {
	margin-bottom: 0;
}

.financeiro-atalhos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.financeiro-atalhos a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f7f4fb;
	color: #495057;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 6px;
}

.financeiro-atalhos a span {
	font-size: 1.1rem;
	color: inherit;
}

.financeiro-atalhos a.ativo,
.financeiro-atalhos a:hover {
	background: #FB6643;
	color: #FDD66E;
	text-decoration: none;
}

.financeiro-atalhos a.ativo span,
.financeiro-atalhos a:hover span {
	color: #FDD66E;
}

.financeiro-competencia {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.financeiro-competencia .form-select {
	margin: 0;
	max-width: 220px;
}

#lancamentos {
	scroll-margin-top: calc(var(--header-height) + 16px);
}

.fin-resumo {
	background: #f7f4fb;
	border-radius: 8px;
	padding: 1.1rem 1.2rem;
	height: 100%;
}

.fin-resumo span.material-symbols-outlined {
	font-size: 1.6rem;
}

.fin-resumo.entrada span { color: #2bc155; }
.fin-resumo.saida span { color: #FF2E2E; }
.fin-resumo.saldo.positivo span { color: #3E75D1; }
.fin-resumo.saldo.negativo span { color: #FF2E2E; }
.fin-resumo.horas span { color: #7B61D6; }

.fin-resumo strong {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	margin-top: .2rem;
}

.dash-alerta-estoque {
	background: #fff8f5;
	border-left: 3px solid #FB6643;
	border-radius: 0 8px 8px 0;
	padding: 1rem 1.15rem;
}

.dash-alerta-estoque h5,
.dash-alerta-estoque h5 span {
	color: #FB6643;
}

.fin-grafico {
	max-width: 360px;
	margin: 0 auto;
}

.fin-cliente {
	margin-bottom: 12px;
}

.fin-cliente-barra {
	height: 8px;
	background: #efeaf8;
	border-radius: 8px;
	overflow: hidden;
	margin: 4px 0;
}

.fin-cliente-barra span {
	display: block;
	height: 100%;
	background: #C7B6FD;
	border-radius: 8px;
}

.fin-origem {
	font-size: .75rem;
	background: #efeaf8;
	padding: 2px 8px;
	border-radius: 10px;
	display: inline-block;
}

.fin-conta-mes {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	background: #f7f4fb;
	border-radius: 8px;
	padding: 0.9rem 1rem;
	margin-bottom: 8px;
}

.fin-conta-mes.paga {
	opacity: 0.82;
}

.fin-conta-mes-info {
	min-width: 0;
	flex: 1 1 auto;
}

.fin-conta-mes-info strong {
	display: block;
}

.fin-conta-mes-acao {
	flex: 0 0 auto;
}

.fin-conta-mes-acao .laranja.pequeno {
	margin-top: 0;
	white-space: nowrap;
}

.fin-conta-mes-pago {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #2bc155;
	font-weight: 700;
	font-size: 0.9rem;
}

.fin-conta-mes-pago .material-symbols-outlined {
	font-size: 1.2rem;
	color: inherit;
}

.tabela.item div.conta-vencida,
.tabela.item div.conta-vencida small,
.fin-conta-mes-info.conta-vencida,
.fin-conta-mes-info.conta-vencida small {
	color: #FF2E2E;
}

ol li {
	list-style: auto;
	margin-bottom: 8px;
}

#btn_fechamento {
	width: 220px;
}

.tutoriais-dash-atalho {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 2px solid #e8e0f4;
	border-radius: 16px;
	padding: 14px 16px;
	margin-bottom: 1.25rem;
}

.tutoriais-dash-atalho:hover,
.tutoriais-dash-atalho:visited {
	border: 2px solid #FB6643;
	text-decoration: none;
}

.tutoriais-dash-atalho:hover,
.tutoriais-dash-atalho:hover * {
	text-decoration: none !important;
}

.tutoriais-dash-atalho > .material-symbols-outlined:first-child {
	font-size: 2rem;
	color: #FB6643;
}

.tutoriais-dash-atalho strong,
.tutoriais-dash-atalho small {
	display: block;
}

.tutoriais-dash-atalho strong {
	color: #3d3554;
	font-size: 1rem;
}

.tutoriais-dash-atalho small {
	color: #8a8494;
	font-size: 0.8rem;
}

.tutoriais-dash-seta {
	margin-left: auto;
	color: #FB6643;
}

.tutoriais-layout {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

.tutoriais-menu {
	width: 340px;
	flex-shrink: 0;
	background: #fff;
	border: 2px solid #e8e0f4;
	border-radius: 16px;
	padding: 16px;
}

.tutoriais-menu h1 {
	font-size: 1.35rem;
	margin-bottom: 4px;
}

.tutoriais-menu-ajuda {
	color: #8a8494;
	font-size: 0.85rem;
	margin-bottom: 12px;
}

.tutoriais-menu #tutoriais-busca {
	margin-bottom: 12px;
}

.tutoriais-cat {
	border-bottom: 1px solid #efeaf8;
}

.tutoriais-cat:last-of-type {
	border-bottom: 0;
}

.tutoriais-cat-btn {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 0;
	padding: 14px 4px;
	text-align: left;
	min-height: 48px;
}

.tutoriais-cat-nome {
	flex: 1;
	font-weight: 600;
	color: #3d3554;
}

.tutoriais-cat-qtd {
	background: #C7B6FD;
	color: #3d3554;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	min-width: 22px;
	text-align: center;
	padding: 2px 7px;
}

.tutoriais-cat-seta {
	color: #FB6643;
}

.tutoriais-cat.aberta .tutoriais-cat-seta {
	transform: rotate(180deg);
}

.tutoriais-cat-itens {
	display: none;
	padding: 0 0 10px;
	margin: 0;
}

.tutoriais-cat.aberta .tutoriais-cat-itens {
	display: block;
}

.tutoriais-item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: 0;
	border-radius: 10px;
	padding: 12px 8px;
	text-align: left;
	min-height: 48px;
}

.tutoriais-item span {
	color: #495057;
}

.tutoriais-item .material-symbols-outlined {
	color: #FB6643;
	flex-shrink: 0;
}

.tutoriais-item.ativo,
.tutoriais-item:hover {
	background: #f6f1ff;
}

.tutoriais-item.ativo span {
	color: #3d3554;
	font-weight: 600;
}

.tutoriais-conteudo {
	flex: 1;
	min-width: 0;
	background: #fff;
	border: 2px solid #e8e0f4;
	border-radius: 16px;
	padding: 20px;
}

.tutoriais-voltar {
	display: none;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 0;
	color: #FB6643;
	font-weight: 600;
	padding: 0 0 12px;
	min-height: 44px;
}

.tutoriais-voltar .material-symbols-outlined,
.tutoriais-voltar {
	color: #FB6643;
}

#tutoriais-apresentacao h2 {
	font-size: 1.4rem;
	color: #3d3554;
	margin-bottom: 8px;
}

.tutoriais-nav {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.tutoriais-nav button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 2px solid #e8e0f4;
	border-radius: 12px;
	color: #3d3554;
	font-weight: 600;
	min-height: 44px;
	padding: 8px 14px;
}

.tutoriais-nav button .material-symbols-outlined {
	color: #FB6643;
}

.tutoriais-nav button:hover:not(:disabled) {
	border-color: #FB6643;
	color: #FB6643;
}

.tutoriais-nav button:disabled {
	opacity: 0.4;
	cursor: default;
}

.tutoriais-player-cat {
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: .04em;
	color: #FB6643;
	font-weight: 600;
	margin-bottom: 4px;
}

.tutoriais-player h2 {
	font-size: 1.4rem;
	color: #3d3554;
	margin-bottom: 8px;
}

.tutoriais-player-desc {
	color: #5c5668;
	margin-bottom: 16px;
	white-space: pre-line;
}

.tutoriais-video-wrap {
	background: #1a1428;
	border-radius: 16px;
	overflow: hidden;
	width: 100%;
	position: relative;
}

.tutoriais-video-wrap.formato-desktop {
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	aspect-ratio: auto;
}

.tutoriais-video-wrap.formato-mobile {
	width: min(100%, 480px);
	height: auto;
	padding: 0;
	margin: 0 auto;
	aspect-ratio: auto;
}

.tutoriais-video-wrap.formato-mobile::before {
	content: "";
	display: block;
	padding-bottom: 177.78%;
}

.tutoriais-video-wrap video,
.tutoriais-video-wrap iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	object-fit: contain;
	background: #000;
}

.tutoriais-video-wrap iframe {
	position: absolute;
	inset: 0;
}

.tutoriais-sem-video {
	text-align: center;
	color: #8a8494;
	margin-top: 16px;
}

#upload-progress .progress-bar {
	background: #FB6643;
}

@media print {
	.nav-inferior {
		display: none !important;
	}
}

.p-2.loginfora {
	padding: 35px .5rem !important;
}

@media (max-width: 1199px) {
	footer .footerusuario{
		display: none;
	}
}

.ticket-status-usuario {
	color: #3E75D1;
}

.ticket-prazo {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 18px 0 0;
	padding: 12px 14px;
	background: #f6f2ff;
	border: 1px solid #C7B6FD;
	border-radius: 6px;
	color: #5b4f73;
	font-size: 0.9rem;
}

.ticket-prazo .material-symbols-outlined {
	color: #FB6643;
	font-size: 1.2rem;
	margin-top: 1px;
}

.ticket-topo {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.ticket-topo h1 {
	text-transform: none;
	font-size: 1.6rem;
}

.ticket-topo .verde.pequeno {
	margin-top: 0;
}

.ticket-chat {
	background: #f8f6ff;
	border: 1px solid #e4dcf8;
	border-radius: 10px;
	padding: 16px;
	max-height: 520px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ticket-msg {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	max-width: 85%;
}

.ticket-msg.minha {
	margin-left: auto;
	flex-direction: row-reverse;
}

.ticket-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	flex-shrink: 0;
	background-color: #C7B6FD;
}

.ticket-avatar-vazio {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ticket-avatar-vazio .material-symbols-outlined {
	color: #fff;
	font-size: 1.4rem;
}

.ticket-bolha {
	background: #fff;
	border-radius: 12px;
	padding: 10px 14px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.ticket-msg.minha .ticket-bolha {
	background: #FB6643;
}

.ticket-msg.minha .ticket-bolha,
.ticket-msg.minha .ticket-bolha * {
	color: #fff;
}

.ticket-msg.minha .ticket-msg-hora,
.ticket-msg.minha .ticket-anexo-arquivo,
.ticket-msg.minha .ticket-msg-texto a {
	color: #FDD66E;
}

.ticket-msg-nome {
	font-weight: 700;
	font-size: 0.8rem;
	margin-bottom: 4px;
}

.ticket-msg-texto {
	word-break: break-word;
}

.ticket-msg-texto a {
	text-decoration: underline;
	word-break: break-all;
}

.ticket-msg.outra .ticket-msg-texto a {
	color: #3E75D1;
}

.ticket-msg-hora {
	margin: 8px 0 0;
	font-size: 0.75rem;
	color: #8a8494;
}

.ticket-anexo {
	margin-top: 8px;
}

.ticket-anexo img {
	max-width: 220px;
	max-height: 180px;
	border-radius: 6px;
	display: block;
}

.ticket-anexo-arquivo {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	text-decoration: underline;
	word-break: break-all;
}

.ticket-form {
	margin-top: 24px;
	margin-bottom: 20px;
}

.ticket-observacao {
	background: #f6f2ff;
	border: 1px solid #C7B6FD;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 20px;
}

.ticket-observacao-titulo {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	color: #5b4f73;
	font-size: 0.85rem;
	text-transform: uppercase;
}

.ticket-observacao-titulo .material-symbols-outlined {
	font-size: 1.1rem;
	color: #FB6643;
}

.tabela.item .divsemlinha, .tabela.item .divsemlinha div {
	border-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.tabela.item .divsemlinha .acao {
	margin-left: 8px;
}

@media (max-width: 991px) {
	.tutoriais-layout {
		display: flex;
		flex-direction: column;
	}

	.tutoriais-conteudo {
		order: 1;
	}

	.tutoriais-menu {
		order: 2;
	}

	.tutoriais-menu {
		width: 100%;
		padding: 14px;
	}

	.tutoriais-menu h1 {
		font-size: 1.25rem;
	}

	.tutoriais-conteudo {
		display: block;
		margin-bottom: 16px;
	}

	body.tutoriais-item-aberto .tutoriais-conteudo {
		display: block;
		padding: 14px;
		border: 0;
		border-radius: 0;
		background: transparent;
		margin-bottom: 0;
	}

	body.tutoriais-item-aberto .tutoriais-menu {
		display: none;
	}

	body.tutoriais-item-aberto footer {
		display: none;
	}

	body.tutoriais-pagina.tutoriais-item-aberto .container {
		padding-left: 8px;
		padding-right: 8px;
	}

	body.tutoriais-item-aberto .tutoriais-voltar {
		display: inline-flex;
	}

	#tutoriais-apresentacao h2 {
		font-size: 1.2rem;
	}

	.tutoriais-player h2 {
		font-size: 1.2rem;
	}

	.tutoriais-video-wrap.formato-mobile {
		width: 100%;
		max-height: none;
	}

	.tutoriais-video-wrap.formato-desktop {
		width: 100%;
		height: 0;
		padding-bottom: 56.25%;
	}

	.nav-tabs {
		flex-wrap: nowrap;
		gap: 2px;
	}

	.nav-tabs .nav-item {
		flex: 1 1 0;
		width: auto;
		max-width: none;
		margin: 0 !important;
		min-width: 0;
	}

	a.laranjaaba, button.laranjaaba {
		width: 100%;
		max-width: 100%;
		padding: 8px 4px;
		margin: 0;
		white-space: normal;
		line-height: 1.15;
		box-sizing: border-box;
	}

	.tab-label-full {
		display: none;
	}

	.tab-label-short {
		display: inline;
	}

	.nav-tabs.tabs-5 .laranjaaba,
	.nav-tabs.tabs-4 .laranjaaba,
	.nav-tabs.tabs-3 .laranjaaba {
		font-size: 0.78rem;
		padding: 8px 2px;
	}
}

@media (max-width: 480px) {
	.nav-tabs.tabs-5 {
		flex-wrap: wrap;
		row-gap: 4px;
	}

	.nav-tabs.tabs-5 .nav-item {
		flex: 1 0 32%;
		max-width: none;
	}

	.nav-tabs.tabs-5 .laranjaaba {
		font-size: 0.75rem;
		min-height: 40px;
	}

	.empresa-config-bloco {
		padding: 0.9rem 0.85rem;
	}

	.fin-conta-mes {
		flex-wrap: wrap;
	}

	.fin-conta-mes-acao {
		width: 100%;
	}

	.fin-conta-mes-acao .laranja.pequeno,
	.fin-conta-mes-acao .fin-conta-mes-pago {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 768px) {
	:root {
		--header-height: 65px;
	}

	header {
		height: var(--header-height);
	}

	header .perfil {
		float: left;
		margin-right: 10px;
	}

	header .planoativo {
		padding: 0.5rem 0;
	}

	header .planoativo div, header .planoativo p {
		font-size: 0.7rem;
	}

	header .logo img {
		height: 50px;
	}
	
	.cont-menu {
		margin-top: 5px;
	}

	.cont-menu .abre_menu {
		width: 42px;
	}

	.cont-menu .abre_menu span, .cont-menu .abre_menu span:before, .cont-menu .abre_menu span:after {
		width: 10px;
		height: 10px; 
	}

	.cont-menu .abre_menu span:before {
		margin-left: 15px;
	}

	.cont-menu .abre_menu span:after {
		margin-left: 30px;
		margin-top: -10px; 
	}

	body.menu_aberto .cont-menu .abre_menu .ultimaabremenu span {
		margin-top: 1px;
	}

	button.laranja.pequeno, a.laranja.pequeno {
		padding: 9px; 
	}

	button.laranja.pequeno.pesquisar {
		padding: 9px 15px; 
	}

	h1 {
		font-size: 1.5rem;
	}

	.toast-top-right {
        top: 0;
        right: 0;
		position: fixed;
    }

	.tabela.item .acao {
		display: grid;
		justify-content: center;
	}

	.tabela.item .acao a, .tabela.item .acao button {
		margin-top: 3px;
		margin-bottom: 3px;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.dash-calendario {
		grid-template-columns: 1fr;
	}

	.dash-calendario-dia {
		display: none;
		min-height: 160px;
	}

	.dash-calendario-dia.ativo {
		display: block;
	}

	#btn_ver_carrinho {
		padding: 10px 35px;
	}

	body.catalogo-publico > .container {
		padding: 0;
	}

	.mobile-text-center, .mobile-text-center * {
		text-align: center;
	}

	.financeiro-competencia {
		justify-content: flex-start;
		margin-top: 8px;
	}

	.financeiro-competencia .form-select {
		max-width: none;
		flex: 1;
	}

	.ticket-msg {
		max-width: 100%;
	}

	.ticket-topo h1 {
		font-size: 1.3rem;
	}

	#btn_fechamento {
		width: 100%;
	}

	.financeiro-atalhos {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.financeiro-atalhos a {
		width: 100%;
		justify-content: center;
		box-sizing: border-box;
	}

	.financeiro-atalhos a:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.p-2.loginfora {
		padding: 23px .5rem !important;
	}

	.p-2.loginfora a.laranja {
		padding: 10px 20px;
	}

	footer .footer .footer-links span {
		margin: 0 2px;
	}

	footer .footer div, footer .footer div p, footer .footer div p a, footer .footer div p span {
		font-size: 0.7rem;
	}

	.tabela.item div.poucopadding {
		padding-top: 0px;
		padding-bottom: 4px;
	}
}

.cadastre-se-intro {
	max-width: 520px;
	margin: 0 auto;
	color: #6c6676;
}

.aceite-termos {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.aceite-termos .form-check-input {
	width: 18px;
	height: 18px;
	appearance: auto;
	margin-top: 3px;
	flex-shrink: 0;
}

.aceite-termos .form-check-label,
.aceite-termos .form-check-label a {
	font-size: 0.9rem;
	line-height: 1.4;
}

.aceite-termos .form-check-label a {
	color: #FB6643;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.aviso-assinatura {
	max-width: 720px;
	margin: 0 auto 1.75rem;
	background: #f4efff;
	border: 1px solid #d9cfff;
	border-radius: 8px;
	padding: 18px 20px;
	text-align: center;
}

.aviso-assinatura p {
	margin: 0 0 8px;
	color: #495057;
}

.aviso-assinatura p:last-child {
	margin-bottom: 0;
}

.aviso-assinatura-modal {
	border: 1px solid #d9cfff;
	border-radius: 10px;
}

#modalAssinaturaVencida.modal {
	pointer-events: none;
}

#modalAssinaturaVencida .modal-dialog {
	pointer-events: auto;
}

#modalAssinaturaVencida .aviso-assinatura-modal {
	box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.18);
}

.aviso-assinatura-modal .modal-header {
	border-bottom: 1px solid #d9cfff;
	background: #f4efff;
}

.aviso-assinatura-modal .modal-title {
	font-weight: 700;
	color: #495057;
}

.aviso-assinatura-modal .modal-body p {
	color: #495057;
}

.aviso-assinatura-modal .modal-body a {
	color: #FB6643;
	font-weight: 600;
}

.aviso-assinatura-modal .modal-footer {
	border-top: 0;
	padding-top: 0;
}

.aviso-assinatura-modal .modal-footer .laranja {
	margin: 0;
}

.empresa-assinatura-acoes {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	margin-bottom: 8px;
}

.empresa-assinatura-acoes .laranja.pequeno,
.empresa-assinatura-acoes .azul.pequeno {
	margin-top: 0;
}

.empresa-assinatura-acoes .azul.pequeno:hover {
	color: #fff;
	text-decoration: none;
}

#modalInserirCupom .form-control {
	margin-top: 4px;
}

#modalInserirCupom .plano-cupom-feedback {
	min-height: 1.4em;
}

.planos-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 880px;
	margin: 0 auto 1.5rem;
}

@media (min-width: 768px) {
	.planos-grid {
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}

	body.cadastre-se .plano-card,
	.institucional-planos .plano-card {
		display: flex;
		flex-direction: column;
	}

	body.cadastre-se .plano-itens,
	body.cadastre-se .plano-descricao,
	.institucional-planos .plano-itens,
	.institucional-planos .plano-descricao {
		flex: 1;
	}

	body.cadastre-se .plano-escolher,
	.institucional-planos .plano-escolher {
		margin-top: auto;
	}
}

.plano-card {
	position: relative;
	display: block;
	background: #fff;
	border: 2px solid #e6e1f0;
	border-radius: 10px;
	padding: 28px 22px 22px;
	cursor: pointer;
	height: 100%;
}

.plano-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.plano-card h2 {
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: #495057;
}

.plano-preco {
	font-size: 1.6rem;
	font-weight: 700;
	color: #FB6643;
	margin-bottom: 16px;
}

.plano-preco span {
	font-size: 0.95rem;
	font-weight: 500;
	color: #8a8494;
}

.plano-itens {
	padding: 0;
	margin: 0 0 18px;
}

.plano-itens li {
	list-style: none;
	padding: 6px 0 6px 22px;
	position: relative;
	color: #495057;
}

.plano-itens li::before {
	content: "✓";
	font-family: inherit;
	font-size: 14px;
	position: absolute;
	left: 0;
	top: 6px;
	color: #FB6643;
	font-weight: 700;
}

.plano-escolher {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #f4efff;
	color: #495057;
	font-weight: 700;
	padding: 10px 16px;
	border-radius: 4px;
}

.plano-escolher-ok {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 4px;
}

.plano-escolher-ok .material-symbols-outlined {
	font-size: 20px;
	font-weight: 700;
}

.plano-card.destaque {
	border-color: #FB6643;
	box-shadow: 0 8px 24px rgba(251, 102, 67, 0.18);
	transform: scale(1.01);
}

.plano-card.selecionado {
	border-color: #FB6643;
}

.plano-card.selecionado .plano-escolher {
	background: #FB6643;
	color: #FDD66E;
}

.plano-card.selecionado .plano-escolher-texto {
	display: none;
}

.plano-card.selecionado .plano-escolher-ok {
	display: inline-flex;
}

.plano-card.selecionado .plano-escolher span {
	color: #FDD66E;
}

.plano-selo {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: #FB6643;
	color: #FDD66E;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 20px;
	white-space: nowrap;
}

.plano-obs {
	margin-top: 12px;
	font-size: 0.85rem;
	color: #8a8494;
}

.plano-cupom {
	max-width: 520px;
	margin: 0 auto 1.75rem;
	background: #fff;
	border: 1px solid #e6e1f0;
	border-radius: 8px;
	padding: 18px 20px;
}

.plano-cupom label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
}

.plano-cupom-row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.plano-cupom-row .form-control {
	flex: 1;
}

.plano-cupom-row .azul {
	margin: 0;
	white-space: nowrap;
}

.plano-cupom-feedback {
	margin: 8px 0 0;
	font-size: 0.9rem;
	min-height: 1.2em;
}

.plano-cupom-feedback.ok {
	color: #2e7d32;
}

.plano-cupom-feedback.erro {
	color: #c62828;
}

.plano-cupom-resumo {
	margin: 8px 0 0;
	font-size: 0.9rem;
	color: #495057;
}

@media (max-width: 767px) {
	.plano-card.destaque {
		transform: none;
	}
}

body.institucional {
	padding-top: var(--header-height);
}

body.institucional .container {
	max-width: 1080px;
}

.institucional-hero {
	color: #3d3554;
	padding-top: 30px;
	text-align: center;
}

.institucional-olho {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 12px;
	color: #3d3554;
	opacity: 0.9;
}

.institucional-hero h1 {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.15;
	color: #fb6643;
	margin: 0 0 16px;
}

.institucional-lead {
	max-width: 720px;
	margin: 0 auto 24px;
	font-size: 1.05rem;
	line-height: 1.6;
	color: #3d3554;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.frases-institucional {
	position: relative;
	max-width: 720px;
	margin: 0 auto 24px;
	min-height: 5.2em;
}

.frases-institucional .institucional-lead {
	margin: 0;
	max-width: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .55s ease, transform .55s ease, visibility .55s ease;
}

.frases-institucional .institucional-lead.ativa {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.institucional-acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

.institucional-hero a.laranja {
	margin-top: 0;
	display: inline-block;
}

.institucional-link {
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.institucional-link:hover {
	color: #FDD66E;
}

.institucional-nota {
	margin: 5px 0 20px;
	font-size: 0.85rem;
	opacity: 0.9;
}

.institucional-bloco {
	padding: 55px 0;
}

.institucional-bloco-lilas {
	background: #f4efff;
}

.institucional-bloco h2,
.institucional-bloco h1 {
	text-align: center;
	font-size: 1.7rem;
	font-weight: 700;
	color: #3d3554;
	margin-bottom: 12px;
}

.institucional-intro {
	max-width: 680px;
	margin: 0 auto 32px;
	text-align: center;
	color: #5c5668;
	line-height: 1.6;
}

.institucional-video {
	max-width: 860px;
	margin: 0 auto;
}

.institucional-video-wrap {
	background: #1a1428;
	border-radius: 16px;
	overflow: hidden;
	width: 100%;
}

.institucional-video-wrap:empty {
	display: none;
}

.institucional-video-wrap.formato-desktop {
	aspect-ratio: 16 / 9;
}

.institucional-video-wrap.formato-mobile {
	aspect-ratio: 9 / 16;
	max-height: min(70dvh, 640px);
	width: min(100%, calc(min(70dvh, 640px) * 9 / 16));
	margin: 0 auto;
}

@media (max-width: 767.98px) {
	.institucional-video-wrap.formato-mobile {
		max-height: none;
		width: 100%;
	}
}

.institucional-video-wrap video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	background: #000;
}

.institucional-video-vazio {
	background: #1a1428;
	border-radius: 16px;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 32px 20px;
	color: #fff;
}

.institucional-video-vazio .material-symbols-outlined {
	font-size: 64px;
	color: #C7B6FD;
	margin-bottom: 8px;
}

.institucional-video-vazio p {
	color: #fff;
	font-weight: 600;
	margin-bottom: 4px;
}

.institucional-video-vazio small {
	color: #c9c2d8;
}

.institucional-melhorias,
.institucional-vantagens {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.institucional-vantagens {
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.institucional-melhorias article,
.institucional-melhorias li,
.institucional-vantagens article {
	background: #fff;
	border-radius: 10px;
	padding: 22px 20px;
	border: 1px solid #e6e1f0;
}

.institucional-melhorias .material-symbols-outlined,
.institucional-vantagens .material-symbols-outlined {
	color: #FB6643;
	font-size: 32px;
	margin-bottom: 8px;
}

.institucional-melhorias h3,
.institucional-vantagens h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: #3d3554;
	margin-bottom: 8px;
}

.institucional-melhorias p,
.institucional-vantagens p {
	margin: 0;
	color: #5c5668;
	line-height: 1.5;
}

.institucional-vantagens article {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 10px;
}

.institucional-vantagens article p {
	display: none;
}

.institucional-vantagens h3 {
	margin-bottom: 0;
	font-size: 0.95rem;
}

.institucional-vantagens article:last-child {
	grid-column: 1 / -1;
}

.institucional-passos {
	list-style: none;
	padding: 0;
	margin: 0;
}

.institucional-passos li {
	list-style: none;
	margin-bottom: 0;
}

.institucional-passo-numero {
	display: inline-flex;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #FB6643;
	color: #FDD66E;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.05rem;
	margin-bottom: 10px;
}

.institucional-nichos {
	grid-template-columns: 1fr 1fr;
}

.institucional-nichos article {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.institucional-nichos h3 {
	margin-bottom: 0;
}

.institucional-planos .plano-card {
	cursor: default;
}

.institucional-planos .plano-escolher {
	color: #FB6643;
	text-decoration: none;
}

.institucional-planos .plano-escolher:hover {
	background: #FB6643;
	color: #FDD66E;
}

.institucional-cta {
	background: #C7B6FD;
	text-align: center;
	padding: 56px 0 40px;
}

.institucional-cta h2 {
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	margin-bottom: 12px;
}

.institucional-cta p {
	max-width: 560px;
	margin: 0 auto 8px;
	color: #fff;
	line-height: 1.6;
	font-weight: 500;
}

.institucional-cta a.laranja {
	margin: 20px 0 16px;
	display: inline-block;
}

.institucional-w2w {
	font-size: 0.85rem;
	opacity: 0.85;
}

body.institucional footer .footer {
	margin-top: 0;
}

.institucional-instagram {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #C7B6FD;
	color: #fff;
	font-weight: 500;
	padding: 0 16px 20px;
}

.institucional-instagram:hover {
	color: #FDD66E;
}

.institucional-instagram svg,
.institucional-instagram path {
	width: 22px;
	height: 22px;
	fill: #fff;
	color: #fff;
}

.institucional-instagram:hover svg,
.institucional-instagram:hover path {
	fill: #FDD66E;
	color: #FDD66E;
}

@media (min-width: 768px) {
	.institucional-melhorias,
	.institucional-vantagens {
		grid-template-columns: 1fr 1fr;
	}

	.institucional-vantagens {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 16px;
	}

	.institucional-vantagens article {
		text-align: left;
		align-items: flex-start;
		padding: 22px 20px;
	}

	.institucional-vantagens article p {
		display: block;
	}

	.institucional-vantagens h3 {
		margin-bottom: 8px;
		font-size: 1.05rem;
	}

	.institucional-vantagens article:last-child {
		grid-column: auto;
	}

	.institucional-nichos {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.institucional-video-vazio {
		min-height: 360px;
	}
}

.modal-instrucoes-vender {
	border: 1px solid #d9cfff;
	border-radius: 10px;
}

.modal-instrucoes-vender .modal-header {
	border-bottom: 1px solid #d9cfff;
	background: #f4efff;
}

.modal-instrucoes-vender .modal-title {
	font-weight: 700;
	color: #495057;
}

.modal-instrucoes-lista {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}

.modal-instrucoes-lista li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
	color: #495057;
}

.modal-instrucoes-lista li:last-child {
	margin-bottom: 0;
}

.modal-instrucoes-numero {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #FB6643;
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
}

.modal-instrucoes-lista a {
	color: #FB6643;
	font-weight: 600;
	text-decoration: underline;
}

.modal-instrucoes-pronto {
	text-align: center;
	font-weight: 700;
	color: #495057;
}

.modal-instrucoes-vender .modal-footer {
	border-top: 0;
	padding-top: 0;
}

.modal-instrucoes-vender .modal-footer .laranja {
	margin: 0;
}

.mao-obra-passo {
	background: #f7f4fb;
	border-radius: 8px;
	padding: 1.15rem 1.25rem;
	height: 100%;
}

.mao-obra-passo h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.1rem;
	font-weight: 700;
	color: #3d3554;
	margin-bottom: 1rem;
}

.mao-obra-numero {
	display: inline-flex;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #FB6643;
	color: #FDD66E;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.9rem;
	flex-shrink: 0;
}

.mao-obra-calculo,
.mao-obra-custos {
	background: #fff;
	border-radius: 8px;
	padding: 0.35rem 1rem;
}

.mao-obra-linha {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 0.55rem 0;
	border-bottom: 1px solid #eee8f5;
}

.mao-obra-linha:last-child {
	border-bottom: 0;
}

.mao-obra-linha span {
	color: #495057;
}

.mao-obra-linha.mao-obra-vazia {
	display: block;
}

.mao-obra-resultado {
	background: #fff6f2;
	border: 1px solid #ffd4c7;
	border-radius: 10px;
	padding: 1.2rem 1.3rem;
	text-align: center;
}

.mao-obra-resultado .valor-destaque {
	font-size: 1.8rem;
	font-weight: 700;
	color: #FB6643;
}

body.pagina-erro .pagina-erro-box {
	max-width: 560px;
	margin: 3rem auto 4rem;
	background: #fff;
	border-radius: 12px;
	padding: 2.5rem 1.5rem 2.8rem;
	box-shadow: 0 8px 28px rgba(90, 70, 140, 0.08);
}

body.pagina-erro .pagina-erro-codigo {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
	color: #C7B6FD;
	margin-bottom: 0.8rem;
}

body.pagina-erro h1 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #495057;
	margin-bottom: 0.8rem;
}

body.pagina-erro .pagina-erro-box p {
	color: #6c6578;
	line-height: 1.6;
	margin-bottom: 0;
}

body.pagina-erro .pagina-erro-box a.laranja {
	display: inline-block;
	margin-top: 1.8rem;
}

.producao-bloco {
	background: #f7f4fb;
	border-radius: 10px;
	padding: 1.15rem 1.2rem 1.4rem;
	margin-bottom: 1.25rem;
}

.producao-bloco h2 {
	font-size: 1.15rem;
	font-weight: 700;
	margin-bottom: .2rem;
}

.producao-bloco .producao-origem {
	color: #6c6578;
	font-size: .95rem;
}

.producao-bloco .producao-subtitulo {
	font-size: 1rem;
	font-weight: 700;
	margin: 1.15rem 0 .45rem;
}

.producao-bloco .tabela.titulo,
.producao-bloco .tabela.item {
	background: #fff;
}

.producao-bloco .tabela.item:last-child > [class*="col"] {
	border-bottom: 0;
}

.pedidos-resumo {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-bottom: 1.25rem;
}

a.pedidos-resumo-box,
a.pedidos-resumo-box:hover,
a.pedidos-resumo-box:visited {
	flex: 1 1 140px;
	background: #f7f4fb;
	border-radius: 8px;
	padding: .9rem 1rem;
	border: 2px solid transparent;
	display: block;
}

a.pedidos-resumo-box:hover {
	border-color: #C7B6FD;
}

a.pedidos-resumo-box.ativo {
	border-color: #FB6643;
	background: #fff8f5;
}

a.pedidos-resumo-box strong {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
}

a.pedidos-resumo-box span {
	display: block;
	margin-top: .15rem;
	font-size: .85rem;
}

a.pedidos-resumo-box:hover, a.pedidos-resumo-box:hover strong, a.pedidos-resumo-box:hover span, a.pedidos-resumo-box.ativo:hover {
	text-decoration: none;
}

a.pedidos-resumo-box.status-1 strong { color: #FB6643; }
a.pedidos-resumo-box.status-2 strong { color: #5b8def; }
a.pedidos-resumo-box.status-3 strong { color: #9b6bff; }
a.pedidos-resumo-box.status-4 strong { color: #6c757d; }
a.pedidos-resumo-box.status-5 strong { color: #28a745; }
a.pedidos-resumo-box.status-6 strong { color: #c9842a; }

.ordem-categorias {
	border: 1px solid #ced4da;
	border-radius: 8px;
	overflow: hidden;
	margin: 0;
	padding: 0;
	max-width: 640px;
}

.ordem-categoria-item {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .45rem .65rem;
	background: #fff;
	border-bottom: 1px solid #e9ecef;
}

.ordem-categoria-item:last-child {
	border-bottom: 0;
}

.ordem-categoria-posicao {
	width: 1.4rem;
	color: #6c6676;
	font-weight: 700;
	flex-shrink: 0;
}

.ordem-categoria-nome {
	flex: 1;
	min-width: 0;
}

.ordem-categoria-handle,
.ordem-categoria-mover {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #6c6676;
	padding: 0;
	flex-shrink: 0;
}

.ordem-categoria-handle {
	cursor: grab;
	touch-action: none;
	-webkit-user-select: none;
	user-select: none;
}

.ordem-categoria-handle:active {
	cursor: grabbing;
	color: #FB6643;
}

.ordem-categoria-handle .material-symbols-outlined,
.ordem-categoria-mover .material-symbols-outlined {
	font-size: 22px;
}

.ordem-categoria-mover:disabled {
	opacity: .35;
	cursor: default;
}

.ordem-categoria-acoes {
	display: flex;
	gap: .1rem;
}

.ordem-categoria-ghost {
	opacity: .45;
	background: #fff4f1;
}