/* ERP vertical rhythm: 4px related text, 8px intro/navigation, 12px panels,
   16px independent business groups. No font/control size or pane geometry changes. */
.erp-theme.erp-compact :is(.page-heading, .page-header, .erp-workspace-top,
  .contact-page-heading, .receipt-page-toolbar, .qc-page-toolbar) {
  margin-block: 0 var(--erp-space-2) !important;
}
.erp-theme :is(.page-heading, .page-header, .erp-workspace-top,
  .contact-page-title, .receipt-page-title, .qc-page-title) h1 { margin-block: 0; }
.erp-theme :is(.page-heading, .page-header, .erp-workspace-top) :is(.eyebrow, .eyebrow-dark) {
  display: block;
  margin-block: 0 var(--erp-space-1);
}
.erp-theme :is(.page-heading, .page-header, .erp-workspace-top) p {
  margin-block: var(--erp-space-2) 0;
}
.erp-theme :is(.accounting-ux02-guidance, .contact-header-description) {
  margin-block: 0 var(--erp-space-2);
}
.erp-theme :is(.erp-workspace-summary, .accounting-ux02-filter-summary, .contact-filter-summary) {
  margin-block: 0 var(--erp-space-2);
}
/* Only these explicit stacks own child margins. The scoped !important replaces
   Bootstrap utility margins and old ID rules, without resetting arbitrary prose.
   No display rule targets children: hidden/collapse and fixed drawers keep theirs. */
.erp-theme .erp-page-intro {
  display: flex;
  flex-direction: column;
  gap: var(--erp-space-2);
  min-width: 0;
  margin-block: 0 var(--erp-space-3);
}
.erp-theme .erp-detail-flow {
  display: flex;
  flex-direction: column;
  gap: var(--erp-space-2);
  min-width: 0;
}
.erp-theme .erp-panel-stack {
  display: flex;
  flex-direction: column;
  gap: var(--erp-space-3);
  min-width: 0;
}
.erp-theme.erp-compact :is(.erp-page-intro, .erp-detail-flow, .erp-panel-stack) > * {
  margin-block: 0 !important;
}
/* The loading status remains attached to its original HTMX request, in a
   pre-existing header row. Invisible status never creates another line. */
.erp-theme .erp-page-loading {
  align-self: center;
  max-width: 10rem;
  color: var(--erp-color-muted);
  font-size: var(--erp-text-small);
  line-height: var(--erp-line-small);
}
/* Common panel boundaries; custom master-detail columns/scroll regions stay local. */
.erp-theme :is(.erp-workspace-card, .section-card, .browser-form, .contact-section) {
  padding: var(--erp-panel-padding);
  margin-block-end: var(--erp-space-3);
}
.erp-theme .management-page :is(.management-card.p-3, .management-card.p-4, .management-card.p-lg-4) {
  padding: var(--erp-panel-padding) !important;
}
.erp-theme :is(.section-heading, .contact-section-heading) { margin-block-end: var(--erp-space-2); }
.erp-theme :is(.erp-workspace-document-header, .section-card, .contact-section) > :is(h2, h3, h4) {
  margin-block: 0 var(--erp-space-2);
}
.erp-theme :is(.erp-workspace-document-header, .section-card) > p { margin-block: 0 var(--erp-space-2); }
.erp-theme :is(.erp-workspace-document-header, .section-card) > p:last-child { margin-block-end: 0; }
.erp-theme .erp-master-meta { display: block; margin-block-start: var(--erp-space-1); }
.erp-theme .erp-task-panel > :is(h2, h3, h4) { margin-block: 0 var(--erp-space-2); }
.erp-theme .erp-task-panel > p { margin-block: 0 var(--erp-space-3); }
.erp-theme .erp-task-section { padding-block: var(--erp-space-3); margin: 0; }
.erp-theme .erp-task-section + .erp-task-section { margin-block-start: var(--erp-section-gap); }
.erp-theme .erp-task-section > .erp-workspace-guidance-inset { margin-block-start: var(--erp-space-2); }
.erp-theme .erp-workspace-guidance-inset :is(p, .erp-workspace-accounts) { margin-block: 0; }
.erp-theme .erp-workspace-guidance-inset p + :is(p, div) { margin-block-start: var(--erp-space-1); }
@media (max-width: 680px) {
  .erp-theme .erp-catalogue-workspace.management-page { padding: var(--erp-space-3); }
}
