/* Somente os formulários autorizados de Cadastros e dos demais módulos. Computador e visual clássico mantêm o layout. */
@media (max-width: 1024px) {
    /* Incluir filtros, formulários secundários e montagem de Kit/Combo/Grade. */
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-field { width: 50%; min-width: 0; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-field.ui-md-12 { width: 100%; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-button-text { white-space: normal; overflow-wrap: anywhere; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-inputgroup { max-width: 100%; min-width: 0; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-inputgroup > .md-inputfield { flex: 1; min-width: 0; width: auto; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-inputgroup > :is(.ui-autocomplete, .ui-inputnumber, .ui-calendar, .ui-selectonemenu) { flex: 1; min-width: 0; width: 1%; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-field .ui-autocomplete-input { max-width: 100%; box-sizing: border-box; }

    /* As grades de preço/tributação também são usadas em diálogos anexados ao body. */
    html.sf-pilot-modern.sf-responsive-fields body .ui-dialog .sf-responsive-grid { display: block; width: 100%; max-width: 100%; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-dialog .sf-responsive-grid > tbody { display: block; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-dialog .sf-responsive-grid > tbody > tr { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-dialog .sf-responsive-grid > tbody > tr > td { display: block; flex: 1 1 200px; min-width: 0; max-width: 100%; box-sizing: border-box; }

    /* Tabelas sem reflow conservam suas colunas editáveis em rolagem localizada. */
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-table-wide > .ui-datatable-tablewrapper > table,
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-table-wide .ui-datatable-scrollable-body > table,
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-table-wide .ui-datatable-scrollable-header-box > table { min-width: 42rem; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-datatable :is(.ui-datatable-header, .ui-datatable-footer) { white-space: normal; overflow-wrap: anywhere; }

    /* Dicas de autocompletar tinham tabelas de 400px, maiores que um celular. */
    html.sf-pilot-modern.sf-responsive-fields body :is(.ui-autocomplete-panel, .ui-autocomplete-itemtip, .ui-selectonemenu-panel) { max-width: calc(100vw - 24px); box-sizing: border-box; overflow-x: auto; }
    html.sf-pilot-modern.sf-responsive-fields body :is(.ui-autocomplete-panel .ui-autocomplete-item, .ui-selectonemenu-panel .ui-selectonemenu-item) { white-space: normal; overflow-wrap: anywhere; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-itemtip-grid { width: 100%; max-width: calc(100vw - 48px); table-layout: fixed; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-itemtip-grid td { white-space: normal; overflow-wrap: anywhere; }

    /* Ajustar a prévia da câmera; o tamanho da captura e as coordenadas do recorte não mudam. */
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-camera { max-width: 100%; min-width: 0; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-camera video { max-width: 100%; height: auto; }
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-crop-area { max-width: 100%; overflow: auto; box-sizing: border-box; }
    html.sf-pilot-modern.sf-responsive-fields body [id$="panelFotoRecortadaId"] img { max-width: 100%; height: auto; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-fileupload-content { max-width: 100%; overflow-x: auto; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-fileupload-buttonbar { display: flex; flex-wrap: wrap; gap: 8px; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-fileupload-buttonbar .ui-button { margin: 0; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-texteditor { max-width: 100%; min-width: 0; }
    html.sf-pilot-modern.sf-responsive-fields body .ql-toolbar { display: flex; flex-wrap: wrap; }
    html.sf-pilot-modern.sf-responsive-fields body .ql-editor img { max-width: 100%; height: auto; }
}
@media (max-width: 767px) {
    html.sf-pilot-modern.sf-responsive-fields body .sf-responsive-field { width: 100%; margin-top: 0 !important; }
    html.sf-pilot-modern.sf-responsive-fields body .ui-dialog .sf-responsive-grid > tbody > tr > td { flex-basis: 100%; }
    html.sf-pilot-modern.sf-responsive-fields body :is(.sf-responsive-field.md-inputfield, .sf-responsive-field .md-inputfield) { display: flex; flex-direction: column; }
    html.sf-pilot-modern.sf-responsive-fields body :is(.sf-responsive-field.md-inputfield, .sf-responsive-field .md-inputfield) > label { position: static; display: block; transform: none; margin-bottom: 8px; order: -1; }
    html.sf-pilot-modern.sf-responsive-fields body .precificacao-label { white-space: normal; text-align: left; }
    html.sf-pilot-modern.sf-responsive-fields body .precificacao-grid input { font-size: 16px; min-height: 44px; }
}
