/* FINOVA Ultra Compact — density inspired by browser zoom 60%, actual zoom 100%.
   Presentation only: no transform/zoom; modal dragging and JS behavior untouched. */
:root {
  --sidebar-width: 172px;
  --topbar-height: 46px;
  --font-size-xs: 9px;
  --font-size-sm: 10px;
  --font-size-md: 11px;
  --font-size-lg: 12px;
  --font-size-xl: 15px;
  --space-lg: 9px;
  --finova-density-font: 10px;
  --finova-density-input: 27px;
}
@media (min-width: 992px) {
  #finova-sidebar:not(.collapsed) { width: var(--sidebar-width) !important; min-width: var(--sidebar-width) !important; }
  .finova-main { margin-left: var(--sidebar-width) !important; width: calc(100% - var(--sidebar-width)) !important; }
  #finova-topbar { height: var(--topbar-height) !important; min-height: var(--topbar-height) !important; }
}
body, #finova-app { font-size: 10px !important; }
#finova-content { padding: 9px !important; }
.finova-sidebar-logo { height: 48px !important; padding: 4px 7px !important; }
.finova-sidebar-logo-image { max-width: 155px !important; max-height: 40px !important; object-fit: contain; }
.finova-sidebar .finova-menu-item, .finova-sidebar .finova-submenu-item, .finova-sidebar a { font-size: 10px !important; }
.finova-sidebar .finova-menu-item, .finova-sidebar .finova-submenu-item { padding-top: 6px !important; padding-bottom: 6px !important; }
.finova-topbar { padding-left: 9px !important; padding-right: 9px !important; }
.finova-page-title { font-size: 13px !important; }
.finova-workspace-tabs { min-height: 34px !important; }
.finova-workspace-tab { font-size: 10px !important; }
#finova-app .btn:not(.btn-lg), #finova-app button:not(.btn-close),
#finova-app .form-control, #finova-app .form-select, #finova-app input, #finova-app select { font-size: 10px !important; }
#finova-app .btn:not(.btn-lg) { padding: 4px 7px !important; line-height: 1.25 !important; }
#finova-app .form-control:not(textarea), #finova-app .form-select { min-height: var(--finova-density-input) !important; padding-top: 3px !important; padding-bottom: 3px !important; }
#finova-app label, #finova-app .form-label { font-size: 10px !important; }
#finova-app table, #finova-app .table, #finova-app .finova-table { font-size: 10px !important; }
#finova-app .finova-table th, #finova-app .finova-table td,
#finova-app .table th, #finova-app .table td { padding: 4px 6px !important; }
#finova-app .pagination, #finova-app .finova-pagination-wrapper { font-size: 10px !important; }
/* Invoice AP: tighten content, avoid rigid column widths forcing horizontal scrolling. */
#finova-app .ap-data-row { min-height: 48px !important; }
#finova-app .account-payable-table-card .finova-table tbody .ap-data-row > td { padding: 5px 6px !important; font-size: 10px !important; line-height: 1.3 !important; }
#finova-app .account-payable-table-card .ap-col-document { width: 165px !important; min-width: 145px !important; }
#finova-app .account-payable-table-card .ap-col-vendor { width: 205px !important; min-width: 170px !important; }
#finova-app .account-payable-table-card .ap-col-date-info { width: 140px !important; min-width: 120px !important; }
#finova-app .account-payable-table-card .ap-col-amount-status { width: 150px !important; min-width: 135px !important; }
#finova-app .ap-info-label, #finova-app .ap-info-value, #finova-app .ap-description-value, #finova-app .ap-vendor-name { font-size: 10px !important; line-height: 1.3 !important; }
#finova-app #ap-keyword { height: 27px !important; min-height: 27px !important; }
/* Modals live outside #finova-app. Reduce internal density, not positioning or drag. */
body .modal .modal-content { font-size: 10px !important; }
body .modal .modal-header { padding: 6px 9px !important; }
body .modal .modal-footer { padding: 5px 9px !important; }
body .modal .modal-title { font-size: 12px !important; }
body .modal .form-control, body .modal .form-select { font-size: 10px !important; }
body .modal .btn:not(.btn-lg) { font-size: 10px !important; padding: 4px 7px !important; }
body .modal .table th, body .modal .table td { font-size: 10px !important; padding: 4px 6px !important; }
/* Preserve module-defined modal widths and dragging; do not globally constrain them. */
@media (max-width: 991.98px) {
  :root { --sidebar-width: 260px; }
  #finova-content { padding: 8px !important; }
}


/* ================================================================
   FINOVA ULTRA COMPACT — SIDEBAR & SPACING REFINEMENT (2026-11-11)
   Prevent broken words and cramped navigation at browser zoom 100%.
   Visual CSS only; no JS, modal dragging or business logic changes.
   ================================================================ */
:root { --sidebar-width: 224px; }
@media (min-width: 992px) {
  #finova-sidebar:not(.collapsed) {
    width: var(--sidebar-width) !important;
    min-width: var(--sidebar-width) !important;
    max-width: var(--sidebar-width) !important;
  }
  #finova-sidebar:not(.collapsed) ~ .finova-main,
  .finova-main {
    margin-left: var(--sidebar-width) !important;
    width: calc(100% - var(--sidebar-width)) !important;
  }
}
/* Align logo height to the compact top bar without distorting the logo. */
#finova-sidebar:not(.collapsed) .finova-sidebar-logo {
  height: 56px !important;
  min-height: 56px !important;
  padding: 3px 10px !important;
}
#finova-sidebar:not(.collapsed) .finova-sidebar-logo-image {
  width: min(100%, 184px) !important;
  max-width: 184px !important;
  height: 47px !important;
  max-height: 47px !important;
  object-fit: contain !important;
}
/* Sidebar menu: reduce wasted indentation, never split words in the middle. */
#finova-sidebar:not(.collapsed) .finova-sidebar-nav { padding-top: 7px !important; }
#finova-sidebar:not(.collapsed) .finova-menu-item,
#finova-sidebar:not(.collapsed) .finova-menu-group-header {
  min-height: 35px !important;
  height: auto !important;
  padding: 7px 12px !important;
  margin: 2px 7px !important;
  gap: 10px !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}
#finova-sidebar:not(.collapsed) .finova-menu-item > i,
#finova-sidebar:not(.collapsed) .finova-menu-group-left > i {
  flex: 0 0 18px !important;
  width: 18px !important;
  text-align: center !important;
}
#finova-sidebar:not(.collapsed) .finova-menu-item span,
#finova-sidebar:not(.collapsed) .finova-menu-group-header span {
  min-width: 0 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
#finova-sidebar:not(.collapsed) .finova-submenu {
  margin-left: 7px !important;
}
#finova-sidebar:not(.collapsed) .finova-submenu::before { left: 15px !important; }
#finova-sidebar:not(.collapsed) .finova-submenu-item {
  min-height: 34px !important;
  height: auto !important;
  margin: 2px 7px !important;
  padding: 7px 9px 7px 27px !important;
  gap: 9px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
#finova-sidebar:not(.collapsed) .finova-submenu-item > i {
  width: 17px !important;
  flex: 0 0 17px !important;
  text-align: center !important;
}
#finova-sidebar:not(.collapsed) .finova-submenu-item > span {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
#finova-sidebar:not(.collapsed) .finova-menu-header {
  padding: 13px 13px 5px !important;
  margin-top: 2px !important;
  line-height: 1.4 !important;
}
/* Ensure compact density does not collapse the spacing of labels and values. */
#finova-app .finova-table th,
#finova-app .finova-table td,
#finova-app .table th,
#finova-app .table td {
  padding: 6px 8px !important;
  line-height: 1.45 !important;
  vertical-align: middle;
}
#finova-app .finova-table th,
#finova-app .table th { white-space: normal; word-break: normal; }
#finova-app .form-label,
#finova-app label { line-height: 1.4 !important; }
#finova-app .btn:not(.btn-lg) { line-height: 1.45 !important; }
/* AP: keep the label : value layout readable, with space between rows. */
#finova-app .account-payable-table-card .ap-data-row > td {
  padding: 8px 8px !important;
  line-height: 1.5 !important;
  vertical-align: top !important;
}
#finova-app .account-payable-table-card .ap-info-label,
#finova-app .account-payable-table-card .ap-info-value,
#finova-app .account-payable-table-card .ap-description-value {
  line-height: 1.5 !important;
  word-break: normal !important;
}
#finova-app .account-payable-table-card .ap-col-document {
  width: 220px !important; min-width: 200px !important;
}
#finova-app .account-payable-table-card .ap-col-vendor {
  width: 280px !important; min-width: 250px !important;
}
#finova-app .account-payable-table-card .ap-col-date-info {
  width: 195px !important; min-width: 180px !important;
}
#finova-app .account-payable-table-card .ap-col-amount-status {
  width: 215px !important; min-width: 195px !important;
}
/* Avoid accidental word splitting in sidebar at narrow viewport sizes. */
@media (max-width: 991.98px) {
  #finova-sidebar .finova-submenu-item > span {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}


/* FINOVA 60%-STYLE V6 — prevent COA Posting Type from wrapping.
   Keep each data value in its own cell; do not merge columns. */
#finova-app .coa-table-card .table-responsive,
#finova-app .coa-table-card .finova-table-container,
#finova-app #coa-table-scroll {
  overflow-x: auto !important;
}
#finova-app .coa-table-card table th:nth-child(6),
#finova-app .coa-table-card table td:nth-child(6),
#finova-app #coa-table-scroll table th:nth-child(6),
#finova-app #coa-table-scroll table td:nth-child(6) {
  min-width: 155px !important;
  width: 155px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
/* Across data tables: do not split short labels, status, codes and action buttons.
   Descriptions and longer names may wrap at spaces. */
#finova-app .finova-table td .badge,
#finova-app .table td .badge,
#finova-app .finova-table td .btn,
#finova-app .table td .btn,
#finova-app .finova-table td .status-badge,
#finova-app .table td .status-badge {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
/* All Bootstrap modals: follow available viewport width at any browser zoom.
   Preserve modal drag positioning, transforms, and module-specific height/scroll. */
body .modal .modal-dialog,
body .modal .modal-dialog.modal-lg,
body .modal .modal-dialog.modal-xl,
body .finova-workspace-modal .modal-dialog {
  box-sizing: border-box !important;
  max-width: min(1180px, calc(100vw - 32px)) !important;
  width: min(100% - 32px, 1180px) !important;
  margin-left: auto;
  margin-right: auto;
}
/* Small modal variants should remain small, but still fit the viewport. */
body .modal .modal-dialog:not(.modal-lg):not(.modal-xl):not(.finova-modal-wide) {
  max-width: min(560px, calc(100vw - 32px)) !important;
}
/* FINOVA has custom-sized dialogs that may not use modal-lg/modal-xl.
   Only cap their size to the visible viewport, never alter their drag transforms. */
body .modal .modal-content {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 575.98px) {
  body .modal .modal-dialog,
  body .modal .modal-dialog.modal-lg,
  body .modal .modal-dialog.modal-xl {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-left: 8px;
    margin-right: 8px;
  }
}


/* ============================================================
   FINOVA V7 — AP PAYMENT MODAL COMPACT
   Scope: payment modal only; do not change drag/JS positioning.
   Responsive to viewport at any browser zoom.
   ============================================================ */
@media (min-width: 992px) {
  html body #accountPayablePaymentModal .modal-dialog.modal-xl {
    width: min(920px, calc(100vw - 40px)) !important;
    max-width: min(920px, calc(100vw - 40px)) !important;
  }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  html body #accountPayablePaymentModal .modal-dialog.modal-xl {
    width: calc(100vw - 32px) !important;
    max-width: 920px !important;
  }
}
#accountPayablePaymentModal .modal-content {
  font-size: 11px !important;
}
#accountPayablePaymentModal .modal-header,
#accountPayablePaymentModal .modal-footer {
  padding: 8px 12px !important;
}
#accountPayablePaymentModal .modal-body {
  padding: 10px 12px !important;
}
#accountPayablePaymentModal .ap-bulk-payment-section {
  padding: 10px 12px !important;
  border-radius: 8px !important;
}
#accountPayablePaymentModal .ap-bulk-payment-section + .ap-bulk-payment-section {
  margin-top: 10px !important;
}
#accountPayablePaymentModal .ap-bulk-payment-section-header {
  margin-bottom: 9px !important;
  gap: 8px !important;
}
#accountPayablePaymentModal .ap-bulk-payment-section-title {
  font-size: 12px !important;
}
#accountPayablePaymentModal .ap-bulk-payment-section-subtitle {
  font-size: 10.5px !important;
}
#accountPayablePaymentModal .form-label {
  font-size: 11px !important;
  margin-bottom: 4px !important;
}
#accountPayablePaymentModal .form-control:not(textarea),
#accountPayablePaymentModal .form-select {
  min-height: 30px !important;
  height: auto;
  font-size: 11px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
#accountPayablePaymentModal textarea.form-control {
  min-height: 58px !important;
  font-size: 11px !important;
}
#accountPayablePaymentModal .table,
#accountPayablePaymentModal table {
  font-size: 10.5px !important;
}
#accountPayablePaymentModal .table th,
#accountPayablePaymentModal .table td {
  padding: 5px 6px !important;
  vertical-align: middle;
}
#accountPayablePaymentModal .ap-bulk-payment-section .row {
  --bs-gutter-y: 8px;
  --bs-gutter-x: 12px;
}
#accountPayablePaymentModal .modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}


/* ================================================================
 FINOVA V8 — UNIFIED MODULE / MODAL TYPOGRAPHY AND TABLE DENSITY
 Zoom browser stays 100%. Visual CSS only; no positioning/drag logic.
 Keep text wrapping for long descriptions; do not merge table cells.
 ================================================================ */
:root {
  --finova-v8-font: 10px;
  --finova-v8-table-font: 9.5px;
  --finova-v8-label-font: 9.5px;
  --finova-v8-input-height: 28px;
}
/* Module surfaces and nested text — intentionally exclude icons and brand logo. */
#finova-content, #finova-content .card, #finova-content .card-body,
#finova-content .finova-card, #finova-content .tab-content,
#finova-content .table-responsive, #finova-content .finova-table-container,
#finova-content .dropdown-menu,
body .modal .modal-content, body .modal .modal-body,
body .modal .card, body .modal .card-body, body .modal .tab-content {
  font-size: var(--finova-v8-font) !important;
}
#finova-content h1, #finova-content .finova-page-title {font-size: 13px !important;}
#finova-content h2, #finova-content h3,
#finova-content .card-title, #finova-content .section-title,
body .modal .modal-title {font-size: 11.5px !important;line-height:1.35 !important;}
#finova-content h4, #finova-content h5,
body .modal h3, body .modal h4, body .modal h5,
body .modal .card-title, body .modal .section-title,
body .modal .ap-bulk-payment-section-title {
  font-size: 10.5px !important;line-height:1.4 !important;
}
/* All tables including dynamically created modal tables. */
#finova-app #finova-content table,
#finova-app #finova-content table th,
#finova-app #finova-content table td,
body .modal table, body .modal table th, body .modal table td,
body .modal .table, body .modal .table th, body .modal .table td {
  font-size: var(--finova-v8-table-font) !important;
  line-height: 1.35 !important;
}
#finova-app #finova-content table th,
#finova-app #finova-content table td,
body .modal table th, body .modal table td {
  padding: 4px 6px !important;
  vertical-align: middle;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
/* Never collapse or merge cells; permit horizontal scrolling when needed. */
#finova-content .table-responsive, #finova-content .finova-table-container,
body .modal .table-responsive, body .modal .finova-table-container {
  max-width: 100%; overflow-x: auto;
}
#finova-content table th, body .modal table th {white-space: nowrap;}
/* Short values / action labels should stay intact. */
#finova-content table .badge, #finova-content table .btn,
body .modal table .badge, body .modal table .btn,
#finova-content .status-badge, body .modal .status-badge {
  white-space: nowrap !important;
}
/* All form controls, labels, selects, and table filter fields. */
#finova-app #finova-content label, #finova-app #finova-content .form-label,
body .modal label, body .modal .form-label,
body .modal .ap-bulk-payment-section-subtitle {
  font-size: var(--finova-v8-label-font) !important;
  line-height: 1.35 !important;
}
#finova-app #finova-content :is(input, select, textarea, .form-control, .form-select),
body .modal :is(input, select, textarea, .form-control, .form-select) {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
#finova-app #finova-content :is(.form-control, .form-select):not(textarea),
body .modal :is(.form-control, .form-select):not(textarea) {
  min-height: var(--finova-v8-input-height) !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
#finova-app #finova-content :is(.btn, .dropdown-item, .page-link),
body .modal :is(.btn, .dropdown-item, .page-link) {
  font-size: 10px !important;
  line-height: 1.35 !important;
}
#finova-app #finova-content .btn:not(.btn-lg),
body .modal .btn:not(.btn-lg) {padding: 4px 7px !important;}
#finova-content .pagination, #finova-content .finova-pagination-wrapper,
body .modal .pagination {font-size: 9.5px !important;}
/* Make nested info values consistent without breaking description wrapping. */
#finova-content :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name),
body .modal :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name) {
  font-size: 9.5px !important;line-height:1.4 !important;
}
/* V7 payment modal had larger specific font rules; override only its typography. */
body #accountPayablePaymentModal .modal-content,
body #accountPayablePaymentModal .form-label,
body #accountPayablePaymentModal .form-control,
body #accountPayablePaymentModal .form-select {
  font-size: 10px !important;
}
body #accountPayablePaymentModal :is(table, .table, table th, table td, .table th, .table td) {
  font-size: 9.5px !important;
}
body #accountPayablePaymentModal .ap-bulk-payment-section-title {font-size: 10.5px !important;}
body #accountPayablePaymentModal .ap-bulk-payment-section-subtitle {font-size: 9.5px !important;}
/* Compact spacing between blocks, without touching modal drag/width. */
#finova-content .card-body {padding: 10px 12px;}
body .modal .modal-header {padding: 7px 10px !important;}
body .modal .modal-footer {padding: 6px 10px !important;}
/* Preserve original sidebar legibility and one-line labels from V7. */


/* ================================================================
   FINOVA V9 — CONSISTENT, READABLE COMPACT TYPOGRAPHY
   One visual scale across module tables, forms, badges and modals.
   Does not alter positioning, dragging, calculations or themes.
   ================================================================ */
:root {
  --finova-v8-font: 11px;
  --finova-v8-table-font: 11px;
  --finova-v8-label-font: 11px;
  --finova-v9-text: 11px;
  --finova-v9-heading: 12px;
  --finova-v9-badge: 10.5px;
  --finova-v9-icon: 13px;
  --finova-v8-input-height: 30px;
}
/* Module and modal text: override previous V8 font declarations. */
#finova-app #finova-content,
#finova-app #finova-content :is(.card,.card-body,.finova-card,.tab-content,.dropdown-menu),
body .modal :is(.modal-content,.modal-body,.card,.card-body,.tab-content) {
  font-size: var(--finova-v9-text) !important;
}
#finova-app #finova-content :is(table,.table,.finova-table) :is(th,td),
#finova-app #finova-content :is(table,.table,.finova-table),
body .modal :is(table,.table,.finova-table),
body .modal :is(table,.table,.finova-table) :is(th,td) {
  font-size: var(--finova-v9-text) !important;
  line-height: 1.45 !important;
}
#finova-app #finova-content :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name),
body .modal :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name),
#finova-app #finova-content :is(.gl-info-label,.gl-info-value,.journal-info-label,.journal-info-value),
body .modal :is(.gl-info-label,.gl-info-value,.journal-info-label,.journal-info-value) {
  font-size: var(--finova-v9-text) !important;
  line-height: 1.45 !important;
}
#finova-app #finova-content :is(label,.form-label,input,select,textarea,.form-control,.form-select,.btn,.dropdown-item,.page-link),
body .modal :is(label,.form-label,input,select,textarea,.form-control,.form-select,.btn,.dropdown-item,.page-link),
body #accountPayablePaymentModal :is(.modal-content,.form-label,.form-control,.form-select,table,.table),
body #accountPayablePaymentModal :is(table,.table) :is(th,td) {
  font-size: var(--finova-v9-text) !important;
  line-height: 1.4 !important;
}
#finova-app #finova-content :is(h2,h3,.card-title,.section-title),
body .modal :is(h3,h4,h5,.card-title,.section-title,.ap-bulk-payment-section-title),
body #accountPayablePaymentModal .ap-bulk-payment-section-title {
  font-size: var(--finova-v9-heading) !important;
  line-height: 1.4 !important;
}
#finova-app #finova-content :is(.badge,.status-badge,[class*="status-badge"],[class*="role-badge"],[class*="tax-badge"],[class*="type-badge"]),
body .modal :is(.badge,.status-badge,[class*="status-badge"],[class*="role-badge"],[class*="tax-badge"],[class*="type-badge"]) {
  font-size: var(--finova-v9-badge) !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  vertical-align: middle;
}
/* Icons: font icons only; do not resize logos, SVG illustrations or images. */
#finova-app #finova-content :is(.btn,.badge,.status-badge,.table,.finova-table) :is(i.fa,i.fas,i.far,i.fab,i[class*="fa-"],i[class*="bi-"]),
body .modal :is(.btn,.badge,.status-badge,.table,.finova-table) :is(i.fa,i.fas,i.far,i.fab,i[class*="fa-"],i[class*="bi-"]) {
  font-size: var(--finova-v9-icon) !important;
  line-height: 1 !important;
  vertical-align: -0.06em;
}
#finova-app #finova-content :is(.badge,.status-badge) i,
body .modal :is(.badge,.status-badge) i { margin-right: 3px; }
#finova-app #finova-content :is(.form-control,.form-select):not(textarea),
body .modal :is(.form-control,.form-select):not(textarea) {
  min-height: 30px !important;
}
/* Keep labels, codes, status, tax types and roles intact without merging cells. */
#finova-app #finova-content :is(.badge,.status-badge,[class*="role-badge"],[class*="tax-badge"]),
body .modal :is(.badge,.status-badge,[class*="role-badge"],[class*="tax-badge"]) {
  overflow-wrap: normal !important;
  word-break: normal !important;
}
#finova-app #finova-content :is(.pagination,.finova-pagination-wrapper),
body .modal .pagination { font-size: 11px !important; }
/* Preserve V7 sidebar label sizing, modal widths and drag transforms. */

/* ===============================================================
 FINOVA V10 — typography + BP fit-to-width + modal table rhythm
 Loaded last. Visual-only; no browser zoom, drag transforms or JS.
 =============================================================== */
:root {
  --finova-v9-text: 12px;
  --finova-v9-heading: 13px;
  --finova-v9-badge: 11px;
  --finova-v9-icon: 14px;
  --finova-v8-font: 12px;
  --finova-v8-table-font: 12px;
  --finova-v8-label-font: 12px;
  --finova-v8-input-height: 32px;
}
/* Normalize previously hard-coded font sizes, including modal detail views. */
#finova-app #finova-content :is(.table,.finova-table) :is(th,td,span,small),
body .modal :is(.table,.finova-table) :is(th,td,span,small),
#finova-app #finova-content :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name,.gl-info-label,.gl-info-value,.journal-info-label,.journal-info-value),
body .modal :is(.ap-info-label,.ap-info-value,.ap-description-value,.ap-vendor-name,.gl-info-label,.gl-info-value,.journal-info-label,.journal-info-value) {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
#finova-app #finova-content :is(.badge,.status-badge,[class*="role-badge"],[class*="tax-badge"],[class*="type-badge"]),
body .modal :is(.badge,.status-badge,[class*="role-badge"],[class*="tax-badge"],[class*="type-badge"]) {
  font-size: 11px !important;
  line-height: 1.3 !important;
}
#finova-app #finova-content :is(.btn,.badge,.table) :is(i.fa,i.fas,i.far,i.fab,i[class*="fa-"],i[class*="bi-"]),
body .modal :is(.btn,.badge,.table) :is(i.fa,i.fas,i.far,i.fab,i[class*="fa-"],i[class*="bi-"]) {
  font-size: 14px !important;
}
/* BP: source module CSS forces 1564px table + min-width columns.
   Override those constraints only on desktop. Preserve real columns. */
@media (min-width: 1200px) {
  #finova-app .business-partner-table-card,
  #finova-app .business-partner-table-card .table-responsive {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  #finova-app .business-partner-table-card .finova-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }
  #finova-app .business-partner-table-card .finova-table th,
  #finova-app .business-partner-table-card .finova-table td {
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding: 7px 5px !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  #finova-app .business-partner-table-card .bp-col-no { width: 4% !important; }
  #finova-app .business-partner-table-card .bp-col-code { width: 10% !important; }
  #finova-app .business-partner-table-card .bp-col-name { width: 18% !important; }
  #finova-app .business-partner-table-card .bp-col-type { width: 11% !important; }
  #finova-app .business-partner-table-card :is(.bp-col-phone,.finova-table-phone) { width: 12% !important; min-width: 0 !important; white-space: normal !important; }
  #finova-app .business-partner-table-card :is(.bp-col-email,.finova-table-email) { width: 17% !important; min-width: 0 !important; max-width: none !important; white-space: normal !important; text-overflow: clip !important; }
  #finova-app .business-partner-table-card .bp-col-tax { width: 13% !important; }
  #finova-app .business-partner-table-card .bp-col-status { width: 8% !important; }
  #finova-app .business-partner-table-card :is(.bp-col-action,.finova-table-action) { width: 7% !important; min-width: 0 !important; white-space: normal !important; }
  #finova-app .business-partner-table-card .bp-action-group { display: flex !important; flex-wrap: wrap !important; gap: 3px !important; justify-content: center !important; white-space: normal !important; }
}
/* Below laptop width, preserve usability rather than hide columns. */
@media (max-width: 1199.98px) {
  #finova-app .business-partner-table-card .table-responsive { overflow-x: auto !important; }
}
/* Modal tables and detail tables: compact but readable, no forced merged cells. */
body .modal :is(.table-responsive,.finova-table-container) { max-width: 100%; overflow-x: auto; }
body .modal :is(table,.table,.finova-table) { max-width: 100%; font-size: 12px !important; }
body .modal :is(table,.table,.finova-table) :is(th,td) {
  padding: 6px 8px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  vertical-align: middle !important;
}
body .modal :is(.form-control,.form-select):not(textarea) { min-height: 32px !important; }
/* Keep long description fields readable; do not globally set nowrap. */

/* FINOVA V11: Business Partner actions in one row, narrower NPWP. */
@media (min-width: 1200px) {
 #finova-app .business-partner-table-card .bp-col-tax { width: 10% !important; min-width: 0 !important; }
 #finova-app .business-partner-table-card :is(.bp-col-action,.finova-table-action) { width: 12% !important; min-width: 112px !important; white-space: nowrap !important; }
 #finova-app .business-partner-table-card .bp-col-name { width: 17% !important; }
 #finova-app .business-partner-table-card :is(.bp-col-email,.finova-table-email) { width: 15% !important; }
 #finova-app .business-partner-table-card .bp-action-group { display: inline-flex !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: center !important; gap: 4px !important; white-space: nowrap !important; }
 #finova-app .business-partner-table-card .bp-action-btn { flex: 0 0 auto !important; }
}
/* Payment journal preview is a visual-only panel, not the accounting logic. */
#accountPayablePaymentModal .ap-payment-journal-preview,
#accountReceivablePaymentModal .ar-payment-journal-preview { display: none !important; }
/* Keep the close control visible while the payment body scrolls. */
#accountPayablePaymentModal .modal-header,
#accountReceivablePaymentModal .modal-header { position: relative; z-index: 3; }
#accountPayablePaymentModal .modal-header .btn-close,
#accountReceivablePaymentModal .modal-header .btn-close { display: block !important; visibility: visible !important; opacity: 1 !important; flex: 0 0 auto; margin-left: 12px !important; }
/* Dashboard executive headline is an information heading, not ordinary body text. */
#finova-content .dashboard-executive-title,
#finova-content .executive-dashboard-title,
#finova-content .dashboard-header h1,
#finova-content .dashboard-header h2 { font-size: 17px !important; line-height: 1.4 !important; font-weight: 700 !important; }
/* Match AP invoice detail dialog to AR detail dialog's responsive proportions. */
@media (min-width: 992px) {
 body #accountPayableDetailModal .modal-dialog { width: min(86vw, 1120px) !important; max-width: min(86vw, 1120px) !important; }
 body #accountReceivableDetailModal .modal-dialog { width: min(86vw, 1120px) !important; max-width: min(86vw, 1120px) !important; }
}
body :is(#accountPayableDetailModal,#accountReceivableDetailModal) .modal-body { padding: 14px 16px !important; }
body :is(#accountPayableDetailModal,#accountReceivableDetailModal) :is(.form-control,.form-select) { font-size: 12px !important; min-height: 34px !important; }

#finova-content .finova-executive-heading { font-size: 17px !important; font-weight: 700 !important; line-height: 1.4 !important; }

/* FINOVA — Detail Invoice AP sama dengan AR */

@media (min-width: 992px) {
  html body #accountPayableDetailModal
  .modal-dialog.modal-lg.modal-dialog-centered {
    width: min(1120px, calc(100vw - 32px)) !important;
    max-width: 1120px !important;
  }
}
@media (max-width: 991.98px) {
  html body #accountPayableDetailModal#accountPayableDetailModal.modal > .modal-dialog.modal-lg,
  html body #accountReceivableDetailModal#accountReceivableDetailModal.modal > .modal-dialog.modal-lg {
    box-sizing: border-box !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
  }
}
/* FINOVA V13 — Samakan Detail AP dengan Detail AR */

@media (min-width: 992px) {
  html body #accountPayableDetailModal
  .modal-dialog.modal-lg.modal-dialog-centered {
    width: min(1120px, calc(100vw - 32px)) !important;
    max-width: 1120px !important;
  }
}

/* FINOVA — Posisi tombol X modal AP Payment */

#accountPayablePaymentModal .modal-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
}

#accountPayablePaymentModal .modal-header .btn-close,
#accountPayablePaymentModal .modal-header .close {
    margin-left: auto !important;
    flex-shrink: 0 !important;
}