@import url("estilo-modal.css");
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,700');
body{
	font-family: 'Roboto', sans-serif;
	font-size:1rem;
	background: linear-gradient(to bottom, #e3eaef, #d5e0e7, #c7d2da);
}

*{
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	padding:0;
	margin:0;
}
a{text-decoration:none}

/*scroolbar*/
::-webkit-scrollbar { width: 6px;height:6px;}
::-webkit-scrollbar-thumb {background: #7b7fb6}
::-webkit-scrollbar-track {background:rgb(177, 172, 173)}

.base-login{
	background:#8589c5;
	padding-top:5rem
}

/*caixa-login*/
.caixa-login{
	background:#fff;
	border-radius:5px;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:40px;
	padding-right:40px;
	position:relative
}
.caixa-login h1{
	    color: #8589c5;
    font-size: 1.2rem;
    font-weight: 400;
	padding-top:1rem
}
.caixa-login a.senha{
	color:#5d3273
}
.caixa-login .label{
	display:block;
	padding-top:.2rem;
	padding-bottom:.4rem;
	color:#8589c5;
}
.caixa-login .esquecisenha{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	padding:20px 40px;
	background:#eee;	
	border-radius:5px;
	display:none
}
.caixa-login .esquecisenha .senha{
	position:absolute;
	right:10px;
	top:10px;
	cursor:pointer
}
.caixa-login .esquecisenha h1,
.caixa-login .esquecisenha .label
{
	color:#333;
	
}
.caixa-login .esquecisenha h1
{
	font-size: 1.5rem;
	text-transform:uppercase;
	font-weight:600
	
}

@media (max-width:991px){
	.base-login{padding:1rem}
}



.topo {
    padding: 0;
    box-shadow: 0 0 5px 0 #00000040;
	position: fixed;
    top: 0;
    right: 0;
    left: 0;
	background:#FFF!important;
	z-index: 2;
}
.topo .logo{
	width: 115px;
    background: #FFF;
    color: #FF4B42;
    padding-top: .0rem;
    padding-bottom: .0rem;
    font-size: 0rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1.0px;
    margin-left: 5.9rem;
    padding-right: 0;
}
.topo .logo img{width:100%}

.menu-topo{
	display:block;
}
.menu-topo li{
	display:inline-block;
	    color: rgba(0,0,0,.5);
		padding: .3rem .8rem;
}
.menu-topo li>a{
	    color: rgba(0,0,0,.5);
}
.img-user{
	width:28px;
	height:28px;
	border-radius:50px;
	margin-right:5px;
	overflow:hidden;
	display:inline-block;
	position: relative;
		top: 6px;	
}

/*menu retratil*/

/*
#principal {
    width: 225px;
    left: -225px;
}
#menuRetrair:checked ~ #principal{transform: translateX(225px)}
*/
.menuprincipal{
	height:100%;
    position: fixed;
    top: -7px;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    margin-top:66px;
    height: calc(100vh - 50px)!important;
    background:#FCFCFC;
	z-index:2;
	transition:all .4s;
	box-shadow:0px 4px 6px 0 #00000040;
}



#menu_empresa,
#menu_nfe,
#menu_financeiro,
#menu_contabilidade,
#menu_estoque,
#menu_compras,
#menu_producao,
#menu_cadastro,
#menu_usuario
{
	width:185px;
	left:-185px;
}

#menu_empresa:target,
#menu_nfe:target,
#menu_financeiro:target,
#menu_contabilidade:target,
#menu_estoque:target,
#menu_compras:target,
#menu_producao:target,
#menu_cadastro:target,
#menu_usuario:target{
	transform:translateX(185px);
	box-shadow: 0 3px 2px 2px rgba(0,0,0,.5);
}

/*col-3 menu-lateral*/
.menu-lateral{
	display:none;
}
.col-3.menu-lateral
{
	width:251px;
	background:#813c49;
	height: calc(100vh - 51px);
	position: fixed;
    top: 0px;
    left: 0px;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    margin-top: 51px;
	padding:0;
	z-index:1;
	display:none;
}
.col-3.menu-lateral .tt{
	color: #f3d7d3!important;
    background: #00000075;
	padding:.8rem 1rem;
	text-transform:uppercase;
	font-weight:400;
	font-size:.88rem
}

.col-3.menu-lateral h3{
	display:block;
	padding: .85rem 1rem;
	color: #f3d7d3;
	font-weight:400;
	font-size:.95rem;
	text-transform:uppercase;
	border-bottom: solid 1px #dddddd2b; 
	position:relative;
	cursor:pointer
}
.col-3.menu-lateral h3:focus{
	outline:none;
	background:#f17b6a
}
.col-3.menu-lateral h3:before{
	content:""; 
	position:absolute;
	border:solid 5px transparent;
	border-top:solid 5px #919191;
	right:18px;
	top:18px;
	border-radius:3px;
}
.col-3.menu-lateral ul,
.col.menu-lateral ul
	height:auto!important;
	transition:all .3s linear;
}
.col-3.menu-lateral ul>li,
.col.menu-lateral ul>li{
	display:block;
	padding-left:20px;
	background:#00000026;
	border-bottom: solid 1px #dddddd2b; 
}
.col-3.menu-lateral ul>li>a,
.col.menu-lateral ul>li>a{
	display:block;
	padding: .85rem 1rem;
	color: #919191;
	text-transform:uppercase;
	font-size:.88rem
}
/**/
.col-3.menu-lateral ul.alt>li{
	padding-left:0;
	background:none;
}
.col-3.menu-lateral ul small{
	color:#fff;
	display:block;
	padding: .85rem 1rem;
	border-bottom: solid 1px #dddddd2b;
	text-transform:uppercase;
}

/**/
.icones {
	text-align:center;
}
.icones a{
	padding: .4rem 1rem!important;
	position:relative;
}
.icones a span{
	    position: absolute;
    right: 60px;
    top: 35px;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 0;
    border-radius: 50px;
    color: #ffffff;
    background: #7652a7;
    width: 23px;
	border:solid 1px #7652a7
}
.icones li:hover{
	background: #ddd6;
    box-shadow: 5px 0px 1px 0 inset #8e57c5;	
	transition:all .3s linear
	}
.icones li a:hover span{color:#7652a7;text-shadow: 0 0 2px #000;background:#fff;border:solid 1px #7652a7}
.icones li{
	display:block;
	margin-bottom:.6rem;
	transition:all .3s linear
}

.icones i{
	width: 50px;
    height: 50px;
    background: #fff;
    border: solid 1px #8e57c5;
    border-radius: 50px;
    text-align: center;
    align-items: center;
    font-size: 1.3rem;
    display: block;
    margin: 0 auto;
    padding: .9rem .8rem;
    margin-bottom: .3rem;
    transition: all .3s linear;
    color: #7652a7;
}
.icones li:hover i{
	background:#7652a7;
	color:#fff;
	border-color:#7652a7;
	transition:all .3s linear
}
.icones i.ativo{
	background:#7864a0;
	color:#fff;
	border-color:#7864a0;
	    width: 40px;
    height: 40px;
    font-size: 1.2rem;
    padding: .6rem;
}


/**/
.menuprincipal .menu-lista li:first-child{
	border-bottom:0; 
}
.menuprincipal .menu-lista li{
	display:block;
	border-bottom: solid 1px #dddddd9e; 
}

.menuprincipal .menu-lista .tt{
	display:block;
	text-transform:uppercase;
	font-size:.98rem;
	color:#7864a0;
	    margin-bottom: .5rem;
}
.menuprincipal .menu-lista small{
	display: block;
    text-transform: uppercase;
    font-size: .9rem;
    color:#c762e8;
    padding: .5rem 1rem;
    border-bottom: solid 1px #dddddd9e;
    background: #dddddd2b;
}
.menuprincipal .menu-lista .tt i{
	    width: 25px;
    height: 25px;
    background: #7864a0;
    border-radius: 50px;
    text-align: center;
    align-items: center;
    font-size: .96rem;
    display: inline-block;
    padding: .3rem;
    color: #fff;
}
.menuprincipal .menu-lista #accordion{
	padding:.85rem 0rem;
    display: block;
}

.menuprincipal .menu-lista #accordion h3{
	padding: .6rem .8rem;
    display: block;
    border-bottom: solid 1px #ddddddab;
    font-weight: 500;
    text-transform: uppercase;
    font-size: .95rem;
    color: #818181;
	position:relative;
	cursor:pointer
}
.menuprincipal .menu-lista #accordion h3:after{
	position: absolute;
    content: "";
    border: solid 5px transparent;
    border-top: solid 5px #c3c3c3;
    right: 10px;
    top: 15px;
    border-radius: 3px;	
}
.menuprincipal .menu-lista #accordion ul>li{
	    display: block;
    background: rgba(105, 110, 183, 0.22);
    border-bottom: solid 1px #bebfda;
    transition: all .5s linear;
}
.menuprincipal .menu-lista #accordion ul>li:hover{
    background:#b6accb;
}

.menuprincipal .menu-lista #accordion ul>li>a{
	color:#75757d;
}
.menuprincipal .menu-lista h3:focus{
	outline:none;
	background:#696eb7;
	color: #fff!important;
}


.central{
	max-width: 89%!important;
    ms-flex: 0 0 89%!important;
    flex: 0 0 89%!important;
	position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgb(203, 205, 224);
    border-radius: .25rem;
	padding:0;
	overflow:hidden;
	min-height: calc(100vh - 86px);
	margin:0 auto;
	margin-top: 78px!important;
	
}

footer{
	width: calc(100% - 251px);
position: absolute;
    right: 0px;
    bottom: 0px;
    width: 100%;
    height: 56px;
    background-color: rgb(233, 236, 239);
    line-height: 55px;
}

/*cchecked*/
.check{
	position:relative;
}
.check label{
	display: inline-block;
    width: 17px;
    height: 17px;
	box-shadow: 0 0 0 2px #a255d2; 
    left: 0;
    top: 0;
    border-radius: 3px;
	cursor:pointer;
	background: #ddd;
	text-align: center;
    vertical-align: middle;
}
.check input[type=checkbox]{
	display:none
}

.check input[type=checkbox]:checked + label:before
{
		content:url(../img/mark.png);
		position: relative;
		top: 0px;
		left:auto;

}
.check.alt label{
    float:left;
}

.itens-check label{color:#fff;border-radius:3px;background:#babbce;cursor:pointer}
.itens-check label:hover{background:#7864a0;}
.itens-check input[type=checkbox]{display:none}
.itens-check input:checked ~ label{background:#b363fd}
.itens-check input:checked ~ label:hover{background:#7864a0 }

/*
 * Variante: checkbox visível (usada em Contato/Create)
 * Mantém o comportamento original (label clicável) sem transformar em "botão".
 */
.itens-check.itens-check-checkbox input[type=checkbox]{
	display:inline-block;
	vertical-align:middle;
	margin-right:6px;
}
.itens-check.itens-check-checkbox label{
	background:transparent;
	color:inherit;
	border-radius:0;
	padding:0 !important;
	margin:0 18px 0 0 !important;
	display:inline-flex;
	align-items:center;
	gap:6px;
}
.itens-check.itens-check-checkbox label:hover{background:transparent;}
.itens-check.itens-check-checkbox input:checked ~ label{background:transparent;}
.itens-check.itens-check-checkbox input:checked ~ label:hover{background:transparent;}

.window .caixa{
	background:#FFF
}

/*
 * Modal Venda: mantém os botões (rodapé) sempre visíveis e
 * adiciona rolagem no corpo quando o conteúdo crescer (ex.: 2+ parcelas).
 */
#modalVenda{
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
#modalVenda form{
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0; /* permite o scroll do body dentro do flex */
}
#modalVenda .modal-venda-body{
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
#modalVenda .modal-venda-footer{
	flex: 0 0 auto;
	background: #fff;
	border-top: 1px solid #e5e5e5;
}
.mobmenu{
	    display: block;
    font-size: 1.3rem;
    color: #ffffff;
    left: 20px;
    margin-top: 8px;
    position: absolute;
    width: 35px;
    height: 35px;
    background:#7864a0;
    border-radius: 50px;
    padding: .3rem .5rem;
}


.template2 .mobmenu.alt{
	display:block;
}
.template2 .menu-lateral{
	display:none
}

.rolagem-tabela{
	height:300px;
	overflow-y:auto
}
.rolagem-tabela2{
	height:250px;
	overflow-y:auto
}



/*listaProdutos*/
.listaProdutos{
	position: absolute;
    border: solid 1px #d8d8d8;
    background: #fff;
    top: 57px!important;
    right: 15px!important;
    left: 15px!important;
    height: 195px;
    overflow-y: auto;
    z-index: 1;
	border-radius:0 0 5px 5px;
}
.listaProdutos .si{
	border-bottom: 1px solid #f0f0f0;
}
.listaProdutos a{
    display: block;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: .9em;
    line-height: 23px;
    padding: 6px;
    color:#000;
    text-decoration: none;
}
.listaProdutos a:hover,
.listaProdutos a:focus{
    background:#e6f3ff;
    color:#000;
	outline: none;
}

.compra_ativo .table-bordered th {
    background: #777bb3;	
}
.status-date{
	color:#585858;
}
.compra_ativo .status-date .datas{
	display: inline-block;
    border-right: solid 1px #777bb3;
    padding: 0 7px;
	    color: #777bb3;
}
.status-date .datas{
	display: inline-block;
    border-right: solid 1px #ccc;
    padding: 0 7px;
}
.compra_ativo .bg-title3 {
    background: #ffffff!important;
}

.compra_ativo .table-bordered .btn.btn-verde{
	border: solid 1px #21dc85!important;
    background: #60e2a6!important;
	cursor:pointer!important;
}


.compra_ativo .aprovar .bg-title3,
.compra_ativo .aprovar .bg-title
{
	color: #5b60a0!important;
    border-bottom: solid 1px #7864a0!important;
}
.compra_ativo .aprovar .bg-title3 .btn{
	border: solid 1px #21dc85!important;
    background: #60e2a6!important;
    color: #100f0f!important;
	cursor: pointer!important;
}


.table-bordered.alt .btn.btn-verde{
	font-size: .8rem;
    padding: .3rem .8rem;
	background:#ccc;
	border-color: #bababa;
    color: #5e5e5e;
	cursor: no-drop;
}

.aprovar .bg-title3,
.aprovar .bg-title
{
	color:#949494!important;
	border-bottom:0!important;
}
.aprovar .bg-title3 .btn{
	background:#ccc;
	border-color: #bababa;
    color: #5e5e5e;
	cursor: no-drop;
}
.mostraFiltro{display:block}

.campo-upload{
	position:relative;
	text-align:center;
}

.campo-upload input[type=file]{
	display:none
}
.campo-upload span{
	position: absolute;
    bottom: 100px;
    left: 50%;
    background: #433a83;
    color: #fff;
    padding: 5px;
    border-radius: 4px;
	margin-left: -50px;
	transition:opacity .3s;
	opacity:0;
	visibility:hidden;
	cursor:pointer
}
.campo-upload label:hover span{
	transition:opacity .5s;
	opacity:1;
	visibility:visible;
}
.tabela-responsiva{
	border: solid 1px #d2d2dc;
	border-radius: 5px;
    padding-bottom: 0!important;
	margin-bottom:1rem!important
	}
.tabela-responsiva thead th,
.tabela-responsiva tbody td{
	font-size:.8rem;
	padding:.6rem .9rem;
}

.tabela-responsiva thead th{background:#d2d2dc;}
.tabela-responsiva tbody tr{background:#fff;}
.tabela-responsiva tbody td{border-bottom: solid 1px #d2d2dc;}
.tabela-responsiva tbody tr:nth-of-type(2n+0){background:#efeff2;}

/*
 * Badge de status dentro de tabelas.
 * Garante que textos longos (ex.: "Aguardando Aprovação") não sejam
 * cortados ao quebrar linha.
 */
.tabela-responsiva .status{
	display: inline-block;
	margin-bottom: 0;
	line-height: 1.2;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

/*1024*/
@media (max-width:1024px){
	.topo .logo,.col-3.menu-lateral {
    width: 182px;
	}
	.col-9.central {
		margin-left: 0;
		max-width: 98%!important;
		flex: 0 0 98%!important;
		ms-flex: 0 0 98%!important;
		margin: 0 1%;
	}
	
}

/*740*/
@media (max-width:740px){
	.bg-title{font-size: 1.2rem!important;}
	.status,.msg {
		display: block;
	}
}

/*530*/
@media (max-width:530px){
	.menu-topo{display:none;
	}
}

/*660*/
@media (max-width:660px){
	.text-branco.d-flex.justify-content-space-between {
		display: block!important; 
	}
}



/*495*/
@media (max-width:495px){
	#tab ul>li {
		display: block;
		margin-bottom:2px;
		font-size: 1rem;
	}
	#tab ul>li.ui-state-active>a {bottom: 0px;}
	.rows.itens-check.px-3{
		display:block
	}
	.itens-check label {display: block; margin-bottom: 5px; margin-right:0!important}
	.form-campo {padding: 15px;}
	.menuprincipal {margin-top: 66px;}
}



/*360*/
@media (max-width:360px){
	.bg-title .btn{
		display:block!important;
		margin-top:5px
	}
}

/* Filtro visível por padrão */
.mostraFiltro {
    display: block;
}

/* ==========================================================
   Fornecedor (modal / formulário): ajustar grid em telas menores
   para manter a organização semelhante ao layout de referência.
   Escopo: apenas dentro do formulário de fornecedor.
   ========================================================== */
#fornecedor-form .rows {
    margin-left: -10px;
    margin-right: -10px;
}

#fornecedor-form .col,
#fornecedor-form .col-1,
#fornecedor-form .col-2,
#fornecedor-form .col-3,
#fornecedor-form .col-4,
#fornecedor-form .col-6,
#fornecedor-form .col-8,
#fornecedor-form .col-9,
#fornecedor-form .col-10,
#fornecedor-form .col-12 {
    padding-left: 10px;
    padding-right: 10px;
}

/* Mantém colunas lado-a-lado mesmo no modal (que costuma ficar < 992px) */
#fornecedor-form .col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
#fornecedor-form .col-3 { flex: 0 0 25%;        max-width: 25%; }
#fornecedor-form .col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
#fornecedor-form .col-6 { flex: 0 0 50%;        max-width: 50%; }
#fornecedor-form .col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
#fornecedor-form .col-9 { flex: 0 0 75%;        max-width: 75%; }
#fornecedor-form .col-10{ flex: 0 0 83.333333%; max-width: 83.333333%; }
#fornecedor-form .col-12{ flex: 0 0 100%;       max-width: 100%; }

/* Em telas bem pequenas, volta a empilhar para evitar estouro */
@media (max-width: 520px) {
    #fornecedor-form .col-2,
    #fornecedor-form .col-3,
    #fornecedor-form .col-4,
    #fornecedor-form .col-6,
    #fornecedor-form .col-8,
    #fornecedor-form .col-9,
    #fornecedor-form .col-10 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

#fornecedor-form fieldset {
    border: 1px solid #e6e6e6;
    border-radius: 6px;
    padding: 12px;
}

#fornecedor-form legend {
    padding: 0 8px;
    font-weight: 600;
}

#fornecedor-form .grupo-form-btn {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

#fornecedor-form .grupo-form-btn .form-campo {
    flex: 1;
}

#fornecedor-form .grupo-form-btn #for_cep {
    flex: 0 0 105px; /* espaço suficiente p/ 00.000-000 */
    min-width: 105px;
}

#fornecedor-form .grupo-form-btn .btn {
    white-space: nowrap;
    padding: .35rem .6rem;
    font-size: .85rem;
    line-height: 1.2;
}
