/* Detail forms still contain Bootstrap one-column DataWindow fields.
   At 16px, those cells can be narrower than their labels and input values.
   Let only rows with native single-line editors wrap, then give their narrow
   field cells a usable floor. The Defect adapter has its own measured layout. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> :not(.emro-form-field))):has(> .emro-form-field > div[class*="col-"] input.ui-inputfield,
         > .emro-form-field > div[class*="col-"] .ui-selectonemenu) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    row-gap: 0.5rem;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> :not(.emro-form-field))):has(> .emro-form-field > div[class*="col-"] input.ui-inputfield,
         > .emro-form-field > div[class*="col-"] .ui-selectonemenu)::before,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> :not(.emro-form-field))):has(> .emro-form-field > div[class*="col-"] input.ui-inputfield,
         > .emro-form-field > div[class*="col-"] .ui-selectonemenu)::after {
    display: none;
    content: none;
}

/* JSF leaves a hidden DataWindow cell in the markup and hides only its inner
   wrapper. Do not reserve space for that cell when the row wraps. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field:has(> div > div[style*="display: none"], > div > div[style*="display:none"]) {
    display: none !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):has(input.ui-inputfield, .ui-selectonemenu):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) {
    min-width: min(100%, 10rem) !important;
    max-width: 100%;
}

/* DataWindow metadata can also set the editor itself to a fraction of its
   cell with an inline !important width. A minimum on the plain single-line
   editor fills the resized cell without changing dates or numeric widgets. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) input.ui-inputfield,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) .ui-selectonemenu {
    min-width: calc(100% - 2px) !important;
}

/* Date masks need room for the full date and picker button. Numeric editors
   and spinners get a smaller floor; spinner input width stays at its native
   percentage to leave room for the up/down controls. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):has(.ui-calendar) {
    min-width: min(100%, 11rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):has(.ui-inputnumber) {
    min-width: min(100%, 7rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):has(.ui-spinner) {
    min-width: min(100%, 8rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-calendar,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-inputnumber {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-inputnumber > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) {
    display: inline-flex;
    align-items: stretch;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) > input.ui-inputfield {
    flex: 1 1 0%;
    width: 0 !important;
    min-width: 0;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger {
    flex: 0 0 var(--emro-control-height);
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2) .ui-calendar:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
}

/* The native label renderer writes white-space:nowrap inline. Allow labels
   within these resized cells to use a second line instead of entering the
   neighboring field. This leaves multiline editors and table labels alone. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-form-field > :is(div.col-md-1, div.col-md-2):has(input.ui-inputfield, .ui-selectonemenu)
    .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow: visible !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* Auxiliary DataWindows rendered by older controllers use the original
   Facelet instead of its module adapter. Their native renderer cells are
   direct row children, so the span-based wrapping rule does not reach them. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    row-gap: 0.5rem;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu)::before,
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu)::after {
    display: none;
    content: none;
}

/* Requisition Header keeps Site in a JSF update panel beside its other
   fields. The panel is a direct row child, so the all-field row rule above
   intentionally skips it. Size this one panel as a field and retain its
   update target and nested DataWindow structure. */
body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row:has(> .UpdSite) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    row-gap: 0.5rem;
}

body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row:has(> .UpdSite)::before,
body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row:has(> .UpdSite)::after {
    display: none;
    content: none;
}

body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row > .UpdSite {
    flex: 0 0 min(100%, 10rem);
    width: min(100%, 10rem) !important;
    min-width: min(100%, 10rem);
    max-width: 100%;
    border: 0;
    box-shadow: none;
    background: transparent;
}

body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row > .UpdSite > .ui-panel-content {
    padding: 0;
}

body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row > .UpdSite .emro-form-field > div[id$="_site"] {
    float: none;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    padding-inline: 0;
}

body.emro-app-shell .emro-form-workbench
    .emro-requisition-header-form .row > .UpdSite .emro-form-field > div[id$="_site"] > div > div > input.ui-inputfield {
    min-width: calc(100% - 2px);
}

/* Two adapted detail forms place editable fields inside named JSF update
   panels. Keep those panels as update targets while allowing their narrow
   Bootstrap cells to join the same wrapping field layout as sibling fields. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:has(> :is(.Update_content, .updatePartialAreaNumberThree)) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    row-gap: 0.5rem;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:has(> :is(.Update_content, .updatePartialAreaNumberThree))::before,
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:has(> :is(.Update_content, .updatePartialAreaNumberThree))::after {
    display: none;
    content: none;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) {
    flex: 0 1 auto;
    width: max-content !important;
    max-width: 100%;
    border: 0;
    box-shadow: none;
    background: transparent;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > .Update_content {
    min-width: min(100%, 10rem);
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > .updatePartialAreaNumberThree {
    min-width: min(100%, 31rem);
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > .emro-form-field > div[class*="col-"] {
    float: none;
    flex: 0 1 10rem;
    width: 10rem !important;
    min-width: min(100%, 10rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > div[id^="dw_"]:is(.col-md-1, .col-md-2) {
    float: none;
    flex: 0 1 10rem;
    width: 10rem !important;
    min-width: min(100%, 10rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > .emro-form-field > div[class*="col-"] :is(input.ui-inputfield, .ui-selectonemenu) {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > div[id^="dw_"]:is(.col-md-1, .col-md-2) :is(input.ui-inputfield, .ui-selectonemenu) {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > .emro-form-field > div[class*="col-"] .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row > :is(.Update_content, .updatePartialAreaNumberThree) > .ui-panel-content > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* Other refreshed modules, including Engineering, render DataWindow cells
   directly in form rows without emro-form-field spans. The explicit legacy
   scope marks only a single-record detail DataWindow, never a result grid. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(> div[style*="display: none"], > div[style*="display:none"]) {
    display: none !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(input.ui-inputfield, .ui-selectonemenu):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) {
    min-width: min(100%, 10rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) input.ui-inputfield,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) .ui-selectonemenu {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(.ui-calendar) {
    min-width: min(100%, 11rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(.ui-inputnumber) {
    min-width: min(100%, 7rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(.ui-spinner) {
    min-width: min(100%, 8rem) !important;
    max-width: 100%;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2) :is(.ui-calendar, .ui-inputnumber),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-inputnumber > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2):has(input.ui-inputfield, .ui-selectonemenu) .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow: visible !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
}

/* The Engineering Schedule occurrence menu is inside a second Bootstrap
   column. Its two percentage widths used to leave only a few characters of
   EARLIEST visible. Size this named slot without widening unrelated menus. */
body.emro-app-shell .emro-schedule-occurrence-slot {
    min-width: min(100%, 10rem);
    max-width: 100%;
}

body.emro-app-shell .emro-schedule-occurrence-slot > div[id^="dw_"] {
    width: 100% !important;
    max-width: 100%;
    padding-inline: 0;
}

body.emro-app-shell .emro-schedule-occurrence-slot .ui-selectonemenu {
    width: 100% !important;
    max-width: 100% !important;
}

/* The shared detail templates also use native DataWindow field actions.
   Their captioned buttons need the same intrinsic width already used by the
   refreshed workbench; a narrow legacy column otherwise stacks the caption
   into a vertical line. Empty-caption icon actions retain their v14 sizing. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-native-dw-action:not(.emro-native-empty-caption-action):has(> div > button.ui-button:not(.ui-button-icon-only)) {
    width: max-content !important;
    min-width: min(100%, 10rem) !important;
    max-width: 100% !important;
    padding-inline: 0;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > .emro-native-dw-action:not(.emro-native-empty-caption-action) > div > button.ui-button:not(.ui-button-icon-only) {
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap;
}

/* Several single-record DataWindows put one field inside an extra Bootstrap
   one- or two-column wrapper. The direct-cell rules above cannot reach that wrapper,
   which can also carry an inline 50px cap. Give only those single-field slots
   a floor and let their native renderer fill it. Multi-field groups and data
   tables retain their authored geometry. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"]):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):has(> div[id^="dw_"] > div[style*="display: none"], > div[id^="dw_"] > div[style*="display:none"]) {
    display: none !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"]):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):has(> div[id^="dw_"] :is(input.ui-inputfield, .ui-selectonemenu)):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) {
    min-width: min(100%, 10rem) !important;
    max-width: 100% !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-inputnumber):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(.ui-spinner)) {
    min-width: min(100%, 7rem) !important;
    max-width: 100% !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) {
    min-width: min(100%, 11rem) !important;
    max-width: 100% !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"]):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(.ui-spinner)) > div[id^="dw_"] {
    float: none;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"]):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(.ui-spinner)) > div[id^="dw_"] :is(input.ui-inputfield, .ui-selectonemenu):not(.ui-calendar > input) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-inputnumber):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) > div[id^="dw_"] .ui-inputnumber,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) > div[id^="dw_"] .ui-calendar {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) {
    display: inline-flex;
    align-items: stretch;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > input.ui-inputfield {
    flex: 1 1 0%;
    width: 0 !important;
    min-width: 0;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"] .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])) > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger {
    flex: 0 0 var(--emro-control-height);
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"]):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(.ui-spinner)) > div[id^="dw_"] .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* Hour/minute pairs are sometimes nested together in one narrow Bootstrap
   cell. Each renderer otherwise receives a percentage of an already small
   slot. Expand the pair as a unit and keep the two short numeric editors in
   source order; do not alter stand-alone numeric or spinner controls. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"][id$="_hour"]):has(> div[id^="dw_"][id$="_minute"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    min-width: min(100%, 11rem) !important;
    max-width: 100% !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"][id$="_hour"]):has(> div[id^="dw_"][id$="_minute"]) > div[id^="dw_"]:is([id$="_hour"], [id$="_minute"]) {
    float: none;
    flex: 1 1 5.5rem;
    width: auto !important;
    min-width: min(100%, 5.5rem) !important;
    max-width: 100% !important;
    padding-inline: 0.25rem;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"][id$="_hour"]):has(> div[id^="dw_"][id$="_minute"]) > div[id^="dw_"]:is([id$="_hour"], [id$="_minute"]) .ui-inputnumber {
    width: 100% !important;
    max-width: 100% !important;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"][id$="_hour"]):has(> div[id^="dw_"][id$="_minute"]) > div[id^="dw_"]:is([id$="_hour"], [id$="_minute"]) .ui-inputnumber > input.ui-inputfield {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row) > :is(div.col-xs-1, div.col-sm-1, div.col-md-1, div.col-lg-1, div.col-xs-2, div.col-sm-2, div.col-md-2, div.col-lg-2):has(> div[id^="dw_"][id$="_hour"]):has(> div[id^="dw_"][id$="_minute"]) > div[id^="dw_"]:is([id$="_hour"], [id$="_minute"]) .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* Aircraft Master Z Record uses nested panel grids with 150px numeric editors.
   Its former 70% fieldset and 15% inner columns give the editors less than
   their own width. Keep the grouped readings while allowing each cell to fit. */
body.emro-app-shell .emro-ac-z-record-fit {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}

body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell:is(.p1_col1, .p1_col2) {
    width: 50% !important;
}

body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell:is(.p2_col1, .p2_col2, .p2_col3) {
    width: 33.333% !important;
}

body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell > div[id^="dw_"] {
    float: none;
    width: 100% !important;
    max-width: 100%;
    padding-inline: 0;
}

body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell :is(.ui-inputnumber, input.ui-inputfield) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

@media (max-width: 1100px) {
    body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell:is(.panelCol1, .panelCol2) {
        width: 100% !important;
    }
}

@media (max-width: 650px) {
    body.emro-app-shell .emro-ac-z-record-fit .ui-panelgrid-cell:is(.p1_col1, .p1_col2, .p2_col1, .p2_col2, .p2_col3) {
        width: 100% !important;
    }
}

/* The shared standard EU templates put the detail scope on their tabView.
   Every generic row selector above also excludes a nested Defect form so its
   separately measured character budgets remain in charge. */

/* A single-record row may also contain a QR image, native action, or layout
   group alongside adapted field spans. Let its field cells wrap while leaving
   those non-field children, their dimensions, and their handlers untouched.
   Named update panels have their own rules above and are excluded here. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> .ui-panel, > .ui-panelgrid)):has(> .emro-form-field > div[id^="dw_"] input.ui-inputfield, > .emro-form-field > div[id^="dw_"] .ui-selectonemenu):has(> :not(.emro-form-field)) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    row-gap: 0.5rem;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> .ui-panel, > .ui-panelgrid)):has(> .emro-form-field > div[id^="dw_"] input.ui-inputfield, > .emro-form-field > div[id^="dw_"] .ui-selectonemenu):has(> :not(.emro-form-field))::before,
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row):not(:has(> .ui-panel, > .ui-panelgrid)):has(> .emro-form-field > div[id^="dw_"] input.ui-inputfield, > .emro-form-field > div[id^="dw_"] .ui-selectonemenu):has(> :not(.emro-form-field))::after {
    display: none;
    content: none;
}

/* Three-column and wider fields already have an adequate Bootstrap cell,
   but the DataWindow renderer can still give the editor only a fraction of
   that cell through an inline !important width. Fill the existing cell;
   do not widen it or change dates, numbers, spinners, or multiline editors. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) :is(input.ui-inputfield, .ui-selectonemenu),
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12):not(:has(.ui-calendar, .ui-inputnumber, .ui-spinner)) :is(input.ui-inputfield, .ui-selectonemenu) {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12):has(input.ui-inputfield, .ui-selectonemenu) .ui-outputlabel,
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12):has(input.ui-inputfield, .ui-selectonemenu) .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow: visible !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* A wide Bootstrap wrapper can still contain a one-column renderer that is
   only 8.33% of the wrapper. Expand exactly one nested DataWindow field as a
   unit; grouped fields keep their authored widths and layout. */
body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) {
    float: none;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) :is(input.ui-inputfield, .ui-selectonemenu) {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) input.ui-inputfield, > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-selectonemenu):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-outputlabel {
    display: inline-block;
    max-width: 100%;
    overflow: visible !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    line-height: 1.25;
}

/* v7: A wide detail cell can still contain a numeric or date editor whose
   DataWindow width is only a small percentage of that cell. Give the widget
   enough room for a 16px value without making the whole Bootstrap column
   wider. Result grids, the measured Defect form and spinner groups stay out
   of this rule. */
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12) .ui-inputnumber,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12) .ui-inputnumber {
    min-width: min(100%, 7rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12) .ui-calendar,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:is(.col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12) .ui-calendar {
    min-width: min(100%, 11rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* The same narrow renderer can sit alone inside a wide outer column. Its
   v6 width expansion handles the renderer, but the widget still inherits a
   percentage width. Match one renderer only so grouped fields keep theirs. */
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-inputnumber):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-inputnumber {
    min-width: min(100%, 7rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar {
    min-width: min(100%, 11rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) {
    display: inline-flex;
    align-items: stretch;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) > input.ui-inputfield {
    flex: 1 1 0%;
    width: 0 !important;
    min-width: 0 !important;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > :is(div.col-md-3, div.col-md-4, div.col-md-5, div.col-md-6, div.col-md-7, div.col-md-8, div.col-md-9, div.col-md-10, div.col-md-11, div.col-md-12):has(> div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar):not(:has(> div[id^="dw_"] ~ div[id^="dw_"])):not(:has(> :not(div[id^="dw_"], script, style, input[type="hidden"]))) > div[id^="dw_"]:is(.col-md-1, .col-md-2) .ui-calendar:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger {
    flex: 0 0 var(--emro-control-height);
}

/* The date input shares its reserved width with the picker button. Numeric
   inputs fill only their widget; neither may stretch beyond its field cell. */
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .ui-inputnumber > input.ui-inputfield,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .ui-inputnumber > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger),
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) {
    display: inline-flex;
    align-items: stretch;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > input.ui-inputfield,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > input.ui-inputfield {
    flex: 1 1 0%;
    width: 0 !important;
    min-width: 0;
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .ui-calendar:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger {
    flex: 0 0 var(--emro-control-height);
}

body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .ui-calendar:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield,
body.emro-app-shell .emro-detail-field-scope
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .ui-calendar:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* v8 datetime: a timestamp such as 12/17/2019 07:55:10 needs more room
   than a date mask. Reserve one compact field cell and let its calendar fill
   that space. The semantic class is emitted only for DataWindowDateTime;
   date-only fields and table filters retain their existing geometry. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:has(.dw-calendar--datetime),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:has(.dw-calendar--datetime) {
    min-width: min(100%, 17rem) !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .dw-calendar--datetime,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .dw-calendar--datetime {
    min-width: min(100%, 17rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger) {
    display: inline-flex;
    align-items: stretch;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger) > input.ui-inputfield,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger) > input.ui-inputfield {
    flex: 1 1 0%;
    width: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .dw-calendar--datetime:has(> .ui-datepicker-trigger) > .ui-datepicker-trigger {
    flex: 0 0 var(--emro-control-height);
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] .dw-calendar--datetime:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] .dw-calendar--datetime:not(:has(> .ui-datepicker-trigger)) > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* v8 long number: DataWindow integer precision of 12+ digits or decimal
   precision of 10+ digits can include grouping separators. Reserve room for
   the formatted value and two decimal places while retaining its alignment,
   without changing short numeric fields. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:has(.dw-number--long),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:has(.dw-number--long) {
    min-width: min(100%, 12rem) !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long) {
    min-width: min(100%, 12rem) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long) > input.ui-inputfield,
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long) > input.ui-inputfield {
    min-width: calc(100% - 2px) !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* v9 long number: a PrimeFaces inputNumber span is inline by default, so
   min-width alone cannot enlarge it. Give the marked field a 12rem flex
   basis that may shrink with its row, and make the wrapper a sized inline
   block. This retains the compact height and the numeric right alignment. */
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"]:has(.dw-number--long),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"]:has(.dw-number--long) {
    flex: 0 1 12rem !important;
    width: 12rem !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > .emro-form-field > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long),
body.emro-app-shell :is(.emro-form-workbench .emro-form-section:not(.emro-defect-form), .emro-detail-field-scope, .emro-query-field-scope)
    .row:not(.ui-datatable .row):not(.ui-datagrid .row):not(.ui-treetable .row):not(.ui-datalist .row):not(.emro-defect-form .row)
    > div[id^="dw_"] :is(.ui-inputnumber:has(> input.dw-number--long), .ui-inputnumber.dw-number--long) {
    display: inline-block !important;
    vertical-align: top;
}
