/* Opt-in shared components. Do not override individual dialogs: extend a named variant. */
:root{--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:20px;--ui-control:36px;--ui-icon:28px;--ui-radius:7px;--ui-dialog-radius:14px;--ui-heading:14px;--ui-field-font:12px;--ui-label-font:11px;--ui-table-font:11px;--ui-column-font:10px}
dialog.ui-dialog{width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:var(--ui-dialog-radius);background:var(--surface,#fff);color:var(--ink);overflow:visible;box-shadow:none}
dialog.ui-dialog[open]{display:flex;flex-direction:column}
dialog.ui-dialog[data-ui-size=compact]{width:480px}
dialog.ui-dialog[data-ui-size=regular]{width:740px}
dialog.ui-dialog[data-ui-size=workspace]{width:1480px}
dialog.ui-dialog[data-ui-size=full]{width:calc(100vw - 32px)}
.ui-dialog__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ui-space-4);padding:var(--ui-space-4) var(--ui-space-5);border-bottom:1px solid var(--line);flex:none}
.ui-dialog__header h2{font:inherit;font-size:var(--ui-heading);font-weight:600;margin:0;line-height:1.5;overflow-wrap:anywhere;min-width:0;flex:1 1 240px}
.ui-dialog__heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2);min-width:0;max-width:100%;flex:1 1 auto}
.ui-dialog__heading h2{flex:0 1 auto}
.ui-dialog__heading>button{flex:none}
.ui-dialog__header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--ui-space-2);flex:none;max-width:100%;margin-left:auto}
.ui-print-preview{display:block;width:100%;height:60vh;border:1px solid var(--line);border-radius:var(--ui-radius);background:#fff;margin-top:var(--ui-space-4)}
.ui-dialog__header h2:focus{outline:none}
.ui-dialog__body,.ui-dialog__form{display:flex;flex-direction:column;min-height:0;min-width:0;margin:0;overflow:hidden;border-radius:0 0 var(--ui-dialog-radius) var(--ui-dialog-radius)}
.ui-dialog__content{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:var(--ui-space-5);scroll-padding:var(--ui-space-4)}
.ui-dialog__content>:first-child{margin-top:0}
.ui-dialog__content>:last-child{margin-bottom:0}
.ui-dialog__footer{flex:none;padding:var(--ui-space-4) var(--ui-space-5);border-top:1px solid var(--line);background:var(--surface,#fff)}
.ui-dialog .ui-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2);padding:0;margin:0;border:0}
.ui-dialog :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font:inherit;font-size:var(--ui-field-font);min-width:0;width:100%;height:var(--ui-control);padding:7px 10px;border:1px solid #c5dcd2;border-radius:var(--ui-radius);background:#fff;color:var(--ink);box-sizing:border-box}
.ui-dialog textarea{height:auto;min-height:80px;resize:vertical}
.ui-dialog textarea.ui-textarea--compact{height:var(--ui-control);min-height:var(--ui-control)}
.ui-dialog :is(input,select,textarea):disabled{background:var(--surface-soft);color:var(--muted)}
.ui-dialog input::placeholder{color:var(--muted);opacity:1}
.ui-dialog label{font-size:var(--ui-label-font);gap:var(--ui-space-2);color:var(--muted);min-width:0}
.ui-dialog button{font-family:inherit}
.ui-dialog button:disabled,.ui-dialog button:disabled:hover{background:#edf1ef;border-color:#d8e2dc;color:#83988e;opacity:1;cursor:default}
.ui-dialog .icon-button{width:var(--ui-icon);height:var(--ui-icon);min-height:var(--ui-icon);flex:0 0 var(--ui-icon);padding:0;display:inline-flex;align-items:center;justify-content:center}
.ui-dialog .icon-button svg{display:block;width:16px;height:16px;flex:none}
.ui-dialog .table-wrap{max-width:100%;overflow:auto}
.ui-dialog :is(th,td){padding:var(--ui-space-3) var(--ui-space-2);font-size:var(--ui-table-font);overflow-wrap:anywhere;vertical-align:middle}
.ui-dialog th{font-size:var(--ui-column-font)}
.ui-document-table{table-layout:auto;width:100%;min-width:880px}
.ui-document-table :is(th,td):first-child{width:100%;text-align:left}
.ui-document-table :is(th,td):not(:first-child){width:1%;white-space:nowrap;text-align:right}
/* Shared numeric entry in dense document tables: retain enough room for digits. */
.ui-dialog .ui-number-input{min-width:96px;text-align:right}
/* Optional centered data columns, including editable counts. */
.ui-document-table.ui-document-table--center :is(th,td){text-align:center}
.ui-dialog .ui-document-table--center .ui-number-input{display:inline-block;margin-inline:auto;text-align:center}
/* Optional text/choice editors retain readable space; overflow stays in the table. */
.ui-dialog .ui-document-table--editors :is(select,textarea){min-width:180px}
.ui-document-table--editors :is(th,td):first-child{min-width:200px}
/* Shared column roles keep separate document sections on the same grid. */
.ui-document-table--columns{table-layout:fixed;min-width:var(--ui-document-min-width)}
.ui-document-table--columns :is(th,td):first-child,.ui-document-table--columns :is(th,td):not(:first-child){width:auto;white-space:normal}
.ui-dialog .ui-document-table--columns :is(select,textarea){text-align:inherit}
.ui-dialog .ui-document-table td.ui-unit-cell{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.ui-dialog td small{display:block;margin-top:var(--ui-space-1);color:var(--muted);line-height:1.4}
.ui-dialog :is(input,select,button):focus-visible,.ui-options [role=option]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ui-alert{font-size:var(--ui-field-font);line-height:1.5;border:1px solid var(--line);border-radius:var(--ui-radius);padding:var(--ui-space-2) var(--ui-space-3);margin:0 0 var(--ui-space-3);overflow-wrap:anywhere}
.ui-alert:empty{display:none}
.ui-alert[data-tone=error]{color:var(--danger,#b23c3c);background:var(--danger-bg,#fff2ef);border-color:#f0cfc7}
.ui-alert[data-tone=warning]{color:var(--warning,#8c6828);background:var(--warning-bg,#fff8e8);border-color:#e7d7af}
.ui-alert[data-tone=success]{color:var(--success,#087f73);background:var(--surface-mint);border-color:var(--line)}
.ui-combobox{display:flex;align-items:center;gap:var(--ui-space-3);min-width:0;flex:1}
.ui-combobox>label{flex:none;margin:0}
.ui-combobox--stacked{flex-direction:column;align-items:stretch;align-self:start;gap:var(--ui-space-2)}
.ui-combobox--stacked>.ui-combobox__field{flex:none}
.ui-combobox--stacked>small{font-size:var(--ui-label-font);color:var(--muted)}
.ui-combobox__field{position:relative;flex:1;min-width:0}
.ui-combobox .ui-combobox__field input{padding-right:36px}
.ui-combobox__field [data-ui-toggle]{position:absolute;inset:0 4px 0 auto;display:flex;align-items:center;justify-content:center;width:24px;height:100%;min-height:0;padding:0;border:0;background:transparent;color:var(--ink);line-height:1}
.ui-combobox__field svg{display:block;flex:none}
.ui-options{position:fixed;z-index:50;margin:0;padding:4px;overflow-y:auto;overscroll-behavior:contain;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--accent-line,#bcdad4);border-radius:var(--ui-radius);box-shadow:0 4px 12px #164f481a}
.ui-options [role=option]{display:block;width:100%;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:var(--ui-field-font);line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere}
.ui-options [role=option]:hover,.ui-options [role=option].is-active{background:var(--surface-mint);color:var(--ink)}
.ui-options__empty{padding:var(--ui-space-3);color:var(--muted);font-size:var(--ui-field-font)}
/* Shared action rows, with the existing warehouse dialog adapter. */
.ui-toolbar,.ui-dialog.cw-operation .cw-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-3);margin:0 0 var(--ui-space-4)}
.ui-toolbar[hidden]{display:none}
.ui-dialog.cw-operation .cw-operation-header>p{margin:0;flex:none;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.ui-dialog.cw-operation .cw-operation-header>:is(label,.ui-combobox){display:flex;flex-direction:row;align-items:center;gap:var(--ui-space-2);flex:1;min-width:240px}
.ui-dialog .cw-operation-header [data-op-refresh]{flex:none;margin-left:auto;white-space:nowrap}
.ui-dialog .cw-operation-header :is(input,select){flex:1;min-width:100px}
.ui-dialog.cw-operation [data-op-add]{align-self:center;margin:0}
.ui-dialog.cw-operation .ui-dialog__content>label{margin-block:var(--ui-space-4);display:flex}
.ui-dialog.cw-operation .ui-dialog__content>h3{margin:var(--ui-space-5) 0 var(--ui-space-3);font-size:var(--ui-field-font)}
.ui-dialog.cw-operation :is(.cw-op-qty,.cw-op-price){width:100%;max-width:120px;text-align:center;margin:auto}
.ui-dialog.cw-operation :is([data-op-lines],[data-op-surplus]) table{table-layout:auto;min-width:700px}
.ui-dialog.cw-operation :is([data-op-lines],[data-op-surplus]) td:first-child{min-width:200px}
.ui-dialog.cw-operation td:has([data-op-quantity]),.ui-dialog.cw-operation td:has([data-op-count]),.ui-dialog.cw-operation td:has([data-surplus-field]){min-width:100px}
.ui-dialog.cw-operation td:has([data-op-lot]){min-width:200px;max-width:330px}
.ui-dialog.cw-operation td:has(.icon-button){width:44px}
.ui-dialog.cw-sale-dialog [data-op-lines] table{min-width:1100px}
@media(max-width:640px){
 dialog.ui-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .ui-dialog__header,.ui-dialog__content,.ui-dialog__footer{padding:var(--ui-space-3)}
 .ui-dialog.cw-operation .cw-operation-header>:is(label,.ui-combobox){min-width:0;flex-basis:100%;flex-direction:column;align-items:stretch}
 .ui-combobox{flex-basis:calc(100% - 40px);flex-direction:column;align-items:stretch;gap:var(--ui-space-2)}
 .ui-dialog.cw-operation [data-op-add]{align-self:flex-end;margin-bottom:4px}
 .ui-dialog .ui-actions>button{max-width:100%;white-space:normal}
}
.ui-dialog .ui-cancel-form{display:grid;gap:var(--ui-space-3);margin-top:var(--ui-space-4)}

/* Standard form sections, available to every migrated dialog. */
.ui-dialog .form-grid,.ui-dialog .cw-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-4)}
/* Embedded card editors keep the parent card alignment and one field per row. */
.ui-dialog .ui-form-grid--single{grid-template-columns:minmax(0,1fr);gap:var(--ui-space-2)}
/* Label/value rows share the same columns in card view and edit modes. */
.ui-dialog .ui-property-list> :is(div,label){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);column-gap:var(--ui-space-4);row-gap:var(--ui-space-1);align-items:center;min-height:var(--ui-control);margin:0}
.ui-dialog .ui-property-list> :is(div,label)> :first-child{grid-column:1;grid-row:1;margin:0;min-width:0;overflow-wrap:anywhere}
.ui-dialog .ui-property-list> :is(div,label)> :not(:first-child){grid-column:2;margin:0;min-width:0;overflow-wrap:anywhere}

.ui-dialog .ui-embedded-form .ui-dialog__content{padding:0;overflow:visible}
.ui-dialog .ui-embedded-form .ui-dialog__footer{padding-inline:0}
.ui-dialog .ui-dialog__content>form{min-width:0}
.ui-dialog .ui-dialog__content>label{margin-block:var(--ui-space-4)}
.ui-dialog .ui-section{margin-block:var(--ui-space-5)}
.ui-dialog .ui-section>h3{font-size:var(--ui-field-font);margin:0 0 var(--ui-space-3)}
.ui-dialog .ui-fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--ui-radius);padding:var(--ui-space-4);margin:var(--ui-space-3) 0}
.ui-dialog .ui-fieldset legend{font-size:12px;color:var(--muted);padding-inline:var(--ui-space-1)}
.ui-dialog .ui-section-action{margin-top:var(--ui-space-3)}
.ui-dialog .ui-check,.ui-dialog .cw-check{display:flex;flex-direction:row;align-items:center;gap:var(--ui-space-2);margin-bottom:var(--ui-space-3)}
.ui-dialog input:is([type=checkbox],[type=radio]){width:16px;height:16px;flex:none;margin:0;accent-color:var(--accent)}
.ui-dialog :is(input,textarea)[readonly]{background:var(--surface-soft);color:var(--ink)}
.ui-dialog.payment-editor .payment-batch-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;gap:var(--ui-space-4);padding:0 0 var(--ui-space-4);border:0}
.ui-dialog.payment-editor .payment-batch-row>label:nth-child(n){grid-column:auto;display:flex;flex-direction:column;gap:var(--ui-space-2)}
.ui-dialog.payment-editor .payment-batch-row label>span{font-size:var(--ui-label-font);text-align:left}
.ui-dialog.payment-editor .payment-batch-row output{height:var(--ui-control);padding:7px 10px;font-size:var(--ui-field-font)}
.ui-dialog.payment-editor .payment-batch-row [data-pay=amount]{padding-right:38px}
.ui-dialog.payment-editor #payment-password{max-width:none}
.ui-dialog.ui-product-card .cw-toolbar{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);margin:var(--ui-space-4) 0}
.ui-dialog.ui-product-card .table-wrap table:not(.ui-directory-table){min-width:700px}
.ui-dialog.ui-product-card .invoice-catalog-properties{grid-template-columns:minmax(0,1fr);gap:var(--ui-space-2);margin:var(--ui-space-4) 0}
.ui-dialog [role=alert]:not(.ui-alert){color:var(--danger);overflow-wrap:anywhere}
@media(max-width:640px){.ui-dialog .form-grid,.ui-dialog .cw-form-grid,.ui-dialog.payment-editor .payment-batch-row{grid-template-columns:minmax(0,1fr)}}

/* Document workspaces share the dialog chrome; their two panes scroll independently. */
dialog.ui-dialog.ui-document-review{width:calc(100vw - 32px);max-width:min(2100px,calc(100vw - 32px));height:calc(100dvh - 32px);background:var(--app-bg)}
.ui-document-review .ui-dialog__body{flex:1;gap:0;border-radius:0 0 var(--ui-dialog-radius) var(--ui-dialog-radius)}
.ui-document-review .ui-dialog__header{background:var(--surface);gap:var(--ui-space-3)}
.ui-document-review .ui-dialog__header h2{margin-right:auto}
.ui-document-review [data-review-queue]{font-size:12px;color:var(--muted);flex:none}
.ui-document-review .ui-review-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--ui-space-4);padding:var(--ui-space-4);min-height:0;flex:1}
.ui-document-review .ui-review-grid.nl-source-wide{grid-template-columns:minmax(0,1fr)}
.ui-document-review :is(.awb-original,.nl-original,.awb-form,.nl-form){min-width:0;min-height:0;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-radius);padding:var(--ui-space-3)}
.ui-document-review :is(.awb-form,.nl-form){scrollbar-gutter:stable}
.ui-document-review .nl-original{overflow:hidden}
.ui-document-review .nl-original iframe{flex:1;min-height:0;border:0}
.ui-document-review :is(.awb-header-fields,.nl-header,.nl-header.unified-invoice-header){gap:var(--ui-space-3);grid-template-columns:repeat(3,minmax(0,1fr))}
.ui-document-review label{font-size:var(--ui-column-font)}
.ui-document-review :is(input,select){height:var(--ui-control)}
.ui-document-review :is(.awb-header-fields,.nl-header) :is(input,select){font-size:var(--ui-field-font)}
.ui-document-review :is(.awb-delivery-fields,.transport-header){gap:var(--ui-space-3)}
.ui-document-review :is(.awb-form,.nl-form) h3{font-size:var(--ui-field-font);margin:var(--ui-space-5) 0 var(--ui-space-3)}
.ui-document-review [data-review-status]{flex:none;max-height:20vh;overflow:auto;margin:0;padding:var(--ui-space-3) var(--ui-space-5);border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--ui-dialog-radius) var(--ui-dialog-radius) 0 0;font-size:var(--ui-field-font)}
.ui-document-review .awb-footer{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2) var(--ui-space-4);margin:0}
.ui-document-review .awb-footer.recognition-footer{justify-content:space-between}
.ui-document-review :is(.recognition-tools,.recognition-main-actions){gap:var(--ui-space-2);flex-wrap:wrap}
.ui-document-review .awb-footer button{font-size:var(--ui-field-font);min-height:var(--ui-control);max-width:100%}
.ui-document-review .awb-suppliers :is(input,select){font-size:var(--ui-field-font)}
.ui-document-review .awb-suppliers :is(input[data-key=fbe],input[data-key=chargeable_weight]){width:56px;min-width:56px;max-width:56px}
.ui-dialog.invoice-catalog-dialog .ui-dialog__content{display:grid;gap:var(--ui-space-4)}
.ui-dialog.invoice-catalog-dialog .ui-dialog__content>label{margin:0}
.ui-dialog.invoice-catalog-dialog [data-product-create]{padding:var(--ui-space-4);background:var(--surface-soft);border-radius:var(--ui-radius)}
.ui-dialog.ai-review-dialog .ai-extra-fields{gap:var(--ui-space-4)}
.ui-dialog.ai-review-dialog textarea{font:12px ui-monospace,monospace;min-height:240px}
.ui-dialog.cw-report-dialog .cw-report-pager{flex-wrap:wrap;gap:var(--ui-space-2)}
.ui-dialog.cw-report-dialog .cw-report-events table{min-width:760px}
@media(max-width:1100px){
 .ui-document-review .ui-review-grid:not(.nl-source-wide){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,35fr) minmax(0,65fr)}
}
@media(max-width:640px){
 dialog.ui-dialog.ui-document-review{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px)}
 .ui-document-review .ui-review-grid{padding:var(--ui-space-2);gap:var(--ui-space-2)}
 .ui-document-review .ui-dialog__header{flex-wrap:wrap}
 .ui-document-review .ui-dialog__header h2{flex:1}
 .ui-document-review [data-review-status]{padding:var(--ui-space-3);max-height:18vh}
 .ui-document-review :is(.awb-header-fields,.nl-header,.nl-header.unified-invoice-header){grid-template-columns:repeat(2,minmax(0,1fr))}
 .ui-document-review .awb-footer{padding:var(--ui-space-2) var(--ui-space-3)}
 .ui-document-review .awb-footer button{padding:6px 8px;font-size:12px}
}
/* Shared multiple-choice dropdown surface; checkbox selection remains owned by its form. */
.ui-choice-picker>summary,.ui-choice-picker[open]>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-2);min-height:var(--ui-control);padding:7px 10px;border:1px solid #c5dcd2;border-radius:var(--ui-radius);background:var(--surface);color:var(--ink);font-size:var(--ui-field-font);font-weight:400;margin:0;box-sizing:border-box}
.ui-choice-picker>summary::before,.ui-choice-picker>summary::after,.ui-choice-picker>summary::-webkit-details-marker{display:none}
.ui-choice-picker>summary svg{display:block;flex:none}
.ui-choice-picker>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-choice-picker>[data-ui-choice-panel]{position:fixed;z-index:60;box-sizing:border-box;min-width:0!important;max-width:none!important;overflow:auto;padding:var(--ui-space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-radius);box-shadow:0 4px 12px #164f481a}
.ui-choice-picker>[data-ui-choice-panel] label{display:flex;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) 0;white-space:normal;font-size:var(--ui-field-font);color:var(--ink)}
.ui-choice-picker>[data-ui-choice-panel] input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:var(--accent)}
.ui-choice-picker>[data-ui-choice-panel] input[type=search]{min-height:var(--ui-control);font-size:var(--ui-field-font)}
.ui-choice-picker>[data-ui-choice-panel] button{font-size:var(--ui-field-font)}
.ui-choice-picker>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.ui-document-review .awb-original .table-wrap table{table-layout:auto;min-width:480px}

/* Source workbook text keeps its original preview scale. */
.ui-document-review .nl-sheet :is(th,td){font-size:12px}

/* Shared page filters and multiple-selection fields. */
.ui-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--ui-space-4);margin-block:var(--ui-space-5);min-width:0}
.ui-multiselect{min-width:0;display:grid;gap:var(--ui-space-2);align-content:start}
.ui-field-label{font-size:var(--ui-label-font);color:var(--muted)}
.ui-multiselect [data-ui-caption]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-multiselect svg{flex:none}
.ui-selection-actions{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);margin-block:var(--ui-space-3)}
/* Content regions remain keyboard-scrollable without a surrounding focus frame. */
.table-wrap:focus,.nl-sheet:focus,table:focus,[role=tabpanel]:focus,[role=region]:focus{outline:none}
.ui-report-table{min-width:0;max-width:100%}
.ui-report-table .table-wrap{max-width:100%;overflow:auto}
.ui-report-table th,.ui-report-table td{white-space:nowrap}
.ui-report-table tfoot td{font-weight:600;background:var(--surface-mint,var(--surface,#fff))}
.ui-report-table tfoot tr:first-child td{border-top:2px solid var(--line)}
.ui-report-table td:first-child{white-space:normal;min-width:200px;max-width:320px;overflow-wrap:anywhere}
.ui-filter-grid>label{display:grid;align-content:start;gap:var(--ui-space-2);margin:0;font-size:var(--ui-label-font);color:var(--muted);min-width:0}
.ui-filter-grid>label>input,.ui-filter-grid>label>select{height:var(--ui-control);font-size:var(--ui-field-font);color:var(--ink);min-width:0;width:100%}
.ui-multiselect details{min-width:0}
.ui-multiselect [data-ui-list] h3{font-size:var(--ui-field-font);margin-block:var(--ui-space-4) var(--ui-space-3)}
.ui-multiselect [data-ui-choice-panel] label.ui-check{flex-direction:row;align-items:flex-start;text-align:left;justify-content:flex-start}
.ui-multiselect [data-ui-choice-panel] label.ui-check input{margin:2px 0 0}
.ui-multiselect [data-ui-choice-panel]>div>label{flex-direction:column;align-items:stretch;text-align:left}
.ui-report-table table{table-layout:auto;width:max-content;min-width:100%}

/* Vertical section navigation: shared by store workspaces and future page sections. */
.ui-tabs{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--ui-space-4);min-width:0;align-items:start}
.ui-tabs__list{display:flex;flex-direction:column;gap:var(--ui-space-2);min-width:0}
.ui-tabs__list>[role=tab],button.ui-section-button{min-height:var(--ui-control);padding:var(--ui-space-2) var(--ui-space-3);text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:var(--ui-field-font);font-weight:400;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface);color:var(--ink)}
.ui-tabs__list>[role=tab]{width:100%}
button.ui-section-button{width:auto;flex:none;white-space:nowrap}
:is(.ui-tabs__list>[role=tab],button.ui-section-button):not(:disabled):hover{background:var(--surface-mint)}
:is(.ui-tabs__list>[role=tab],button.ui-section-button):disabled,:is(.ui-tabs__list>[role=tab],button.ui-section-button):disabled:hover{background:#edf1ef;border-color:#d8e2dc;color:#83988e;opacity:1;cursor:default}
.ui-tabs__list>[role=tab][aria-selected=true]{background:var(--surface-mint);border-color:var(--accent);color:var(--accent);font-weight:600}
.ui-tabs__list>[role=tab]:focus-visible,button.ui-section-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ui-tabs__panels,.ui-tabs__panels>[role=tabpanel]{min-width:0;max-width:100%}
.ui-tabs__panels>[role=tabpanel]>:first-child{margin-top:0}
@media(max-width:600px){.ui-tabs{grid-template-columns:minmax(0,1fr)}}

/* Horizontal variant can be moved into a disclosure heading without remounting panels. */
.ui-tabs--horizontal{grid-template-columns:minmax(0,1fr)}
.ui-tabs__list--horizontal{flex-direction:row;overflow-x:auto;max-width:100%;padding:var(--ui-space-1)}
.ui-tabs__list--horizontal>[role=tab]{width:auto;flex:none;white-space:nowrap}
.ui-tabs__list--horizontal>.ui-tabs__tab--end{margin-inline-start:auto}
.ui-tabs-disclosure{min-width:0;max-width:100%}
.ui-tabs-heading{flex-wrap:wrap;gap:var(--ui-space-3)}
.ui-tabs-heading>strong{min-width:0;overflow-wrap:anywhere}
.ui-tabs-heading>.ui-tabs__list{margin-left:var(--ui-space-2)}
@media(max-width:600px){.ui-tabs-heading>.ui-tabs__list{order:2;flex-basis:100%;margin-left:0}}

/* Optional report filters: shared field and remove-action layout. */
.ui-filter-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--ui-space-2);min-width:0}
.ui-filter-field>.icon-button{margin-bottom:var(--ui-space-1)}
.ui-filter-field[hidden],.ui-filter-grid[hidden],.ui-filter-grid>[hidden]{display:none}
.ui-filter-options{display:grid;gap:var(--ui-space-2)}

/* Directory data columns always share the remaining width equally. */
.ui-directory-table{width:100%;table-layout:fixed;min-width:var(--ui-directory-min-width)}
.ui-directory-table th,.ui-directory-table td{width:auto;text-align:center;vertical-align:middle;overflow-wrap:anywhere}
.ui-directory-table th:first-child,.ui-directory-table td:first-child{text-align:left}
.ui-directory-table td.empty{text-align:center}
.ui-directory-table input:not([type=checkbox]),.ui-directory-table select,.ui-directory-table textarea{text-align:inherit;max-width:100%}
.ui-directory-table .row-actions,.ui-directory-table .cw-product-actions{justify-content:center}
.ui-directory-table--actions th:last-child,.ui-directory-table--actions td:last-child{text-align:center}

/* Shared viewport: header plus a measured number of table rows. */
.ui-table-row-limit{overflow:auto;overscroll-behavior:contain}
.ui-table-row-limit thead th{position:sticky;top:0;z-index:1;background:var(--surface-mint,var(--surface,#fff))}

.ui-pagination{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-2);margin-block:var(--ui-space-3)}
.ui-pagination>span{text-align:center;color:var(--muted);font-size:var(--ui-field-font)}
.ui-pagination[hidden]{display:none}

/* Shared barcode preview. Black bars and white quiet zones preserve scanner contrast. */
.ui-barcode{margin:var(--ui-space-4) auto;text-align:center;max-width:340px}
.ui-barcode svg{display:block;width:100%;height:auto}
.ui-barcode figcaption{font-size:var(--ui-field-font);color:var(--ink);margin-top:var(--ui-space-2)}

/* Directory module: keep table scrolling inside a shrinkable page card. */
.ui-directory-card{min-width:0}
.ui-directory-card>.card-head{flex-wrap:wrap;gap:var(--ui-space-3)}
.ui-directory-card>.card-head>.ui-toolbar{margin:0}

/* Modal catalog checklist uses shared control and typography tokens. */
.ui-checklist .ui-check{align-items:flex-start;text-align:left;justify-content:flex-start}
.ui-checklist .ui-check input{flex:none;margin:2px 0 0}
.ui-checklist .ui-check span{min-width:0;overflow-wrap:anywhere;font-size:var(--ui-field-font);color:var(--ink)}
.ui-multiselect [data-ui-dialog-select]{min-width:0;max-width:100%;text-align:left}

/* Original-document viewport: only its content is scaled, never the editor. */
.ui-source-slot,.ui-source-zoom{display:flex;flex-direction:column;gap:var(--ui-space-2);flex:1;min-width:0;min-height:0}
.ui-source-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2);flex:none}
.ui-source-tools button{min-height:var(--ui-icon);height:var(--ui-icon);padding:0 var(--ui-space-2)}
.ui-source-tools [data-zoom="reset"]{min-width:56px;font-variant-numeric:tabular-nums}
.ui-source-viewport{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;min-width:0;background:var(--app-bg)}
.ui-source-stage{position:relative;overflow:hidden}
.ui-source-content{position:absolute;top:0;left:0;width:max-content;transform-origin:top left;background:var(--surface)}
.ui-source-content img{display:block;max-width:none}
.ui-source-content .nl-sheet{overflow:visible;flex:none}

@media(max-width:1100px){
 .ui-document-review .ui-review-grid:has(.ui-source-slot){grid-template-rows:minmax(240px,1fr) minmax(240px,1.2fr);overflow:auto}
 .ui-document-review .ui-review-grid.nl-source-wide:has(.ui-source-slot){grid-template-rows:minmax(240px,1fr)}
}

/* Shared compact header keeps zoom beside the pane-width action. */
.ui-source-toolbar{justify-content:flex-start;gap:var(--ui-space-1);flex:none;overflow-x:auto;white-space:nowrap}
.ui-source-toolbar>b{margin-right:auto}
.ui-source-toolbar>.ui-source-tools,.ui-source-toolbar>div{flex:none}
.ui-source-toolbar .ui-source-tools{flex-wrap:nowrap;gap:var(--ui-space-1)}
.ui-source-toolbar>button{flex:none;margin-left:auto;min-height:var(--ui-icon);height:var(--ui-icon);padding:0 var(--ui-space-2)}
@media(max-width:600px){.ui-source-toolbar>b{display:none}}

/* Collapsible table groups: shared compact heading and standard icon action. */
.ui-table-group-row>td{background:var(--surface-mint);color:var(--ink)}
.ui-table-group-label{display:flex;align-items:center;gap:var(--ui-space-2)}
.ui-table-group-label--nested{padding-left:calc(var(--ui-space-4) + var(--ui-space-2))}
.ui-table-group-label .icon-button{flex-shrink:0}

.ui-table-group-label .muted{flex-shrink:0;white-space:nowrap}
.ui-table-group-content>td{padding:0!important}
.ui-table-group-content .ui-table-row-limit{scrollbar-gutter:stable}

/* Compact native filters inside table headings. */
.ui-column-filter{display:grid;gap:var(--ui-space-1);margin:0;text-align:inherit;font-size:var(--ui-column-font)}
.ui-column-filter :is(select,input){width:100%;min-width:120px;max-width:240px;height:32px;font-size:var(--ui-table-font);font-weight:400;justify-self:center;text-align:inherit;text-align-last:inherit}
.ui-standard-table :is(th,td){text-align:center;vertical-align:middle}
.ui-standard-table :is(th,td):first-child{text-align:left}
.ui-standard-table th:first-child .ui-column-filter :is(select,input){justify-self:start}
.ui-standard-table td.empty{text-align:center}
/* Entry rows: a single-line item, compact fixed data, flexible comment. */
.ui-standard-table.ui-standard-table--entry-lines{table-layout:auto;width:100%}
.ui-standard-table--entry-lines :is(.ui-entry-name,.ui-entry-fixed){width:1%;white-space:nowrap;overflow-wrap:normal}
.ui-standard-table--entry-lines .ui-entry-comment{min-width:200px}
.ui-standard-table--entry-lines .ui-entry-comment textarea{width:100%;display:block}
.ui-dialog .ui-number-input--short{width:calc(5ch + var(--ui-space-5) + var(--ui-space-4));text-align:center;font-variant-numeric:tabular-nums}

.ui-standard-table.ui-standard-table--compact-columns{width:100%;table-layout:fixed;min-width:var(--ui-table-min-width)}
.ui-standard-table--compact-columns :is(th,td){padding-inline:var(--ui-space-1);overflow-wrap:anywhere}
.ui-standard-table--compact-columns th{white-space:normal;overflow-wrap:normal}
.ui-standard-table--compact-columns .ui-column-filter{min-width:0}
.ui-standard-table--compact-columns .ui-column-filter :is(input,select){min-width:0;max-width:100%;width:100%}
.ui-standard-table--compact-columns td:not(:first-child){font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}
.ui-table-party-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;font-weight:500}
.ui-standard-table input:is([type=checkbox],[type=radio]){display:inline-block;vertical-align:middle}

.ui-standard-table>thead>tr>th{background:var(--surface-soft);color:var(--muted);font-size:var(--ui-column-font);font-weight:500}

/* Shared title actions and readable, compact in-app instructions. */
.ui-page-heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-3);min-width:0;max-width:100%}
.ui-page-heading>h1,.ui-page-heading>h2,.ui-page-heading>h3{margin:0}
.ui-page-heading>button{flex:none}
.ui-dialog .ui-guide{font-size:var(--ui-field-font);line-height:1.6;overflow-wrap:anywhere}
.ui-guide p,.ui-guide ul,.ui-guide ol{margin-block:var(--ui-space-3)}
.ui-guide li+li{margin-top:var(--ui-space-2)}
.ui-guide :is(ul,ol){padding-left:var(--ui-space-5)}
.ui-guide .ui-section>h3{scroll-margin-block:var(--ui-space-4)}
.ui-guide .ui-standard-table{min-width:540px}
.ui-guide .ui-standard-table :is(td,th){white-space:normal}
.ui-dialog__footer .ui-actions>label:has([data-help-chapter]){flex:1;min-width:0;max-width:100%}

/* Document lifecycle colours; labels remain visible independently of colour. */
.ui-document-status{display:inline-block;max-width:100%;padding:2px 6px;border:1px solid var(--line);border-radius:var(--ui-radius);font-size:inherit;font-weight:500;line-height:1.5;white-space:normal;background:var(--surface-soft);color:var(--muted)}
.ui-dialog__header .ui-document-status{font-size:var(--ui-table-font);vertical-align:middle}
.ui-document-status[data-tone=success]{background:var(--surface-mint);color:var(--success,#087f73);border-color:var(--line)}
.ui-document-status[data-tone=warning]{background:var(--warning-bg,#fff8e8);color:var(--warning,#8c6828);border-color:#e7d7af}
.ui-document-status[data-tone=error]{background:var(--danger-bg,#fff2ef);color:var(--danger,#b23c3c);border-color:#f0cfc7}

/* Informational numeric anomaly, independent of validation errors. */
.ui-value-alert,button.link.ui-value-alert,button.link.ui-value-alert:hover{color:var(--danger,#b23c3c)}

.ui-control-with-action{display:flex;align-items:center;gap:var(--ui-space-2)}
.ui-control-with-action>input{min-width:0;flex:1}
.ui-control-with-action>button{flex:none}

/* One compact control for a date interval; never nest inputs inside a button. */
.ui-date-range{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:var(--ui-space-1);max-width:100%;box-sizing:border-box;padding:var(--ui-space-1);border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-mint);font-size:var(--ui-field-font)}
.ui-date-range__label{padding-inline:var(--ui-space-1);white-space:nowrap}
.ui-dialog .ui-date-range>input{width:11em;max-width:100%;height:32px;padding:var(--ui-space-1);font-size:var(--ui-field-font)}
.ui-dialog .ui-date-range>button{min-height:32px;padding:var(--ui-space-1) var(--ui-space-2);white-space:nowrap}
@media(max-width:560px){.ui-date-range{width:100%;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.ui-date-range__label{grid-column:1/-1}.ui-dialog .ui-date-range>input{width:100%}}

/* Product allocations: several counterparties inside one cell, without extra columns. */
.ui-standard-table.ui-allocation-table{width:100%;table-layout:fixed;min-width:0!important}
.ui-allocation-table .ui-column-filter{min-width:0}
.ui-allocation-table .ui-column-filter :is(input,select){min-width:0;max-width:100%}
.ui-allocation-table th:first-child{width:26%}
.ui-allocation-table th:last-child{width:38%}
.ui-allocation-table :is(th,td){white-space:normal;overflow-wrap:anywhere}
.ui-allocation-cell{display:grid;gap:var(--ui-space-3);margin-bottom:var(--ui-space-2)}
.ui-allocation-row{display:grid;grid-template-columns:minmax(0,1fr) 72px 28px;align-items:center;gap:var(--ui-space-2)}
.ui-allocation-row [data-ui-combobox]{min-width:0;text-align:left}
.ui-allocation-row .ui-combobox>label{display:none}
.ui-allocation-row input[type=number]{text-align:center;min-width:0}
.ui-allocation-meta{grid-column:1/-1;text-align:left;color:var(--muted);font-size:var(--ui-label-font)}
@media(max-width:760px){
 .ui-allocation-table,.ui-allocation-table tbody{display:block}
 .ui-allocation-table thead{display:block}
 .ui-allocation-table thead tr{display:block}
 .ui-allocation-table th{display:none}
 .ui-allocation-table th:first-child{display:block;width:auto}
 .ui-allocation-table tbody tr:not([hidden]){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:var(--ui-space-3);border-bottom:1px solid var(--line)}
 .ui-allocation-table td{display:block;border:0;padding:var(--ui-space-2)}
 .ui-allocation-table td:first-child,.ui-allocation-table td:last-child{grid-column:1/-1}
 .ui-allocation-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:var(--ui-column-font);margin-bottom:var(--ui-space-1)}
}

/* Shared two-line status cards; same palette and compact typography as load stages. */
.ui-status-cards{display:flex;gap:var(--ui-space-3);margin-bottom:var(--ui-space-4);flex-wrap:wrap}
.ui-status-cards .ui-status-card{flex:1 1 220px;min-width:0;display:flex;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-soft);color:var(--muted);text-align:left;font-size:var(--ui-field-font);line-height:1.5}
.ui-status-card__copy{display:flex;flex-direction:column;gap:var(--ui-space-1);flex:1;min-width:0;overflow-wrap:anywhere}
.ui-status-card__copy strong{color:var(--ink);font-weight:600}
.ui-status-card__mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex:none;background:var(--surface);font-weight:600}
.ui-status-cards .ui-status-card[data-tone=success]{background:var(--success-bg);color:var(--success);border-color:#cce6d8}
.ui-status-cards .ui-status-card[data-tone=error]{background:var(--danger-bg);color:var(--danger);border-color:#f0cfc7}
.ui-status-cards .ui-status-card[data-tone=warning]{background:var(--warning-bg);color:var(--warning);border-color:#e7d7af}
.ui-status-cards .ui-status-card:hover{border-color:currentColor}

/* Optional stacked table for reading document history on phones. */
@media(max-width:700px){
 .ui-mobile-table{display:block!important;width:100%!important;min-width:0!important}
 .ui-mobile-table>thead{display:none!important}
 .ui-mobile-table>tbody{display:block}
 .ui-mobile-table>tbody>tr{display:block;border:1px solid var(--line);border-radius:var(--ui-radius);padding:var(--ui-space-2);margin-bottom:var(--ui-space-2);background:var(--surface)}
 .ui-mobile-table>tbody>tr>td{display:block!important;width:auto!important;min-width:0!important;max-width:100%;padding:var(--ui-space-2)!important;text-align:left!important;white-space:normal!important;border:0;font-size:var(--ui-field-font)!important;overflow-wrap:anywhere}
 .ui-mobile-table>tbody>tr>td[data-mobile-label]:before{content:attr(data-mobile-label);display:block;font-size:var(--ui-label-font);color:var(--muted);font-weight:400;margin-bottom:var(--ui-space-1)}
 .ui-mobile-table>tbody>tr>.ui-mobile-empty{display:none!important}
 .ui-mobile-menu{display:grid;gap:var(--ui-space-2)}
 .ui-mobile-menu button{min-height:44px;text-align:left}
}

.ui-standard-table .ui-quantity-input{width:100%;text-align:center;padding-inline:var(--ui-space-1);font-variant-numeric:tabular-nums}

.ui-standard-table--sticky-end tr>:last-child:not([colspan]){position:sticky;right:0;z-index:1;background:var(--surface);border-left:1px solid var(--line)}
.ui-standard-table--sticky-end thead tr>:last-child{background:var(--surface-soft)}
.ui-standard-table--sticky-start tr>:first-child:not([colspan]){position:sticky;left:0;z-index:1;background:var(--surface);border-right:1px solid var(--line)}
.ui-standard-table--sticky-start thead tr>:first-child:not([colspan]){background:var(--surface-soft)}
:is(.ui-standard-table--sticky-start-2,.ui-standard-table--sticky-start-3) tr>:nth-child(2):not([colspan]),.ui-standard-table--sticky-start-3 tr>:nth-child(3):not([colspan]){position:sticky;z-index:1;background:var(--surface);border-right:1px solid var(--line)}
:is(.ui-standard-table--sticky-start-2,.ui-standard-table--sticky-start-3) tr>:nth-child(2):not([colspan]){left:var(--ui-sticky-second-left)}
.ui-standard-table--sticky-start-3 tr>:nth-child(3):not([colspan]){left:var(--ui-sticky-third-left)}
:is(.ui-standard-table--sticky-start-2,.ui-standard-table--sticky-start-3) thead tr>:nth-child(2):not([colspan]),.ui-standard-table--sticky-start-3 thead tr>:nth-child(3):not([colspan]){background:var(--surface-soft)}
.ui-standard-table--sticky-start .ui-table-group-label{position:sticky;left:var(--ui-space-1);width:max-content}

/* Optional emphasis for related data columns; pointer guides remain stronger. */
.ui-standard-table>thead>tr>th.ui-table-cell-accent{background:color-mix(in srgb,var(--surface-mint) 65%,var(--surface,#fff));color:var(--ink)}
.ui-standard-table>tbody>tr>td.ui-table-cell-accent{background:color-mix(in srgb,var(--surface-mint) 20%,var(--surface,#fff))}

/* Opt-in table guides; sticky cells share the same hover background. */
.ui-standard-table--column-dividers :is(th,td):not(:last-child){border-right:1px solid var(--line)}
.ui-standard-table--row-hover,.ui-table-column-hover{--ui-table-guide:color-mix(in srgb,var(--surface-mint) 35%,var(--surface,#fff))}
.ui-standard-table.ui-standard-table--row-hover>tbody>tr:not(.ui-table-group-row):hover>td:not([colspan]),
.ui-standard-table> :is(thead,tbody)>tr>:is(th,td).ui-table-column-hover{background:var(--ui-table-guide)}
/* A second 35% mint layer at the crossing; keep sticky cells opaque. */
.ui-standard-table.ui-standard-table--row-hover>tbody>tr:not(.ui-table-group-row):hover>td.ui-table-column-hover:not([colspan]){background:color-mix(in srgb,var(--surface-mint) 35%,var(--ui-table-guide))}

.ui-standard-table>tbody>tr.ui-table-group-row--totals>td:not([colspan]){background:var(--surface-mint);font-weight:600}
.ui-standard-table--sticky-start .ui-table-group-row--totals .ui-table-group-label{position:static;width:auto;min-width:0}
.ui-table-group-row--totals .ui-table-group-label strong{min-width:0;overflow-wrap:anywhere}

.ui-column-sort{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-1);padding:0;color:inherit}
.ui-status-card__details{font-size:var(--ui-table-font);font-weight:400}
.ui-table-totals{font-size:var(--ui-table-font);color:var(--muted);margin:var(--ui-space-3) 0 0}

/* Equal-width attribute filters with labels above the controls. */
.ui-filter-grid--inline{margin-block:0;align-items:end}
.ui-filter-grid--row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
@media(max-width:640px){.ui-filter-grid--row{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto}}

/* Weighted attribute rows: compact numeric selectors and trailing actions. */
.ui-filter-grid--weighted{display:flex}
.ui-filter-grid--weighted>*{flex:1;min-width:0}
.ui-filter-grid--weighted>.ui-filter-field--quarter{flex:.25;min-width:40px}
.ui-filter-actions{display:flex;align-items:center;gap:var(--ui-space-2)}
.ui-filter-actions>button{white-space:nowrap}
.ui-combobox--numeric .ui-combobox__field input{padding-left:2px;padding-right:14px}
.ui-combobox--numeric .ui-combobox__field [data-ui-toggle]{width:12px;right:0}
@media(max-width:640px){
 .ui-filter-grid--weighted{display:grid}
 .ui-filter-field--actions{grid-template-columns:minmax(0,1fr)}
}

.ui-combobox--numeric .ui-combobox__field svg{width:12px}

/* Shared missing-choice state: does not add native required to draft pickers. */
.ui-combobox[data-ui-required-missing] [data-ui-input]{border-color:var(--danger);background:var(--danger-bg,#fff2ef)}
.ui-combobox[data-ui-required-missing]>label{color:var(--danger);display:block}
.ui-combobox[data-ui-required-missing]>label::after{content:'\00a0*'}
