/* Shared finishing layer: preserve the approved green accounting UI. */
.xero-actions,
.detail-actions:not(:has(input, select, textarea, label)),
.pf-v6-c-toolbar.xero-actions,
.xero-page-head > .detail-actions,
.topbar > .actions,
.toj-page-actions {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  gap: 8px;
}
.xero-actions { padding: 0; }

:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) {
  gap: 0;
  padding: 0;
  border-bottom: 1px solid var(--line-strong, #cbd8d1);
  background: transparent;
}
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button,
.report-nav button,
.payroll-tabs button {
  position: relative;
  flex: 0 1 auto;
  min-height: 42px;
  margin: 0;
  padding: 9px 16px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: transparent;
  color: var(--muted-strong, #526272);
  font-weight: 700;
  box-shadow: none;
  cursor: pointer;
}
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button:not(:last-child)::after,
.report-nav button:not(:last-child)::after,
.payroll-tabs button:not(:last-child)::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 28%;
  bottom: 28%;
  width: 1px;
  background: var(--line-strong, #cbd8d1);
  opacity: .75;
  pointer-events: none;
}
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button:hover,
.report-nav button:hover,
.payroll-tabs button:hover { background: #edf4ee; color: var(--primary-strong, #246630); }
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button:is(.active, [aria-selected="true"]),
.report-nav button:is(.active, [aria-selected="true"]),
.payroll-tabs button:is(.active, [aria-selected="true"]) {
  margin-bottom: -1px;
  padding-bottom: 10px;
  border-color: var(--line-strong, #cbd8d1);
  background: var(--surface, #fff);
  color: var(--primary-strong, #246630);
  box-shadow: inset 0 3px 0 var(--brand, #348339);
}
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button:is(.active, [aria-selected="true"])::after,
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button:has(+ button:is(.active, [aria-selected="true"]))::after { opacity: 0; }
:is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) button:focus-visible,
:is(.xero-actions, .detail-actions, .table-pager) button:focus-visible {
  outline: 2px solid var(--brand, #348339);
  outline-offset: -3px;
}
:is(.xero-tabs, .tab-row, .payroll-tabs) small { font-weight: 600; opacity: .82; }

/* Bills is a register, with the same actions and scope controls as before. */
.bills-workspace-shell { gap: 12px; }
.bills-workspace-shell > .toj-shell { padding-top: 0; }
.bills-workspace-shell > .topbar { padding-block: 12px; margin-bottom: 0; }
.bills-workspace-shell > .topbar h1 { font-size: 28px; }
.bills-workspace-shell > .topbar .session-pill { display: none; }
.bills-page-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bills-scope.filters { padding: 10px 14px; margin-bottom: 0; gap: 14px; }
.bills-scope.filters label { font-size: 12px; }
.bills-scope.filters :is(input, select) { min-height: 36px; padding-block: 7px; }
.bills-page { display: grid; gap: 10px; min-width: 0; }
.bills-page > .xero-tabs { margin-bottom: 0; }
.bills-register { min-width: 0; padding: 12px 14px; }
.bills-register .workspace-tools {
  grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(150px, 1fr)) auto;
  align-items: end;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.bills-register .workspace-tools:has(#workspaceStatus) { grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(130px, 1fr)) auto; }
.bills-register .workspace-tools :is(input, select) { min-height: 36px; }
.bills-register .workspace-tools label { font-size: 12px; }
.bills-register .advanced-filter-panel { margin-top: 10px; }
.bills-register .inline-date-filter { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12px; }
.bills-register .inline-date-filter input { width: 150px; min-height: 36px; }
.bills-register .table-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; }
.bills-register .table-pager > div { display: flex; align-items: center; gap: 8px; }
.bills-register .table-pager label { display: flex; align-items: center; gap: 6px; }
.bills-register .table-pager select { width: auto; min-width: 92px; }
.bills-register .bills-table-region,
.bills-register .scheduled-payments-table-wrap {
  height: clamp(440px, 62dvh, 850px);
  max-height: none;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  width: 100%;
  border: 1px solid var(--line, #dbe4e7);
  border-radius: 6px;
}
.bills-table-region:focus-visible { outline: 2px solid var(--brand, #348339); outline-offset: 2px; }
.bills-table-region :is(th, td) { vertical-align: top; }
.bills-table-region thead th { position: sticky; top: 0; z-index: 2; }
.bills-register .scheduled-payments-panel { border: 0; padding: 0; box-shadow: none; margin: 0; }
.bills-register .scheduled-payments-panel > .panel-title { margin: 8px 0; padding: 0; }
.bills-list-note { margin-top: 8px; color: var(--muted); font-size: 12px; }
.bills-list-note summary { cursor: pointer; }
.bills-list-note .bill-count-summary { padding: 8px 0 0; margin: 0; font-size: 12px; }
.bills-register > .bulk-payment-bar { margin-block: 10px; }
.bills-selection-scope { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 6px 0; font-size: 12px; color: var(--muted); }
@media(max-width: 1050px) {
  .bills-register .workspace-tools,
  .bills-register .workspace-tools:has(#workspaceStatus) { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  .bills-register .workspace-count-actions { grid-column: 1 / -1; }
}
@media(max-width: 650px) {
  :is(.xero-tabs, .tab-row, .report-nav, .payroll-tabs) > button { padding-inline: 12px; }
  .bills-workspace-shell > .topbar { gap: 10px; }
  .bills-scope.filters { display: grid; grid-template-columns: minmax(0, 1fr); }
  .bills-register { padding: 10px; }
  .bills-register .workspace-tools,
  .bills-register .workspace-tools:has(#workspaceStatus) { grid-template-columns: minmax(0, 1fr); }
  .bills-register .bills-table-region,
  .bills-register .scheduled-payments-table-wrap { height: max(420px, 62dvh); }
}
