/* Screen typography only: printed documents retain their approved designs. */
.sidebar-themes-actions {display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:10px;flex-shrink:0;}
.ui-default-font {display:grid;gap:4px;margin:0;font-weight:400;}
.ui-default-font select {min-width:136px;min-height:38px;border:1px solid var(--erp-border);border-radius:9px;background:var(--erp-surface);color:var(--ink);padding:5px 8px;}
.ui-default-font small {max-width:240px;color:var(--muted);line-height:1.4;}
@media(max-width:700px){.sidebar-themes-heading{flex-wrap:wrap;}.sidebar-themes-actions{justify-content:flex-start;flex-shrink:1;}}

/* Screen-only content scaling: never alter root/native heading or print tokens.
   Scope is an allowlist of cards/vouchers, including their detached editors. */
@media screen {
  html[data-ui-font-size] :is(
    .app-page[data-page="products"],
    .app-page[data-page="partners"],
    .app-page[data-page="account-quick-open"],
    .app-page[data-page="stock-quick-open"],
    .app-page[data-page="stock-excel-update"],
    .app-page[data-page="stock-receipt"],
    .app-page[data-page="stock-issue"],
    .app-page[data-page="account-money-entry"],
    .app-page[data-page="account-payment"],
    .app-page[data-page="account-collection"],
    .app-page[data-page="account-debit-credit"],
    .app-page[data-page="account-opening"],
    .app-page[data-page="account-transfer"],
    .app-page[data-page="account-voucher"],
    .app-page[data-page="cash-payment"],
    .app-page[data-page="cash-collection"],
    .app-page[data-page="cash-adjustment"],
    .app-page[data-page="cash-transfer"],
    .app-page[data-page="cash-bank-transfer"],
    .app-page[data-page="cash-opening"],
    .app-page[data-page="bank-transfer"],
    .app-page[data-page="bank-cash-withdrawal"],
    .app-page[data-page="bank-opening"],
    .app-page[data-page="credit-card-tracking"],
    .app-page[data-page="sales-quotations"],
    .app-page[data-page="sales-orders"],
    .app-page[data-page="sales-dispatches"],
    .app-page[data-page="sales-invoices"],
    .app-page[data-page="sales-returns"],
    .app-page[data-page="purchase-quotations"],
    .app-page[data-page="purchase-orders"],
    .app-page[data-page="purchase-dispatches"],
    .app-page[data-page="purchase-invoices"],
    .app-page[data-page="purchase-returns"],
    .app-page[data-page="cash-cards"],
    .app-page[data-page="banking"],
    .app-page[data-page="expenses"],
    .app-page[data-page="personnel"],
    .app-page[data-page="stock-recipes"],
    .app-page[data-page="stock-manufacturing-work-orders"],
    .app-page[data-page="stock-manufacturing-entry"],
    .app-page[data-page="document-workspace"],
    .app-page[data-page="sales-invoice-legacy"],
    .app-page[data-page="purchase-document-new"],
    .app-page[data-page="cash-shift-movements"],
    .app-page[data-page="cheque-notes"],
    #recordDetailDialog, #documentWorkspaceWindow, #stockDocumentDialog,
    .transfer-list, .transfer-editor, .documents-panel:has(.count-list),
    .count-filter-dialog, .count-editor, .bank-card-edit-dialog, .bank-definition-dialog,
    .ie-dialog, .recipe-dialog, #stockSelectionDialog
  ) {
    --ui-content-font: var(--erp-content-font-size, 9pt);

    & .dw-field-label { white-space: normal; overflow-wrap: anywhere; }
    & table.grid-appearance-large { --ui-content-font: var(--grid-appearance-size); }
    & .document-form-custom-font { --ui-content-font: var(--document-form-font); }

    & :is(td,input,select,textarea,label,p,small,span,b,strong,a,button,dt,dd,output,li,summary,option,div:not(:has(*))):not(:is(h1,h2,h3,h4,h5,h6,thead,th,legend,[role="heading"],.eyebrow,.dw-eyebrow,.document-workspace-window-identity,.count-title > small,.dw-panel-title,.erp-panel-title,.recipe-lines-title,.command-icon,.button-icon,.record-card-icon,.document-row-actions-menu,.grid-appearance-editor,svg,[data-user-message-dialog])):not(:is(h1,h2,h3,h4,h5,h6,thead,th,legend,[role="heading"],.eyebrow,.dw-eyebrow,.document-workspace-window-identity,.count-title > small,.dw-panel-title,.erp-panel-title,.recipe-lines-title,.command-icon,.button-icon,.record-card-icon,.document-row-actions-menu,.grid-appearance-editor,svg,[data-user-message-dialog]) *) {
      font-size: var(--ui-content-font) !important;
    }
    & :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):not(:is(h1,h2,h3,h4,h5,h6,thead,th,legend,[role="heading"],.eyebrow,.dw-eyebrow,.document-workspace-window-identity,.count-title > small,.dw-panel-title,.erp-panel-title,.recipe-lines-title,.command-icon,.button-icon,.record-card-icon,.document-row-actions-menu,.grid-appearance-editor,svg,[data-user-message-dialog]) *) {
      min-height: var(--ui-control-min-height, calc(1.4em + 8px)) !important;
      height: auto;
    }
    & button:not(table *):not(:is(h1,h2,h3,h4,h5,h6,thead,th,legend,[role="heading"],.eyebrow,.dw-eyebrow,.document-workspace-window-identity,.count-title > small,.dw-panel-title,.erp-panel-title,.recipe-lines-title,.command-icon,.button-icon,.record-card-icon,.document-row-actions-menu,.grid-appearance-editor,svg,[data-user-message-dialog]) *) {
      min-height: calc(1.4em + 10px);
      height: auto;
    }
  }
}
/* Larger content needs room inside existing editors, never browser zoom. */
@media screen {
  html[data-ui-large-font] #documentWorkspaceWindow {
    & .document-workspace-window-chrome { min-height: 58px; height: auto; flex-shrink: 0; }
    & .dw-header-panel { max-height: 38vh; overflow: auto; flex-shrink: 0; }
    & .dw-compact-header { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); gap: 6px; }
    & .dw-compact-header .dw-header-group .dw-header-grid { grid-template-columns: minmax(0,1fr); grid-template-rows: none; }
    & .dw-compact-header .dw-header-grid .dw-field { grid-template-columns: minmax(0,1fr); gap: 3px; }
    & .dw-compact-header .dw-field > :is(input,select,textarea,.dw-party-field-control,.dw-field-error) { grid-column: 1; grid-row: auto; }
    & .dw-compact-header .dw-field > .dw-field-label { grid-column: 1; grid-row: auto; white-space: normal; overflow-wrap: anywhere; }
    & .dw-compact-header :is(.dw-header-date-row,.dw-header-tax-row) { grid-template-columns: minmax(0,1fr); }
    & :is(.dw-tab-list,.dw-grid-toolbar-actions,.dw-action-buttons,.dw-action-bar,.dw-action-leading,.dw-totals-footer) { flex-wrap: wrap; min-width: 0; }
    & .dw-action-buttons { justify-content: flex-start; }
    & .dw-bottom-dock { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); max-height: 32vh; flex-shrink: 0; }
    & :is(.dw-totals,.dw-action-bar) { max-height: 32vh; overflow: auto; }
    & .dw-action-bar { flex-direction: column; align-items: stretch; justify-content: flex-start; }
    & .dw-action-leading { flex: none; }
    & .dw-totals { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: min-content; align-content: start; }
    & .dw-tab-list { flex: 0 0 auto; max-height: 18vh; overflow: auto; }
    & .dw-total-row { min-width: 0; min-height: min-content; }
    & .dw-total-row > span { white-space: normal; overflow-wrap: anywhere; }
    & .dw-total-row.is-grand { grid-template-columns: minmax(0,1fr); justify-items: center; }
    & .dw-action-bar .dw-action-buttons { flex-wrap: wrap; }
  }
  html[data-ui-large-font] #recordDetailDialog {
    & :is(.record-card-field-grid,.record-card-identity) { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
    & :is(.record-card-field-grid,.record-card-identity) label { grid-column: auto; }
    & :is(.record-card-tabs,.record-card-command-bar) { flex-wrap: wrap; height: auto; }
  }
}
