.finance-workbench {
  --finance-ink: var(--aldelo-color-text);
  --finance-muted: var(--aldelo-color-text-muted);
  --finance-paper: var(--aldelo-color-surface);
  --finance-rule: var(--aldelo-color-border);
  --finance-quiet: var(--aldelo-color-surface-muted);
  --finance-control: max(48px, 3rem);
  display: grid;
  gap: var(--aldelo-space-400);
  min-inline-size: 0;
  margin-block: var(--aldelo-space-600);
  color: var(--finance-ink);
  overflow-wrap: anywhere;
}
.finance-workbench[hidden], .finance-workbench [hidden] { display: none !important; }

.finance-workbench h2,
.finance-workbench h3,
.finance-workbench h4,
.finance-workbench h5,
.finance-workbench p,
.finance-workbench dd { margin: 0; }
.finance-workbench h2 { font-size: 1.5625rem; line-height: 1.25; }
.finance-workbench h3 { font-size: 1.25rem; line-height: 1.25; }
.finance-workbench h4 { font-size: 1.25rem; line-height: 1.25; }
.finance-workbench h5 { font-size: 1rem; line-height: 1.25; }

.finance-workbench :is(.ac-button, .ac-input, .ac-select) {
  block-size: auto;
  min-block-size: var(--finance-control);
  min-inline-size: 0;
  max-inline-size: 100%;
  font-size: 1rem;
  line-height: 1.25;
}
.finance-workbench .ac-button {
  padding: var(--aldelo-space-200) var(--aldelo-space-400);
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
.finance-workbench .ac-button:is([aria-current="page"], [aria-pressed="true"]) {
  background: var(--aldelo-color-action-soft);
  border-color: var(--aldelo-color-action);
  color: var(--aldelo-color-link);
}
.finance-workbench .ac-button[aria-disabled="true"] {
  opacity: .72;
  cursor: wait;
}
.finance-workbench [tabindex="-1"]:focus-visible {
  outline: var(--aldelo-border-width-emphasis) solid var(--aldelo-color-action);
  outline-offset: var(--aldelo-space-100);
}
.finance-muted { color: var(--finance-muted); }
.finance-reference, .finance-money { font-variant-numeric: tabular-nums; }
.finance-money { white-space: normal; }
.finance-number { text-align: end; }
.finance-bullets { margin: 0; padding-inline-start: var(--aldelo-space-600); }
.finance-tag.ac-badge {
  display: inline-flex;
  min-block-size: 1.75rem;
  padding-inline: var(--aldelo-space-200);
  font-size: .8rem;
  line-height: 1.35;
  white-space: normal;
}
.finance-status:empty { position: absolute; }
.finance-provenance {
  padding: var(--aldelo-space-200) var(--aldelo-space-400);
  border-inline-start: var(--aldelo-border-width-emphasis) solid var(--finance-rule);
  background: var(--finance-quiet);
}
.finance-context, .finance-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: var(--aldelo-space-400);
}
.finance-context {
  padding: var(--aldelo-space-400);
  align-items: center;
  background: var(--finance-paper);
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-md);
}
.finance-context-facts { display: flex; align-items: center; flex-wrap: wrap; gap: var(--aldelo-space-400); }
.finance-context-facts .finance-facts { display: flex; flex-wrap: wrap; gap: var(--aldelo-space-400); }
.finance-context-facts dd { font-weight: var(--aldelo-font-weight-strong); }
.finance-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--aldelo-space-200);
  border-block-end: var(--aldelo-border-width) solid var(--finance-rule);
  padding-block-end: var(--aldelo-space-200);
}
.finance-tabs .ac-button:not([aria-current="page"]) { background: transparent; border-color: transparent; }
.finance-tabs .ac-button:not([aria-current="page"]):hover { background: var(--aldelo-color-surface-hover); }
.finance-tabs .ac-button:not([aria-current="page"]):active { background: var(--aldelo-color-action-soft); }

.finance-actions, .finance-view-toggle {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  justify-self: start;
  min-inline-size: 0;
  gap: var(--aldelo-space-200);
  align-items: stretch;
}
.finance-toolbar > .finance-actions { flex: 0 1 auto; }
.finance-toolbar > div:first-child { display: grid; gap: var(--aldelo-space-200); }
.finance-toolbar .finance-tag { justify-self: start; }

.finance-detail, .finance-collection, .finance-collection-controls, .finance-partition, .finance-form {
  display: grid;
  align-content: start;
  min-inline-size: 0;
  gap: var(--aldelo-space-400);
}
.finance-detail { gap: var(--aldelo-space-600); }
.finance-collection {
  padding-block: var(--aldelo-space-400);
  border-block-start: var(--aldelo-border-width) solid var(--finance-rule);
}
.finance-collection-controls {
  padding: var(--aldelo-space-400);
  background: var(--finance-paper);
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-md);
}
.finance-filters, .finance-fields {
  display: grid;
  align-items: end;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: var(--aldelo-space-400);
}
.finance-filters .finance-actions { align-self: end; justify-self: stretch; }
.finance-field { display: grid; min-inline-size: 0; gap: var(--aldelo-space-100); }
.finance-field label { font-size: .8rem; }
.finance-field :is(input, select) { inline-size: 100%; }
.finance-invalid { color: var(--aldelo-color-danger); }
.finance-alert { min-inline-size: 0; line-height: 1.5; }
.finance-pagination { display: grid; justify-content: start; }
.finance-results, .finance-results > table { min-inline-size: 0; }
.finance-grid { inline-size: 100%; table-layout: fixed; }
.finance-grid :is(th, td) { overflow-wrap: anywhere; vertical-align: top; font-size: 1rem; }
.finance-grid th { text-transform: none; }
.finance-grid .finance-action-cell { inline-size: 10rem; }
.finance-grid .finance-actions { grid-auto-flow: row; inline-size: 100%; }
.finance-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: var(--aldelo-space-400);
  align-items: start;
}
.finance-lane {
  display: grid;
  gap: var(--aldelo-space-200);
  padding: var(--aldelo-space-200);
  min-inline-size: 0;
  border-radius: var(--aldelo-radius-md);
  background: var(--finance-quiet);
}
.finance-lane h5 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--aldelo-space-200);
  padding: var(--aldelo-space-200);
}
.finance-lane h5 span { color: var(--finance-muted); font-size: .8rem; }
.finance-card { display: grid; gap: var(--aldelo-space-400); padding: var(--aldelo-space-400); }
.finance-card .finance-actions { justify-self: stretch; }
.finance-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: var(--aldelo-space-400);
  align-items: stretch;
}
.finance-partition {
  padding: var(--aldelo-space-400);
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-md);
  background: var(--finance-paper);
}
.finance-partition > .finance-tag { justify-self: start; }
.finance-facts { display: grid; gap: var(--aldelo-space-200); margin: 0; }
.finance-facts > div { min-inline-size: 0; }
.finance-facts dt { color: var(--finance-muted); font-size: .8rem; }
.finance-identity-facts {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: var(--aldelo-space-400);
}
.finance-metrics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: var(--aldelo-space-200);
}
.finance-metrics > div {
  padding: var(--aldelo-space-400);
  background: var(--finance-paper);
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-md);
}
.finance-metrics dd { font-size: 1.25rem; font-weight: var(--aldelo-font-weight-strong); }
.finance-amount-facts > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: baseline;
  gap: var(--aldelo-space-200);
}
.finance-amount-facts dd { text-align: end; }
.finance-loading {
  min-block-size: calc(2 * var(--finance-control));
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-md);
  background: var(--finance-quiet);
}
.finance-evidence-text {
  max-inline-size: var(--aldelo-size-reading-max);
  white-space: pre-wrap;
}
.finance-dialog {
  color: var(--finance-ink);
  background: var(--finance-paper);
  border: var(--aldelo-border-width) solid var(--finance-rule);
  border-radius: var(--aldelo-radius-xl);
  padding: clamp(var(--aldelo-space-400), 4vw, var(--aldelo-space-600));
  inline-size: min(calc(100% - 2 * var(--aldelo-space-400)), var(--aldelo-size-dialog-medium));
  max-block-size: calc(100% - 2 * var(--aldelo-space-400));
  overflow: auto;
}
.finance-dialog::backdrop { background: var(--aldelo-color-scrim); }
.finance-dialog > * + * { margin-block-start: var(--aldelo-space-400) !important; }
.finance-action-facts { display: grid; gap: var(--aldelo-space-200); }
.finance-action-facts .finance-tag { justify-self: start; }

@media (max-width: 64rem) {
  .finance-grid { display: block; }
  .finance-grid thead {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .finance-grid :is(tbody, tr, th, td) { display: block; }
  .finance-grid tbody { display: grid; gap: var(--aldelo-space-200); }
  .finance-grid tr {
    border: var(--aldelo-border-width) solid var(--finance-rule);
    border-radius: var(--aldelo-radius-md);
    background: var(--finance-paper);
  }
  .finance-grid tbody :is(td, th) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    align-items: baseline;
    gap: var(--aldelo-space-200);
    text-align: start;
  }
  .finance-grid tbody :is(td, th)::before {
    content: attr(data-label);
    color: var(--finance-muted);
    font-size: .8rem;
    font-weight: var(--aldelo-font-weight-regular);
  }
  .finance-grid .finance-action-cell { inline-size: auto; }
}
@media (max-width: 40rem) {
  .finance-workbench .finance-actions { grid-auto-flow: row; justify-self: stretch; }
  .finance-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
  .finance-toolbar > .finance-actions { flex: 1 1 100%; }
  .finance-grid .finance-action-cell { display: block; }
  .finance-grid .finance-action-cell::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .finance-workbench :is(.ac-button, .ac-input, .ac-select) { transition: none; }
}
