/* Opt-in document line workspaces; existing page chrome is unchanged. */
.me-line-editor-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
/* Reserve a helper line so blur validation cannot move the confirmation button mid-click. */
.me-line-editor .erp-numeric-field .mud-input-control { min-height: calc(40px + 1.5rem); }
.me-line-field-caption { margin-bottom: .3rem; color: #52627a; font-size: .8rem; font-weight: 600; }
.me-warehouse-line-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
@media (max-width: 700px) { .me-warehouse-line-fields { grid-template-columns: minmax(0, 1fr); } }
.me-line-workspace .me-line-numeric-cell { text-align: right; font-variant-numeric: tabular-nums; }
.me-shared-line-editor :is(.me-purchase-order-line-fields, .me-sales-line-details, .me-sales-line-logistics) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.me-shared-line-editor .me-sales-line-primary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
@media (max-width: 700px) {
    .me-shared-line-editor :is(.me-purchase-order-line-fields, .me-sales-line-details, .me-sales-line-logistics, .me-sales-line-primary) { grid-template-columns: minmax(0, 1fr); }
}
.me-shared-line-editor :is(.wte-line, .wwo-line, .me-purchase-request-line-fields, .me-document-line-detail-fields) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: .8rem; }
.me-shared-line-editor .me-document-line-primary-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
@media (max-width: 700px) {
    .me-shared-line-editor :is(.wte-line, .wwo-line, .me-purchase-request-line-fields, .me-document-line-detail-fields, .me-document-line-primary-fields) { grid-template-columns: minmax(0, 1fr); }
}
.me-line-workspace { min-width: 0; }
.me-line-toolbar { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: .6rem; }
.me-line-toolbar > .mud-input-control { flex: 1 1 16rem; max-width: 30rem; }
.me-line-toolbar-actions { margin-inline-start: auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.me-line-toolbar-actions .mud-button-root { white-space: nowrap; }
.me-line-guidance, .me-line-secondary { color: var(--mud-palette-text-secondary); font-size: .82rem; line-height: 1.5; }
.me-line-guidance { margin: .5rem 0; }
.me-line-status { color: var(--mud-palette-primary); font-size: .85rem; margin-block: .5rem; }
.me-line-summary-table .mud-table-container { max-height: 32rem; overflow: auto; }
.me-line-summary-table thead th { position: sticky; top: 0; background: var(--mud-palette-background-gray); z-index: 1; font-weight: 600; }
.me-line-summary-table .me-line-ordinal { width: 3.5rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.me-line-summary-table .me-line-actions-heading { text-align: right; }
.me-line-summary-table .me-line-number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.me-line-summary-table td { vertical-align: top; }
.me-line-row-actions { display: flex; gap: .15rem; flex-wrap: nowrap; justify-content: flex-end; }
.me-line-secondary { max-width: 30rem; white-space: normal; overflow-wrap: anywhere; }
.me-line-description-cell { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

@media (min-width: 601px) {
    #incoming-invoice-lines .mud-table-root, #incoming-invoice-allocations .mud-table-root { min-width: 64rem; }
    #incoming-invoice-lines .me-line-numeric-cell, #incoming-invoice-allocations .me-line-numeric-cell { white-space: nowrap; }
}
.me-line-cell-content { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.me-line-cell-content > small { display: block; }
.me-line-editor { margin-top: 1rem; padding: 1rem; border: 1px solid var(--mud-palette-primary); border-radius: 10px; background: var(--mud-palette-surface); scroll-margin-top: calc(var(--me-sticky-offset, 7rem) + 1rem); }
.me-line-editor h3 { font-size: 1rem; font-weight: 600; margin-bottom: .75rem; }
#journal-line-editor { position: static; border-radius: 10px; }
#journal-line-editor > .me-entry-side-title { font-size: 1rem; font-weight: 600; }
#invoice-line-editor .me-document-line-detail-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#invoice-line-editor .me-document-line-detail-fields > * { grid-column: auto; }
.me-line-editor-actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; padding-top: 1rem; grid-column: 1 / -1; }
.me-line-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.me-line-fields > .mud-alert, .me-line-fields > .mud-grid { grid-column: 1 / -1; }
.me-line-error { border-left: 3px solid var(--mud-palette-error); padding: .7rem; background: var(--mud-palette-error-hover); color: var(--mud-palette-error); margin-bottom: .75rem; }
.me-line-details { font-size: .8rem; margin-top: .35rem; }
.me-line-details summary { cursor: pointer; color: var(--mud-palette-primary); }
.me-line-details dl { display: grid; grid-template-columns: auto 1fr; gap: .25rem .7rem; margin-block: .5rem; }
.me-line-details dt { font-weight: 600; }
.me-line-workspace :is(button, input, textarea, summary):focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; }
/* The composite picker gets one focus ring, not a second rectangle inside its label. */
.me-line-workspace .me-inline-lookup-input:focus-visible { outline: none; }
.me-line-workspace .me-inline-lookup-picker:has(.me-inline-lookup-input:focus-visible) { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; }
@media (max-width: 599px) {
    .me-line-summary-table .me-line-ordinal { width: auto; }
}
@media (max-width: 700px) {
    #invoice-line-editor .me-document-line-detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .me-line-fields { grid-template-columns: minmax(0, 1fr); }
    .me-line-editor { padding: .75rem; }
    .me-line-summary-table .mud-table-container { max-height: none; }
    .me-line-editor-actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
    #invoice-line-editor .me-document-line-detail-fields { grid-template-columns: minmax(0, 1fr); }
}
