
@media screen {
	.orcamento {
		
		font-family: 'Open Sans', sans-serif;
		font-size:0.7vw;	
		
	}
}

@media print {
	.orcamento {
		
		font-family: 'Open Sans', sans-serif;
		font-size:1.4vw;	
		
	}
}


div.dialog_content.orcamento {
	
	/*width: 48vw;*/	
	height: 91vh;
	overflow-y: hidden;
}


div.dialog_content.inner.orcamento {
	
	/*width: 48vw;*/	
	height: 78vh;
	overflow-y: scroll;
	
	padding: 1vw;
    -moz-box-shadow: inset 0 0 10px #000000;
    -webkit-box-shadow: inset 0 0 10px #000000;
    box-shadow: inset 0 0 10px #000000;
    background-color: #CCCCCC;	
    border: solid 0.5px #000;
    -webkit-print-color-adjust: exact;
	
}



div.config_tab_section.orcamento {
    width: 100%;
    border-bottom: 1px solid #000000;
    font-weight: bold;
    margin: 2vh 0;
    float: left;
    clear: left;
    color: #000000;
}

@media screen { 
	table.orcamento {
	
	    width: 49vw;
	    padding: 0.3in;
	    background-color:#FFF;
	}
	
}

@media print {
	table.orcamento {
	
	    width: 99vw;

	    padding: 1vw;
	    background-color:#FFF;
	}
	

	
}

tr.orcamento.destaque pre.orcamento {
    background-color: #C1C1D1;
}

tr.orcamento{
	
}

tr.orcamento.mestre{
	
	height:0;
	
}

@media screen {
	tr.orcamento.spacer {
		
		height:2vh;
		
	}
}

@media print {
	tr.orcamento.spacer {
		
		height:2vh;
		
	}
}


tr.orcamento.grid-row-even{
	
	background-color:#C1C1D1;
	-webkit-print-color-adjust: exact;
}

tr.orcamento.grid-row-odd{
	
	background-color:#FFFFFF;
	
}

tr.orcamento.destaque{
	
	background-color:#C1C1D1;
	-webkit-print-color-adjust: exact;
	
}

tr.orcamento.destaque_green td{
	
	border: 1px solid #000000;
	background-color: #118E89;
	color: #FFFFFF;
	font-weight: bold;
	font-size: larger;
	-webkit-print-color-adjust: exact;
}


td.orcamento{
	
	height:2vh;
	
}

td.orcamento.vertical-top {
	
	vertical-align: top;
	
}

td.orcamento.centered {
	
	text-align: center;
	
}

td.orcamento.left {
	
	text-align: left;
	
}

td.orcamento.right {
	
	text-align: right;
	
}

td.orcamento.nowrap {
	
	white-space: nowrap;
	
}

td.grid-header {
	
	border: 1px solid #000000;
	background-color: #737388;
	-webkit-print-color-adjust: exact;
	color: #FFFFFF;
	font-weight: bold;
	
	
}

td.grid-cell {
	
	border: 1px solid #000000;
	padding: 0.5vmin;
	
}

td.grid-cell.grid-top {
	
	border-top-width: 2px;	
}

td.grid-cell.grid-bottom {
	
	border-bottom-width: 2px;	
}
td.grid-cell.grid-left {
	
	border-left-width: 2px;	
}
td.grid-cell.grid-right {
	
	border-right-width: 2px;	
}




td.orcamento.underlined {
	
	border-bottom:1px solid #000000;
	
}

@media screen{
	h1.orcamento {
		
		font-size:1.2vw;
		font-weight: bold;
		margin : 0;
		
	}

	td.orcamento.mastercol1 { max-width:9.89vw; }	
	td.orcamento.mastercol2 { max-width:1.54vw; }
	td.orcamento.mastercol3 { max-width:6.37vw; }
	td.orcamento.mastercol4 { max-width:7.01vw; }
	td.orcamento.mastercol5 { max-width:6.51vw; }
	td.orcamento.mastercol6 { max-width:7.71vw; }
	td.orcamento.mastercol7 { max-width:3.31vw; }
	td.orcamento.mastercol8 { max-width:7.62vw; }
	
	textarea.orcamento { width: 100% ; }
}

@media print{
	h1.orcamento {
		
		font-size:2.4vw;
		font-weight: bold;
		margin : 0;
		
	}
	
	td.orcamento.mastercol1 { max-width:18.4vw; }	
	td.orcamento.mastercol2 { max-width:3.2vw; }
	td.orcamento.mastercol3 { max-width:18.3vw; }
	td.orcamento.mastercol4 { max-width:13.1vw; }
	td.orcamento.mastercol5 { max-width:13.1vw; }
	td.orcamento.mastercol6 { max-width:13.0vw; }
	td.orcamento.mastercol7 { max-width:6.8vw; }
	td.orcamento.mastercol8 { max-width:13.6vw; }
	
	textarea.orcamento { 
		width: 100% ;     
		border: none;
    	overflow: auto;
    	outline: none;

	    -webkit-box-shadow: none;
	    -moz-box-shadow: none;
	    box-shadow: none;
	}
	
}


label.orcamento {
	
	
	
}

label.orcamento.note {
	
	font-size:smaller;
	
}

label.orcamento.bold {
	
	font-weight: bold;
	
}

.orcamento.destaque{
	
	font-size:larger;
	font-weight:bold;
	
}

span.orcamento.bold {
	
	font-weight:bold;
	
}

span.orcamento.unbold {
	
	font-weight:normal;
	
}

span.orcamento.destaque {
	
	font-size: larger;
	font-weight: normal;
	
}

#a_gera_orcamento {
    display: block;
    float: right;
    background-image: url(../images/pedido-pink.svg);
    background-size: 1.5vw;
    background-repeat: no-repeat;
    background-position: center right;
    padding: 0 1.7vw 0 0;
    font-size: 0.7vw;
    position: relative;
    font-family: 'PT Sans', sans-serif;
    color: #B81D79;
    line-height: 6vh;
    margin-right: 1vw;
}

#a_gera_orcamento:hover {
	
	font-weight:bold;
	
}

@media screen{
	td.orcamento {
	    word-break: break-word !important;
	    -webkit-hyphens: auto !important;
	    -moz-hyphens: auto !important;
	    -ms-hyphens: auto !important;
	    hyphens: auto !important;
	    word-wrap: break-word;
	    overflow-wrap: break-word;
	}
}

@media print{
	td.orcamento {
	    word-break: break-word !important;
	    -webkit-hyphens: auto !important;
	    -moz-hyphens: auto !important;
	    -ms-hyphens: auto !important;
	    hyphens: auto !important;
	    word-wrap: break-word;
	    overflow-wrap: break-word;
	}
}

fieldset#rb_tipo_doc_pedido {
    float: left;
	margin: 0.5vh;
    padding: 0.5vh;    
}

li.inline {
    float: left;
    margin-right: 2vw;
}



@media screen {

	img#img_logo_correios {
	    width: 8vw;
	}

	td.declaracao-mastercol { max-width:4vw; width:4vw;}
	td.declaracao-mastercol-micro { max-width:0.2vw; width:0.2vw;}

	tr.orcamento.micro-spacer {
		height:0.4vh
	}
	
	tr.orcamento.micro-spacer td.orcamento{
		height:0.4vh
	}


	td.declaracao.padding-left {
		
		padding-left: 0.6vw;
		
	}


}

@media print {
	img#img_logo_correios {
	    width: 16vw;
	}
	
	td.declaracao-mastercol { max-width:8vw; width:8vw;}
	td.declaracao-mastercol-micro { max-width:0.4vw; width:0.4vw;}	

	tr.orcamento.micro-spacer {
		height:0.8vh
	}
	
	tr.orcamento.micro-spacer td.orcamento{
		height:0.8vh
	}


	td.declaracao.padding-left {
		
		padding-left: 0.6vw;
		
	}


}


td.declaracao.grid-cell {
	
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	border-left: 1px solid #000000;
	border-right: 1px solid #000000;
	
	padding: 0.5vmin;
	
}

td.declaracao.grid-top {
	
	border-top: 2px solid #000000;	
}

td.declaracao.grid-bottom {
	
	border-bottom: 2px solid #000000;	
}
td.declaracao.grid-left {
	
	border-left: 2px solid #000000;	
}
td.declaracao.grid-left-light {
	
	border-left:  2px solid #000000;	
}

td.declaracao.grid-right {
	
	border-right: 2px solid #000000;	
}

@media screen { 
	
	div.folha-declaracao,
	div.folha-orcamento {
		background-color:#FFF;
		border: 1px solid #000000;
		padding: 0.3in;
	}
	
label.orcamento.h2 {
	
	font-size:0.8vw;
	
}
	
	
	table.orcamento.declaracao {
	
	    width: 49vw;
	    border: none;
	    border-collapse:collapse;
	    padding: 0;
	    background-color:#FFF;
	}
	
	pre.orcamento {
	    width: 45vw;
	    white-space: pre-wrap;
	    text-align: justify;
	}
	
 	label.etiqueta {
		
		padding: 0.5vw;
		font-size: 1.2vw;
			
	}	
	
	
	h1#titulo_declaracao {
	    font-size: 1.4vw;
	}

}

@media print {

	div.folha-declaracao,
	div.folha-orcamento {
		background-color:#FFF;
		border: none;
		padding: 0;
	}

label.orcamento.h2 {
	
	font-size:1.6vw;
	
}


	table.orcamento.declaracao {
	
	    width: 99vw;
	    border: none;
	    border-collapse:collapse;
	    padding: 0;
	    background-color:#FFF;
	}

	

	pre.orcamento {
	    width: 95vw;
	    max-width: 95vw;
		 white-space: pre-wrap;       /* css-3 */
		 white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
		 white-space: -pre-wrap;      /* Opera 4-6 */
		 white-space: -o-pre-wrap;    /* Opera 7 */
	    text-align: justify;
	    word-break: break-word !important;
	    -webkit-hyphens: auto !important;
	    -moz-hyphens: auto !important;
	    -ms-hyphens: auto !important;
	    hyphens: auto !important;
	    word-wrap: break-word;
	    overflow-wrap: break-word;
	    
	}
	
	label.etiqueta {
		
		padding: 1vw;
		font-size: 2.4vw;
			
	}	
	

	h1#titulo_declaracao {
	    font-size: 2.8vw;
	}	
	
}

input.editor_input{
	border:none;
	font-size: 0.7vw;
	/*width:100%;*/
}

label.filler {
	display:block;
	width:100%;
	height:100%;
}


table#table_orcamento.declaracao h1, 
table#table_orcamento.declaracao label, 
table#table_orcamento.declaracao td {
    font-family: "Century Gothic", CenturyGothic, Geneva, AppleGothic, sans-serif;
}

td.orcamento.declaracao.compact {
	padding:0;
}

td.orcamento.declaracao.compact label{
	font-size:smaller;
}

td.orcamento.declaracao.gray {

	
	background-color:#C1C1D1;
	-webkit-print-color-adjust: exact;	

}

	table.orcamento.declaracao.etiqueta {
	
	    border-collapse:separate ;
	}


	img.image-item-orcamento{
		float: left;
	}

   img.image-item-orcamento+p.orcamento{
	height: 50px;
	vertical-align: middle;
    display: table-cell;
	margin-top: 0.4vh;
	font-size: 1vw;
   }


	td.orcamento.grid-cell label.orcamento{
		font-size: 1vw;
	}

	td.orcamento.grid-header label.orcamento
	 {
		font-size: 0.9vw;
	}	

	tr.orcamento.destaque label.orcamento.destaque {
		font-size: 1vw;
	}


	div.image-switcher-orcamento {
		float:left
	}

	label#orcamento-image-filter,
	label#orcamento-material-image-filter{
		float: left;
		margin: 0.4vh 1vw;
	}

	div#list-historico-recibo {
		max-width: unset !important;
	}

/* LINHA DE CIMA: Logo e Nome da Empresa */
.header-top-row {
  display: flex;
  flex-direction: column; /* Empilha o logo e o nome verticalmente */
  align-items: flex-start; /* Alinha o conteúdo à esquerda */
  gap: 10px; /* Espaço entre o logo e o nome */
  padding-bottom: 15px;
}


#orcamento-header {
	margin-bottom: 15px;
    	padding-bottom: 15px;
    	border-bottom: 2px solid #737388;
}

/* LINHA DE CIMA: Container para o bloco logo/nome e o bloco cliente */
.header-top-row {
  display: flex;
  flex-direction: row;       /* Itens lado a lado */
  justify-content: space-between; /* Empurra um para cada ponta */
  align-items: flex-end;     /* <<< A MÁGICA: Alinha a base dos itens */
  gap: 20px;
  padding-bottom: 15px;
}

/* Novo wrapper para o Logo e o Nome da Empresa */
.logo-name-wrapper {
  display: flex;
  flex-direction: column; /* Empilha o logo e o nome */
  align-items: flex-start; /* Alinha à esquerda */
  gap: 10px;
}

#orcamento-header img#img_logo {
  height: 100px;
  width: auto;
  max-width: 100%;
}


/* LINHA DE BAIXO: Container das colunas de info */
.orcamento-header-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  gap: 20px; 
}

.orcamento-header-col {
  display: flex;
  flex-direction: column;
  gap: 5px; 
}

/* Distribuição das colunas */
.orcamento-header-col.info1,
.orcamento-header-col.info2 {
  flex: 0 1 auto; /* Não cresce (0), encolhe se precisar (1), tamanho baseado no conteúdo (auto) */
  max-width: 45%; /* Um pouco menos de 50% para garantir que o gap não cause quebra de linha */
}
/* Coluna do cliente - empurrada para a direita */
.orcamento-header-col.cliente {
  text-align: right;
  margin-left: auto; /* <<< A MÁGICA ACONTECE AQUI */
}
/* ======================================================= */
/* === ORDEM DE SERVIÇO (Production Order) Styles ======== */
/* ======================================================= */

.os-header {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid #737388;
}

.os-produto-header {
    background-color: #737388;
    color: #FFFFFF;
    font-weight: bold;
    padding: 8px 10px;
    font-size: 1em;
    -webkit-print-color-adjust: exact;
}

.os-materiais-consolidado {
    background-color: #E0F2F1;
    -webkit-print-color-adjust: exact;
}

td.orcamento.grid-header.os-materiais-consolidado {
    background-color: #00897B;
    color: #FFFFFF;
    -webkit-print-color-adjust: exact;
}

.os-checkbox {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

td.os-checkbox-cell {
    text-align: center !important;
    vertical-align: middle !important;
}

img.image-material-os {
    width: 30px;
    height: 30px;
    object-fit: contain;
    vertical-align: middle;
}

@media print {
    .os-checkbox {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 14px;
        height: 14px;
        border: 2px solid #333;
        border-radius: 2px;
        background: #fff;
        display: block;
        margin: 2px auto;
    }

    .os-produto-header {
        background-color: #737388 !important;
        color: #FFFFFF !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .os-materiais-consolidado {
        background-color: #E0F2F1 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    td.orcamento.grid-header.os-materiais-consolidado {
        background-color: #00897B !important;
        color: #FFFFFF !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Avoid breaking product detail blocks across pages */
    .os-produto-header,
    .os-produto-header + tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

img.os-logo {
    max-height: 80px;
    max-width: 200px;
    object-fit: contain;
}

/* ======================================================= */
/* === OS Toolbar (document type selector bar) =========== */
/* ======================================================= */

.os-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    flex-wrap: nowrap;
    min-height: 5vh;
}

.os-toolbar-label {
    white-space: nowrap;
    font-size: 14px !important;
}

.os-toolbar-select {
    max-width: 200px;
    padding: 4px 6px;
    font-size: 14px !important;
}

.os-toolbar-switches {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.os-toolbar-switch-row {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.os-toolbar-switch-row > label {
    margin: 0;
    padding: 0;
    min-width: 150px;
    text-align: right;
}

.os-toolbar-switch-row > div {
    display: inline-flex;
    align-items: center;
}

.os-toolbar-buttons {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

/* ======================================================= */
/* === OS Compact Header ================================= */
/* ======================================================= */

.os-header-compact {
    padding: 8px 0;
    margin-bottom: 4px;
    border-bottom: 2px solid #737388;
}

.os-header-stacked {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
}

.os-header-stacked img.os-logo {
    margin-bottom: 2px;
}

.os-title {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
}

.os-info-line {
    font-size: 13px;
    color: #555;
    margin-top: 2px;
}

.os-header-nome-empresa {
    font-weight: bold;
    font-size: 13px;
    margin-top: 2px;
}

/* ======================================================= */
/* === OS Table Font Overrides =========================== */
/* ======================================================= */

@media screen and (min-width: 769px) {
    #table_ordem_servico td.orcamento,
    #table_ordem_servico label.orcamento,
    #table_ordem_servico p.orcamento,
    #table_ordem_servico pre.orcamento,
    #table_ordem_servico span.orcamento,
    #table_orcamento td.orcamento,
    #table_orcamento label.orcamento,
    #table_orcamento p.orcamento,
    #table_orcamento pre.orcamento,
    #table_orcamento span.orcamento,
    #orcamento-header label.orcamento,
    #orcamento-header p.orcamento,
    #orcamento-header span.orcamento {
        font-size: 1vw;
        font-family: 'Open Sans', sans-serif;
    }

    #table_ordem_servico td.orcamento.grid-header,
    #table_orcamento td.orcamento.grid-header {
        font-size: 0.95vw;
    }

    #table_ordem_servico div.config_tab_section.orcamento label,
    #table_orcamento div.config_tab_section.orcamento label {
        font-size: 1.15vw;
    }

    #table_ordem_servico .os-product-detail-header label {
        font-size: 1.05vw;
    }
}

@media print {
    #table_ordem_servico td.orcamento,
    #table_ordem_servico label.orcamento,
    #table_ordem_servico p.orcamento,
    #table_ordem_servico pre.orcamento,
    #table_ordem_servico span.orcamento,
    #table_orcamento td.orcamento,
    #table_orcamento label.orcamento,
    #table_orcamento p.orcamento,
    #table_orcamento pre.orcamento,
    #table_orcamento span.orcamento,
    #orcamento-header label.orcamento,
    #orcamento-header p.orcamento,
    #orcamento-header span.orcamento {
        font-size: 2vw;
    }

    #table_ordem_servico td.orcamento.grid-header,
    #table_orcamento td.orcamento.grid-header {
        font-size: 1.9vw;
    }

    #table_ordem_servico div.config_tab_section.orcamento label,
    #table_orcamento div.config_tab_section.orcamento label {
        font-size: 2.3vw;
    }

    #table_ordem_servico .os-product-detail-header label {
        font-size: 2.1vw;
    }
}
