/* Shared enterprise search framework: presentation-only rules. */
.dnet-form,
.standard-search-form {
  min-width: 0;
}

/* Shared form-grid standard. Every field is a label/field pair; the grid
   repeats that pair across the available width and collapses responsively. */
.dnet-grid,
.standard-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  min-width: 0;
}

.dnet-grid--3,
.standard-form-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dnet-field,
.standard-form-field {
  display: grid;
  grid-template-columns: minmax(132px, .85fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.dnet-field > label,
.standard-form-field > label {
  min-width: 0;
  color: #21483a;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: right;
}

.dnet-field > input:not([type="hidden"]),
.dnet-field > select,
.dnet-field > textarea,
.standard-form-field > input:not([type="hidden"]),
.standard-form-field > select,
.standard-form-field > textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #cbded5;
  border-radius: 6px;
  background: #fff;
  color: #203c30;
  font: inherit;
}

.dnet-field > input:not([type="hidden"]):focus,
.dnet-field > select:focus,
.dnet-field > textarea:focus,
.standard-form-field > input:not([type="hidden"]):focus,
.standard-form-field > select:focus,
.standard-form-field > textarea:focus {
  border-color: #0b945c;
  outline: 2px solid #cbe8da;
  outline-offset: 1px;
}

.dnet-form > .dnet-button,
.standard-search-form > .dnet-button {
  margin-top: 14px;
}

.standard-form-section {
  margin: 18px 0 10px;
  padding: 9px 12px;
  border: 1px solid #d5e2dc;
  border-radius: 6px;
  color: #17352b;
  background: #f4f8f6;
  font-size: 1rem;
  font-weight: 700;
}

/* Configuration groups are real fieldsets, not section-heading bars. Keep
   their controls on a light surface so labels, inputs and legends remain
   readable while the shared heading treatment stays reserved for headings. */
.standard-form-fieldset {
  min-width: 0;
  margin: 14px 0;
  padding: 14px 16px 16px;
  border: 1px solid #d5e2dc;
  border-radius: 6px;
  background: #fff;
  color: #17352b;
}
.standard-form-fieldset > legend {
  padding: 0 8px;
  color: #17352b;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
}
.standard-form-fieldset .standard-form-grid { margin-top: 4px; }
.standard-form-fieldset > .button { margin-top: 12px; }

.standard-form-field--checkbox { grid-template-columns: minmax(132px, .85fr) minmax(0, 1.35fr); }
.standard-form-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.standard-form-stack .standard-form-field { max-width: 760px; }
.standard-form-field--checkbox > .standard-form-field__control { display: flex; align-items: center; gap: 8px; min-height: 34px; }
.standard-form-field__control input[type="checkbox"],
.standard-form-field__control input[type="radio"] { flex: 0 0 auto; width: auto; }
.standard-form-readonly { min-height: 34px; padding: 8px 0; color: #355148; }
.standard-form-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.standard-admin-form { box-sizing: border-box; padding: 18px; border: 1px solid #d5e2dc; border-radius: 8px; background: #fff; }
.standard-form-actions .formbutton,
.standard-admin-form > .formbutton { min-height: 36px; padding: 8px 16px; border: 1px solid #087b4c; border-radius: 6px; color: #fff; background: #087b4c; font: inherit; font-weight: 700; cursor: pointer; }
.access-point-assignment-list { display: grid; gap: 4px; padding: 8px; border: 1px solid #e0ebe5; border-radius: 6px; background: #fbfdfc; }
.access-point-assignment-list__row { display: flex; align-items: center; gap: 8px; min-height: 30px; padding: 4px 8px; border-bottom: 1px solid #edf3ef; color: #24483a; }
.access-point-assignment-list__row:last-child { border-bottom: 0; }
.internal-user-access-table { width: 100%; border-collapse: collapse; background: #fff; }
.internal-user-access-table th, .internal-user-access-table td { padding: 8px 10px; border-bottom: 1px solid #e6eee9; text-align: left; vertical-align: middle; }
.internal-user-access-table th { color: #176c4a; background: #f1f7f3; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.internal-user-access-table th:first-child, .internal-user-access-table td:first-child { width: 72px; text-align: center; }
.access-point-assignment-list__row.is-child { padding-left: 28px; }

/* DEKRA Net Classic density: keep familiar business screens compact and
   information-rich while applying one predictable alignment system. */
.standard-form-grid { gap: 7px 18px; }
.standard-form-field { grid-template-columns: minmax(128px, .78fr) minmax(0, 1.42fr); gap: 7px; }
.dnet-field > label,
.standard-form-field > label { font-size: 12px; }
.dnet-field > input:not([type="hidden"]),
.dnet-field > select,
.dnet-field > textarea,
.standard-form-field > input:not([type="hidden"]),
.standard-form-field > select,
.standard-form-field > textarea { min-height: 30px; padding: 5px 7px; border-radius: 3px; }
.standard-form-section { margin: 12px 0 6px; padding: 6px 10px; border: 0; border-radius: 2px; color: #fff; background: #006b47; font-size: 13px; }
.standard-admin-form { padding: 12px; border-radius: 3px; box-shadow: none; }
.standard-form-actions { margin-top: 10px; gap: 6px; }
.dnet-container.customer-search { width: 100%; max-width: none; margin: 0; padding: 0; }
.customer-search > .dnet-card { padding: 12px; border: 1px solid #d5e2dc; border-radius: 3px; box-shadow: none; }
.customer-search .dnet-grid { gap: 7px 18px; }
.customer-search .dnet-button { min-height: 30px; margin-top: 9px; padding: 5px 14px; border-radius: 3px; }
.standard-search-panel { border-radius: 3px; box-shadow: none; }
.standard-search-fields { gap: 7px 14px; }
.standard-search-actions { margin-top: 9px; }

/* Transitional presentation for older Twig forms that still contain a
   field table. This is deliberately shared and only targets tables carrying
   form-label cells; result/data tables are left untouched. */
.app-main form > table:has(td.formlabel),
.app-main form > table:has(td.formlabelrequired) {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 7px;
}

.app-main form > table:has(td.formlabel) > tbody > tr > td.formlabel,
.app-main form > table:has(td.formlabel) > tbody > tr > td.formlabelrequired,
.app-main form > table:has(td.formlabelrequired) > tbody > tr > td.formlabel,
.app-main form > table:has(td.formlabelrequired) > tbody > tr > td.formlabelrequired {
  width: 22%;
  min-width: 150px;
  padding: 5px 14px 5px 0;
  color: #21483a;
  font-weight: 700;
  text-align: right;
  vertical-align: middle;
}

.app-main form > table:has(td.formlabel) > tbody > tr > td:not(.formlabel):not(.formlabelrequired),
.app-main form > table:has(td.formlabelrequired) > tbody > tr > td:not(.formlabel):not(.formlabelrequired) {
  min-width: 0;
  padding: 5px 0;
}

.app-main form > table:has(td.formlabel) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.app-main form > table:has(td.formlabel) select,
.app-main form > table:has(td.formlabel) textarea,
.app-main form > table:has(td.formlabelrequired) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.app-main form > table:has(td.formlabelrequired) select,
.app-main form > table:has(td.formlabelrequired) textarea {
  box-sizing: border-box;
  width: min(100%, 520px);
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #cbded5;
  border-radius: 6px;
  background: #fff;
  color: #203c30;
  font: inherit;
}

.dnet-form--compact .dnet-grid,
.standard-form-grid--compact {
  gap: 8px 16px;
}

@media (max-width: 1180px) {
  .dnet-grid--3,
  .standard-form-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .dnet-grid,
  .dnet-grid--3,
  .standard-form-grid,
  .standard-form-grid--3 {
    grid-template-columns: minmax(0, 1fr);
  }

  .dnet-field,
  .standard-form-field {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .dnet-field > label,
  .standard-form-field > label {
    text-align: left;
  }

  .standard-form-field--checkbox { grid-template-columns: minmax(0, 1fr); }

  .app-main form > table:has(td.formlabel) > tbody > tr > td.formlabel,
  .app-main form > table:has(td.formlabel) > tbody > tr > td.formlabelrequired,
  .app-main form > table:has(td.formlabelrequired) > tbody > tr > td.formlabel,
  .app-main form > table:has(td.formlabelrequired) > tbody > tr > td.formlabelrequired {
    width: auto;
    min-width: 0;
    padding: 4px 0;
    text-align: left;
  }
}

.enterprise-search-page,
.search-screen { color: #17352b; }
.enterprise-search-page > div:first-child,
.search-screen > div:first-child { background: #fff; border: 1px solid #d5e2dc; border-radius: 10px; padding: 12px; box-sizing: border-box; }
.enterprise-search-page > div:first-child > table,
.search-screen > div:first-child > table { width: 100%; }

/* Resource results are a primary work surface, not a narrow status widget. */
.app-main:has(> form#resource_search_form) > table.form_noncontrol {
  width: 100%;
  min-width: 760px;
  margin-top: 8px;
  table-layout: auto;
}
.app-main form#resource_search_form + table.form_noncontrol {
  width: 100%;
  min-width: 760px;
  margin-top: 8px;
}

.enterprise-search-page #resource_search_matrix_form + table.form_noncontrol {
  display: table;
  width: 100%;
  max-width: none;
  margin: 12px 0 0;
  table-layout: auto;
}
.app-main:has(> form#resource_search_form) > table.form_noncontrol th,
.app-main:has(> form#resource_search_form) > table.form_noncontrol td {
  padding: 8px 10px;
}
.invoice-search-page .resource-result-row { cursor: pointer; }
.invoice-search-page .resource-result-row:hover,
.invoice-search-page .resource-result-row:focus-visible { background: #eaf6ef; outline: 2px solid #0b8750; outline-offset: -2px; }
.enterprise-search-page [id$="Results"],
.enterprise-search-page [id$="_results"],
.search-screen [id$="Results"],
.search-screen [id$="_results"] { box-sizing: border-box; min-height: 44px; margin-top: 8px; padding: 10px; border: 1px solid #d5e2dc; border-radius: 8px; background: #fff; }
.enterprise-search-page [id$="Progress"],
.enterprise-search-page [id$="_progress"],
.search-screen [id$="Progress"],
.search-screen [id$="_progress"] { display: block; min-height: 24px; padding: 8px 10px; border-top: 1px solid #d5e2dc; background: #edf6f1; color: #21483a; }
.enterprise-search-page > .search-results,
.search-screen > .search-results { margin-top: 12px; padding: 12px; border: 1px solid #d5e2dc; border-radius: 10px; background: #fff; }
.enterprise-search-page .search-panel,
.search-screen .search-panel { background: #fff; border: 1px solid #d5e2dc; border-radius: 10px; padding: 12px; }
.enterprise-search-page .search-panel__table,
.search-screen .search-panel__table { border-collapse: separate; border-spacing: 6px 5px; }
.enterprise-search-page .search-panel__label,
.search-screen .search-panel__label { color: #21483a; font-weight: 600; }
.enterprise-search-page .search-panel__input,
.search-screen .search-panel__input { box-sizing: border-box; min-height: 44px; width: min(100%, 280px) !important; padding: 8px 10px; border: 1px solid #a9c3b7; border-radius: 7px; background: #fff; }
.enterprise-search-page .search-panel select,
.search-screen .search-panel select { min-height: 44px; }
.enterprise-search-page .search-panel__actions,
.search-screen .search-panel__actions { padding: 10px 0; border: 0; }
.enterprise-search-page .search-panel__submit,
.search-screen .search-panel__submit { min-height: 44px; border-radius: 7px; }
.enterprise-search-page .search-panel__status,
.search-screen .search-panel__status { min-height: 24px; }
.enterprise-search-page .search-panel__results-wrap,
.search-screen .search-panel__results-wrap { padding-top: 8px; }
.enterprise-search-page .search-panel__results,
.search-screen .search-panel__results { overflow-x: auto; border: 0 !important; }
.enterprise-search-page table.form_noncontrol,
.enterprise-search-page table.result_set,
.search-screen table.form_noncontrol,
.search-screen table.result_set { width: 100%; border-collapse: separate; border-spacing: 0; }
.enterprise-search-page table.form_noncontrol th,
.enterprise-search-page table.result_set th,
.search-screen table.form_noncontrol th,
.search-screen table.result_set th { position: sticky; top: 0; z-index: 1; padding: 9px 8px; background: #edf6f1; color: #21483a; text-align: left; white-space: nowrap; }
.enterprise-search-page table.form_noncontrol td,
.enterprise-search-page table.result_set td,
.search-screen table.form_noncontrol td,
.search-screen table.result_set td { padding: 8px; border-bottom: 1px solid #e2ebe6; vertical-align: top; }
.enterprise-search-page table.form_noncontrol tbody tr:hover,
.enterprise-search-page table.result_set tbody tr:hover,
.search-screen table.form_noncontrol tbody tr:hover,
.search-screen table.result_set tbody tr:hover { background: #f5faf7; }
.enterprise-search-page button,
.enterprise-search-page input[type="button"],
.enterprise-search-page input[type="submit"],
.search-screen button,
.search-screen input[type="button"],
.search-screen input[type="submit"] { min-height: 44px; cursor: pointer; }
@media (max-width: 760px) {
  .enterprise-search-page .search-panel__table,
  .search-screen .search-panel__table { display: block; }
  .enterprise-search-page .search-panel__table tbody,
  .enterprise-search-page .search-panel__table tr,
  .search-screen .search-panel__table tbody,
  .search-screen .search-panel__table tr { display: block; }
  .enterprise-search-page .search-panel__table td,
  .search-screen .search-panel__table td { display: block; width: auto !important; text-align: left !important; }
  .enterprise-search-page .search-panel__table td:empty,
  .search-screen .search-panel__table td:empty { display: none; }
}
@media (prefers-reduced-motion: reduce) { .enterprise-search-page *, .search-screen * { scroll-behavior: auto !important; transition: none !important; } }

.lr-results-card { margin-top: 12px; overflow: hidden; border: 1px solid #d5e2dc; border-radius: 10px; background: #fff; }
.dnet-container.license-registration-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.license-registration-page > .dnet-card,
.license-registration-page > .license-registration-results {
  width: 100%;
  box-sizing: border-box;
}
.lr-tabs { display: flex; gap: 4px; padding: 8px 10px 0; border-bottom: 1px solid #d5e2dc; background: #edf6f1; }
.lr-tabs a { display: inline-block; padding: 9px 14px; color: #075f3d; font-weight: 700; text-decoration: none; border-radius: 7px 7px 0 0; }
.lr-tabs a:hover, .lr-tabs a:focus-visible, .lr-tabs a.is-active { color: #fff; background: #087b4c; }
.lr-tabs a[aria-current="false"] { color: #075f3d; background: transparent; }
.lr-results-panel { min-height: 84px; padding: 12px; }
.lr-results__message, .lr-empty { margin: 0; padding: 18px; color: #527064; text-align: center; }
.lr-table-wrap { overflow-x: auto; }
.lr-results-table { min-width: 900px; }
.lr-results-table .lr-number { text-align: right; white-space: nowrap; }
.lr-results-table td:nth-last-child(-n+2), .lr-results-table th:nth-last-child(-n+2) { width: 54px; text-align: center; }
.lr-results-table a { color: #087b4c; font-weight: 700; text-decoration: none; }
.lr-results-table a:hover, .lr-results-table a:focus-visible { text-decoration: underline; }
.lr-pagination { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 10px; }
.lr-pagination a, .lr-pagination span { min-width: 30px; padding: 5px 8px; border: 1px solid #d5e2dc; border-radius: 5px; text-align: center; text-decoration: none; }
.lr-pagination a { color: #087b4c; }
.lr-pagination span { color: #fff; background: #087b4c; }
.voucher-results-table-wrap { overflow-x: auto; }
.voucher-results-table-wrap .result_set { min-width: 1050px; }
.voucher-results-table-wrap .result_set th:last-child, .voucher-results-table-wrap .result_set td:last-child { min-width: 150px; white-space: nowrap; }
.voucher-results-table-wrap .result_set td:last-child a { display: inline-flex; align-items: center; margin-right: 7px; vertical-align: middle; }
.voucher-results-table-wrap .result_set td:last-child img { display: block; object-fit: contain; }
form[name="voucher_search"], form[name="cs_search"] { color: #17352b; }
form[name="voucher_search"] button, form[name="cs_search"] button, button[onclick*="uploadFile"] { min-height: 44px; padding: 10px 22px; border: 1px solid #087b4c; border-radius: 8px; color: #fff; background: #0b9b61; box-shadow: 0 6px 14px rgba(6,126,78,.18); font-weight: 800; cursor: pointer; }
form[name="voucher_search"] button:hover, form[name="cs_search"] button:hover, button[onclick*="uploadFile"]:hover { background: #087b4c; }

/* Result fragments are injected asynchronously and may not inherit the form wrapper. */
table.result_set { width: 100%; border-collapse: separate; border-spacing: 0; }
table.result_set th { position: sticky; top: 0; z-index: 1; padding: 9px 8px; background: #edf6f1; color: #21483a; text-align: left; white-space: nowrap; }
table.result_set td { padding: 8px; border-bottom: 1px solid #e2ebe6; vertical-align: top; }

/* Voucher search screens use the same compact filter and results language as
   transaction search, while retaining their existing markup and behavior. */
.dnet-container.voucher-search-screen,
.dnet-container.voucher-customer-search-screen { width: 100%; max-width: none; margin: 0; box-sizing: border-box; padding: 0; color: #17352b; }
.voucher-search-screen > .dnet-card,
.voucher-customer-search-screen > .dnet-card { padding: 14px 16px; border: 1px solid #d7e2dc; border-radius: 6px; background: #fff; box-shadow: 0 4px 14px rgba(18,52,71,.05); }
.voucher-search-screen .standard-search-fields,
.voucher-customer-search-screen .standard-search-fields { margin: 0; }
.voucher-search-screen .standard-search-fields > .dnet-field,
.voucher-customer-search-screen .standard-search-fields > .dnet-field { min-width: 0; }
.voucher-search-screen .standard-search-form > .dnet-button,
.voucher-customer-search-screen .standard-search-form > .dnet-button { justify-self: center; min-width: 200px; min-height: 34px; padding: 7px 18px; border: 1px solid #087b4c; border-radius: 6px; color: #fff; background: #087b4c; font: inherit; font-weight: 700; box-shadow: 0 4px 10px rgba(6,126,78,.14); transition: background .16s ease, box-shadow .16s ease, transform .16s ease; }
.voucher-search-screen .standard-search-form > .dnet-button:hover,
.voucher-search-screen .standard-search-form > .dnet-button:focus-visible,
.voucher-customer-search-screen .standard-search-form > .dnet-button:hover,
.voucher-customer-search-screen .standard-search-form > .dnet-button:focus-visible { background: #006b47; box-shadow: 0 6px 14px rgba(6,126,78,.2); transform: translateY(-1px); }
.voucher-search-screen > .form_noncontrol,
.voucher-customer-search-screen > .form_noncontrol { display: table; width: 100%; margin-top: 12px; border: 1px solid #d7e2dc; border-radius: 6px; overflow: hidden; background: #fff; }
.voucher-search-screen > .result_set,
.voucher-customer-search-screen > .result_set { margin-top: 12px; }
@media (max-width: 760px) {
  .voucher-search-screen,
  .voucher-customer-search-screen { padding: 0; }
  .voucher-search-screen > .dnet-card,
  .voucher-customer-search-screen > .dnet-card { padding: 10px; }
}
table.result_set tbody tr:hover { background: #f5faf7; }
.app-data-table--transactions tbody tr.transaction-result-row--invoice { background: #fff; }
.app-data-table--transactions tbody tr.transaction-result-row--credited { background: #ffe2e2; }
.app-data-table--transactions tbody tr.transaction-result-row--quote { background: #fff0d2; }
.app-data-table--transactions tbody tr.transaction-result-row td { border-bottom: 1px solid #d5e2dc; }
.app-data-table--transactions tbody tr.transaction-result-row:hover { background: #f5faf7; }
form[name*="search"], form[id*="search"], form[name="bs_search"], form[name="voucher_search"] { max-width: 100%; }
form[name*="search"], form[id*="search"], form[name="bs_search"], form[name="voucher_search"] { box-sizing: border-box; padding: 12px; border: 1px solid #d5e2dc; border-radius: 10px; background: #fff; }
form[name*="search"] input:not([type="hidden"]), form[name*="search"] select,
form[id*="search"] input:not([type="hidden"]), form[id*="search"] select,
form[name="bs_search"] input:not([type="hidden"]), form[name="bs_search"] select,
form[name="voucher_search"] input:not([type="hidden"]), form[name="voucher_search"] select { min-height: 44px; box-sizing: border-box; }
/* Standard width for the value controls in every shared search layout. The
   rule intentionally overrides legacy inline widths so both columns remain
   readable and consistent across search, lookup and result screens. */
.enterprise-search-page input:not([type="hidden"]),
.enterprise-search-page select,
.search-screen input:not([type="hidden"]),
.search-screen select { width: min(100%, 280px) !important; }
[id$="Results"], [id$="_results"] { box-sizing: border-box; border: 1px solid #d5e2dc; border-radius: 8px; background: #fff; }
.pos-customer-search-panel { margin: 0 0 16px; padding: 18px; border: 1px solid #d5e2dc; border-radius: 12px; background: #fff; box-shadow: 0 8px 22px rgba(23,53,43,.05); }
.pos-customer-search-panel h2, .pos-customer-search-panel h3 { margin: 0 0 12px; color: #123f31; }
.pos-customer-search-panel h3 { margin-top: 18px; font-size: 1rem; }
.invoice-success-message { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 13px 16px; border: 1px solid #a8d8bd; border-left: 4px solid #008143; border-radius: 8px; color: #124d36; background: #eef9f2; box-shadow: 0 3px 10px rgba(18,52,71,.06); font-size: .92rem; }
.invoice-success-message strong { color: #005b3a; }
.invoice-success-message a { margin-left: auto; padding: 7px 13px; border-radius: 6px; color: #fff; background: #008143; font-weight: 700; text-decoration: none; white-space: nowrap; }
.invoice-success-message a:hover, .invoice-success-message a:focus-visible { background: #006b38; outline: 2px solid #9bd3b5; outline-offset: 2px; }
.pos-customer-search-panel table { border-collapse: separate; border-spacing: 6px 7px; }
.pos-customer-search-panel input:not([type="hidden"]), .pos-customer-search-panel select { min-height: 44px; box-sizing: border-box; }
.pos-customer-search-panel #custSearchResults { min-height: 36px; margin-top: 8px; overflow-x: auto; }

/* Report library selection states keep the current report obvious while the
   selected report's options remain in the adjacent setup panel. */
.report-library-panel--menu tbody tr { transition: background-color .12s ease, box-shadow .12s ease; }
.report-library-panel--menu > table { width: 100%; margin-top: 14px; border: 1px solid #d5e2dc; border-radius: 10px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.report-library-panel--menu > table tbody tr:nth-child(odd) { background: #fff; }
.report-library-panel--menu > table tbody tr:nth-child(even) { background: #edf6f1; }
.report-library-panel--menu > table tbody tr td { border-bottom: 1px solid #d5e2dc; }
.report-library-panel--menu > table tbody tr:last-child td { border-bottom: 0; }
.report-library-panel--menu tbody tr:hover { background: #eef8f3; box-shadow: inset 3px 0 0 #07844a; }
.report-library-panel--menu tbody tr.is-selected { background: #dff2e8; box-shadow: inset 4px 0 0 #07844a; }
.report-library-panel--menu tbody tr.is-selected a { color: #075f3b; font-weight: 700; }
.report-library-panel--menu a { display: block; padding: 6px 10px; border-radius: 5px; }
.report-library-panel--menu a:focus-visible { outline: 3px solid #1a8fce; outline-offset: 2px; }

/* Report library: presentation-only card layout. Report URLs and option form
   fields remain unchanged; all rules are scoped to this screen. */
.report-library-screen { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); gap: 18px; width: 100%; min-width: 0; box-sizing: border-box; color: #17352b; }
.report-library-screen .report-library-panel { min-width: 0; box-sizing: border-box; padding: 18px; border: 1px solid #d5e2dc; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(23,53,43,.06); }
.report-library-screen .report-library-panel--menu { display: flex; flex-direction: column; min-height: 0; }
.report-library-screen .report-library-panel--options { align-self: start; }
.report-library-panel__eyebrow { margin-bottom: 4px; color: #07844a; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.report-library-panel__heading-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.report-library-panel__title { margin: 0; color: #123f31; font-size: 20px; line-height: 1.25; }
.report-library-panel__subtitle { margin: 6px 0 0; color: #527064; font-size: 13px; line-height: 1.45; }
.report-library-count { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; color: #075f3b; background: #edf6f1; font-size: 12px; font-weight: 700; white-space: nowrap; }
.report-library-search { margin: 16px 0 12px; }
.report-library-search label { display: block; margin-bottom: 6px; color: #21483a; font-size: 12px; font-weight: 700; }
.report-library-search__control { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 10px; border: 1px solid #a9c3b7; border-radius: 7px; background: #fff; }
.report-library-search__control > span { color: #07844a; font-size: 20px; line-height: 1; }
.report-library-search__control input { flex: 1 1 auto; min-width: 0; height: 38px; border: 0; outline: 0; color: #17352b; background: transparent; font: inherit; }
.report-library-search__control:focus-within { border-color: #07844a; box-shadow: 0 0 0 3px rgba(8,132,74,.14); }
.report-library-search__clear { color: #075f3b; font-size: 12px; font-weight: 700; text-decoration: none; }
.report-library-list { max-height: calc(100vh - 330px); min-height: 180px; overflow-y: auto; padding-right: 5px; }
.report-library-category { margin: 12px 2px 6px; color: #527064; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.report-library-category:first-child { margin-top: 2px; }
.report-library-card { display: flex; align-items: stretch; margin-bottom: 7px; border: 1px solid #d5e2dc; border-radius: 7px; background: #fff; transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease; }
.report-library-card:hover { border-color: #88bba4; background: #f5faf7; box-shadow: 0 3px 10px rgba(23,53,43,.07); }
.report-library-card.is-selected { border-color: #07844a; background: #edf8f1; box-shadow: inset 4px 0 0 #07844a, 0 3px 10px rgba(23,53,43,.08); }
.report-library-card__link { display: flex; flex: 1 1 auto; align-items: center; gap: 10px; min-width: 0; padding: 10px 11px; color: #17352b; text-decoration: none; }
.report-library-card__link:focus-visible, .report-library-card__favorite:focus-visible { outline: 3px solid #1a8fce; outline-offset: 2px; }
.report-library-card__icon { display: inline-flex; flex: 0 0 28px; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 7px; color: #07844a; background: #e8f6ee; font-size: 17px; }
.report-library-card__content { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.report-library-card__content strong { overflow: hidden; color: #123f31; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.report-library-card__content small { overflow: hidden; color: #527064; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.report-library-card__favorite { flex: 0 0 38px; border: 0; border-left: 1px solid #e2ebe6; border-radius: 0 7px 7px 0; color: #527064; background: transparent; cursor: pointer; font-size: 19px; }
.report-library-card__favorite:hover, .report-library-card__favorite.is-favorite { color: #07844a; background: #e8f6ee; }
.report-library-shortcuts { display: grid; gap: 10px; }
.report-library-shortcuts__section[hidden] { display: none; }
.report-library-subheading { margin-bottom: 5px; color: #527064; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.report-library-shortcuts__list { display: grid; gap: 4px; }
.report-library-shortcut-item { display: flex; align-items: center; min-width: 0; border: 1px solid #d5e2dc; border-radius: 6px; background: #f8fbf9; }
.report-library-shortcut { flex: 1 1 auto; min-width: 0; padding: 7px 9px; color: #075f3b; font-size: 12px; font-weight: 700; text-decoration: none; }
.report-library-shortcut-item .report-library-card__favorite { flex-basis: 32px; }
.report-library-empty { margin: 14px 0; padding: 16px; border: 1px dashed #a9c3b7; border-radius: 7px; color: #527064; text-align: center; }
.report-library-panel--options .report-options-table { width: 100%; margin-top: 14px; border: 1px solid #d5e2dc; border-radius: 7px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.report-library-panel--options .report-options-table tr:nth-child(odd) { background: #f5faf7; }
.report-library-panel--options .report-options-table td { padding: 10px 12px; border-bottom: 1px solid #e2ebe6; vertical-align: middle; }
.report-library-panel--options .report-options-table tr:last-child td { border-bottom: 0; }
.report-library-panel--options .report-options-table .formlabel { width: 34%; color: #21483a; font-size: 12px; font-weight: 700; }
.report-library-panel--options .report-options-table input:not([type="hidden"]), .report-library-panel--options .report-options-table select { box-sizing: border-box; width: 100%; min-height: 38px; padding: 7px 9px; border: 1px solid #a9c3b7; border-radius: 6px; background: #fff; color: #17352b; font: inherit; }
.report-library-panel--options .report-options-table input:focus, .report-library-panel--options .report-options-table select:focus { border-color: #07844a; outline: 0; box-shadow: 0 0 0 3px rgba(8,132,74,.13); }
.report-library-panel--options .report-options-table .filter-scroll-container { max-height: 250px; overflow-y: auto; overflow-x: hidden; padding: 8px; border: 1px solid #d5e2dc; border-radius: 6px; background: #fff; }
.report-library-panel--options .report-options-table .filter-scroll-container label { display: block; margin-bottom: 5px; color: #21483a; }
.report-library-panel--options .report-options-table__actions, .report-library-panel--options .report-options-table__outputs { padding-top: 13px; }
.report-library-panel--options .report-options-table__button { min-height: 38px; padding: 8px 16px; border: 1px solid #07844a; border-radius: 6px; color: #fff; background: #07844a; font: inherit; font-weight: 700; cursor: pointer; }
.report-library-panel--options .report-options-table__button:hover, .report-library-panel--options .report-options-table__button:focus-visible { background: #006b47; }
@media (max-width: 900px) {
  .report-library-screen { grid-template-columns: 1fr; }
  .report-library-list { max-height: 55vh; }
}
@media (max-width: 560px) {
  .report-library-screen .report-library-panel { padding: 13px; }
  .report-library-panel__heading-row { display: block; }
  .report-library-count { display: inline-block; margin-top: 9px; }
  .report-library-panel--options .report-options-table, .report-library-panel--options .report-options-table tbody, .report-library-panel--options .report-options-table tr, .report-library-panel--options .report-options-table td { display: block; width: 100%; box-sizing: border-box; }
  .report-library-panel--options .report-options-table .formlabel { width: 100%; padding-bottom: 4px; }
}

/* Compact report-library variant: dense list navigation rather than tiles. */
.report-library-screen--compact { gap: 12px; }
.report-library-screen--compact .report-library-panel { padding: 12px; border-radius: 7px; box-shadow: 0 2px 8px rgba(23,53,43,.045); }
.report-library-screen--compact .report-library-panel__eyebrow { margin-bottom: 2px; font-size: 10px; }
.report-library-screen--compact .report-library-panel__title { font-size: 17px; }
.report-library-screen--compact .report-library-count { padding: 3px 8px; font-size: 11px; }
.report-library-screen--compact .report-library-search { margin: 9px 0 8px; }
.report-library-screen--compact .report-library-search label { margin-bottom: 4px; font-size: 11px; }
.report-library-screen--compact .report-library-search__control { min-height: 34px; padding: 0 8px; border-radius: 6px; }
.report-library-screen--compact .report-library-search__control input { height: 32px; font-size: 12px; }
.report-library-screen--compact .report-library-list { max-height: calc(100vh - 230px); min-height: 120px; padding-right: 2px; }
.report-library-screen--compact .report-library-category { margin: 8px 2px 3px; font-size: 10px; }
.report-library-screen--compact .report-library-card { min-height: 0; margin-bottom: 2px; border-width: 0 0 1px; border-radius: 0; box-shadow: none; }
.report-library-screen--compact .report-library-card:hover { box-shadow: inset 3px 0 0 #07844a; }
.report-library-screen--compact .report-library-card.is-selected { box-shadow: inset 3px 0 0 #07844a; }
.report-library-screen--compact .report-library-card__link { padding: 5px 7px; }
.report-library-screen--compact .report-library-card__content strong { font-size: 12px; font-weight: 600; }
.report-library-screen--compact .report-library-card__favorite { flex-basis: 28px; border-left: 0; font-size: 16px; }
.report-library-screen--compact .report-library-shortcuts--compact { margin: 2px 0 7px; }
.report-library-screen--compact .report-library-subheading { margin-bottom: 3px; font-size: 10px; }
.report-library-screen--compact .report-library-shortcut-item { border-width: 0 0 1px; border-radius: 0; }
.report-library-screen--compact .report-library-shortcut { padding: 5px 7px; font-size: 12px; }
.report-library-screen--compact .report-library-empty { margin: 8px 0; padding: 10px; font-size: 12px; }
.report-library-screen--compact .report-library-panel--options .report-options-table { margin-top: 8px; border-radius: 6px; }
.report-library-screen--compact .report-library-panel--options .report-options-table td { padding: 7px 9px; }
.report-library-screen--compact .report-library-panel--options .report-options-table input:not([type="hidden"]), .report-library-screen--compact .report-library-panel--options .report-options-table select { min-height: 34px; padding: 5px 8px; font-size: 12px; }

.report-multiselect { position: relative; }
.report-multiselect__trigger { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 34px; padding: 6px 9px; border: 1px solid #a9c3b7; border-radius: 6px; color: #21483a; background: #fff; font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.report-multiselect__trigger span:first-child { flex: 1 1 auto; }
.report-multiselect__count { color: #527064; font-size: 11px; white-space: nowrap; }
.report-multiselect__trigger:focus-visible { border-color: #07844a; outline: 0; box-shadow: 0 0 0 3px rgba(8,132,74,.13); }
.report-multiselect__panel { position: absolute; z-index: 20; top: calc(100% + 4px); right: 0; left: 0; padding: 7px; border: 1px solid #a9c3b7; border-radius: 6px; background: #fff; box-shadow: 0 6px 16px rgba(23,53,43,.14); }
.report-multiselect__panel[hidden] { display: none; }
.report-multiselect__search { box-sizing: border-box; width: 100%; min-height: 32px; margin-bottom: 6px; padding: 5px 8px; border: 1px solid #d5e2dc; border-radius: 5px; font: inherit; font-size: 12px; }
.report-multiselect__options { max-height: 220px; overflow-y: auto; }
.report-multiselect__options label { display: flex; align-items: center; gap: 6px; padding: 5px 3px; color: #21483a; font-size: 12px; cursor: pointer; }
.report-multiselect__options label:hover { background: #edf6f1; }
.report-multiselect__options label[hidden] { display: none; }

/* Dense ERP-style report navigation and filters. Keep this scope limited to
   the report library so report routes and shared form controls are unchanged. */
.report-library-screen--compact { display: grid; grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); gap: 16px; width: 100%; color: #17352b; }
.report-library-screen--compact .report-library-panel { min-width: 0; padding: 10px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.report-library-screen--compact .report-library-panel--menu { display: flex; flex-direction: column; min-height: 0; }
.report-library-screen--compact .report-library-panel--options { align-self: start; }
.report-library-screen--compact .report-library-panel__eyebrow { margin: 0 0 2px; color: #527064; font-size: 10px; letter-spacing: .08em; }
.report-library-screen--compact .report-library-panel__title { margin: 0; color: #17352b; font-size: 16px; line-height: 1.25; }
.report-library-screen--compact .report-library-panel__subtitle { margin: 4px 0 0; color: #527064; font-size: 12px; }
.report-library-screen--compact .report-library-count { padding: 0; color: #527064; background: transparent; font-size: 11px; font-weight: 600; }
.report-library-screen--compact .report-library-search { margin: 10px 0 8px; }
.report-library-screen--compact .report-library-search label { margin-bottom: 3px; font-size: 11px; }
.report-library-screen--compact .report-library-search__control { min-height: 32px; padding: 0 7px; border: 1px solid #b7c9c0; border-radius: 4px; box-shadow: none; }
.report-library-screen--compact .report-library-search__control > span { display: none; }
.report-library-screen--compact .report-library-search__control input { height: 30px; font-size: 12px; }
.report-library-screen--compact .report-library-list { max-height: calc(100vh - 240px); min-height: 120px; padding-right: 2px; overflow-y: auto; }
.report-library-screen--compact .report-library-category { margin: 7px 0 0; border: 0; border-bottom: 1px solid #d5e2dc; border-radius: 0; }
.report-library-screen--compact .report-library-category summary { padding: 5px 4px; color: #17352b; font-size: 11px; font-weight: 700; cursor: pointer; list-style-position: inside; }
.report-library-screen--compact .report-library-category summary::marker { color: #07844a; }
.report-library-screen--compact .report-library-category__items { padding-bottom: 2px; }
.report-library-screen--compact .report-library-item { display: block; padding: 4px 8px 4px 18px; border-left: 2px solid transparent; color: #21483a; font-size: 12px; line-height: 1.25; text-decoration: none; }
.report-library-screen--compact .report-library-item:hover, .report-library-screen--compact .report-library-item:focus-visible { border-left-color: #07844a; background: #f2f8f4; outline: 0; }
.report-library-screen--compact .report-library-item.is-selected { border-left-color: #07844a; color: #075f3b; background: #e8f4ed; font-weight: 700; }
.report-library-screen--compact .report-library-empty { margin: 8px 0; padding: 8px; border: 0; color: #527064; font-size: 12px; text-align: left; }
.report-library-screen--compact .report-options-form { width: 100%; }
.report-library-screen--compact .report-options-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.report-library-screen--compact .report-options-field { min-width: 0; }
.report-library-screen--compact .report-options-field .formlabel { display: block; margin-bottom: 3px; color: #21483a; font-size: 11px; font-weight: 700; }
.report-library-screen--compact .report-options-control > input:not([type="hidden"]), .report-library-screen--compact .report-options-control > select, .report-library-screen--compact .report-options-control > .report-multiselect { width: 100%; box-sizing: border-box; }
.report-library-screen--compact .report-options-control > input:not([type="hidden"]), .report-library-screen--compact .report-options-control > select { min-height: 32px; padding: 5px 7px; border: 1px solid #b7c9c0; border-radius: 4px; font: inherit; font-size: 12px; }
.report-library-screen--compact .report-options-field--date { max-width: 180px; }
.report-library-screen--compact .report-options-field--outputs, .report-library-screen--compact .report-options-field--actions { grid-column: 1 / -1; }
.report-library-screen--compact .report-options-table__outputs { padding-top: 3px; color: #21483a; font-size: 12px; }
.report-library-screen--compact .report-options-table__radio { margin-right: 12px; }
.report-library-screen--compact .report-options-table__button { min-height: 32px; padding: 6px 12px; border: 1px solid #07844a; border-radius: 4px; font-size: 12px; }
.report-library-screen--compact .report-multiselect__trigger { min-height: 32px; padding: 5px 7px; border-radius: 4px; font-size: 12px; }
.report-library-screen--compact .report-multiselect__panel { border-radius: 4px; box-shadow: 0 4px 10px rgba(23,53,43,.12); }
.report-library-screen--compact input[type="checkbox"], .report-library-screen--compact input[type="radio"] { width: 13px; height: 13px; margin: 0 4px 0 0; vertical-align: middle; }
@media (max-width: 800px) {
  .report-library-screen--compact { grid-template-columns: 1fr; }
  .report-library-screen--compact .report-library-list { max-height: 45vh; }
}
@media (max-width: 560px) {
  .report-library-screen--compact .report-options-fields { grid-template-columns: 1fr; }
  .report-library-screen--compact .report-options-field--date { max-width: none; }
}

/* Voucher customer results use the same readable enterprise grid treatment
   as the other shared search screens. */
#pos_cust_search_form { display: block; box-sizing: border-box; padding: 14px; border: 1px solid #d5e2dc; border-radius: 10px; background: #fff; }
#pos_cust_search_form > table { border-collapse: separate; border-spacing: 8px 6px; }
#pos_cust_search_form input:not([type="hidden"]), #pos_cust_search_form select { box-sizing: border-box; width: min(100%, 280px); min-height: 44px; padding: 8px 10px; border: 1px solid #a9c3b7; border-radius: 7px; background: #fff; }
#pos_cust_search_form .formlabel { color: #21483a; font-weight: 600; }
#custSearchResults { box-sizing: border-box; margin-top: 8px; padding: 10px; overflow-x: auto; border: 1px solid #d5e2dc; border-radius: 8px; background: #fff; }
#custSearchResults table.form_noncontrol { width: 100%; border-collapse: separate; border-spacing: 0; }
#custSearchResults table.form_noncontrol th { padding: 9px 8px; background: #edf6f1; color: #21483a; text-align: left; white-space: nowrap; }
#custSearchResults table.form_noncontrol td { padding: 8px; border-bottom: 1px solid #e2ebe6; vertical-align: middle; }
#custSearchResults table.form_noncontrol tbody tr:hover { background: #f5faf7; }
#custSearchResults table.form_noncontrol button { min-height: 36px; padding: 7px 14px; }
.search-results-empty { margin: 0; padding: 20px; color: #527064; text-align: center; font-weight: 600; }

/* Keep the New Invoice customer workflow balanced: instructions, filters,
   status and results share one predictable content width. */
.pos-customer-search-panel { box-sizing: border-box; width: 100%; margin: 0; padding: 18px; }
.pos-customer-search-panel > h2 { margin: 2px 0 18px; text-align: center; }
.pos-customer-search-panel > table { width: 100%; table-layout: fixed; margin-bottom: 14px; }
.pos-customer-search-panel > table td { padding: 6px 10px; vertical-align: middle; }
.pos-customer-search-panel > table .formlabel { width: 25%; text-align: right; }
.pos-customer-search-panel > table tr:nth-child(2) td[colspan="2"], .pos-customer-search-panel > table tr:nth-child(4) td[colspan="2"] { color: #21483a; }
.pos-customer-search-panel > h3 { margin: 18px 0 10px; padding: 9px 12px; border: 1px solid #d5e2dc; border-radius: 7px; background: #edf6f1; text-align: left; }
.pos-customer-search-panel form[name="cust_search"] { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #d5e2dc; border-radius: 9px; background: #fff; }
.pos-customer-search-panel form[name="cust_search"] table { width: 100%; table-layout: fixed; border-spacing: 8px 6px; }
.pos-customer-search-panel form[name="cust_search"] td { padding: 3px 8px; vertical-align: middle; }
.pos-customer-search-panel form[name="cust_search"] td.formlabel { width: 25%; text-align: right; }
.pos-customer-search-panel form[name="cust_search"] input:not([type="hidden"]), .pos-customer-search-panel form[name="cust_search"] select { width: min(100%, 320px); }
.pos-customer-search-panel form[name="cust_search"] tr:nth-last-child(3) td { padding-top: 12px; }
.pos-customer-search-panel form[name="cust_search"] #custSearchProgress { color: #527064; }

/* Search UX standard: primary criteria stay visible and compact. */
.enterprise-search-page.search-screen,
.search-screen > form { box-sizing: border-box; margin: 0 0 6px; padding: 6px 8px; border: 1px solid #d5e2dc; border-radius: 6px; background: #fff; }
.enterprise-search-page.search-screen .search-panel__table,
.search-screen > form .search-panel__table { border-spacing: 5px 2px; }
.enterprise-search-page.search-screen .search-panel__table td,
.search-screen > form .search-panel__table td { padding: 2px 5px; }
.enterprise-search-page.search-screen .invoice-search-table,
.search-screen > form .invoice-search-table { table-layout: fixed; }
.enterprise-search-page.search-screen .invoice-search-table col,
.search-screen > form .invoice-search-table col { width: auto; }
.enterprise-search-page.search-screen .invoice-search-table .search-panel__label,
.search-screen > form .invoice-search-table .search-panel__label { width: 18%; text-align: right; white-space: nowrap; }
.enterprise-search-page.search-screen .invoice-search-table__field,
.search-screen > form .invoice-search-table__field { width: 32%; }
.enterprise-search-page.search-screen .invoice-search-table__field input,
.enterprise-search-page.search-screen .invoice-search-table__field select,
.search-screen > form .invoice-search-table__field input,
.search-screen > form .invoice-search-table__field select { width: min(100%, 280px) !important; }
.voucher-customer-search-table { width: 100% !important; table-layout: fixed; border-collapse: separate; border-spacing: 0 6px !important; }
.voucher-customer-search-table .search-panel__label { width: 18% !important; text-align: right; white-space: nowrap; }
.voucher-customer-search-table .invoice-search-table__field { width: 32% !important; }
.voucher-customer-search-table .invoice-search-table__field input,
.voucher-customer-search-table .invoice-search-table__field select { width: min(100%, 280px) !important; }
.enterprise-search-page .search-panel__submit-block { display: flex; justify-content: center; padding: 8px; background: #d9eddf; border-top: 1px solid #c8dfcf; }
.enterprise-search-page .search-panel__submit-block button,
.enterprise-search-page .search-panel__submit { min-width: 200px; min-height: 34px; padding: 7px 18px; border: 1px solid #c7d4ce; border-radius: 4px; color: #172b25; background: #fff; font: inherit; font-weight: 700; cursor: pointer; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.enterprise-search-page .search-panel__submit-block button:hover,
.enterprise-search-page .search-panel__submit:hover,
.enterprise-search-page .search-panel__submit-block button:focus-visible,
.enterprise-search-page .search-panel__submit:focus-visible { border-color: #aebfb6; background: #f7faf8; box-shadow: 0 2px 6px rgba(23,53,43,.12); transform: translateY(-1px); }
.standard-search-form > .standard-search-actions,
.search-screen .search-panel__actions { display: flex; align-items: center; justify-content: center; min-height: 50px; box-sizing: border-box; margin-top: 6px; padding: 8px; background: #d9eddf; border-top: 1px solid #c8dfcf; }
.standard-search-form > .standard-search-actions button,
.search-screen .search-panel__actions button { min-width: 200px; min-height: 34px; padding: 7px 18px; border: 1px solid #c7d4ce; border-radius: 4px; color: #172b25; background: #fff; font: inherit; font-weight: 700; cursor: pointer; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.standard-search-form > .standard-search-actions button:hover,
.standard-search-form > .standard-search-actions button:focus-visible,
.search-screen .search-panel__actions button:hover,
.search-screen .search-panel__actions button:focus-visible { border-color: #aebfb6; background: #f7faf8; box-shadow: 0 2px 6px rgba(23,53,43,.12); transform: translateY(-1px); }
.enterprise-search-page.search-screen input:not([type="hidden"]),
.enterprise-search-page.search-screen select,
.search-screen > form input:not([type="hidden"]),
.search-screen > form select { min-height: 32px; padding: 4px 8px; }
.enterprise-search-page.search-screen button,
.search-screen > form button { min-height: 32px; }
.pos-customer-search__new { display: block; margin: 14px auto 0; }
.voucher-bulk-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0 0 14px; }
.bulk-voucher-upload { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin: 0; padding: 8px 16px; border: 1px solid #087b4c; border-radius: 7px; color: #087b4c; background: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 2px 6px rgba(6,126,78,.12); transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
.bulk-voucher-upload:hover, .bulk-voucher-upload:focus-visible { color: #fff; background: #087b4c; box-shadow: 0 4px 10px rgba(6,126,78,.18); transform: translateY(-1px); }
@media (max-width: 600px) { .voucher-bulk-actions { align-items: stretch; flex-direction: column; } .voucher-bulk-actions .dnet-button { width: 100%; box-sizing: border-box; text-align: center; } }
.customer-selection-results { width: 100%; min-width: 760px; border-collapse: collapse; }
.customer-selection-results th { padding: 9px 10px; color: #fff; background: #087b4c; font-weight: 800; text-align: left; }
.customer-selection-results td { padding: 10px; border-bottom: 1px solid #e1ebe5; color: #243a31; }
.customer-selection-results__row { cursor: pointer; }
.customer-selection-results__row:hover, .customer-selection-results__row:focus-visible { outline: 2px solid #8ac9aa; outline-offset: -2px; background: #edf8f1; }
.customer-selection-results__icon { width: 18px; height: 18px; object-fit: contain; }
.customer-search-results-summary { margin: 10px 0 0; color: #527064; font-size: 13px; font-weight: 600; text-align: center; }
.customer-search-results-next { display: block; margin: 10px auto 0; }
@media (max-width: 760px) { .pos-customer-search-panel { padding: 12px; } .pos-customer-search-panel > table, .pos-customer-search-panel form[name="cust_search"] table { table-layout: auto; } .pos-customer-search-panel > table .formlabel, .pos-customer-search-panel form[name="cust_search"] td.formlabel { width: auto; text-align: left; } .pos-customer-search-panel form[name="cust_search"] td { display: block; width: 100%; } .pos-customer-search-panel form[name="cust_search"] input:not([type="hidden"]), .pos-customer-search-panel form[name="cust_search"] select { width: 100%; max-width: none; } }

@media (max-width: 760px) {
  .enterprise-search-page.search-screen,
  .search-screen > form { padding: 7px; }
  .voucher-customer-search-table { table-layout: auto; border-spacing: 0 5px !important; }
  .voucher-customer-search-table .search-panel__label,
  .voucher-customer-search-table .invoice-search-table__field { width: auto !important; text-align: left; white-space: normal; }
  .enterprise-search-page.search-screen .search-panel__table td,
  .search-screen > form .search-panel__table td { padding: 3px 0; }
  .enterprise-search-page.search-screen .invoice-search-table .search-panel__label,
  .search-screen > form .invoice-search-table .search-panel__label { width: auto; text-align: left; white-space: normal; }
  .enterprise-search-page.search-screen .invoice-search-table__field,
  .search-screen > form .invoice-search-table__field { width: auto; }
  .enterprise-search-page.search-screen input:not([type="hidden"]),
  .enterprise-search-page.search-screen select,
  .search-screen > form input:not([type="hidden"]),
  .search-screen > form select { width: 100% !important; max-width: none; }
}

/* Credit Note content uses one contained transaction workspace while
   retaining its existing invoice lookup and request actions. */
.credit-note-container { box-sizing: border-box; width: 100%; margin: 0; padding: 16px; border: 1px solid #d5e2dc; border-radius: 14px; background: #fff; box-shadow: 0 8px 20px rgba(23,53,43,.05); }
.credit-note-container > table { width: 100%; border-collapse: separate; border-spacing: 0 7px; }
.credit-note-container .formsectionheader { padding: 10px 12px; border-bottom: 1px solid #d5e2dc; border-radius: 7px; background: #edf6f1; color: #17352b; font-weight: 800; }
.credit-note-container td { padding: 4px 8px; vertical-align: middle; }
.credit-note-container td.formlabel, .credit-note-container td.formlabelrequired { color: #21483a; font-weight: 600; text-align: right; }
.credit-note-container input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), .credit-note-container select, .credit-note-container textarea { box-sizing: border-box; min-height: 40px; padding: 8px 10px; border: 1px solid #a9c3b7; border-radius: 7px; }
.credit-note-container input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; margin: 0 6px 0 0; padding: 0; accent-color: #087b4c; vertical-align: middle; }
.credit-note-container textarea { min-height: 112px; width: min(100%, 320px); }
.credit-note-container td[rowspan="9"] { width: 48%; padding: 12px; border-left: 1px solid #d5e2dc; vertical-align: top; }
.credit-note-container td[rowspan="9"] > hr { border: 0; border-top: 1px solid #d5e2dc; }
.credit-note-container td[rowspan="9"] > .ui-tabs { box-sizing: border-box; margin-top: 10px; padding: 12px !important; border: 1px solid #d5e2dc !important; border-radius: 10px !important; background: #f7fbf9; }
.credit-note-invoice-search__controls { display: grid; gap: 8px; margin-bottom: 8px; }
.credit-note-invoice-search__controls label { color: #21483a; font-weight: 700; }
.credit-note-invoice-search__input { display: flex; align-items: stretch; gap: 8px; width: 100%; }
.credit-note-invoice-search__input input[type="text"] { flex: 1 1 auto; width: auto; min-width: 0; }
.credit-note-invoice-search__input input[type="button"] { flex: 0 0 auto; }
.credit-note-container #cnTransSearchResults { margin-top: 8px; overflow-x: auto; border: 1px solid #d5e2dc !important; border-radius: 8px; background: #fff; }
.credit-note-container #cnTransSearchResults table { width: 100%; border-collapse: separate; border-spacing: 0; }
.credit-note-container #cnTransSearchResults td { padding: 8px; border-bottom: 1px solid #e2ebe6; }
.credit-note-container #cnTransSearchResults tr:hover { background: #f5faf7; }
.credit-note-container td[rowspan="9"] input[type="button"], .credit-note-container td[rowspan="9"] button { min-height: 40px; padding: 8px 16px; border: 1px solid #087b4c; border-radius: 7px; color: #fff; background: #0b9b61; font-weight: 700; cursor: pointer; }
@media (max-width: 900px) { .credit-note-container td[rowspan="9"] { width: auto; border-left: 0; border-top: 1px solid #d5e2dc; } }

/* Report launcher: restrained two-pane workspace. DEKRA logo green: #008143. */
.report-launcher { display: grid; grid-template-columns: minmax(280px, 320px) minmax(0, 1fr); width: 100%; max-width: 1380px; min-width: 0; color: #17352b; background: #fff; }
.report-launcher__navigation { display: flex; min-width: 0; min-height: 0; flex-direction: column; padding: 12px 14px 12px 0; }
.report-launcher__configuration { min-width: 0; max-width: 1050px; min-height: 320px; padding: 12px 0 12px 22px; border-left: 1px solid #d5d5d5; }
.report-launcher__title, .report-launcher__heading { margin: 0; color: #17352b; font-size: 16px; font-weight: 600; line-height: 1.35; }
.report-launcher__search { margin: 12px 0 9px; }
.report-launcher__search label { display: block; margin-bottom: 5px; color: #52655d; font-size: 12px; font-weight: 600; }
.report-launcher__search input { box-sizing: border-box; width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #b7c9c0; border-radius: 4px; color: #17352b; background: #fff; font: inherit; font-size: 12px; }
.report-launcher__search input:focus, .report-launcher__report:focus-visible, .report-launcher-form input:focus-visible, .report-launcher-form select:focus-visible, .report-launcher-form button:focus-visible { outline: 2px solid #008143; outline-offset: 2px; }
.report-launcher__list { min-height: 180px; max-height: calc(100vh - 250px); overflow-y: auto; padding-right: 4px; }
.report-launcher__report { display: block; min-height: 34px; box-sizing: border-box; padding: 8px 9px; border-left: 3px solid transparent; color: #21483a; font-size: 12px; line-height: 1.35; text-decoration: none; }
.report-launcher__report:hover, .report-launcher__report:focus-visible { border-left-color: #008143; background: #f3f6f4; outline-offset: -2px; }
.report-launcher__report.is-selected { border-left-color: #008143; color: #17352b; background: #edf4ef; font-weight: 600; }
.report-launcher__report[hidden] { display: none; }
.report-launcher__empty { margin: 8px 0; color: #687a72; font-size: 12px; }
.report-launcher__message { margin: 14px 0; color: #687a72; font-size: 13px; }
.report-launcher__explanation { max-width: 700px; margin: 14px 0 18px; padding: 11px 13px; border: 1px solid #d5e1db; border-left: 3px solid #008143; border-radius: 4px; color: #52655d; background: #f7faf8; font-size: 12px; line-height: 1.4; }
.report-launcher__explanation h3 { margin: 0 0 6px; color: #17352b; font-size: 13px; font-weight: 600; }
.report-launcher__explanation p { margin: 4px 0; }
.report-launcher__explanation strong { color: #21483a; font-weight: 600; }
.report-launcher__rules { margin-top: 8px; }
.report-launcher__rules ul { margin: 4px 0 0 17px; padding: 0; }
.report-launcher__rules li { margin: 2px 0; }
.report-launcher-form { max-width: 700px; margin-top: 18px; }
.report-launcher-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; max-width: 650px; align-items: center; }
.report-launcher-form__field { display: grid; grid-column: 1 / -1; grid-template-columns: 180px minmax(0, 360px); column-gap: 12px; align-items: center; min-width: 0; }
.report-launcher-form__field--date { grid-column: 1 / -1; grid-template-columns: max-content 120px; column-gap: 8px; max-width: 250px; }
.report-launcher-form__label { display: block; margin: 0; color: #52655d; font-size: 12px; font-weight: 600; text-align: right; }
.report-launcher-form__control { min-width: 0; }
.report-launcher-form__control > input:not([type="hidden"]), .report-launcher-form__control > select { box-sizing: border-box; width: 100%; min-height: 36px; padding: 7px 9px; border: 1px solid #b7c9c0; border-radius: 4px; color: #17352b; background: #fff; font: inherit; font-size: 12px; }
.report-launcher-form__field--date .report-launcher-form__control { width: 120px; }
.report-launcher-form__help { grid-column: 2; max-width: 360px; margin: -4px 0 -2px; color: #008143; font-size: 11px; font-weight: 600; line-height: 1.35; }
.report-launcher-form__choices { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.report-launcher-form__choices label, .report-launcher-form__outputs label { display: inline-flex; align-items: center; gap: 5px; color: #21483a; font-size: 12px; cursor: pointer; }
.report-launcher-form input[type="checkbox"], .report-launcher-form input[type="radio"] { width: 16px; height: 16px; margin: 0; accent-color: #008143; }
.report-launcher-form__outputs { max-width: 420px; margin: 18px 0 0 192px; padding: 11px 0 0; border: 0; border-top: 1px solid #aebdb5; }
.report-launcher-form__outputs legend { margin-bottom: 7px; color: #52655d; font-size: 12px; font-weight: 600; }
.report-launcher-form__actions { margin: 14px 0 0 192px; }
.report-launcher-form__actions .formbutton { min-height: 36px; padding: 8px 16px; border: 1px solid #008143; border-radius: 4px; color: #fff; background: #008143; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.report-launcher-form__actions .formbutton:hover { background: #006b52; }
.report-launcher-multiselect { position: relative; max-width: 520px; }
.report-launcher-multiselect__trigger { display: flex; width: 100%; min-height: 36px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 9px; border: 1px solid #b7c9c0; border-radius: 4px; color: #21483a; background: #fff; font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.report-launcher-multiselect__trigger:hover { border-color: #008143; }
.report-launcher-multiselect__panel { position: absolute; z-index: 20; top: calc(100% + 4px); right: 0; left: 0; padding: 8px; border: 1px solid #b7c9c0; border-radius: 4px; background: #fff; box-shadow: 0 4px 12px rgba(23,53,43,.12); }
.report-launcher-multiselect__panel[hidden] { display: none; }
.report-launcher-multiselect__tools { display: flex; gap: 6px; margin-bottom: 7px; }
.report-launcher-multiselect__search { min-width: 0; flex: 1 1 auto; padding: 6px 7px; border: 1px solid #d5d5d5; border-radius: 4px; font: inherit; font-size: 12px; }
.report-launcher-multiselect__tools button { padding: 5px 7px; border: 1px solid #b7c9c0; border-radius: 4px; color: #21483a; background: #fff; font: inherit; font-size: 11px; cursor: pointer; }
.report-launcher-multiselect__tools button:hover { border-color: #008143; color: #006b52; }
.report-launcher-multiselect__options { max-height: 300px; overflow-y: auto; }
.report-launcher-multiselect__options label { display: flex; align-items: center; gap: 6px; padding: 5px 3px; color: #21483a; font-size: 12px; cursor: pointer; }
.report-launcher-multiselect__options label:hover { background: #f3f6f4; }
.report-launcher-multiselect__options label[hidden] { display: none; }
@media (max-width: 800px) { .report-launcher { grid-template-columns: 250px minmax(0, 1fr); } .report-launcher__configuration { padding-left: 16px; } }
@media (max-width: 620px) { .report-launcher { grid-template-columns: 1fr; } .report-launcher__navigation { padding-right: 0; } .report-launcher__configuration { max-width: none; margin-top: 14px; padding: 14px 0 0; border-top: 1px solid #d5d5d5; border-left: 0; } .report-launcher__list { max-height: 42vh; } .report-launcher-form__fields { grid-template-columns: 1fr; } .report-launcher-form__field, .report-launcher-form__field--date { grid-column: 1; grid-template-columns: minmax(0, 140px) minmax(0, 1fr); max-width: none; } .report-launcher-form__field--date .report-launcher-form__control { width: auto; } .report-launcher-form__help { grid-column: 1; margin-left: 152px; } .report-launcher-form__outputs, .report-launcher-form__actions { margin-left: 152px; } }
.dnet-grid { margin: 12px 0; border: 1px solid #d7e2dc; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(23,53,43,.07); overflow: hidden; }
.dnet-grid__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 16px 18px 12px; background: linear-gradient(180deg,#fff,#f7faf8); border-bottom: 1px solid #dfe9e4; }
.dnet-grid__header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-left: auto; }
.dnet-grid__eyebrow { margin: 0 0 3px; color: #087d4f; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.dnet-grid__title { margin: 0; color: #17352b; font-size: 18px; line-height: 1.2; }
.dnet-grid__summary { margin: 5px 0 0; color: #5f746b; font-size: 12px; }
.dnet-grid__page-size { display: inline-flex; align-items: center; gap: 8px; color: #315646; font-size: 12px; font-weight: 700; white-space: nowrap; }
.dnet-grid__page-size select { min-height: 32px; padding: 4px 26px 4px 8px; border: 1px solid #b9d0c4; border-radius: 5px; color: #17352b; background: #fff; font: inherit; }
.dnet-grid__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 18px; background: #f2f7f4; border-bottom: 1px solid #dfe9e4; }
.dnet-grid__toolbar-primary, .dnet-grid__toolbar-secondary { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.dnet-grid__toolbar--empty { justify-content: flex-end; }
.dnet-grid__button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 32px; padding: 5px 10px; border: 1px solid #b9d0c4; border-radius: 5px; color: #174f38; background: #fff; font: inherit; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; }
.dnet-grid__button:hover, .dnet-grid__button:focus-visible { border-color: #087d4f; background: #e8f4ed; outline: 2px solid #cbe8da; outline-offset: 1px; }
.dnet-grid__button--secondary { border-color: #087d4f; color: #fff; background: #087d4f; }
.dnet-grid__button--secondary:hover, .dnet-grid__button--secondary:focus-visible { color: #fff; background: #066b41; }
.dnet-grid__button:disabled { border-color: #d2ddd7; color: #87978f; background: #eef2f0; cursor: not-allowed; outline: 0; }
.dnet-grid__viewport { overflow-x: auto; }
.dnet-grid:has(> .dnet-grid__header) { display: block; grid-template-columns: none; width: 100%; }
.dnet-grid__viewport { width: 100%; min-width: 0; }
.dnet-grid__table { width: 100%; min-width: 920px; border-collapse: separate; border-spacing: 0; color: #203d31; font-size: 12px; }
.reusable-grid .grid-align-left { text-align: left; }
.reusable-grid .grid-align-center { text-align: center; }
.reusable-grid .grid-align-right { text-align: right; font-variant-numeric: tabular-nums; }
.reusable-grid td, .reusable-grid th { vertical-align: middle; }
.dnet-grid__head th { padding: 10px 12px; border-right: 1px solid #d2e1d9; border-bottom: 1px solid #b9d0c4; color: #174f38; background: #eaf3ee; font-size: 11px; font-weight: 800; text-align: left; white-space: nowrap; }
.dnet-grid__head th[aria-sort] { color: #fff; background: #087d4f; }
.dnet-grid__sort-link { display: inline-flex; align-items: center; gap: 6px; color: inherit; text-decoration: none; }
.dnet-grid__sort-link:focus-visible { outline: 2px solid #f2c94c; outline-offset: 2px; border-radius: 2px; }
.dnet-grid__sort-indicator { display: inline-block; width: 0; height: 0; border-right: 4px solid transparent; border-left: 4px solid transparent; opacity: .55; }
.dnet-grid__sort-link[data-sort-direction="none"] .dnet-grid__sort-indicator { width: 8px; height: 12px; border: 0; opacity: .45; }
.dnet-grid__sort-link[data-sort-direction="none"] .dnet-grid__sort-indicator::before { content: '↕'; font-size: 13px; }
.dnet-grid__sort-link[data-sort-direction="asc"] .dnet-grid__sort-indicator { border-bottom: 6px solid currentColor; }
.dnet-grid__sort-link[data-sort-direction="desc"] .dnet-grid__sort-indicator { border-top: 6px solid currentColor; }
.dnet-grid__row td { padding: 9px 12px; border-right: 1px solid #edf2ef; border-bottom: 1px solid #e1ebe5; vertical-align: middle; white-space: nowrap; }
.dnet-grid__row:nth-child(even) td { background: #f8fbf9; }
.dnet-grid__row:hover td { background: #eef7f1; }
.dnet-grid__select-cell { width: 38px; text-align: center !important; }
.dnet-grid__select-cell input { width: 16px; height: 16px; accent-color: #087d4f; }
.dnet-grid__money { text-align: right; font-variant-numeric: tabular-nums; }
.dnet-grid__status { color: #087d4f; font-weight: 800; }
.dnet-grid__row small { display: block; margin-top: 2px; color: #5f746b; font-size: 10px; }
.dnet-grid__actions { width: 1%; text-align: right; }
.dnet-grid__actions a { display: inline-flex; margin: 2px 0 2px 5px; padding: 4px 7px; border: 1px solid #c4d7cc; border-radius: 4px; color: #087d4f; background: #fff; font-size: 11px; font-weight: 700; text-decoration: none; }
.dnet-grid__actions a:hover, .dnet-grid__actions a:focus-visible { border-color: #087d4f; background: #e8f4ed; outline: 2px solid #cbe8da; outline-offset: 1px; }
.dnet-grid__empty-row td { padding: 0 !important; border: 0 !important; }
.dnet-grid__empty { display: grid; place-items: center; gap: 5px; min-height: 150px; padding: 24px; color: #5f746b; text-align: center; background: #fff; }
.dnet-grid__empty strong { color: #315646; font-size: 14px; }
.dnet-grid .standard-pagination { margin: 0; padding: 12px 18px; border-top: 1px solid #dfe9e4; background: #fbfdfc; }
@media (max-width: 767px) { .dnet-grid__header { align-items: flex-start; flex-direction: column; padding: 13px 14px 11px; } .dnet-grid__header-actions { width: 100%; justify-content: flex-start; margin-left: 0; } .dnet-grid__toolbar { padding: 9px 14px; } .dnet-grid .standard-pagination { padding: 10px 14px; } }
/* Shared presentation skin for active business-specific result tables. */
.invoice-results-table-wrap,.customer-results-table-wrap{overflow:hidden;border:1px solid #d7e4e0;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(16,54,47,.06)}
.invoice-results-table-wrap table,.customer-results-table-wrap table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem;color:#17332f}
.invoice-results-table-wrap thead,.customer-results-table-wrap thead{background:#edf6f2}
.invoice-results-table-wrap th,.customer-results-table-wrap th{padding:.8rem .9rem;border-bottom:1px solid #cfe0da;color:#24584e;text-align:left;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.invoice-results-table-wrap th a,.customer-results-table-wrap th a{color:inherit;text-decoration:none}.invoice-results-table-wrap th a:hover,.customer-results-table-wrap th a:hover{color:#007b55;text-decoration:underline}
.invoice-results-table-wrap td,.customer-results-table-wrap td{padding:.75rem .9rem;border-bottom:1px solid #e6efec;vertical-align:middle}.invoice-results-table-wrap tbody tr:last-child td,.customer-results-table-wrap tbody tr:last-child td{border-bottom:0}.invoice-results-table-wrap tbody tr:nth-child(even),.customer-results-table-wrap tbody tr:nth-child(even){background:#fbfdfc}.invoice-results-table-wrap tbody tr:hover,.customer-results-table-wrap tbody tr:hover{background:#f1f8f5}.invoice-results-table-wrap .transaction-actions,.customer-results-table-wrap .customer-search__actions{white-space:nowrap}.invoice-results-table-wrap .transaction-actions a,.customer-results-table-wrap .customer-search__action{display:inline-flex;align-items:center;gap:.3rem;margin-right:.35rem;color:#006f4d;text-decoration:none}.invoice-results-table-wrap .transaction-actions a:hover,.customer-results-table-wrap .customer-search__action:hover{text-decoration:underline}
.dnet-search-match-notification{position:fixed;top:88px;right:24px;z-index:1100;max-width:min(380px,calc(100vw - 48px));padding:12px 16px;border:1px solid #8fd0ad;border-left:4px solid #008143;border-radius:8px;background:#effaf3;color:#075c3a;box-shadow:0 12px 30px rgba(16,54,47,.18);font-size:.9rem;font-weight:700;line-height:1.35}
@media (max-width:767px){.dnet-search-match-notification{top:72px;right:12px;left:12px;max-width:none}}
