.posting-batch { border-bottom: 1px solid var(--desk-line, #dce4dd); }
.posting-batch-heading { padding: 18px 0 12px; display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; border-bottom: 1px solid var(--desk-line, #dce4dd); }
.posting-batch-heading h3 { font-size: 14px; color: var(--desk-ink, #263b31); overflow-wrap: anywhere; }
.posting-batch-heading p, .posting-batch-heading span { margin-top: 6px; font-size: 11px; line-height: 1.6; color: var(--desk-muted, #647580); overflow-wrap: anywhere; }
.posting-batch-heading span { flex: none; }
.posting-batch-totals { padding: 14px 0; display: flex; gap: 16px; flex-wrap: wrap; justify-content: flex-end; font: 12px Consolas, monospace; }
.posting-batch-totals span { margin-right: auto; font: 11px "Segoe UI", sans-serif; }
.posting-batch.pending .posting-batch-heading h3, .posting-warning { color: #ad5839; }
.posting-batch.pending { border-left: 2px solid #d49657; padding-left: 12px; }
.posting-toolbar { display: flex; gap: 8px; margin: 10px 0; }
.voucher-context .posting-toolbar .button { width: 100%; color: #d8e5f4; background: #ffffff0b; border-color: #b4cfe333; font-size: 11px; }
.voucher-workspace .posting-lines td { color: var(--desk-ink, #364e59); overflow-wrap: anywhere; white-space: normal; }
.posting-content { padding: 22px; overflow: auto; min-height: 0; background: var(--desk-soft, #f8fafc); color: var(--desk-ink, #253541); }
.document-view:has(.posting-content:not([hidden])) .zoom-control, .document-view:has(.posting-content:not([hidden])) #paper-fit { display: none; }
.posting-editor-fields { display: grid; grid-template-columns: minmax(0, 1fr) 165px; gap: 16px; }
.posting-editor-fields label { display: grid; gap: 7px; font-size: 12px; min-width: 0; }
.posting-content input, .posting-content select { border: 1px solid var(--desk-line, #cbd5de); border-radius: 4px; background: var(--desk-paper, white); color: var(--desk-ink, #203645); padding: 9px; font: 12px "Segoe UI", sans-serif; width: 100%; min-width: 0; height: 38px; color-scheme: inherit; }
.posting-content input:focus-visible, .posting-content select:focus-visible { outline: 2px solid #1685bf; outline-offset: 1px; }
.posting-source { font: 11px/1.8 Consolas, monospace; color: var(--desk-muted, #697f8d); margin: 16px 0 24px; overflow-wrap: anywhere; }
.posting-editor-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
.posting-editor-toolbar h3 { font-size: 16px; font-weight: 600; }
.posting-editor-toolbar > div { display: flex; gap: 6px; }
.posting-content .button, .posting-content .icon-button { color: var(--desk-ink, #365266); background: var(--desk-paper, white); border-color: var(--desk-line, #cbd5de); }
.posting-editor-table { overflow-x: auto; }
.posting-editor-table table { table-layout: fixed; width: 100%; min-width: 590px; }
.posting-editor-table th { background: var(--desk-soft, #edf2f6); color: var(--desk-muted, #657c8b); font-size: 11px; position: static; }
.posting-editor-table th:first-child { width: 20%; }
.posting-editor-table th:nth-child(3), .posting-editor-table th:nth-child(4) { width: 17%; }
.posting-editor-table th:last-child { width: 40px; }
.posting-editor-table td, .posting-editor-table th { padding: 7px 5px; }
.posting-editor-table td { vertical-align: top; }
.posting-editor-table td:nth-child(3) input, .posting-editor-table td:nth-child(4) input { text-align: right; font-variant-numeric: tabular-nums; }
.posting-editor-table small { font-size: 10px; color: #63708f; display: block; margin-top: 4px; }
.posting-unavailable { padding: 25px 0; color: #718694; font-size: 13px; }
.posting-editor-status { padding: 18px 0; border-block: 1px solid #d4dfe6; margin-top: 18px; line-height: 1.8; }
.posting-editor-status strong { font: 600 13px Consolas, monospace; }
.posting-editor-status p { font-size: 12px; margin-top: 10px; }
.posting-editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; font-size: 11px; color: var(--desk-muted, #7c8b98); }
.posting-editor-footer .posting-write { margin-left: auto; background: linear-gradient(135deg, #075bb7, #008db7); color: white; border-color: #0872b5; min-width: 130px; }
.posting-editor-footer .posting-write:disabled { background: #dce5eb; color: #71818c; border-color: #cad5dc; }
@media (max-width: 730px) {
  .posting-content { padding: 15px; }
  .posting-editor-fields { grid-template-columns: minmax(0, 1fr); }
  .posting-editor-fields input { max-width: 180px; }
  .posting-batch-heading { flex-wrap: wrap; gap: 4px; }
  .posting-editor-toolbar { flex-wrap: wrap; }
  .preview-dialog .view-controls { flex-wrap: wrap; gap: 5px; }
  .preview-dialog .view-tabs button { font-size: 11px; padding-inline: 8px; }
}
