.document-workspace-window {
  width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  max-width: none;
  max-height: none;
  margin: auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brand-navy, #062f56) 35%, #afbec6);
  border-radius: 12px;
  padding: 0;
  background: var(--canvas, #f2f6f7);
  color: var(--ink, #17323c);
  box-shadow: 0 30px 90px rgb(4 29 55 / 34%);
}

.document-workspace-window::backdrop {
  background: rgb(4 29 55 / 58%);
  backdrop-filter: blur(4px);
}

.document-workspace-window-frame {
  display: grid;
  grid-template-rows: 46px minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.document-workspace-window-chrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line, #d7e0e5);
  padding: 5px 8px 5px 12px;
  background: linear-gradient(110deg, color-mix(in srgb, var(--brand-turquoise-pale, #e5f7f5) 72%, white), var(--paper, #fff) 58%);
}

.document-workspace-window-identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 9px;
}

.document-workspace-window-mark {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 7px;
  background: linear-gradient(145deg, var(--brand-turquoise, #008c8c), var(--brand-navy, #062f56));
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
}

.document-workspace-window-identity > div {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.document-workspace-window-identity small {
  color: var(--muted, #63747c);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
}

.document-workspace-window-identity strong {
  overflow: hidden;
  color: var(--brand-navy, #062f56);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace-window-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.document-workspace-window-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 72px;
  height: 30px;
  flex: 0 0 auto;
  border: 1px solid #b8c8ce;
  border-radius: 6px;
  padding: 0 12px;
  background: var(--paper, #fff);
  color: var(--brand-navy, #062f56);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 2px rgb(4 29 55 / 7%);
}

.document-workspace-window-minimize {
  border-color: #8ed9d7;
  color: var(--brand-turquoise-dark, #087f7d);
}

.document-workspace-window-minimize:hover {
  border-color: #8ed9d7;
  background: var(--brand-turquoise-pale, #e5f7f5);
  color: var(--brand-turquoise-dark, #087f7d);
}

.document-workspace-window-close {
  min-width: 68px;
  border-color: #a52b24;
  background: #b52d27;
  color: #fff;
}

.document-workspace-window-close:hover {
  border-color: #8f1f17;
  background: #8f1f17;
  color: #fff;
}

.document-workspace-window-control:focus-visible {
  outline: 2px solid var(--brand-turquoise, #008c8c);
  outline-offset: 1px;
}

.document-workspace-window .document-workspace-page {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--canvas, #f2f6f7);
}

.document-workspace {
  --dw-border: var(--border, #d7e0e5);
  --dw-border-strong: var(--border-strong, #afbec6);
  --dw-surface: var(--surface, #ffffff);
  --dw-surface-soft: var(--surface-soft, #f5f8fa);
  --dw-text: var(--text, #17323c);
  --dw-muted: var(--muted, #63747c);
  --dw-brand: var(--brand-turquoise, #008c8c);
  --dw-brand-dark: var(--brand-turquoise-dark, #006b6c);
  --dw-brand-pale: var(--brand-turquoise-pale, #e5f7f5);
  --dw-danger: var(--danger, #b42318);
  --dw-warning: #986000;
  --dw-success: #18794e;
  position: relative;
  min-width: 0;
  color: var(--dw-text);
}

.document-workspace *,
.document-workspace *::before,
.document-workspace *::after {
  box-sizing: border-box;
}

.document-workspace .dw-shell {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  min-height: 100%;
  padding: 4px 12px 12px;
}

.document-workspace .dw-title-bar {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(420px, 1.2fr);
  align-items: center;
  gap: 16px;
}

.document-workspace .dw-eyebrow {
  margin: 0 0 2px;
  color: var(--dw-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.document-workspace .dw-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.document-workspace .dw-title-row h1 {
  margin: 0;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.12;
}

.document-workspace .dw-dirty-indicator {
  border: 1px solid color-mix(in srgb, var(--dw-warning) 35%, white);
  border-radius: 999px;
  padding: 3px 8px;
  background: #fff7df;
  color: #734700;
  font-size: 11px;
  font-weight: 700;
}

.document-workspace .dw-effect-banner {
  border: 1px solid var(--dw-border);
  border-left-width: 4px;
  border-radius: 7px;
  padding: 8px 10px;
  background: var(--dw-surface);
  font-size: 12px;
  line-height: 1.35;
}

.document-workspace .dw-effect-banner.is-immediate {
  border-left-color: var(--dw-warning);
  background: #fffaf0;
}

.document-workspace .dw-effect-banner.is-draft {
  border-left-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-panel,
.document-workspace .dw-tabs-panel {
  min-width: 0;
  border: 1px solid var(--dw-border);
  border-radius: 8px;
  background: var(--dw-surface);
  box-shadow: 0 1px 2px rgb(20 47 57 / 5%);
}

.document-workspace .dw-panel-title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.document-workspace .dw-header-panel {
  padding: 3px;
}

.document-workspace .dw-header-panel > .dw-panel-title {
  margin-bottom: 7px;
}

.document-workspace .dw-header-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 7px 9px;
}

.document-workspace .dw-header-groups {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 3px;
}

.document-workspace .dw-header-group {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 1px 3px 3px;
  background: #fbfcfd;
}

.document-workspace .dw-header-group-title {
  padding: 0 3px;
  color: #344c55;
  font-size: 9px;
  font-weight: 850;
  line-height: 1;
}

.document-workspace .dw-header-group-party {
  grid-column: span 6;
}

.document-workspace .dw-header-group-document {
  grid-column: span 7;
}

.document-workspace .dw-header-group-currency {
  grid-column: span 2;
}

.document-workspace .dw-header-group-discounts {
  grid-column: span 4;
}

.document-workspace .dw-header-group-other {
  grid-column: span 5;
}

.document-workspace .dw-header-group .dw-header-grid {
  grid-template-columns: repeat(2, minmax(90px, 1fr));
  gap: 2px 4px;
}

.document-workspace .dw-header-group-party .dw-header-grid {
  grid-template-columns: repeat(4, minmax(90px, 1fr));
}

.document-workspace .dw-header-group-document .dw-header-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.document-workspace .dw-header-group-document .dw-field-documentTypeId {
  grid-row: 1;
  grid-column: 1;
}

.document-workspace .dw-header-group-document .dw-field-documentNumber {
  grid-row: 1;
  grid-column: 2;
}

.document-workspace .dw-header-group-document .dw-field-dueDays {
  grid-row: 2;
  grid-column: 2;
}

.document-workspace .dw-header-group-document .dw-field-dueDate {
  grid-row: 2;
  grid-column: 3;
}

.document-workspace .dw-header-group-document .dw-field-branchId {
  grid-row: 1;
  grid-column: 5;
}

.document-workspace .dw-header-group-document .dw-field-occurredAt {
  grid-row: 2;
  grid-column: 1;
}

.document-workspace .dw-header-group-document .dw-field-editedBy {
  grid-row: 1;
  grid-column: 3;
}

.document-workspace .dw-header-group-document .dw-field-salespersonId {
  grid-row: 1;
  grid-column: 4;
}

.document-workspace .dw-header-group-document .dw-field-priceListId {
  grid-row: 2;
  grid-column: 4;
}

.document-workspace .dw-header-group-document .dw-field-warehouseId {
  grid-row: 2;
  grid-column: 5;
}

.document-workspace .dw-header-group-other .dw-header-grid {
  grid-template-columns: minmax(0, 1fr);
}

.document-workspace .dw-header-group-currency .dw-header-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.document-workspace .dw-header-group-discounts .dw-header-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.document-workspace .dw-header-group-currency .dw-field-currencyCode {
  grid-row: 1;
  grid-column: 1 / span 2;
}

.document-workspace .dw-header-group-currency .dw-field-exchangeDate {
  grid-row: 1;
  grid-column: 3 / span 2;
}

.document-workspace .dw-header-group-currency .dw-field-exchangeRate {
  grid-row: 1;
  grid-column: 5 / span 2;
}

.document-workspace .dw-header-group-currency .dw-field-documentStatus {
  grid-row: 2;
  grid-column: 1 / span 3;
}

.document-workspace .dw-header-group-currency .dw-field-paymentStatus {
  grid-row: 2;
  grid-column: 4 / span 3;
}

.document-workspace .dw-header-group-discounts .dw-field-headerDiscountAmount {
  grid-column: 1 / -1;
}

.document-workspace .dw-header-group-party .dw-field-partnerName {
  grid-row: 2;
  grid-column: 1 / -1;
}

.document-workspace .dw-header-group-party .dw-field-businessPartnerId {
  grid-row: 1;
  grid-column: 1 / span 2;
}

.document-workspace .dw-header-group-party .dw-field-taxOffice {
  grid-row: 1;
  grid-column: 3;
}

.document-workspace .dw-header-group-party .dw-field-taxNumber {
  grid-row: 1;
  grid-column: 4;
}

.document-workspace .dw-header-primary {
  grid-template-columns: repeat(5, minmax(135px, 1fr));
}

.document-workspace .dw-header-secondary,
.document-workspace .dw-header-advanced {
  margin-top: 7px;
  border-top: 1px solid var(--dw-border);
  padding-top: 5px;
}

.document-workspace .dw-secondary-title {
  width: fit-content;
  cursor: pointer;
  color: var(--dw-brand-dark);
  font-size: 11px;
  font-weight: 800;
  user-select: none;
}

.document-workspace details[open] > .dw-secondary-title {
  margin-bottom: 6px;
}

.document-workspace .dw-field {
  display: grid;
  align-content: start;
  gap: 1px;
  min-width: 0;
}

.document-workspace .dw-party-field-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px;
  min-width: 0;
}

.document-workspace .dw-field-search-button {
  min-width: 42px;
  min-height: 24px;
  border: 1px solid var(--dw-border-strong);
  border-radius: 4px;
  padding: 3px 7px;
  background: var(--dw-surface-soft);
  color: var(--dw-brand-dark);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.document-workspace .dw-field-search-button:hover {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-field-label {
  display: flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  overflow: hidden;
  color: #40545c;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-required {
  color: var(--dw-danger);
}

.document-workspace input,
.document-workspace select,
.document-workspace textarea {
  width: 100%;
  min-width: 0;
  min-height: 24px;
  border: 1px solid var(--dw-border-strong);
  border-radius: 4px;
  padding: 1px 6px;
  background: #fff;
  color: var(--dw-text);
  font: inherit;
  font-size: 11px;
}

.document-workspace textarea {
  min-height: 62px;
  resize: vertical;
}

.document-workspace input[readonly],
.document-workspace input:disabled,
.document-workspace select:disabled,
.document-workspace textarea:disabled {
  background: #edf2f4;
  color: #65777e;
}

.document-workspace .is-discount-alternative-disabled {
  opacity: 0.72;
}

.document-workspace .is-discount-alternative-disabled input:disabled {
  border-style: dashed;
  background: #f2f5f6;
}

.document-workspace input:focus-visible,
.document-workspace select:focus-visible,
.document-workspace textarea:focus-visible {
  outline: 0;
  outline-offset: 0;
  border-color: var(--dw-brand);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--dw-brand) 42%, transparent);
}

.document-workspace button:focus-visible,
.document-workspace [role="tab"]:focus-visible {
  outline: 2px solid var(--dw-brand);
  outline-offset: 1px;
  border-color: var(--dw-brand);
}

.document-workspace [aria-invalid="true"] {
  border-color: var(--dw-danger) !important;
  background: #fff6f5;
}

.document-workspace [aria-invalid="true"]:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--dw-danger) 38%, transparent);
}

.document-workspace .dw-field-error,
.document-workspace .dw-cell-error {
  color: var(--dw-danger);
  font-size: 10px;
  line-height: 1.15;
}

.document-workspace .dw-field-error:not([hidden]) {
  display: block;
  margin-top: 1px;
}

.document-workspace .dw-validation-summary {
  border: 1px solid #f2b8b5;
  border-left: 4px solid var(--dw-danger);
  border-radius: 6px;
  padding: 8px 10px;
  background: #fff5f4;
  color: #781f1a;
  font-size: 12px;
}

.document-workspace .dw-readonly-notice {
  margin: 6px 8px 0;
  border: 1px solid #d8a43b;
  border-radius: 7px;
  padding: 7px 10px;
  background: #fff8e6;
  color: #684713;
  font-size: 11px;
  font-weight: 700;
}

.document-workspace .dw-validation-summary ul {
  margin: 4px 0 0;
  padding-left: 19px;
}

.document-workspace .dw-tab-list {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  border-bottom: 1px solid var(--dw-border);
  padding: 6px 10px 0;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-tab-spacer {
  min-width: 12px;
  flex: 1 1 auto;
}

.document-workspace .dw-grid-toolbar-actions {
  position: sticky;
  right: 0;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  margin: 0 0 3px auto;
  padding-left: 8px;
  background: var(--dw-surface-soft);
  box-shadow: -8px 0 10px var(--dw-surface-soft);
}

.document-workspace .dw-grid-toolbar-actions[hidden] {
  display: none;
}

.document-workspace .dw-grid-excel-button {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 3px 8px;
  background: #fff;
  color: var(--dw-text);
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}

.document-workspace .dw-grid-excel-button:hover {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-grid-excel-button.is-primary {
  border-color: var(--dw-brand-dark);
  background: var(--dw-brand);
  color: #fff;
}

.document-workspace .dw-grid-excel-button.is-primary:hover {
  background: var(--dw-brand-dark);
}

.document-workspace .dw-grid-excel-button svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.document-workspace .dw-view-editor-button {
  position: static;
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 5px;
  margin: 0;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 3px 8px;
  background: #fff;
  color: var(--dw-brand-dark);
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
}

.document-workspace .dw-view-editor-button:hover {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-view-editor-button svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.document-workspace .dw-tabs-panel {
  display: flex;
  min-height: 347px;
  flex: 1 1 347px;
  flex-direction: column;
}

.document-workspace .dw-tab-panels {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow-anchor: none;
}

.document-workspace .dw-tab {
  display: inline-flex;
  min-height: 41px;
  align-items: center;
  gap: 7px;
  border: 1px solid transparent;
  border-bottom: 3px solid transparent;
  border-radius: 10px 10px 0 0;
  padding: 5px 11px 4px 7px;
  background: transparent;
  color: var(--dw-muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.document-workspace .dw-tab[aria-selected="true"] {
  border-color: color-mix(in srgb, var(--dw-brand) 45%, var(--dw-border));
  border-bottom-color: var(--dw-brand);
  color: var(--dw-brand-dark);
  background: #fff;
}

.document-workspace .dw-tab-icon {
  display: inline-flex;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--dw-brand-pale);
  color: var(--dw-brand);
}

.document-workspace .dw-tab[aria-selected="true"] .dw-tab-icon {
  background: var(--dw-brand);
  color: #fff;
}

.document-workspace .dw-tab-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.document-workspace .dw-tab-label {
  line-height: 1.1;
}

.document-workspace .dw-tab-panel {
  min-width: 0;
}

.document-workspace .dw-tab-panel:not([hidden]) {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.document-workspace .dw-tab-panel > .dw-panel {
  flex: 1 1 auto;
  border: 0;
  border-radius: 0 0 8px 8px;
  box-shadow: none;
}

.document-workspace .dw-payment-options-panel {
  display: flex;
  min-height: 0;
  flex-direction: column;
  padding: 8px 12px;
}

.document-workspace:has([data-tab-panel="paymentOptions"]:not([hidden])) .dw-header-panel,
.document-workspace:has([data-tab-panel="paymentOptions"]:not([hidden])) .dw-tab-list {
  flex-shrink: 0;
}

.document-workspace:has([data-tab-panel="paymentOptions"]:not([hidden])) .dw-tabs-panel {
  flex: 1 0 347px;
}

.document-workspace:has([data-tab-panel="paymentOptions"]:not([hidden])) .dw-bottom-dock {
  flex-shrink: 0;
}

.document-workspace .dw-payment-options-panel > :not(.dw-payment-options-grid) { flex: none; }

.document-workspace .dw-payment-options-panel > .dw-panel-title {
  font-size: 12px;
  line-height: 1.05;
}

.document-workspace .dw-addresses-panel,
.document-workspace .dw-related-documents-panel,
.document-workspace .dw-notes-panel {
  padding: 14px;
}

.document-workspace .dw-section-empty {
  display: grid;
  max-width: 720px;
  gap: 4px;
  margin-top: 10px;
  border: 1px dashed var(--dw-border);
  border-radius: 8px;
  padding: 16px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-section-empty strong {
  color: var(--dw-brand-dark);
  font-size: 12px;
}

.document-workspace .dw-section-empty p {
  margin: 0;
  color: var(--dw-muted);
  font-size: 11px;
}

.document-workspace .dw-linked-document-card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  width: 100%;
  min-height: 270px;
  min-width: 0;
  box-sizing: border-box;
  flex: 1;
  gap: 12px;
  border: 1px solid var(--dw-border);
  border-left: 4px solid var(--dw-brand);
  border-radius: 10px;
  padding: 14px;
  background: var(--dw-surface);
  box-shadow: 0 5px 16px rgba(7, 43, 77, .06);
}

.document-workspace .dw-related-documents-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 14px;
  margin-top: 10px;
}

.document-workspace .dw-related-document-slot {
  display: flex;
  min-width: 0;
  min-height: 310px;
  flex-direction: column;
}

.document-workspace .dw-related-document-slot-title {
  margin: 0 0 8px;
  color: var(--dw-brand-dark);
  font-size: 12px;
  font-weight: 800;
}

.document-workspace .dw-related-document-empty,
.document-workspace .dw-related-source-card {
  box-sizing: border-box;
  width: 100%;
  min-height: 270px;
  flex: 1;
  margin-top: 0;
}

.document-workspace .dw-related-document-empty {
  align-content: center;
  max-width: none;
  text-align: center;
}

.document-workspace .dw-related-source-card {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid var(--dw-border);
  border-left: 4px solid var(--dw-brand);
  border-radius: 10px;
  padding: 14px;
  flex-direction: column;
  background: var(--dw-surface);
  box-shadow: 0 5px 16px rgba(7, 43, 77, .06);
}

.document-workspace .dw-related-source-status {
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--dw-brand-pale);
  color: var(--dw-brand-dark);
  font-size: 10px;
  font-weight: 700;
}

.document-workspace .dw-related-source-title {
  color: var(--dw-brand-dark);
  font-size: 14px;
}

.document-workspace .dw-related-source-card .dw-muted {
  margin: 0;
  font-size: 11px;
}

.document-workspace .dw-related-source-action {
  margin-top: auto;
}

.document-workspace .dw-linked-document-heading,
.document-workspace .dw-linked-document-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.document-workspace .dw-linked-document-kind,
.document-workspace .dw-linked-document-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--dw-brand-pale);
  color: var(--dw-brand-dark);
  font-size: 10px;
  font-weight: 700;
}

.document-workspace .dw-linked-document-number {
  display: block;
  margin-top: 7px;
  color: var(--dw-brand-dark);
  font-size: 14px;
}

.document-workspace .dw-linked-document-details {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(70px, 1fr);
  gap: 10px;
  margin: 0;
}

.document-workspace .dw-linked-document-details > div {
  min-width: 0;
  border-radius: 8px;
  padding: 9px 11px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-linked-document-details dt {
  color: var(--dw-muted);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.document-workspace .dw-linked-document-details dd {
  overflow-wrap: anywhere;
  margin: 4px 0 0;
  color: var(--dw-text);
  font-size: 11px;
}

.document-workspace .dw-linked-document-actions {
  align-self: end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 6px;
  padding-top: 2px;
}

.document-workspace .dw-linked-document-action {
  display: inline-flex;
  min-width: 0;
  min-height: 32px;
  padding: 6px 8px;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-size: 10px;
}

.document-workspace .dw-linked-document-action.button-primary {
  box-shadow: 0 4px 10px rgba(7, 153, 150, .16);
}

@media (max-width: 980px) {
  .document-workspace .dw-related-documents-grid {
    grid-template-columns: 1fr;
  }

  .document-workspace .dw-related-document-slot {
    min-height: auto;
  }

  .document-workspace .dw-linked-document-card,
  .document-workspace .dw-related-document-empty,
  .document-workspace .dw-related-source-card {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .document-workspace .dw-linked-document-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .document-workspace .dw-linked-document-details {
    grid-template-columns: 1fr;
  }
}

.document-workspace .dw-notes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  max-width: 980px;
  gap: 10px;
  margin-top: 10px;
}

.document-workspace .dw-payment-options-panel > .dw-muted {
  margin: 2px 0 7px;
  font-size: 10px;
  line-height: 1.1;
}

.document-workspace .dw-payment-options-grid {
  display: grid;
  gap: 4px;
  max-width: 1080px;
  height: clamp(144px, 27dvh, 300px);
  max-height: clamp(144px, 27dvh, 300px);
  min-height: 80px;
  flex: none;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  margin-top: 8px;
}

.document-workspace .dw-payment-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1080px;
  margin-bottom: 5px;
}

.document-workspace .dw-payment-toolbar .dw-panel-title { font-size: 12px; }

.document-workspace .dw-payment-options-panel .dw-payment-summary {
  margin: 6px 0 8px;
  border-top: 0;
  padding-top: 0;
}

.document-workspace .button.dw-payment-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: var(--erp-radius-sm, 6px);
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}

.document-workspace .dw-payment-action svg {
  width: 14px;
  height: 14px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.document-workspace .button.dw-payment-add {
  border-color: color-mix(in srgb, var(--dw-brand-dark) 45%, var(--dw-border));
  background: color-mix(in srgb, var(--dw-brand) 12%, var(--dw-surface));
  color: color-mix(in srgb, var(--dw-brand-dark) 75%, var(--dw-text));
}

.document-workspace .button.dw-payment-add:hover:not(:disabled) {
  border-color: var(--dw-brand-dark);
  background: color-mix(in srgb, var(--dw-brand) 22%, var(--dw-surface));
}

.document-workspace .button.dw-payment-remove {
  align-self: end;
  justify-self: end;
  border-color: var(--dw-border);
  color: var(--dw-danger);
  background: var(--dw-surface);
}

.document-workspace .button.dw-payment-remove:hover:not(:disabled) {
  border-color: var(--dw-danger);
  background: color-mix(in srgb, var(--dw-danger) 7%, var(--dw-surface));
}

.document-workspace .dw-payment-row {
  display: grid;
  grid-template-columns: minmax(130px, 170px) minmax(260px, 1fr)
    minmax(150px, 220px) minmax(80px, 110px) 72px;
  align-items: start;
  gap: 6px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 4px 6px;
  background: #fbfcfd;
}

.document-workspace .dw-payment-row-identity {
  display: grid;
  align-content: center;
  min-height: 29px;
  gap: 0;
}

.document-workspace .dw-payment-row-identity strong {
  color: var(--dw-brand-dark);
  font-size: 11px;
  line-height: 1.05;
}

.document-workspace .dw-payment-row-identity small {
  color: var(--dw-muted);
  font-size: 9px;
  line-height: 1.05;
}

.document-workspace .dw-payment-row .dw-field-label {
  font-size: 8px;
}

.document-workspace .dw-payment-row input,
.document-workspace .dw-payment-row select {
  min-height: 22px;
  height: 22px;
  padding-block: 0;
  font-size: 10px;
}

.document-workspace .dw-payment-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(145px, 210px));
  gap: 4px;
  max-width: 570px;
  margin-top: 6px;
  border-top: 1px solid var(--dw-border);
  padding-top: 6px;
}

.document-workspace .dw-payment-summary-item {
  display: grid;
  gap: 1px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 4px 7px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-payment-summary-item span {
  color: var(--dw-muted);
  font-size: 9px;
  font-weight: 700;
}

.document-workspace .dw-payment-summary-item strong {
  color: var(--dw-brand-dark);
  font-size: 12px;
  line-height: 1.05;
}

.document-workspace button.dw-payment-summary-item {
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.document-workspace button.dw-payment-summary-item:disabled {
  opacity: 1;
  cursor: default;
}

.document-workspace button.dw-payment-summary-item:not(:disabled):hover,
.document-workspace button.dw-payment-summary-item:focus-visible {
  border-color: var(--dw-brand-dark);
  outline: 2px solid var(--dw-brand-dark);
  outline-offset: 1px;
}

.document-workspace .dw-payment-summary-note,
.document-workspace .dw-payment-summary-overpayment,
.document-workspace .dw-payment-summary > .dw-field-error {
  grid-column: 1 / -1;
}

.document-workspace .dw-payment-summary-note {
  color: var(--dw-muted);
  font-size: 9px;
  line-height: 1.1;
}

.document-workspace .dw-payment-summary-overpayment {
  color: var(--dw-danger);
  font-weight: 750;
}

.document-workspace .dw-payment-summary.is-overpaid {
  border-top-color: var(--dw-danger);
}

.document-workspace .dw-lines-panel {
  display: flex;
  min-height: 310px;
  flex-direction: column;
}

.document-workspace .dw-muted,
.document-workspace .dw-totals-authority {
  color: var(--dw-muted);
}

.document-workspace .dw-action-buttons,
.document-workspace .dw-dialog-footer,
.document-workspace .dw-serial-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.document-workspace .dw-grid-scroll {
  min-height: 270px;
  flex: 1 1 270px;
  max-height: min(53vh, 590px);
  overflow: auto;
  overscroll-behavior: contain;
}

.document-workspace .dw-grid,
.document-workspace .dw-allocation-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 11px;
}

.document-workspace .dw-grid {
  min-width: var(--dw-grid-min-width, 3900px);
}

.document-workspace .dw-grid th,
.document-workspace .dw-grid td,
.document-workspace .dw-allocation-table th,
.document-workspace .dw-allocation-table td {
  height: 29px;
  border-right: 1px solid var(--dw-border);
  border-bottom: 1px solid var(--dw-border);
  padding: 3px 5px;
  vertical-align: middle;
}

.document-workspace .dw-grid th,
.document-workspace .dw-grid td {
  height: 25px;
  padding: 1px 4px;
}

.document-workspace .dw-grid tbody td {
  height: 24px;
}

.document-workspace .dw-grid th,
.document-workspace .dw-allocation-table th {
  position: sticky;
  z-index: 2;
  top: 0;
  width: var(--dw-column-width, auto);
  background: #e9eff2;
  color: #344c55;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-align: left;
  text-transform: uppercase;
}

.document-workspace .dw-grid th[data-grid-column-key] {
  cursor: grab;
  user-select: none;
}

.document-workspace .dw-grid .dw-grid-pinned {
  position: sticky;
  z-index: 3;
  left: var(--dw-sticky-left, 0);
  background: #fff;
}

.document-workspace .dw-grid th.dw-grid-pinned {
  z-index: 6;
  cursor: default;
  background: #e9eff2;
}

.document-workspace .dw-grid th[data-grid-column-key].dw-grid-pinned {
  cursor: grab;
}

.document-workspace .dw-grid .dw-grid-pinned.is-pinned-boundary {
  border-right-color: var(--dw-brand-dark);
  box-shadow: 2px 0 0 var(--dw-brand-dark), 9px 0 12px rgb(23 50 60 / 10%);
}

.document-workspace .dw-grid th[data-grid-column-key].dragging {
  opacity: .45;
}

.document-workspace .dw-grid th[data-grid-column-key].drag-target {
  outline: 2px solid var(--dw-brand);
  outline-offset: -2px;
  background: var(--dw-brand-pale);
}

.document-workspace .dw-grid-header-content {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 3px;
}

.document-workspace .dw-grid-header-label {
  min-width: 0;
  overflow: hidden;
  font-size: var(--dw-grid-header-font-size, 10px);
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-grid th.is-compact-header .dw-grid-header-label {
  letter-spacing: 0;
}

.document-workspace .dw-grid-column-resizer {
  position: absolute;
  z-index: 8;
  top: 0;
  right: -4px;
  width: 9px;
  height: 100%;
  display: block;
  cursor: col-resize;
  touch-action: none;
  outline: 0;
}

.document-workspace .dw-grid-column-resizer::after {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  width: 1px;
  background: color-mix(in srgb, var(--dw-border-strong) 82%, var(--dw-muted));
}

.document-workspace .dw-grid-column-resizer:hover::after,
.document-workspace .dw-grid-column-resizer:focus-visible::after {
  width: 2px;
  background: var(--dw-brand);
}

.document-workspace .dw-grid-column-resizer:focus-visible {
  box-shadow: inset 0 0 0 1px var(--dw-brand);
}

body.dw-grid-resizing,
body.dw-grid-resizing * {
  cursor: col-resize !important;
  user-select: none !important;
}

.document-workspace .dw-grid td:first-child,
.document-workspace .dw-grid th:first-child {
  border-left: 1px solid var(--dw-border);
}

.document-workspace .dw-grid tbody tr:hover:not(.dw-line-message-row) td {
  background: color-mix(in srgb, var(--dw-brand-pale) 60%, white);
}

.document-workspace .dw-grid tr.is-blank td {
  background: #fbfcfd;
}

.document-workspace .dw-grid input,
.document-workspace .dw-grid select {
  min-height: 21px;
  border-color: transparent;
  border-radius: 2px;
  padding: 1px 3px;
  background: transparent;
  font-size: 11px;
}

.document-workspace .dw-grid input:hover,
.document-workspace .dw-grid select:hover {
  border-color: var(--dw-border);
  background: #fff;
}

.document-workspace .dw-grid input:focus,
.document-workspace .dw-grid select:focus {
  border-color: var(--dw-brand);
  background: #fff;
}

.document-workspace .dw-grid input[data-grid-editor][type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

.document-workspace .dw-grid input[data-grid-editor][type="number"]::-webkit-inner-spin-button,
.document-workspace .dw-grid input[data-grid-editor][type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.document-workspace .dw-numeric {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-grid td.dw-money-value,
.document-workspace .dw-grid td.dw-money-value input {
  text-align: right !important;
}

.document-workspace .dw-price-editor-shell {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
}

.document-workspace .dw-price-editor-shell > input {
  width: 100%;
  padding-right: 22px;
}

.document-workspace .dw-price-insights-trigger {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 2px;
  display: inline-grid;
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;
  transform: translateY(-50%);
  place-items: center;
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 0;
  color: var(--dw-muted);
  background: color-mix(in srgb, #fff 82%, transparent);
  cursor: pointer;
}

.document-workspace .dw-price-insights-trigger:hover,
.document-workspace .dw-price-insights-trigger:focus-visible {
  border-color: var(--dw-brand);
  color: var(--dw-brand-dark);
  background: var(--dw-brand-pale);
  outline: 0;
}

.document-workspace .dw-price-insights-trigger svg {
  width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}

.document-workspace .dw-sequence {
  width: 28px;
  padding-right: 4px !important;
  color: var(--dw-muted);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-row-tools {
  width: 50px;
  padding: 1px 2px !important;
  text-align: center;
}

.document-workspace .dw-row-toolset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.document-workspace .dw-grid-command {
  display: inline-grid;
  width: 21px;
  min-width: 21px;
  height: 21px;
  min-height: 21px;
  place-items: center;
  border: 1px solid var(--dw-border);
  border-radius: 4px;
  padding: 0;
  background: #fff;
  color: var(--dw-brand-dark);
  cursor: pointer;
}

.document-workspace .dw-grid-command:hover:not(:disabled) {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-grid-command.dw-danger {
  color: var(--dw-danger);
}

.document-workspace .dw-grid-command svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Header commands share the chosen header contrast, rather than painting a
   white icon over the row-command button's white surface. */
.document-workspace .dw-grid thead th [data-open-stock-selection] {
  background:transparent;
  border-color:currentColor;
  color:inherit !important;
}
.document-workspace .dw-grid thead th [data-open-stock-selection] svg {
  color:inherit !important;
}
.document-workspace .dw-grid thead th [data-open-stock-selection]:hover:not(:disabled) {
  background:color-mix(in srgb,currentColor 14%,transparent);
  border-color:currentColor;
}
.document-workspace .dw-grid thead th [data-open-stock-selection]:focus-visible {
  outline:2px solid currentColor;
  outline-offset:2px;
}

.document-workspace .dw-grid td[data-column-key="rowActions"] {
  white-space: nowrap;
}

.document-workspace .dw-grid td[data-column-key="rowActions"] > button + button {
  margin-left: 3px;
}

.document-workspace .dw-future-cell {
  color: var(--dw-muted);
}

.document-workspace .dw-icon-button,
.document-workspace .dw-allocation-button {
  min-height: 23px;
  border: 1px solid var(--dw-border);
  border-radius: 4px;
  padding: 2px 6px;
  background: #fff;
  color: var(--dw-brand-dark);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.document-workspace .dw-allocation-button + .dw-allocation-button {
  margin-left: 3px;
}

.document-workspace .dw-icon-button.dw-danger {
  color: var(--dw-danger);
}

.document-workspace .dw-line-message-row td {
  height: auto;
  padding: 4px 8px;
  border-left: 3px solid var(--dw-warning);
  background: #fffaf0;
  color: #694200;
  font-size: 10px;
}

.document-workspace .dw-allocation-none {
  color: var(--dw-muted);
  font-size: 10px;
}

.document-workspace .dw-notes-panel,
.document-workspace .dw-allocation-summary {
  min-height: 180px;
  padding: 10px;
}

.document-workspace .dw-notes-panel .dw-field {
  margin-top: 8px;
}

.document-workspace .dw-allocation-list {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.document-workspace .dw-allocation-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 6px 8px;
  background: var(--dw-surface-soft);
  font-size: 11px;
}

.document-workspace .dw-bottom-dock {
  position: sticky;
  z-index: 15;
  bottom: 0;
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(440px, 1fr);
  align-items: stretch;
  gap: 8px;
  padding-top: 4px;
  filter: drop-shadow(0 -5px 10px rgb(23 50 60 / 8%));
}

.document-workspace .dw-totals,
.document-workspace .dw-action-bar {
  border: 1px solid var(--dw-border-strong);
  background: #fff;
}

.document-workspace .dw-totals {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  gap: 1px;
  border-radius: 8px;
  overflow: hidden;
  padding: 0;
  background: var(--dw-border);
}

.document-workspace .dw-total-row {
  display: grid;
  min-height: 37px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  background: #fff;
  color: var(--dw-muted);
  font-size: 11px;
}

.document-workspace .dw-total-row:not(.is-grand) {
  min-height: 43px;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  justify-items: center;
  gap: 2px;
  text-align: center;
}

.document-workspace .dw-total-row > span {
  white-space: nowrap;
}

.document-workspace .dw-total-row strong {
  color: var(--dw-text);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-total-row:not(.is-grand) strong {
  width: 100%;
  text-align: center;
}

.document-workspace .dw-total-row.is-grand strong {
  color: var(--dw-brand-dark);
  font-size: 16px;
}

.document-workspace .dw-total-row.is-grand {
  grid-column: 2 / -1;
}

.document-workspace .dw-totals-footer {
  grid-column: 1 / -1;
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 3px 5px 3px 10px;
  background: #fff;
}

.document-workspace .dw-total-row.is-foreign-total { grid-column: 1 / -1; }

.document-workspace .dw-totals-authority {
  min-width: 0;
  overflow: hidden;
  color: var(--dw-muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-list-navigation {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 3px;
}

.document-workspace .dw-list-navigation .button {
  min-height: 24px;
  height: 24px;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 9px;
}

.document-workspace .dw-list-navigation .dw-list-step {
  width: 27px;
  min-width: 27px;
  padding: 0;
  font-size: 15px;
  line-height: 1;
}

.document-workspace .dw-action-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-radius: 8px;
  padding: 7px 9px;
}

.document-workspace .dw-action-leading {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 10px;
}

.document-workspace .dw-action-bar .dw-action-buttons {
  flex: 0 1 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.document-workspace .dw-live-balance {
  display: grid;
  min-width: 225px;
  grid-template-columns: repeat(2, minmax(100px, 1fr));
  border-right: 1px solid var(--dw-border);
  padding-right: 10px;
}

.document-workspace .dw-live-balance[hidden] {
  display: none;
}

.document-workspace .dw-live-balance-item {
  display: grid;
  min-width: 0;
  gap: 1px;
  padding: 1px 6px;
}

.document-workspace .dw-live-balance-item + .dw-live-balance-item {
  border-left: 1px solid var(--dw-border);
}

.document-workspace .dw-live-balance-item span {
  color: var(--dw-muted);
  font-size: 9px;
  font-weight: 750;
}

.document-workspace .dw-live-balance-item strong {
  overflow: hidden;
  color: var(--dw-text);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-live-balance[data-balance-direction="debit"] .dw-live-balance-item strong {
  color: var(--dw-danger);
}

.document-workspace .dw-live-balance[data-balance-direction="credit"] .dw-live-balance-item strong {
  color: var(--dw-success);
}

.document-workspace .dw-live-balance[data-balance-direction="loading"] .dw-live-balance-item strong,
.document-workspace .dw-live-balance[data-balance-direction="closed"] .dw-live-balance-item strong {
  color: var(--dw-muted);
}

.document-workspace .dw-action-status {
  min-width: 95px;
  color: var(--dw-muted);
  font-size: 11px;
  font-weight: 700;
}

.document-workspace .button {
  min-height: 30px;
  border: 1px solid var(--dw-border-strong);
  border-radius: 5px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.document-workspace .dw-action-buttons .standard-icon-command {
  min-height: 26px;
  height: 26px;
  padding: 3px 9px;
  font-size: 11px;
}
.document-workspace .dw-action-buttons .standard-icon-command b {
  display: inline;
  font-size: 11px;
  font-weight: 600;
}
.document-workspace .dw-action-buttons .command-icon {
  width: 20px;
  height: 20px;
  border-radius: 3px;
}

.document-workspace .button-primary {
  border-color: var(--dw-brand-dark);
  background: var(--dw-brand);
  color: #fff;
}

.document-workspace .button-secondary {
  background: #fff;
  color: var(--dw-text);
}

.document-workspace .button-danger {
  border-color: var(--dw-danger);
  background: var(--dw-danger);
  color: #fff;
}

.document-workspace .button-danger:hover {
  border-color: #8f1f17;
  background: #8f1f17;
}

.document-workspace button:disabled {
  cursor: not-allowed;
  filter: grayscale(0.4);
  opacity: 0.55;
}

.document-workspace.is-busy .dw-shell {
  cursor: progress;
}

.document-workspace .dw-lookup-popup {
  position: absolute;
  z-index: 45;
  max-height: 242px;
  overflow: auto;
  border: 1px solid var(--dw-border-strong);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 24px rgb(23 50 60 / 18%);
}

.document-workspace .dw-lookup-popup.is-product,
.document-workspace .dw-lookup-popup.is-financial-card {
  max-height: 360px;
  scroll-padding-top: 27px;
}

.document-workspace .dw-lookup-option {
  display: grid;
  grid-template-columns: minmax(80px, 0.6fr) minmax(150px, 1.4fr) minmax(70px, 0.5fr);
  gap: 8px;
  width: 100%;
  min-height: 30px;
  border: 0;
  border-bottom: 1px solid var(--dw-border);
  padding: 5px 7px;
  background: #fff;
  color: var(--dw-text);
  text-align: left;
  cursor: pointer;
}

.document-workspace .dw-product-lookup-columns,
.document-workspace .dw-product-lookup-option {
  display: grid;
  grid-template-columns: minmax(145px, 1fr) minmax(130px, .9fr) minmax(270px, 1.8fr) minmax(95px, .65fr) minmax(125px, .8fr);
  gap: 8px;
  align-items: center;
}

.document-workspace .dw-financial-card-lookup-columns,
.document-workspace .dw-financial-card-lookup-option {
  display: grid;
  grid-template-columns: minmax(145px, 1fr) minmax(270px, 1.8fr) minmax(130px, .9fr) minmax(125px, .8fr) minmax(95px, .65fr);
  gap: 8px;
  align-items: center;
}

.document-workspace .dw-product-lookup-columns {
  position: sticky;
  z-index: 3;
  top: 0;
  padding: 6px 7px;
  border-bottom: 1px solid var(--dw-border-strong);
  background: var(--dw-surface-soft);
  color: var(--dw-muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.document-workspace .dw-financial-card-lookup-columns {
  position: sticky;
  z-index: 3;
  top: 0;
  padding: 6px 7px;
  border-bottom: 1px solid var(--dw-border-strong);
  background: var(--dw-surface-soft);
  color: var(--dw-muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.document-workspace .dw-financial-card-lookup-amount {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-product-lookup-stock {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-lookup-popup.is-product .dw-product-lookup-option,
.document-workspace .dw-lookup-popup.is-financial-card .dw-financial-card-lookup-option {
  min-height: 28px;
  padding: 4px 7px;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
}

.document-workspace .dw-lookup-popup.is-product .dw-product-lookup-option > *,
.document-workspace .dw-lookup-popup.is-financial-card .dw-financial-card-lookup-option > * {
  font-size: inherit;
  line-height: inherit;
}

.document-workspace .dw-lookup-popup.is-product .dw-product-lookup-option > strong,
.document-workspace .dw-lookup-popup.is-financial-card .dw-financial-card-lookup-option > strong {
  font-weight: 600;
}

.document-workspace .dw-financial-card-lookup-name {
  white-space: normal;
  overflow-wrap: anywhere;
}

.document-workspace .dw-lookup-option:hover,
.document-workspace .dw-lookup-option.is-active {
  background: var(--dw-brand-pale);
}

.document-workspace .dw-lookup-option strong,
.document-workspace .dw-lookup-option span,
.document-workspace .dw-lookup-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-lookup-empty {
  margin: 0;
  padding: 9px;
  color: var(--dw-muted);
  font-size: 11px;
}

/* Party names use the available width, without changing product lookup columns. */
.document-workspace .dw-lookup-popup.is-party .dw-lookup-option,
.document-workspace .dw-party-lookup-columns {
  display: grid;
  grid-template-columns: minmax(75px, .8fr) minmax(150px, 2fr) minmax(100px, 1fr) repeat(3, minmax(105px, 1fr));
  min-width: 760px;
  align-items: center;
  font-size: 12px;
  line-height: 1.4;
}
.document-workspace .dw-party-lookup-columns { position: sticky; top: 0; padding: 7px 9px; gap: 9px; background: var(--paper); color: var(--muted); font-weight: 700; border-bottom: 1px solid var(--line); }
.document-workspace .dw-party-lookup-amount,
.document-workspace .dw-party-lookup-columns span:nth-child(n+4) { text-align: right; font-variant-numeric: tabular-nums; }

.document-workspace .dw-lookup-popup.is-party .dw-party-lookup-name {
  font-size: 12px;
  font-weight: 400;
  white-space: normal;
  overflow-wrap: anywhere;
}

.document-workspace .dw-lookup-popup.is-party small {
  font-size: 11px;
}

.document-workspace .dw-price-insight-menu {
  position: fixed;
  z-index: 90;
  max-height: min(610px, calc(100vh - 16px));
  overflow: auto;
  border: 1px solid var(--dw-border-strong);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(23 50 60 / 24%);
}

.document-workspace .dw-price-insight-header {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--dw-border-strong);
  padding: 9px 10px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-price-insight-header > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.document-workspace .dw-price-insight-header strong {
  overflow: hidden;
  color: var(--dw-text);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-price-insight-header small {
  color: var(--dw-muted);
  font-size: 10px;
}

.document-workspace .dw-price-insight-close {
  display: inline-grid;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  background: #fff;
  color: var(--dw-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.document-workspace .dw-price-insight-section {
  padding: 8px 10px;
}

.document-workspace .dw-price-insight-section + .dw-price-insight-section {
  border-top: 1px solid var(--dw-border);
}

.document-workspace .dw-price-insight-section h3 {
  margin: 0 0 5px;
  color: var(--dw-muted);
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.document-workspace .dw-price-insight-list {
  display: grid;
  gap: 4px;
}

.document-workspace .dw-price-insight-item {
  display: grid;
  grid-template-columns: minmax(125px, 1fr) minmax(210px, 1.2fr);
  gap: 8px;
  align-items: center;
  min-height: 38px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 4px 5px 4px 7px;
}

.document-workspace .dw-price-insight-identity {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.document-workspace .dw-price-insight-title-line {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.document-workspace .dw-price-insight-title-line > strong {
  overflow: hidden;
  min-width: 0;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-price-insight-identity .dw-price-insight-header-meta {
  flex: 0 0 auto;
  color: var(--dw-muted);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.document-workspace .dw-price-insight-identity small {
  overflow: hidden;
  color: var(--dw-muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-price-insight-identity .dw-price-insight-quantity {
  color: var(--dw-brand-dark);
  font-weight: 750;
}

.document-workspace .dw-price-insight-identity .dw-price-insight-vat {
  display: inline-flex;
  width: max-content;
  align-items: baseline;
  gap: 4px;
  margin-top: 2px;
  overflow: visible;
  color: var(--dw-brand-dark);
  font-variant-numeric: tabular-nums;
  text-overflow: clip;
}

.document-workspace .dw-price-insight-vat span {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .04em;
}

.document-workspace .dw-price-insight-vat strong {
  color: var(--dw-brand-dark);
  font-size: 10px;
  font-weight: 800;
}

.document-workspace .dw-price-insight-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(95px, 1fr));
  gap: 4px;
}

.document-workspace .dw-price-insight-value {
  display: grid;
  gap: 1px;
  min-height: 31px;
  border: 1px solid var(--dw-border-strong);
  border-radius: 4px;
  padding: 3px 6px;
  background: #fff;
  color: var(--dw-text);
  text-align: right;
  cursor: pointer;
}

.document-workspace .dw-price-insight-value:hover,
.document-workspace .dw-price-insight-value:focus-visible {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
}

.document-workspace .dw-price-insight-value span {
  color: var(--dw-muted);
  font-size: 9px;
}

.document-workspace .dw-price-insight-value strong {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-price-insight-empty,
.document-workspace .dw-price-insight-loading,
.document-workspace .dw-price-insight-error,
.document-workspace .dw-price-insight-empty-price {
  margin: 0;
  padding: 7px;
  color: var(--dw-muted);
  font-size: 10px;
}

.document-workspace .dw-price-insight-error {
  color: var(--dw-danger);
}

.document-workspace .dw-party-search-dialog {
  width: min(780px, calc(100vw - 32px));
  max-width: none;
  max-height: min(540px, calc(100vh - 32px));
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--dw-border-strong);
  border-radius: 9px;
  padding: 0;
  background: var(--dw-surface);
  color: var(--dw-text);
  box-shadow: 0 24px 70px rgb(10 35 44 / 28%);
}

.document-workspace .dw-party-search-dialog::backdrop {
  background: rgb(8 28 35 / 38%);
}

.document-workspace .dw-party-search-header,
.document-workspace .dw-party-search-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-party-search-header {
  border-bottom: 1px solid var(--dw-border);
}

.document-workspace .dw-party-search-header h2,
.document-workspace .dw-party-search-header p {
  margin: 0;
}

.document-workspace .dw-party-search-header h2 {
  font-size: 15px;
}

.document-workspace .dw-party-search-header p {
  margin-top: 2px;
  color: var(--dw-muted);
  font-size: 11px;
}

.document-workspace .dw-party-search-close {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--dw-muted);
  font-size: 20px;
  cursor: pointer;
}

.document-workspace .dw-party-search-close:hover {
  border-color: #efb7b3;
  background: #fff0ee;
  color: #a52b24;
}

.document-workspace .dw-party-search-body {
  display: grid;
  gap: 9px;
  padding: 10px;
}

.document-workspace .dw-party-search-row {
  display: grid;
  gap: 4px;
}

.document-workspace .dw-party-search-row > label {
  color: #40545c;
  font-size: 11px;
  font-weight: 700;
}

.document-workspace .dw-party-search-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
}

.document-workspace .dw-party-search-controls .button {
  min-width: 66px;
}

.document-workspace .dw-party-search-results {
  max-height: 330px;
  min-height: 92px;
  overflow: auto;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  background: #fff;
}

.document-workspace .dw-party-search-columns,
.document-workspace .dw-party-search-option {
  display: grid;
  grid-template-columns: minmax(95px, .6fr) minmax(230px, 1.5fr) minmax(140px, .85fr) minmax(90px, .55fr);
  gap: 8px;
}

.document-workspace .dw-party-search-columns {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 6px 8px;
  border-bottom: 1px solid var(--dw-border-strong);
  background: var(--dw-surface-muted);
  color: var(--dw-muted);
  font-size: 10px;
}

.document-workspace .dw-party-search-option {
  width: 100%;
  min-height: 34px;
  border: 0;
  border-bottom: 1px solid var(--dw-border);
  padding: 6px 8px;
  background: #fff;
  color: var(--dw-text);
  text-align: left;
  cursor: pointer;
}

.document-workspace .dw-party-search-option:hover,
.document-workspace .dw-party-search-option.is-active {
  background: var(--dw-brand-pale);
}

.document-workspace .dw-party-search-option strong,
.document-workspace .dw-party-search-option span,
.document-workspace .dw-party-search-option small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-party-search-balance,
.document-workspace .dw-party-search-balance-type {
  color: var(--dw-text);
  text-align: right;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.document-workspace .dw-party-search-balance-type {
  font-weight: 700;
}

.document-workspace .dw-party-search-message {
  margin: 0;
  padding: 18px 10px;
  color: var(--dw-muted);
  font-size: 11px;
  text-align: center;
}

.document-workspace .dw-party-search-footer {
  justify-content: flex-end;
  border-top: 1px solid var(--dw-border);
}

.document-workspace .dw-allocation-dialog {
  width: min(980px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  margin: auto;
  border: 1px solid var(--dw-border-strong);
  border-radius: 9px;
  padding: 0;
  color: var(--dw-text);
  box-shadow: 0 24px 70px rgb(10 35 44 / 28%);
}

.document-workspace .dw-status-transition-dialog {
  width: min(560px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--dw-border-strong);
  border-radius: 9px;
  padding: 0;
  background: var(--dw-surface);
  color: var(--dw-text);
  box-shadow: 0 24px 70px rgb(10 35 44 / 28%);
}

.document-workspace .dw-status-transition-dialog::backdrop {
  background: rgb(8 28 35 / 45%);
}

.document-workspace .dw-grid-view-dialog {
  max-width: none;
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--dw-border-strong);
  border-radius: 9px;
  padding: 0;
  background: var(--dw-surface);
  color: var(--dw-text);
  box-shadow: 0 24px 70px rgb(10 35 44 / 28%);
}

.document-workspace .dw-excel-paste-dialog {
  width: min(720px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--dw-border-strong);
  border-radius: 9px;
  padding: 0;
  background: var(--dw-surface);
  color: var(--dw-text);
  box-shadow: 0 24px 70px rgb(10 35 44 / 28%);
}

.document-workspace .dw-excel-paste-dialog::backdrop {
  background: rgb(8 28 35 / 45%);
}

.document-workspace .dw-excel-paste-dialog form {
  display: flex;
  max-height: calc(100vh - 48px);
  flex-direction: column;
}

.document-workspace .dw-excel-paste-body {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.document-workspace .dw-excel-paste-hint {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border-left: 3px solid var(--dw-brand);
  border-radius: 5px;
  padding: 7px 9px;
  background: var(--dw-brand-pale);
  font-size: 10px;
}

.document-workspace .dw-excel-paste-hint code {
  border: 1px solid var(--dw-border);
  border-radius: 4px;
  padding: 3px 6px;
  background: #fff;
  color: var(--dw-text);
  font-family: Consolas, monospace;
  white-space: pre;
}

.document-workspace .dw-excel-paste-hint span {
  color: var(--dw-muted);
}

.document-workspace .dw-excel-paste-body textarea {
  min-height: 240px;
  max-height: 52vh;
  resize: vertical;
  font-family: Consolas, monospace;
  line-height: 1.4;
  white-space: pre;
}

.document-workspace .dw-excel-paste-body .dw-dialog-error {
  border: 1px solid #f2b8b5;
  border-radius: 5px;
}

.document-workspace .dw-grid-view-dialog {
  width: min(680px, calc(100vw - 32px));
  max-height: min(820px, calc(100vh - 32px));
}

.document-workspace .dw-grid-view-dialog::backdrop {
  background: rgb(8 28 35 / 45%);
}

.document-workspace .dw-grid-view-dialog form {
  display: flex;
  height: min(800px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  overflow: hidden;
  flex-direction: column;
}
.document-workspace .dw-grid-view-dialog :is(.dw-dialog-header,.dw-grid-view-tabs,.dw-dialog-footer) { flex-shrink:0; }

.document-workspace .dw-grid-view-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--dw-border);
  padding: 5px 10px 0;
  background: #fff;
}

.document-workspace .dw-grid-view-tab {
  min-height: 34px;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 5px 14px;
  background: transparent;
  color: var(--dw-muted);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.document-workspace .dw-grid-view-tab.is-active {
  border-bottom-color: var(--dw-brand);
  color: var(--dw-brand-dark);
}

.document-workspace .dw-grid-view-tab:focus-visible {
  outline: 2px solid var(--dw-brand);
  outline-offset: -2px;
}

.document-workspace .dw-grid-view-panel {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--dw-surface-muted);
}

.document-workspace .dw-grid-view-panel[hidden] {
  display: none;
}

.document-workspace .dw-grid-view-editor {
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding: 7px;
  background: var(--dw-surface-muted);
}

.document-workspace .dw-grid-decimal-editor {
  display: grid;
  max-height: min(540px, 58vh);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  overflow: auto;
  padding: 10px;
}

.document-workspace .dw-grid-decimal-intro {
  grid-column: 1 / -1;
  margin: 0 0 3px;
  border-left: 3px solid var(--dw-brand);
  border-radius: 4px;
  padding: 8px 9px;
  background: var(--dw-brand-pale);
  color: var(--dw-text);
  font-size: 10px;
  line-height: 1.4;
}

.document-workspace .dw-grid-decimal-option {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 54px 76px;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--dw-border);
  border-radius: 6px;
  padding: 7px 8px;
  background: #fff;
}

.document-workspace .dw-grid-decimal-option input {
  width: 54px;
  min-height: 30px;
  padding: 3px 5px;
  text-align: center;
}

.document-workspace .dw-grid-decimal-suffix {
  color: var(--dw-muted);
  font-size: 9px;
  white-space: nowrap;
}

.document-workspace .dw-grid-view-option {
  display: grid;
  min-height: 43px;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  border: 1px solid transparent;
  border-bottom-color: var(--dw-border);
  padding: 5px 8px;
  background: #fff;
  cursor: grab;
  transition: border-color .15s, opacity .15s, transform .15s, background .15s;
}

.document-workspace .dw-grid-view-option.is-pinned {
  border-left-color: var(--dw-brand-dark);
  background: var(--dw-brand-pale);
  cursor: grab;
}

.document-workspace .dw-grid-view-option.is-pinned-boundary {
  border-bottom: 2px solid var(--dw-brand-dark);
  box-shadow: 0 5px 9px rgb(23 50 60 / 7%);
}

.document-workspace .dw-grid-view-option.is-pinned .dw-grid-view-handle {
  color: var(--dw-brand-dark);
  letter-spacing: 0;
}

.document-workspace .dw-grid-view-option.dragging {
  opacity: .45;
}

.document-workspace .dw-grid-view-option.drag-target {
  border-color: var(--dw-brand);
  background: var(--dw-brand-pale);
  transform: translateY(2px);
}

.document-workspace .dw-grid-view-handle {
  color: #91a4aa;
  font-size: 13px;
  letter-spacing: -4px;
  user-select: none;
}

.document-workspace .dw-grid-view-option label {
  display: grid;
  min-width: 0;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  cursor: pointer;
}

.document-workspace .dw-grid-view-option input[type="checkbox"] {
  width: 17px;
  height: 17px;
  min-height: 0;
  margin: 0;
}

.document-workspace .dw-grid-view-copy {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.document-workspace .dw-grid-view-copy strong {
  overflow: hidden;
  color: var(--dw-text);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-workspace .dw-grid-view-copy small {
  color: var(--dw-muted);
  font-size: 9px;
}

.document-workspace .dw-grid-view-move {
  display: flex;
  gap: 4px;
}

.document-workspace .dw-grid-view-move button {
  width: 29px;
  min-width: 29px;
  height: 29px;
  min-height: 29px;
  border: 1px solid var(--dw-border);
  border-radius: 5px;
  padding: 0;
  background: #fff;
  color: var(--dw-brand-dark);
  cursor: pointer;
}

.document-workspace .dw-grid-view-move button:disabled {
  cursor: default;
  opacity: .35;
}

.document-workspace .dw-grid-view-move .dw-grid-pin-toggle {
  width: auto;
  min-width: 53px;
  padding: 0 7px;
  color: var(--dw-muted);
  font-size: 9px;
  font-weight: 750;
}

.document-workspace .dw-grid-view-move .dw-grid-pin-toggle.is-active {
  border-color: var(--dw-brand-dark);
  background: var(--dw-brand-pale);
  color: var(--dw-brand-dark);
}

.document-workspace .dw-dialog-spacer {
  flex: 1 1 auto;
}

.document-workspace .dw-grid-view-footer {
  flex-wrap: wrap;
}

.document-workspace .dw-status-transition-body {
  display: grid;
  gap: 7px;
}

.document-workspace .dw-status-transition-explanation {
  margin: 0 0 3px;
  border-left: 4px solid var(--dw-brand);
  border-radius: 4px;
  padding: 8px 9px;
  background: var(--dw-brand-pale);
  font-size: 12px;
  line-height: 1.4;
}

.document-workspace .dw-status-transition-label {
  color: #40545c;
  font-size: 11px;
  font-weight: 750;
}

.document-workspace .dw-status-transition-dialog textarea {
  width: 100%;
  min-height: 72px;
  resize: vertical;
}

.document-workspace .dw-allocation-dialog::backdrop {
  background: rgb(8 28 35 / 45%);
}

.document-workspace .dw-dialog-header,
.document-workspace .dw-dialog-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  background: var(--dw-surface-soft);
}

.document-workspace .dw-dialog-header {
  border-bottom: 1px solid var(--dw-border);
}

.document-workspace .dw-dialog-header h2,
.document-workspace .dw-dialog-header p {
  margin: 0;
}

.document-workspace .dw-dialog-header h2 {
  font-size: 15px;
}

.document-workspace .dw-dialog-header p {
  margin-top: 2px;
  font-size: 11px;
}

.document-workspace .dw-dialog-body {
  max-height: calc(100vh - 190px);
  overflow: auto;
  padding: 10px;
}

.document-workspace .dw-dialog-footer {
  justify-content: flex-end;
  border-top: 1px solid var(--dw-border);
}

.document-workspace .dw-dialog-error {
  border-top: 1px solid #f2b8b5;
  padding: 7px 10px;
  background: #fff5f4;
  color: var(--dw-danger);
  font-size: 11px;
  font-weight: 700;
}

.document-workspace .dw-allocation-table {
  min-width: 720px;
}

.document-workspace .dw-allocation-table input,
.document-workspace .dw-allocation-table select {
  min-height: 25px;
  font-size: 11px;
}

.document-workspace .dw-allocation-table td:first-child select,
.document-workspace .dw-allocation-table td:first-child input {
  margin-bottom: 2px;
}

.document-workspace .dw-serial-search {
  margin-bottom: 8px;
}

.document-workspace .dw-serial-search input {
  flex: 1 1 260px;
}

.document-workspace .dw-serial-automatic {
  border: 1px solid var(--dw-border);
  border-left: 4px solid var(--dw-brand);
  border-radius: 5px;
  padding: 10px;
  background: var(--dw-brand-pale);
}

@media (max-width: 1366px) {
  .document-workspace .dw-header-primary,
  .document-workspace .dw-header-grid {
    grid-template-columns: repeat(4, minmax(135px, 1fr));
  }

  .document-workspace .dw-title-bar {
    grid-template-columns: minmax(240px, 0.7fr) minmax(390px, 1.3fr);
  }

  .document-workspace .dw-grid-scroll {
    max-height: min(49vh, 500px);
  }

  .document-workspace .dw-header-group-party,
  .document-workspace .dw-header-group-document,
  .document-workspace .dw-header-group-other {
    grid-column: span 6;
  }

  .document-workspace .dw-header-group-currency,
  .document-workspace .dw-header-group-discounts {
    grid-column: span 3;
  }
}

@media (max-width: 1050px) {
  .document-workspace .dw-shell {
    padding-bottom: 14px;
  }

  .document-workspace .dw-title-bar,
  .document-workspace .dw-bottom-dock {
    grid-template-columns: 1fr;
  }

  .document-workspace .dw-header-primary,
  .document-workspace .dw-header-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
  }

  .document-workspace .dw-header-group {
    grid-column: span 6;
  }

  .document-workspace .dw-payment-row {
    grid-template-columns: minmax(110px, 140px) minmax(200px, 1fr)
      minmax(135px, 190px) minmax(75px, 95px) 72px;
  }

  .document-workspace .dw-header-group .dw-header-grid {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }

  .document-workspace .dw-header-group-party .dw-header-grid,
  .document-workspace .dw-header-group-document .dw-header-grid {
    grid-template-columns: repeat(4, minmax(85px, 1fr));
  }

  .document-workspace .dw-header-group-document .dw-field-documentTypeId {
    grid-row: 1;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-documentNumber {
    grid-row: 1;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-dueDays {
    grid-row: 2;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-branchId {
    grid-row: 1;
    grid-column: 4;
  }

  .document-workspace .dw-header-group-document .dw-field-occurredAt {
    grid-row: 2;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-dueDate {
    grid-row: 2;
    grid-column: 3;
  }

  .document-workspace .dw-header-group-document .dw-field-priceListId {
    grid-row: 3;
    grid-column: 3 / span 2;
  }

  .document-workspace .dw-header-group-document .dw-field-warehouseId {
    grid-row: 2;
    grid-column: 4;
  }

  .document-workspace .dw-header-group-document .dw-field-editedBy {
    grid-row: 1;
    grid-column: 3;
  }

  .document-workspace .dw-header-group-document .dw-field-salespersonId {
    grid-row: 3;
    grid-column: 1 / span 2;
  }

  .document-workspace .dw-header-group-discounts .dw-header-grid {
    grid-template-columns: repeat(3, minmax(80px, 1fr));
  }

  .document-workspace .dw-header-group-other .dw-header-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-workspace .dw-header-group-currency .dw-header-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .document-workspace .dw-header-group-currency .dw-field-currencyCode {
    grid-row: 1;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-currency .dw-field-exchangeDate {
    grid-row: 1;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-currency .dw-field-exchangeRate {
    grid-row: 2;
    grid-column: 1 / -1;
  }

  .document-workspace .dw-header-group-currency .dw-field-documentStatus {
    grid-row: 3;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-currency .dw-field-paymentStatus {
    grid-row: 3;
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  .document-workspace .dw-notes-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-workspace .dw-price-insight-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-workspace .dw-grid-decimal-editor {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-workspace-window {
    width: calc(100vw - 6px);
    height: calc(100dvh - 6px);
    border-radius: 7px;
  }

  .document-workspace-window-frame {
    grid-template-rows: 42px minmax(0, 1fr);
  }

  .document-workspace-window-chrome {
    padding-left: 7px;
  }

  .document-workspace .dw-shell {
    padding: 8px 6px 16px;
  }

  .document-workspace .dw-header-primary,
  .document-workspace .dw-header-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .document-workspace .dw-header-group {
    grid-column: 1 / -1;
  }

  .document-workspace .dw-payment-row {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .document-workspace .dw-payment-row-identity {
    grid-column: 1 / -1;
    min-height: auto;
  }

  .document-workspace .dw-payment-summary {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
  }

  .document-workspace .dw-payment-summary-note,
  .document-workspace .dw-payment-summary-overpayment,
  .document-workspace .dw-payment-summary > .dw-field-error {
    grid-column: 1;
  }

  .document-workspace .dw-header-group-party .dw-header-grid,
  .document-workspace .dw-header-group-document .dw-header-grid,
  .document-workspace .dw-header-group-discounts .dw-header-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .document-workspace .dw-header-group-document .dw-field-documentTypeId {
    grid-row: 1;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-branchId {
    grid-row: 1;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-documentNumber {
    grid-row: 2;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-warehouseId {
    grid-row: 2;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-dueDays {
    grid-row: 3;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-dueDate {
    grid-row: 3;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-occurredAt {
    grid-row: 4;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-priceListId {
    grid-row: 4;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-document .dw-field-editedBy {
    grid-row: 5;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-document .dw-field-salespersonId {
    grid-row: 5;
    grid-column: 2;
  }

  .document-workspace .dw-header-group-other .dw-header-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .document-workspace .dw-header-group-party .dw-field-partnerName {
    grid-row: 3;
    grid-column: 1 / -1;
  }

  .document-workspace .dw-header-group-party .dw-field-businessPartnerId {
    grid-row: 1;
    grid-column: 1 / -1;
  }

  .document-workspace .dw-header-group-party .dw-field-taxOffice {
    grid-row: 2;
    grid-column: 1;
  }

  .document-workspace .dw-header-group-party .dw-field-taxNumber {
    grid-row: 2;
    grid-column: 2;
  }

  .document-workspace .dw-action-bar,
  .document-workspace .dw-allocation-summary-row {
    align-items: stretch;
    flex-direction: column;
  }

  .document-workspace .dw-action-leading {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .document-workspace .dw-live-balance {
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid var(--dw-border);
    padding: 0 0 6px;
  }

  .document-workspace .dw-action-buttons > button {
    flex: 1 1 145px;
  }

  .document-workspace .dw-action-bar .dw-action-buttons {
    flex-wrap: wrap;
  }

  .document-workspace .dw-totals {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }

  .document-workspace .dw-total-row.is-grand {
    grid-column: 1 / -1;
  }

  .document-workspace .dw-party-search-columns,
  .document-workspace .dw-party-search-option {
    grid-template-columns: minmax(80px, .7fr) minmax(0, 1.3fr);
  }

  .document-workspace .dw-party-search-balance,
  .document-workspace .dw-party-search-balance-type {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .document-workspace *,
  .document-workspace *::before,
  .document-workspace *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Company-approved inline density, scoped to the shared document header only.
   Line grids, payment/address tabs and document command rules are unchanged. */
.document-workspace .dw-header-panel { background: var(--erp-surface, var(--paper, white)); }
:root[data-theme="dark"] .document-workspace .dw-header-panel {
  --erp-surface-muted: color-mix(in srgb, var(--erp-surface, var(--paper)) 92%, var(--ink));
}
.document-workspace .dw-header-panel .dw-compact-header {
  grid-template-columns: minmax(0, 3.4fr) minmax(0, 4.3fr) minmax(0, 2.7fr) minmax(0, 2fr);
  gap: 0;
  align-items: stretch;
}
.document-workspace .dw-compact-header .dw-header-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
}
.document-workspace .dw-compact-header .dw-header-group {
  margin: 0;
  flex: 1;
  padding: 2px 4px;
  background: var(--erp-surface, var(--paper, white));
  border-color: var(--erp-border, var(--line));
}
.document-workspace .dw-compact-header .dw-header-group-title {
  color: var(--erp-text-primary, var(--ink));
  font-size: 11px;
  line-height: 1.35;
  font-weight: 700;
}
.document-workspace .dw-compact-header .dw-header-group .dw-header-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.document-workspace .dw-compact-header .dw-header-column-document .dw-header-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.document-workspace .dw-compact-header .dw-header-column-document .dw-header-grid,
.document-workspace .dw-compact-header .dw-header-column-currency .dw-header-grid,
.document-workspace .dw-compact-header .dw-header-column-discounts .dw-header-grid { grid-template-rows: repeat(5, minmax(24px, auto)); }
.document-workspace .dw-compact-header .dw-header-group-party { flex: 0 0 auto; }
.document-workspace .dw-compact-header .dw-header-group-other { display: flex; flex-direction: column; }
.document-workspace .dw-compact-header .dw-header-group-other .dw-header-grid { flex: 1; align-content: end; }
.document-workspace .dw-compact-header .dw-header-group .dw-header-grid .dw-field {
  grid-area: auto;
  grid-template-columns: 90px minmax(0, 1fr);
  align-items: center;
  align-content: start;
  gap: 0 4px;
  padding: 0 2px;
}
.document-workspace .dw-compact-header .dw-header-column-document .dw-header-grid .dw-field { grid-template-columns: 80px minmax(0, 1fr); }
.document-workspace .dw-compact-header .dw-header-date-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
}
.document-workspace .dw-compact-header .dw-header-tax-row {
  grid-column: 1 / -1; display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 0; min-width: 0;
}
.document-workspace .dw-compact-header .dw-header-grid .dw-header-tax-row .dw-field-taxNumber { grid-template-columns: 58px minmax(0, 1fr); }
.document-workspace .dw-compact-header .dw-header-grid .dw-field[hidden] { display: none; }
.document-workspace .dw-compact-header .dw-field > .dw-field-label {
  grid-column: 1;
  grid-row: 1;
  color: var(--erp-text-primary, var(--ink));
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
  white-space: nowrap;
  overflow: visible;
}
.document-workspace .dw-compact-header .dw-field > input,
.document-workspace .dw-compact-header .dw-field > select,
.document-workspace .dw-compact-header .dw-field > textarea,
.document-workspace .dw-compact-header .dw-field > .dw-party-field-control {
  grid-column: 2;
  grid-row: 1;
}
.document-workspace .dw-compact-header .dw-field input,
.document-workspace .dw-compact-header .dw-field select,
.document-workspace .dw-compact-header .dw-field textarea,
.document-workspace .dw-compact-header .dw-field-search-button {
  height: 24px;
  min-height: 24px;
  font-size: 12px;
  font-weight: 400;
  padding: 1px 6px;
  color: var(--erp-text-primary, var(--ink));
  background: var(--erp-surface, var(--paper, white));
  border-color: var(--erp-border, var(--line));
}
.document-workspace .dw-compact-header .dw-field input[readonly],
.document-workspace .dw-compact-header .dw-field input:disabled,
.document-workspace .dw-compact-header .dw-field select:disabled,
.document-workspace .dw-compact-header .dw-field textarea:disabled {
  background: var(--erp-surface-muted, var(--surface));
  color: var(--muted);
}
.document-workspace .dw-compact-header .dw-field [aria-invalid="true"] { border-color: var(--erp-danger, var(--dw-danger)) !important; background: color-mix(in srgb, var(--erp-danger, var(--dw-danger)) 8%, var(--erp-surface, var(--paper))); }
.document-workspace .dw-compact-header .dw-field > .dw-field-error {
  grid-column: 2;
  grid-row: 2;
}
.document-workspace .dw-compact-header .dw-field-search-button { font-size: 12px; font-weight: 600; }
.document-workspace .dw-compact-header .dw-header-date-row input { font-size: 11px; }
/* Shared documents: give the customer the width recovered from currency/discounts.
   Keep the document panel's existing share and its two-column field arrangement. */
@media (min-width: 1101px) {
  .document-workspace .dw-header-panel .dw-compact-header {
    grid-template-columns: minmax(0, 4.6fr) minmax(0, 4.3fr) minmax(0, 2fr) minmax(0, 1.5fr);
  }
}
@media (max-width: 1100px) {
  .document-workspace .dw-header-panel .dw-compact-header { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-workspace .dw-compact-header .dw-header-group .dw-header-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-workspace .dw-compact-header .dw-header-group .dw-header-grid { grid-template-rows: none; }
  .document-workspace .dw-compact-header .dw-header-group-other .dw-header-grid { grid-template-columns: minmax(0, 1fr); }
  .document-workspace .dw-compact-header .dw-header-group .dw-header-grid .dw-field { grid-template-columns: minmax(0, 1fr); }
  .document-workspace .dw-compact-header .dw-field > .dw-field-label { grid-column: 1; grid-row: 1; font-size: 11px; }
  .document-workspace .dw-compact-header .dw-field > input,
  .document-workspace .dw-compact-header .dw-field > select,
  .document-workspace .dw-compact-header .dw-field > textarea,
  .document-workspace .dw-compact-header .dw-field > .dw-party-field-control { grid-column: 1; grid-row: 2; }
  .document-workspace .dw-compact-header .dw-field > .dw-field-error { grid-column: 1; grid-row: 3; }
}
@media (max-width: 700px) {
  .document-workspace .dw-header-panel .dw-compact-header { grid-template-columns: minmax(0, 1fr); }
  .document-workspace .dw-compact-header .dw-header-date-row { grid-template-columns: minmax(0, 1fr); }
  .document-workspace .dw-compact-header .dw-header-tax-row { grid-template-columns: minmax(0, 1fr); }
}

/* Shared document identity sits below the customer; notes span the document panel. */
.document-workspace[data-document-kind="SalesInvoice"] .dw-field-salesType select {
  appearance: none;
  background-image: none;
  cursor: default;
}
.document-workspace .dw-compact-header .dw-header-group-other .dw-header-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.document-workspace .dw-compact-header .dw-header-group-document .dw-header-grid .dw-field-description {
  grid-column: 1 / -1;
}
@media (max-width: 700px) {
  .document-workspace .dw-compact-header .dw-header-group-other .dw-header-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media print {
  body:has(#documentWorkspaceWindow[open]) * {
    visibility: hidden !important;
  }

  body:has(#documentWorkspaceWindow[open]) #documentWorkspaceWindow,
  body:has(#documentWorkspaceWindow[open]) #documentWorkspaceWindow * {
    visibility: visible !important;
  }

  #documentWorkspaceWindow[open] {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #documentWorkspaceWindow[open] .document-workspace-window-frame {
    display: block;
    height: auto;
  }

  #documentWorkspaceWindow[open] .document-workspace-window-chrome,
  #documentWorkspaceWindow[open] .dw-action-bar,
  #documentWorkspaceWindow[open] .dw-list-navigation,
  #documentWorkspaceWindow[open] .dw-grid-toolbar-actions,
  #documentWorkspaceWindow[open] [data-column-key="rowActions"] {
    display: none !important;
  }

  #documentWorkspaceWindow[open] .document-workspace-page,
  #documentWorkspaceWindow[open] .dw-shell,
  #documentWorkspaceWindow[open] .dw-grid-scroll {
    height: auto;
    max-height: none;
    overflow: visible;
  }

  #documentWorkspaceWindow[open] .dw-bottom-dock {
    position: static;
    display: block;
    filter: none;
  }

  #documentWorkspaceWindow[open] .dw-totals {
    margin-top: 6px;
  }
}
/* Invoice-owned recipient fields; compact, quiet panels with reachable controls. */
.document-workspace .dw-recipient-panel {
  padding: 8px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 11px;
  letter-spacing: -.005em;
}
.document-workspace .dw-recipient-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--erp-border, #dce3e7); margin-bottom: 4px; }
.document-workspace .dw-recipient-tab { background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: 6px 10px; font: inherit; font-weight: 600; color: var(--text-muted, #6f7a82); }
.document-workspace .dw-recipient-tab[aria-selected="true"] { color: var(--erp-accent, #4e999a); border-bottom-color: var(--erp-accent, #4e999a); }
.document-workspace .dw-recipient-toolbar { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-bottom: 6px; }
.document-workspace .dw-recipient-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: start; }
.document-workspace .dw-recipient-card { padding: 8px 10px; min-width: 0; border: 1px solid var(--erp-border, #dce3e7); border-radius: 6px; background: var(--erp-surface, #fff); }
.document-workspace .dw-recipient-card .dw-panel-title { font-size: 12px; margin: 0 0 5px; padding-bottom: 4px; border-bottom: 1px solid var(--erp-border, #dce3e7); }
.document-workspace .dw-recipient-card .dw-field { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 6px; margin: 1px 0; }
.document-workspace .dw-recipient-card .dw-field-label { font-size: 11px; font-weight: 500; }
.document-workspace .dw-recipient-card input, .document-workspace .dw-recipient-card select { width: 100%; min-width: 0; height: 24px; min-height: 24px; padding: 2px 6px; font-family: inherit; font-size: 11px; font-weight: 400; box-sizing: border-box; }
.document-workspace .dw-recipient-card input[readonly],
.document-workspace .dw-recipient-card input:disabled,
.document-workspace .dw-recipient-card select:disabled { font-weight: 400; }
.document-workspace .dw-recipient-toggle { display: flex; align-items: center; gap: 5px; margin: 0; font-size: 11px; font-weight: 500; }
.document-workspace .dw-recipient-toggle input { width: 15px; height: 15px; min-height: 15px; margin: 0; flex: none; accent-color: var(--erp-accent, #4e999a); }
.document-workspace .dw-recipient-note { margin: 4px 0 0; font-size: 10px; line-height: 1.2; color: var(--text-muted, #6f7a82); }
@media (max-width: 800px) { .document-workspace .dw-recipient-columns { grid-template-columns: 1fr; } }
.document-workspace .dw-other-information { margin: 12px; max-width: 920px; background: var(--erp-surface, #fff); border: 1px solid var(--erp-border, #dce3e6); border-radius: 8px; overflow: hidden; color: var(--erp-text, #1c315b); }
.document-workspace .dw-other-information .erp-panel-header { padding: 12px 16px; border-bottom: 1px solid var(--erp-border, #dce3e6); }
.document-workspace .dw-other-information .erp-panel-title { margin: 0; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
.document-workspace .dw-other-information .erp-panel-body { padding: 12px 16px; font-size: 12px; line-height: 1.5; }
.document-workspace .dw-tax-reason-field { display: grid; gap: 6px; margin: 16px 0; font-size: 12px; }
.document-workspace .dw-tax-reason-field select { width: 100%; min-width: 0; height: 34px; font: inherit; border: 1px solid var(--erp-border, #dce3e6); border-radius: 6px; padding: 4px 8px; color: inherit; background: var(--erp-surface, #fff); }

.document-workspace .dw-payment-precision-action { grid-column: 1 / -1; justify-self: start; border: 1px solid var(--erp-border, #dce3e6); border-radius: 8px; padding: 6px 10px; background: var(--erp-surface, #fff); color: var(--erp-text, #1c315b); font: inherit; cursor: pointer; }
.document-workspace .dw-payment-precision-action:disabled { opacity: .55; cursor: default; }
.document-workspace .dw-payment-precision-action[hidden] { display: none; }

/* Compact, read-only commercial document chain; the workspace owns scrolling. */
.document-workspace .dw-document-chain-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.document-workspace .dw-document-chain-grid .dw-related-document-slot {
  min-height: 0;
  gap: 8px;
}
.document-workspace .dw-document-chain-grid .dw-related-document-slot-title {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #34317b;
  color: #fff;
}
.document-workspace .dw-document-chain-grid .dw-related-source-card {
  flex: none;
  min-height: 190px;
  overflow-wrap: anywhere;
}
.document-workspace .dw-document-chain-grid .is-current {
  border: 2px solid var(--dw-brand);
  background: var(--dw-brand-pale);
}
.document-workspace .dw-document-chain-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  padding: 12px 20px;
  margin: 12px 0 0;
  color: var(--dw-muted);
  font-size: 12px;
}
@media (max-width: 680px) {
  .document-workspace .dw-document-chain-grid { grid-template-columns: 1fr; }
}


/* Price commands share the corporate toolbar and document dialog vocabulary. */
.document-workspace :is([data-price-operation-menu],[data-document-source-menu],[data-sales-prototype],[data-sales-calculation]) {
  border: 1px solid var(--line, #dce3e7);
  border-radius: 14px;
  background: var(--paper, #fff);
  color: var(--brand-navy, #1c3359);
  box-shadow: 0 18px 48px rgb(6 46 91 / 18%);
}
.document-workspace .dw-price-operation-heading {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line, #dce3e7);
  background: var(--canvas, #f4f7f8);
  color: var(--brand-navy, #1c3359);
  font-size: 12px;
  font-weight: 850;
}
.document-workspace .dw-price-operation-list { display: grid; gap: 4px; padding: 7px; }
.document-workspace :is([data-document-price-action],[data-document-source-menu] [role="menuitem"]) {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: var(--paper, #fff);
  color: var(--brand-navy, #1c3359);
  font-family: var(--ui-font, Arial, sans-serif);
  text-align: left;
  cursor: pointer;
}
.document-workspace :is([data-document-price-action],[data-document-source-menu] [role="menuitem"]) > b { white-space: normal; }
.document-workspace :is([data-document-price-action],[data-document-source-menu] [role="menuitem"]):is(:hover,:focus-visible):not(:disabled) {
  border-color: var(--brand-turquoise, #57aaad);
  background: var(--brand-turquoise-pale, #eaf9f9);
}
.document-workspace :is([data-document-price-action],[data-document-source-menu] [role="menuitem"]):focus-visible { outline: 2px solid var(--brand-turquoise, #57aaad); outline-offset: -2px; }
.document-workspace :is([data-document-price-action],[data-document-source-menu] [role="menuitem"]):disabled { opacity: .5; cursor: not-allowed; }
.document-workspace [data-sales-calculation] :is(.dw-dialog-header,.dw-dialog-footer),
.document-workspace [data-sales-prototype] .dw-price-insight-header {
  flex-shrink: 0;
  padding: 12px 14px;
  background: var(--canvas, #f4f7f8);
  border-color: var(--line, #dce3e7);
}
.document-workspace [data-sales-calculation] .dw-dialog-header h2 { color: var(--brand-navy, #1c3359); font-size: 17px; }
.document-workspace [data-sales-calculation] .dw-dialog-header .eyebrow { margin-bottom: 4px; color: #488f93; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.document-workspace [data-sales-calculation] .dw-excel-paste-body { padding: 14px; gap: 12px; }
.document-workspace [data-sales-calculation] .dw-dialog-footer { flex-wrap: wrap; gap: 7px; }
.document-workspace [data-sales-calculation] .dw-field { color: var(--brand-navy, #1c3359); font-size: 12px; font-weight: 750; }
.document-workspace [data-sales-calculation] :is(input,select),
.document-workspace [data-sales-prototype] input {
  min-height: 34px;
  border: 1px solid var(--line, #dce3e7);
  border-radius: 9px;
  background: var(--paper, #fff);
  color: var(--ink, #1c3359);
}
.document-workspace [data-sales-prototype] .dw-price-insight-item { border-color: var(--line, #dce3e7); border-radius: 11px; padding: 9px; }
.document-workspace [data-sales-prototype] .dw-price-insight-close { width: 30px; height: 30px; flex-basis: 30px; border-radius: 9px; color: var(--brand-navy, #1c3359); background: var(--paper, #fff); }
.document-workspace [data-sales-prototype] .dw-price-insight-value { border-color: var(--line, #dce3e7); border-radius: 9px; background: var(--paper, #fff); }

/* Shared price history, from stock cards and stock statements. */
#productPriceHistoryDialog { display: flex; flex-direction: column; gap: 12px; width: min(1080px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 16px; border-radius: 16px; background: var(--paper); color: var(--brand-navy); }
#productPriceHistoryDialog:not([open]) { display: none; }
#productPriceHistoryDialog .dialog-heading { flex-shrink: 0; margin: 0; padding-bottom: 12px; }
#productPriceHistoryDialog .dialog-summary { margin: 0; }
#productPriceHistoryDialog .product-price-history-type { display: grid; gap: 5px; max-width: 400px; color: var(--brand-navy); font-size: 12px; font-weight: 750; }
#productPriceHistoryDialog .product-price-history-type[hidden] { display:none; }
#productPriceHistoryDialog select { min-height: 36px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); }
#productPriceHistoryDialog .product-price-history-grid { min-height: 0; margin: 0; border: 0; border-radius: 10px; overflow: auto; }
#productPriceHistoryDialog .product-price-history-grid table { min-width: 720px; border-collapse: separate; border-spacing: 3px; }
#productPriceHistoryDialog .product-price-history-grid th { padding: 10px; font-size: 12px; text-transform: none; background: var(--document-header-bg); color: var(--document-header-fg); }
#productPriceHistoryDialog .product-price-history-grid td { padding: 9px 10px; font-size: 12px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); }
#productPriceHistoryDialog .product-price-history-grid tr:nth-child(even) td { background: color-mix(in srgb,var(--brand-turquoise-pale) 28%,var(--paper)); }
#productPriceHistoryDialog .dialog-actions { flex-shrink: 0; margin: 0; padding-top: 12px; }
#productPriceHistoryDialog .dialog-close { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--brand-navy); cursor:pointer; }
:root[data-theme="dark"] :is(#productPriceHistoryDialog,[data-price-operation-menu],[data-document-source-menu],[data-sales-prototype],[data-sales-calculation]) {
  --brand-navy: var(--ink);
  --dw-text: var(--ink);
  --dw-muted: var(--muted);
  --dw-surface: var(--paper);
  --dw-surface-soft: var(--canvas);
  --dw-border: var(--line);
  --dw-border-strong: var(--line);
}

/* Shared serial/lot selection: corporate grid, independent scroll and native commands. */
@media screen {
  .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"])[open] {
    display:flex;flex-direction:column;width:min(1080px,calc(100vw - 24px));
    max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;
    background:var(--paper,#fff);color:var(--ink,#1b3159);border-radius:14px;
  }
  .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"]) .dw-dialog-header {
    display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:0 0 auto;padding:12px;
  }
  .document-workspace .dw-allocation-dialog .dw-dialog-header > div {flex:1 1 230px;min-width:0;overflow-wrap:anywhere;}
  .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"]) .dw-dialog-body {
    display:flex;flex-direction:column;gap:8px;min-height:0;max-height:none;overflow:auto;flex:1 1 auto;
  }
  .document-workspace .dw-allocation-grid {min-height:70px;max-height:52dvh;overflow:auto;overscroll-behavior:contain;}
  .document-workspace .dw-allocation-grid table {border-collapse:separate;border-spacing:var(--document-cell-gap,3px);min-width:620px;}
  .document-workspace [data-allocation-dialog="serial"] .dw-allocation-grid table {min-width:460px;}
  .document-workspace .dw-allocation-grid :is(th,td) {border:1px solid var(--line,#dce4e8);border-radius:6px;height:32px;padding:3px 6px;}
  .document-workspace .dw-allocation-grid th {background:var(--document-header-bg,#2d2b83);color:var(--document-header-fg,#fff);}
  .document-workspace [data-allocation-dialog="serial"] .dw-allocation-grid :is(th,td):first-child {width:40px;text-align:center;}
  .document-workspace .dw-allocation-grid input[type="checkbox"] {appearance:auto;width:18px;height:18px;min-width:18px;min-height:0;margin:0;accent-color:var(--brand,#489da0);}
  .document-workspace .dw-allocation-grid input:not([type="checkbox"]),.document-workspace .dw-allocation-grid select {width:100%;min-width:0;box-sizing:border-box;}
  .document-workspace .dw-serial-search {flex:0 0 auto;}
  .document-workspace .dw-serial-search input {flex:1 1 180px;min-width:0;}
  .document-workspace .dw-allocation-dialog .dw-dialog-footer {flex:0 0 auto;padding:10px;gap:7px;}
  .document-workspace .dw-allocation-dialog .dw-dialog-error[hidden] {display:none!important;}
}

@media screen {
  .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"]) :is(.dw-dialog-header,.dw-dialog-footer) {background:var(--paper,#fff);color:var(--ink,#1b3159);}
  .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"]) .dw-dialog-header h2 {color:var(--ink,#1b3159);}
  :root .document-workspace .dw-allocation-dialog:is([data-allocation-dialog="serial"],[data-allocation-dialog="lot"]) :is(.erp-bank-command,.dw-icon-button) {color:var(--ink,#1b3159)!important;background-color:var(--paper,#fff);}
}
/* Source selection stays inside the shared document modal and retains native grid preferences. */
.dw-source-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.document-workspace .dw-tab-list.has-source-commands { flex-wrap:wrap; overflow-x:visible; }
.document-workspace .has-source-commands .dw-grid-toolbar-actions { position:static; flex:1 1 auto; min-width:0; flex-wrap:wrap; justify-content:flex-end; box-shadow:none; }
.dw-source-reference { margin:0; padding:5px 10px; color:var(--dw-text); background:var(--dw-surface-soft); font-size:12px; }
.dw-source-tools input { flex:1 1 180px; min-width:0; }
.dw-source-grid { min-height:100px; max-height:48vh; overflow:auto; }
.dw-source-grid input[type=number] { min-width:90px; width:100%; }
[data-document-source-picker] .dw-dialog-footer { flex-wrap:wrap; }
:root[data-theme="dark"] .document-workspace :is([data-call-document],[data-invoice-dispatch],[data-document-source-picker] .erp-bank-command) { color:var(--dw-text); }
:root[data-theme="dark"] .document-workspace button[data-document-source-operations] { color:var(--ink); }
.sales-return-source-dialog[open]{display:flex;flex-direction:column;width:min(980px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--brand-turquoise,#4b999b);border-radius:16px;background:var(--paper);color:var(--ink)}
.sales-return-source-dialog::backdrop{background:#14233d66}
.sales-return-source-dialog>header,.sales-return-source-dialog>footer{flex:none;padding:12px 16px;border-bottom:1px solid var(--line)}
.sales-return-source-dialog header small{font-size:10px;letter-spacing:1px;color:var(--brand-turquoise-dark,#467e83);font-weight:800}.sales-return-source-dialog h2{font-size:20px;margin:4px 0 0}
.sales-return-source-body{display:flex;flex-direction:column;min-height:0;overflow:auto;padding:12px 16px;gap:10px}.sales-return-source-body>p{font-size:12px;margin:0}
.sales-return-source-dialog .master-list-toolbar{display:flex;gap:8px;flex:none}.sales-return-source-dialog .master-search{flex:1;min-width:120px}.sales-return-source-dialog .master-search input{width:100%;min-width:0}
.sales-return-source-grid{min-height:100px;max-height:calc(100dvh - 260px);overflow:auto}.sales-return-source-grid table{width:100%;min-width:640px;border-spacing:4px}.sales-return-source-grid td{padding:6px 8px;font-size:12px;overflow-wrap:anywhere}
.sales-return-source-dialog>footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;border-top:1px solid var(--line);border-bottom:0}.sales-return-source-dialog>footer [role=status]{margin-right:auto;font-size:12px}
@media(max-width:600px){.sales-return-source-dialog .master-list-toolbar{flex-wrap:wrap}.sales-return-source-dialog .master-search{flex-basis:100%}.sales-return-source-dialog>footer{flex-wrap:wrap}.sales-return-source-dialog>footer [role=status]{width:100%}}

/* Payment overview and channels share the available document workspace. */
.document-workspace .dw-payment-split{display:grid;grid-template-columns:minmax(220px,26%) minmax(0,1fr);gap:20px;flex:1;min-height:0;width:100%;overflow:hidden}
.document-workspace .dw-payment-overview{min-width:0;padding-right:20px;border-right:1px solid var(--dw-border);overflow:auto}
.document-workspace .dw-payment-overview>.dw-panel-title{margin:4px 0 12px;font-size:13px}
.document-workspace .dw-payment-overview .dw-payment-summary{display:grid;grid-template-columns:minmax(0,1fr);max-width:none;margin:0;gap:10px}
.document-workspace .dw-payment-overview .dw-payment-summary-item{min-height:66px;padding:10px 13px;gap:5px;text-align:left;border-radius:9px}
.document-workspace .dw-payment-overview .dw-payment-summary-item span{font-size:12px}
.document-workspace .dw-payment-overview .dw-payment-summary-item strong{font-size:20px}
.document-workspace .dw-payment-overview [data-apply-payment-amount="open"]{background:color-mix(in srgb,var(--dw-surface) 88%,#7baa9d);border-color:#9bbfb2;border-left:4px solid #7baa9d}
.document-workspace .dw-payment-overview .dw-payment-summary-note{font-size:11px;line-height:1.6;margin-top:5px}
.document-workspace .dw-payment-channels{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.document-workspace .dw-payment-channels .dw-payment-toolbar{max-width:none;margin:0 0 10px;min-height:30px}
.document-workspace .dw-payment-channels .dw-payment-options-grid{flex:1;height:auto;max-height:none;min-height:0;max-width:none;margin:0;align-content:start;gap:10px}
.document-workspace .dw-payment-channels .dw-payment-row{grid-template-columns:minmax(180px,1fr) minmax(130px,200px) 75px 66px;padding:10px 12px;border-radius:9px;gap:8px;background:var(--dw-surface)}
.document-workspace .dw-payment-channels .dw-payment-row-identity{grid-column:1/-1;display:flex;gap:10px;min-height:18px;align-items:center}
.document-workspace .dw-payment-channels .dw-payment-row-identity strong{font-size:12px}
.document-workspace .dw-payment-channels .dw-payment-row-identity small{font-size:10px}
.document-workspace .dw-payment-channels .dw-payment-row:not([data-payment-row="card"])>.dw-field:first-of-type{grid-column:1/2}
.document-workspace .dw-payment-channels .dw-payment-row .dw-field-label{font-size:10px}
.document-workspace .dw-payment-channels .dw-payment-row input,.document-workspace .dw-payment-channels .dw-payment-row select{height:28px;min-height:28px;font-size:12px}
@media(max-width:760px){.document-workspace .dw-payment-split{grid-template-columns:1fr;overflow:auto}.document-workspace .dw-payment-overview{border-right:0;padding-right:0;overflow:visible}.document-workspace .dw-payment-channels{overflow:visible;min-height:300px}.document-workspace .dw-payment-channels .dw-payment-row{grid-template-columns:minmax(140px,1fr) minmax(100px,150px)}.document-workspace .dw-payment-channels .dw-payment-row-identity{grid-column:1/-1}}

/* Keep card additions in their own column without moving the bank controls. */
.document-workspace .dw-payment-split{grid-template-columns:minmax(170px,18%) minmax(0,1fr);gap:16px}
.document-workspace .dw-payment-overview{padding-right:16px}
.document-workspace .dw-payment-channels .dw-payment-method-columns{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(350px,1.15fr);gap:12px;align-content:stretch;overflow:hidden;scrollbar-gutter:auto}
.document-workspace .dw-payment-bank-list,.document-workspace .dw-payment-card-list{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.document-workspace .dw-payment-channels .dw-payment-bank-list .dw-payment-row{flex:none;grid-template-columns:minmax(0,1fr) minmax(100px,135px);padding:10px}
.document-workspace .dw-payment-channels .dw-payment-card-list .dw-payment-row{flex:none;grid-template-columns:minmax(0,1fr) 66px 62px;padding:10px}
.document-workspace .dw-payment-card-list .dw-payment-row>.dw-field:first-of-type{grid-column:1/-1}
.document-workspace .dw-payment-card-list .dw-payment-row>.dw-payment-row-identity+.dw-field{grid-column:1/-1}
.document-workspace .dw-payment-card-list .dw-payment-row .dw-payment-remove{align-self:end;height:28px;min-height:28px;padding:3px 6px}
@media(max-width:900px){.document-workspace .dw-payment-split{grid-template-columns:160px minmax(0,1fr);gap:10px}.document-workspace .dw-payment-channels .dw-payment-method-columns{grid-template-columns:minmax(180px,.85fr) minmax(260px,1.15fr)}.document-workspace .dw-payment-channels .dw-payment-bank-list .dw-payment-row{grid-template-columns:1fr}}
@media(max-width:760px){.document-workspace .dw-payment-split{grid-template-columns:1fr}.document-workspace .dw-payment-channels .dw-payment-method-columns{grid-template-columns:1fr;overflow:visible}.document-workspace .dw-payment-card-list{max-height:340px}.document-workspace .dw-payment-bank-list{overflow:visible}}

.document-workspace .dw-payment-options-panel>.dw-payment-split{flex:1 1 0;min-height:0}
