/* V102: contrato visual único. Larguras de campos permanecem nas folhas originais. */
@layer confiniRequested101 {
/* V112: exceções explícitas às dimensões gerais dos botões. */
@media screen {
html body :is(#mobileMenuBtn,#adminMobileMenu,#openMenu){box-sizing:border-box!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:8px!important;font-size:22px!important;line-height:1!important;text-align:center!important;justify-content:center!important}
html body :is(#confiniActionOk,#confirmacaoOk,#confiniPreConfirmacaoOk,.confiniNoticeOk98){box-sizing:border-box!important;flex:0 0 100px!important;width:100px!important;min-width:100px!important;max-width:100px!important;height:35px!important;min-height:35px!important;max-height:35px!important;padding:0 7px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font:600 12px/1 Montserrat!important}
}


/* V111: o título conserva sua largura; somente os seletores encolhem. */
@media screen and (max-width:767px){
html body #app #dash .confiniMenuTitleRow{display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content!important;gap:6px!important}
html body #app #dash .confiniMenuTitleRow>h2{grid-column:1!important;grid-row:1!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;flex:none!important}
html body #app #dash .confiniMenuTitleRow>.confiniMenuSelectors{grid-column:2!important;grid-row:1!important;display:flex!important;flex:1 1 0!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;gap:6px!important}
html body #app #dash .confiniMenuTitleRow>.confiniMenuSelectors>label{flex:1 1 0!important;width:0!important;min-width:0!important;max-width:100%!important;height:30px!important;min-height:30px!important;gap:0!important}
html body #app #dash .confiniMenuTitleRow>.confiniMenuSelectors select{box-sizing:border-box!important;flex:1 1 0!important;width:100%!important;min-width:0!important;max-width:100%!important;height:30px!important;min-height:30px!important;max-height:30px!important}
html body #app #dash .confiniMenuTitleRow>.confiniRefreshButton{grid-column:3!important;grid-row:1!important;width:max-content!important;min-width:0!important;margin:0!important}
}

/* V110: dimensões aprovadas e até quatro campos por linha. */
@media screen {
html body #confiniSuiteGate .suite-panel{box-sizing:border-box!important;width:500px!important;max-width:100%!important}
html body #confiniSuiteChoices>button,html body #login :is(#btnLogin,#btnCriarConta){width:100%!important;max-width:100%!important;justify-content:center!important}
html body #confiniSuiteChoices small{display:none!important}
html body :is(#app,#content,.appWorkspace,dialog) :is(.form,.fields,.finForm,.vfCampos,.cpCampos,.ecoFilters,.relEditorGrid,.confiniRegistros82,.confiniGridV48,.filters,.fg-filters,.scCampos42,.admin-form,.pesagemFiltros,#abHistoricoFiltros){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px 12px!important;align-items:end!important}
html body :is(#app,#content,.appWorkspace,dialog) :is(.form,.fields,.finForm,.vfCampos,.cpCampos,.ecoFilters,.confiniRegistros82)>:is(label,.confiniFieldV48Wrap){min-width:0!important;max-width:100%!important;grid-column:auto!important}
html body .confiniRegistrosStatus82{grid-column:1/-1!important}
html body :is(.vfCampos,.cpCampos,.ecoFilters,.fields,.filters) :is(input,select,.confiniCombobox98){width:100%!important;min-width:0!important;max-width:100%!important}
@media(max-width:760px){html body :is(#app,#content,.appWorkspace,dialog) :is(.form,.fields,.finForm,.vfCampos,.cpCampos,.ecoFilters,.relEditorGrid,.confiniRegistros82,.confiniGridV48,.filters,.fg-filters,.scCampos42,.admin-form,.pesagemFiltros,#abHistoricoFiltros){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){html body :is(#app,#content,.appWorkspace,dialog) :is(.form,.fields,.finForm,.vfCampos,.cpCampos,.ecoFilters,.relEditorGrid,.confiniRegistros82,.confiniGridV48,.filters,.fg-filters,.scCampos42,.admin-form,.pesagemFiltros,#abHistoricoFiltros){grid-template-columns:minmax(0,1fr)!important}}
}


/* V108: filtros da Central, no máximo quatro campos por linha. */
html body #app #relatorios .relCentral .form{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important;gap:10px 12px!important}
html body #app #relatorios .relCentral .form label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important;min-width:0!important;max-width:100%!important;grid-column:auto!important;margin:0!important}
html body #app #relatorios .relCentral .form :is(input,select){width:100%!important;min-width:0!important;max-width:100%!important;height:30px!important;box-sizing:border-box!important;margin:0!important}
html body #app #relatorios .relCentral .form [hidden]{display:none!important}
html body #app #relatorios .relFiltroAcoes108{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
@media(max-width:700px){html body #app #relatorios .relCentral .form{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){html body #app #relatorios .relCentral .form{grid-template-columns:minmax(0,1fr)!important}}

/* V106: uma linha por registro e ajuste proporcional à área disponível. */
@media screen {
 html body #app :is(#animais,#retiros,#lotes){min-width:0!important;max-width:100%!important}
 html body #app .confiniFitViewport106{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
 html body #app table.confiniFit105{display:table!important;table-layout:auto!important;width:max-content!important;min-width:100%!important;max-width:none!important;transform-origin:top left!important;margin:0!important}
 html body #app table.confiniFit105 thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;clip-path:none!important;overflow:visible!important}
 html body #app table.confiniFit105 tbody{display:table-row-group!important}
 html body #app table.confiniFit105 tr{display:table-row!important}
 html body #app :is(#animais,#retiros,#lotes) table.confiniFit105 :is(th,td){display:table-cell!important;width:auto!important;min-width:0!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;vertical-align:middle!important;padding:5px 3px!important}
 html body #app table.confiniFit105 td::before{content:none!important;display:none!important}
 html body #app table.confiniFit105 .confiniActions105{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;min-width:0!important;width:max-content!important}
 html body #app table.confiniFit105 .confiniActions105 :is(button,select){flex:0 0 auto!important;margin:0!important;width:max-content!important;max-width:250px!important;min-width:0!important;box-sizing:border-box!important}
 html body #app table.confiniFit105 .confiniActions105 button{padding:0 5px!important}
}


@media screen {
 html body #app .confiniLegacyAction103{display:none!important}
 html body #app :is(#retiros,#lotes,#animais,#pesagem,#racao,#volumosos,#trato,#compradores,#abate) .confiniShortcut98{display:none!important}
 html body #app :is(.confiniTabs49,.confiniTabs103){display:flex!important;flex-flow:row nowrap!important;gap:4px!important;overflow-x:auto!important;border-bottom:1px solid #1E4B2E!important;padding:0!important}
 html body #app :is(.confiniTabs49,.confiniTabs103)>button[role=tab]{background:#1E4B2E!important;color:#fff!important;border:1px solid #b7c3bc!important;border-radius:5px 5px 0 0!important;box-shadow:none!important;margin:0!important}
 html body #app :is(.confiniTabs49,.confiniTabs103)>button[role=tab][aria-selected=true]{background:#edf2ef!important;color:#193c2b!important;border-bottom:3px solid #1E4B2E!important;box-shadow:none!important}
 html body #app .confiniRecordActions97{margin:6px 0 10px!important}
 html body #app [data-plus103=true]::before,html body #app [data-plus103=true]::after{content:none!important;display:none!important}
 html body #app [data-plus103=true] .confiniActionIcon95{display:none!important}
 html body #app .confiniActionIcon95{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 12px!important;width:12px!important;height:12px!important;margin:0!important;padding:0!important}
 html body #app #estoque [data-stock-panel100][hidden],html body #app #stockCompat103{display:none!important}
 html body #app #estoque [data-stock-panel100]:not([hidden]){display:block!important}
 html body #app #estoque #compras details,html body #app #estoque .confiniTopicBody{display:block!important}
 html body #app #estoque #compras details>summary{display:none!important}
 html body #app #estoque :is(.confiniShortcutBar98,.confiniTabs49,.confiniTabStatus49,.confiniBackRecords97){display:none!important}
 html body,html body *:not(svg):not(svg *){font-family:Montserrat!important}
 html body button,html body input:is([type=button],[type=submit],[type=reset]),html body [role=tab]{box-sizing:border-box!important;flex:0 0 auto!important;flex-flow:row nowrap!important;align-items:center!important;gap:4px!important;width:max-content!important;min-width:0!important;max-width:250px!important;height:35px!important;min-height:35px!important;max-height:35px!important;margin-top:0!important;margin-bottom:0!important;padding:0 7px!important;font:600 12px/1 Montserrat!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
 html body :where(#app .section,#app #content,#app #pageHeading,dialog.confiniDialog98) button{display:inline-flex!important;justify-content:flex-start!important;background:#edf2ef!important;background-image:none!important;color:#193c2b!important;border:1px solid #bbc8c0!important;border-radius:8px!important;box-shadow:none!important}
 html body :where(#app .section,#app #content,#app #pageHeading,dialog.confiniDialog98) button:is([aria-selected=true],[aria-pressed=true],.active){background:#1E4B2E!important;color:#fff!important;border-color:#1E4B2E!important}
 html body button :is(span,strong){white-space:nowrap!important;font:inherit!important;color:inherit!important;line-height:1!important;min-width:0!important}
 html body :where(#app .section,#app #content,#app #pageHeading,dialog.confiniDialog98) button::before{width:12px!important;height:12px!important;flex:0 0 12px!important;margin:0!important}
 html body button svg{width:12px!important;height:12px!important;flex:0 0 12px!important}
 /* No width, font or layout declarations for data fields. */
 html body input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]),html body select{box-sizing:border-box!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding-top:0!important;padding-bottom:0!important;line-height:normal!important}
 html body #app .confiniMenuTitleRow{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-width:0!important;gap:6px!important;padding:0!important;margin:0 0 8px!important}
 html body #app .confiniMenuTitleRow>:is(h1,h2){flex:1 1 auto!important;min-width:0!important;margin:0!important}
 html body #app .confiniMenuTitleRow>.confiniMenuSelectors{display:flex!important;flex:0 1 auto!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-end!important;width:auto!important;min-width:0!important;margin:0 0 0 auto!important;gap:6px!important;order:0!important}
 html body #app .confiniMenuTitleRow>.confiniRefreshButton{order:0!important;flex:0 0 auto!important;align-self:center!important;margin:0!important}
 html body #app .confiniMenuSelectors label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important}
 html body #app .confiniMenuSelectors select{align-self:center!important;margin:0!important;vertical-align:middle!important}
 html body #app #dash .dashTitleBlock{width:100%!important;flex:1 1 100%!important;min-width:0!important}
 html body #app .confiniTabs49{display:flex!important;height:35px!important;min-height:35px!important;align-items:center!important;gap:6px!important;overflow-y:hidden!important}
 html body #stockTabs100{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:12px 0!important}
 html body #app .confiniRecordActions97{display:flex!important;flex-flow:row wrap!important;gap:6px!important;align-items:center!important;width:100%!important}
 html body #app .confiniRecordActions97 button{margin:0!important}
 html body #app .appSidebar.confiniNav93{width:220px!important;min-width:220px!important;max-width:220px!important}
 html body #app .appSidebar.confiniNav93 :is(button[data-s],button[data-page]){width:100%!important;padding:0 12px!important}
 html body #app .confiniOrdenavel82[aria-sort=ascending]::after{content:' ↑'!important}
 html body #app .confiniOrdenavel82[aria-sort=descending]::after{content:' ↓'!important}
 html body #app .confiniHeadersOnly101{display:none!important}
 html body #app#app#app :is(button[hidden],button.hidden,button[style*="display: none"],button[style*="display:none"]),html body dialog button[hidden]{display:none!important}
 html body #vendaFatura39 .vfCampos{align-items:start!important}html body #vendaFatura39 label{display:flex;flex-direction:column;justify-content:flex-start;gap:5px;min-width:0}html body #vendaFatura39 label>input,html body #vendaFatura39 label>select{margin-top:0!important}
 @media(max-width:600px){html body #app .confiniMenuTitleRow>:is(h1,h2){font-size:18px!important}}
}
#estoque [data-stock-panel100][hidden]{display:none!important}#estoque [data-stock-panel100]:not([hidden]){display:block!important}
#stockReg100 details>summary{cursor:pointer}#stockReg100 .tableWrap{overflow:auto}
#senhaLabel100{display:block;margin:8px 0 5px;font-weight:600}


}

/* V113: largura do menu alterada somente no celular. */
@layer confiniRequested101 {
@media screen and (max-width:767px){
html body #app .appSidebar.confiniNav93{box-sizing:border-box!important;width:280px!important;min-width:280px!important;max-width:280px!important}
}
}

@layer confiniRequested101{@media screen{html body #app #animalIndividual42>.form{align-items:start!important;gap:5px 12px!important}html body #app #animalIndividual42>.form>label{display:grid!important;grid-template-rows:auto 30px!important;gap:2px!important;margin:0!important;padding:0!important;align-content:start!important}html body #app #animalIndividual42>.form>label[hidden]{display:none!important}html body #app #animalIndividual42>.form>label :is(input,select):not([hidden]){width:100%!important;max-width:100%!important;margin:0!important}html body #app #animalIndividual42 .hint{margin:2px 0!important}html body #app #animalIndividual42 label .curralResolved75{display:none!important}}}
@layer confiniRequested101{@media screen{
html body #confiniSuiteChoices{gap:10px!important}
html body #confiniSuiteChoices>button[data-suite-target]{height:50px!important;min-height:50px!important;max-height:50px!important}
html body #confiniSuiteGate #confiniSuiteExit{margin:10px 0 0!important;height:35px!important}
html body #relatorios .form:has(#relTipo option:is([value="tratos_periodo117"],[value="calendario118"]):checked) :is(#relInicioFiltro,#relFimFiltro){display:none!important}
}}
