/* Desktop ERP density. Geometry, scroll regions and business visibility stay local. */
.erp-theme :where(h1) { font-size:var(--erp-text-heading); line-height:var(--erp-line-heading); }
.erp-theme :where(h2) { font-size:var(--erp-text-section); line-height:var(--erp-line-section); }
.erp-theme :where(h3,h4) { font-size:var(--erp-text-large); line-height:var(--erp-line-card); }
.erp-theme :where(label) { font-size:var(--erp-text-compact); line-height:var(--erp-line-table); }
.erp-theme :is(small,.small,.form-text,.invalid-feedback,.errorlist) {
  font-size:var(--erp-text-small); line-height:var(--erp-line-small);
}
.erp-theme :is(.form-text,.invalid-feedback,.errorlist) { margin-top:var(--erp-space-1); }
.erp-theme :is(.form-label,.field-row>label,.form-field>label,.field-group>label) {
  font-size:var(--erp-text-compact); line-height:var(--erp-line-table);
  margin-bottom:var(--erp-space-1); font-weight:500;
}
.erp-theme :is(.management-page,.erp-workspace) { padding:var(--erp-section-gap); }
.erp-theme.erp-compact .management-page { padding:var(--erp-section-gap); }
.erp-theme :is(.form-card,.inline-collection-editor) { padding:var(--erp-panel-padding); }
.erp-theme.erp-compact .form-card { padding:var(--erp-panel-padding); }
.erp-theme :is(.management-grid,.erp-workspace-columns) { gap:var(--erp-section-gap); }
.erp-theme.erp-compact .management-grid { gap:var(--erp-section-gap); }
.erp-theme :is(.form-grid,.compact-filter-grid,.inline-form-row,.allocation-fields,.so-form) { gap:var(--erp-field-gap); }
.erp-theme .so-form p { margin:0; }
.erp-theme .so-panel form p { margin-bottom:var(--erp-field-gap); }
.erp-theme :is(.so-form,.so-panel form) label { margin-bottom:var(--erp-space-1); font-size:var(--erp-text-compact); line-height:var(--erp-line-table); }
.erp-theme .form-card .row, .erp-theme.erp-compact .form-card .row {
  --bs-gutter-x:var(--erp-field-gap); --bs-gutter-y:var(--erp-field-gap);
}
.erp-theme .field-row, .erp-theme.erp-compact .field-row { margin-bottom:var(--erp-field-gap); }
.erp-theme .form-card .row .field-row, .erp-theme.erp-compact .form-card .row .field-row { margin-bottom:0; }
.erp-theme :is(.card-heading,.erp-workspace-card,.erp-workspace-filter) { padding:var(--erp-panel-padding); }
.erp-theme.erp-compact .card-heading { padding:var(--erp-panel-padding); }
.erp-theme .erp-workspace-row { padding:var(--erp-space-2) var(--erp-space-3); }
.erp-theme .erp-workspace-row small { margin-top:var(--erp-space-1); }
.erp-theme .erp-workspace-guidance-inset {
  margin-left:var(--erp-space-3); padding:var(--erp-space-2) var(--erp-space-3);
  line-height:var(--erp-line-prose);
}
.erp-theme :is(.form-actions,.erp-workspace-actions) { gap:var(--erp-space-2); }
.erp-theme .form-actions { margin-top:var(--erp-section-gap); padding-top:var(--erp-space-3); }
.erp-theme.erp-compact .form-actions { margin-top:var(--erp-section-gap); padding-top:var(--erp-space-3); }
.erp-theme table { font-size:var(--erp-text-table); line-height:var(--erp-line-table); }
.erp-theme table :is(th,td) { padding:var(--erp-table-padding-y) var(--erp-table-padding-x); }
.erp-theme table th { font-size:var(--erp-text-table); font-weight:500; }
/* Controls in a data row use S; popup descendants reset their own M contract. */
.erp-theme table td { --erp-control-size:var(--erp-control-s); --erp-control-font:var(--erp-text-compact); --erp-control-line:var(--erp-control-s-line); --erp-control-pad-y:var(--erp-control-s-pad-y); --erp-control-pad-x:var(--erp-control-s-pad-x); --erp-control-icon:var(--erp-icon-s); }
.erp-theme table td :is(.btn,.form-control,.form-select,.input-group-text) {
  --erp-control-size:var(--erp-control-s); --erp-control-font:var(--erp-text-compact);
  --erp-control-line:var(--erp-control-s-line); --erp-control-pad-y:var(--erp-control-s-pad-y);
  --erp-control-pad-x:var(--erp-control-s-pad-x); --erp-control-icon:var(--erp-icon-s);
}
.erp-theme table td:has(:is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,.btn,[data-picker-component])) {
  padding-block:var(--erp-table-edit-padding-y);
}
.erp-theme :is(.erp-pagination-pages,.pagination-pages) { gap:var(--erp-space-1); }
.erp-theme :is(.erp-pagination-pages,.pagination-pages)>:is(a,span), .erp-theme .pagination-ellipsis {
  min-width:var(--erp-control-s); min-height:var(--erp-control-s); height:auto;
  padding:var(--erp-control-s-pad-y) var(--erp-control-s-pad-x);
  font-size:var(--erp-text-compact); line-height:var(--erp-control-s-line); box-sizing:border-box;
}
.erp-theme .form-check-input { width:var(--erp-checkbox-size); height:var(--erp-checkbox-size); }
.erp-theme .form-check { min-height:var(--erp-control-s); }
.erp-theme .form-check-label { min-height:var(--erp-control-s); }
.erp-theme .btn.erp-icon-button { width:var(--erp-control-size); padding-inline:0; }
.erp-theme .erp-header :is(.header-actions>.system-task-menu,.system-task-menu)>button,
.erp-theme .erp-header .header-actions>button { width:var(--erp-control-m); min-width:var(--erp-control-m); padding:0; }
.erp-theme .erp-header :is(.header-actions,.system-task-menu)>button>i { font-size:var(--erp-icon-m); }
@media(max-width:680px) {
  .erp-theme :is(.management-page,.erp-workspace), .erp-theme.erp-compact .management-page { padding:var(--erp-space-3); }
}

.erp-theme table td:has(:is(newsky-account-picker,newsky-attribute-picker,newsky-costing-group-picker,newsky-inventory-location-picker,newsky-inventory-source-balance-picker,newsky-inventory-tracking-picker,newsky-maintenance-product-picker,newsky-measurement-picker,newsky-multi-select-picker,newsky-partner-multi-picker,newsky-partner-picker,newsky-product-picker,newsky-qc-early-use-picker,newsky-sourcing-payment-picker,newsky-supplier-product-picker,newsky-user-picker)) { padding-block:var(--erp-table-edit-padding-y); }
