:root {
  --color-canvas: #f5f7fa;
  --color-surface: #ffffff;
  --color-text: #17202a;
  --color-muted: #4b5b6a;
  --color-border: #c8d1db;
  --color-action: #245b85;
  --color-action-text: #ffffff;
  --color-success: #216e39;
  --color-warning: #8a5700;
  --color-error: #b42318;
  --color-focus: #0067c0;
  --color-brand-ink: #152a21;
  --color-brand-green: #5fd196;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --radius-control: 0.25rem;
  --radius-surface: 0.375rem;
  --focus-ring: 0 0 0 0.1875rem var(--color-focus);
  color-scheme: light;
  font-family: "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  font-size: 100%;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
  overflow-x: clip;
}

body {
  background: var(--color-canvas);
  color: var(--color-text);
  font-size: 0.875rem;
  line-height: 1.5;
}

a {
  color: var(--color-action);
  text-underline-offset: 0.16em;
}

a:focus-visible,
button:focus-visible {
  border-radius: var(--radius-control);
  outline: 0;
  box-shadow: var(--focus-ring);
}

.skip-link {
  position: fixed;
  z-index: 20;
  top: var(--space-2);
  left: var(--space-2);
  padding: var(--space-2) var(--space-3);
  transform: translateY(-200%);
  background: var(--color-surface);
  color: var(--color-text);
}

.skip-link:focus {
  transform: translateY(0);
}

.product-header {
  min-height: 4rem;
  padding: 0 var(--space-6) 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  background: var(--color-brand-ink);
  color: #f5faf7;
  border-bottom: 1px solid #29473a;
}

.brand {
  display: inline-flex;
  width: 10.5rem;
  min-height: 2.75rem;
  align-items: center;
  overflow: hidden;
  color: #f5faf7;
  text-decoration: none;
}

.brand-lockup {
  display: block;
  width: 22.5rem;
  height: 4rem;
  max-width: none;
  flex: 0 0 auto;
  transform: translateX(-0.5rem);
}

.release-label {
  color: inherit;
  font-variant-numeric: tabular-nums;
}

.environment-badge {
  padding: 0.3rem 0.55rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border: 1px solid #6e8b7a;
  border-radius: 999px;
  background: #244535;
  color: #f5faf7;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.environment-badge--test {
  border-color: #d7b46a;
  background: #5f430d;
}

.environment-badge--production {
  border-color: #80af94;
  background: #23583b;
}

.product-utilities {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.active-office {
  margin: 0;
  min-width: 0;
  max-width: 16rem;
  overflow: hidden;
  color: #dbe8e1;
  font-size: 0.8125rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-menu {
  position: relative;
}

.profile-menu summary {
  min-height: 2.5rem;
  padding: var(--space-1) var(--space-2);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: #f5faf7;
  cursor: pointer;
  list-style: none;
}

.profile-menu summary::-webkit-details-marker {
  display: none;
}

.profile-menu summary:focus-visible {
  border-radius: var(--radius-control);
  outline: 0;
  box-shadow: var(--focus-ring);
}

.profile-avatar {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #6e8b7a;
  border-radius: 50%;
  background: #244535;
}

.profile-avatar svg {
  width: 1.125rem;
  height: 1.125rem;
  fill: currentcolor;
}

.profile-label {
  font-weight: 600;
}

.profile-chevron {
  color: #a9c7b7;
  font-size: 1rem;
}

.profile-panel {
  width: 15rem;
  padding: var(--space-3);
  position: absolute;
  z-index: 10;
  top: calc(100% + var(--space-2));
  right: 0;
  display: grid;
  gap: var(--space-1);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  box-shadow: 0 0.5rem 1.5rem rgb(20 35 29 / 20%);
  color: var(--color-text);
}

.profile-panel span {
  color: var(--color-muted);
  font-size: 0.75rem;
}

.public-main {
  width: min(100% - 2rem, 64rem);
  margin: clamp(2rem, 8vw, 6rem) auto;
}

.public-panel {
  max-width: 34rem;
  padding: clamp(1.5rem, 5vw, 3rem);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-surface);
}

.operator-main {
  display: grid;
  gap: var(--space-4);
  margin-block: var(--space-6);
}

.operator-main .public-panel {
  max-width: none;
  padding: var(--space-6);
}

.operator-main .sign-in-form {
  max-width: 36rem;
}

.sign-in-form .operator-confirm,
.operator-confirm {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.sign-in-form .operator-confirm input,
.operator-confirm input {
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.operator-table-scroll {
  overflow-x: auto;
}

.operator-table-scroll table {
  width: 100%;
  border-collapse: collapse;
}

.operator-table-scroll th,
.operator-table-scroll td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: middle;
}

.operator-table-scroll th {
  font-weight: 600;
}

.operator-table-scroll form {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
}

.operator-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-3);
}

.operator-section-heading h2,
.operator-section-heading p {
  margin-block: 0 var(--space-1);
}

.operator-search {
  min-width: min(100%, 22rem);
}

.operator-search label,
.operator-record-id {
  display: block;
  color: var(--color-muted);
  font-size: 0.75rem;
}

.operator-search-control {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.operator-search-control input {
  min-width: 0;
}

.operator-record-id {
  margin-top: var(--space-1);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.operator-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
  padding-top: var(--space-3);
  color: var(--color-muted);
}

.operator-pagination > span:last-child {
  display: flex;
  gap: var(--space-1);
}

.operator-main textarea {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  font: inherit;
}

.sign-in-panel {
  margin-inline: auto;
}

.office-select-panel {
  width: min(34rem, 100%);
}

.office-choice-list {
  display: grid;
  margin: var(--space-6) 0;
  gap: var(--space-2);
}

.office-choice-list form {
  margin: 0;
}

.office-choice {
  display: flex;
  width: 100%;
  min-height: 3.25rem;
  padding: var(--space-3) var(--space-4);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.office-choice:hover {
  border-color: var(--color-action);
  background: #eef5fb;
}

.office-choice small {
  color: var(--color-muted);
  white-space: nowrap;
}

.sign-in-form {
  display: grid;
  gap: var(--space-2);
}

.sign-in-form input {
  min-height: 2.5rem;
  margin-bottom: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  color: var(--color-text);
  font: inherit;
}

.sign-in-form .button {
  margin-top: var(--space-2);
  justify-self: start;
}

.access-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-6) 0;
}

.access-review {
  margin-bottom: var(--space-6);
}

.access-review dt,
.access-review dd {
  margin: 0;
}

.sign-in-divider {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-4) 0;
  color: var(--color-muted);
  font-size: 0.75rem;
}

.sign-in-divider::before,
.sign-in-divider::after {
  height: 1px;
  flex: 1;
  background: var(--color-border);
  content: "";
}

.form-errors {
  color: var(--color-error);
  font-size: 0.875rem;
}

.form-errors ul {
  margin: 0;
  padding-left: var(--space-4);
}

.sign-in-boundary {
  margin: var(--space-6) 0 0;
  font-size: 0.75rem;
}

.eyebrow,
.context-label {
  margin: 0 0 var(--space-1);
  color: var(--color-muted);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-title {
  margin: 0 0 var(--space-8);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.25;
}

.lede {
  margin: calc(-1 * var(--space-4)) 0 var(--space-6);
  font-size: 1rem;
}

.primary-action {
  min-height: 2.25rem;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-action);
  border-radius: var(--radius-control);
  background: var(--color-action);
  color: var(--color-action-text);
  font: inherit;
  font-weight: 600;
}

.primary-action:disabled {
  border-color: #82909e;
  background: #e6eaee;
  color: #43515e;
  cursor: not-allowed;
}

.supporting-text {
  color: var(--color-muted);
}

.status-list {
  display: grid;
  gap: var(--space-2);
  margin: 0 0 var(--space-6);
}

.status-list div {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) 2fr;
  gap: var(--space-4);
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
}

.status-list dt {
  color: var(--color-muted);
}

.status-list dd {
  margin: 0;
  font-weight: 600;
}

.application-frame {
  min-height: calc(100vh - 4rem);
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
}

.application-frame.navigation-collapsed {
  grid-template-columns: 4rem minmax(0, 1fr);
}

.primary-navigation {
  padding: var(--space-6) var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  background: #eef2f0;
  border-right: 1px solid var(--color-border);
}

.navigation-toggle {
  min-height: 2.25rem;
  margin-bottom: var(--space-2);
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-text);
  font: inherit;
  cursor: pointer;
}

.navigation-toggle:hover {
  background: var(--color-surface);
}
.navigation-toggle-icon {
  width: 1rem;
  font-size: 1.125rem;
  line-height: 1;
}

.primary-navigation > a,
.primary-navigation > span {
  min-height: 2.25rem;
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  border-radius: var(--radius-control);
  color: var(--color-text);
  text-decoration: none;
}

.primary-navigation [aria-current="page"] {
  border-left: 0.25rem solid var(--color-brand-green);
  background: var(--color-surface);
  font-weight: 600;
}

.primary-navigation [aria-disabled="true"] {
  color: var(--color-muted);
}

.navigation-icon {
  width: 1rem;
  height: 1rem;
  margin-right: var(--space-2);
  opacity: 0.72;
}

.navigation-icon--tools {
  width: 1.15rem;
  height: 1.15rem;
  margin: -0.075rem var(--space-2) -0.075rem 0;
}

.navigation-collapsed .primary-navigation {
  padding-inline: var(--space-2);
}
.navigation-collapsed .primary-navigation > a,
.navigation-collapsed .navigation-toggle {
  justify-content: center;
  padding-inline: var(--space-2);
}
.navigation-collapsed .navigation-label {
  display: none;
}
.navigation-collapsed .navigation-icon,
.navigation-collapsed .navigation-icon--tools {
  margin-right: 0;
}

.navigation-boundary {
  margin: auto 0 0;
  padding: var(--space-4) var(--space-3) 0;
  color: var(--color-muted);
  border-top: 1px solid var(--color-border);
  font-size: 0.75rem;
}

.navigation-boundary strong,
.navigation-boundary span {
  display: block;
}

.workspace {
  min-width: 0;
}

.context-bar {
  min-height: 4rem;
  padding: var(--space-3) var(--space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
}

.context-label {
  display: block;
}

.context-state,
.boundary-state {
  color: var(--color-muted);
  font-size: 0.75rem;
}

.workspace-content {
  width: min(100%, 76rem);
  padding: var(--space-6);
}

.workspace-content.tool-workspace {
  width: min(100%, 90rem);
}

.client-context {
  min-height: 3.25rem;
  padding: var(--space-2) var(--space-6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
}

.client-context > span {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
}

.client-context .context-label {
  margin: 0;
}

.page-header {
  margin-bottom: var(--space-6);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-4);
}

.page-header .page-title {
  margin-bottom: var(--space-2);
}

.page-header p,
.section-heading p {
  margin: 0;
  color: var(--color-muted);
}

.page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.preview-action-note {
  width: 100%;
  color: var(--color-muted);
  font-size: 0.75rem;
  text-align: right;
}

.button,
button.button {
  min-height: 2.25rem;
  padding: var(--space-2) var(--space-4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-action);
  border-radius: var(--radius-control);
  background: var(--color-action);
  color: var(--color-action-text);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
}

.button.secondary {
  background: var(--color-surface);
  color: var(--color-action);
}

.button:disabled {
  border-color: #adb7c1;
  background: #e8ecef;
  color: #53616d;
  cursor: not-allowed;
}

.surface {
  min-width: 0;
  margin-bottom: var(--space-6);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-surface);
}

.surface.directory {
  overflow: hidden;
}

.section-heading {
  min-height: 4.25rem;
  padding: var(--space-3) var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.section-heading h2,
.tool-card h2 {
  margin: 0 0 var(--space-1);
  font-size: 1rem;
  line-height: 1.3;
}

.text-action {
  flex: 0 0 auto;
  font-weight: 600;
}

.work-list,
.compact-list,
.record-list,
.finding-list {
  display: grid;
}

.work-row,
.compact-list > a,
.compact-list > span,
.record-list > div {
  min-height: 4rem;
  padding: var(--space-3) var(--space-4);
  display: grid;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
  text-decoration: none;
}

.work-row:last-child,
.compact-list > :last-child,
.record-list > :last-child {
  border-bottom: 0;
}

/* An empty registry is still a list row.  Give its message the same deliberate
   inset as a populated row instead of inheriting browser paragraph margins. */
.record-list > p {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  color: var(--color-muted);
}

.work-row {
  grid-template-columns: auto minmax(12rem, 1fr) minmax(8rem, auto) auto;
}

.work-row:hover,
.compact-list > a:hover {
  background: #f6f9f7;
}

.work-row small,
.compact-list small,
.record-list small,
.data-table small,
.mapping-destination small {
  display: block;
  color: var(--color-muted);
}

.work-icon,
.tool-mark,
.record-icon,
.record-type,
.contact-initials,
.source-icon {
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: var(--space-1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #f1f5f3;
  color: var(--color-brand-ink);
  font-size: 0.75rem;
  font-weight: 700;
}

.work-action-icon {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 var(--space-3) 0 var(--space-1);
  opacity: 0.72;
}

.work-action-icon--badge {
  width: 2rem;
  height: 2rem;
  margin: -0.4375rem 0.625rem -0.4375rem -0.125rem;
  opacity: 1;
}

.work-action-icon--statement {
  width: 1.8rem;
  height: 2.25rem;
  margin: -0.5625rem 0.825rem -0.5625rem -0.075rem;
  opacity: 0.88;
}

.compact-list > a,
.compact-list > span {
  grid-template-columns: minmax(0, 1fr) auto;
}

.disabled-row {
  color: var(--color-muted) !important;
}

.dashboard-grid,
.content-grid,
.tool-catalogue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.dashboard-grid .surface,
.content-grid .surface,
.tool-catalogue .surface {
  margin-bottom: 0;
}

.content-grid .wide {
  grid-column: 1 / -1;
}

.section-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  row-gap: var(--space-6);
}

.directory-toolbar {
  padding: var(--space-3) var(--space-4);
  display: grid;
  grid-template-columns: minmax(16rem, 2fr) minmax(9rem, 1fr) auto;
  align-items: end;
  gap: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.search-field,
.compact-field {
  display: grid;
  gap: var(--space-1);
  color: var(--color-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

input,
select {
  width: 100%;
  min-height: 2.25rem;
  padding: var(--space-2) var(--space-3);
  border: 1px solid #9ca9b5;
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
}

input:disabled,
select:disabled {
  background: #f1f3f5;
  color: #53616d;
  opacity: 1;
}

.result-count {
  margin: 0;
  color: var(--color-muted);
  text-align: right;
}

.result-count strong {
  color: var(--color-text);
}

.data-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  contain: inline-size layout paint;
}

.data-table {
  width: 100%;
  min-width: 48rem;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.directory-table {
  min-width: 62rem;
}

.data-table th,
.data-table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: middle;
}

.data-table th {
  background: #eef2f4;
  color: #24394b;
  font-size: 0.8125rem;
  font-weight: 700;
}

.data-table tbody tr:last-child td {
  border-bottom: 0;
}

.session-table {
  min-width: 70rem;
}

.office-user-table {
  min-width: 58rem;
}

.session-heading {
  align-items: flex-start;
}

.session-revoke-all {
  max-width: 24rem;
  text-align: right;
}

.session-revoke-all summary {
  color: var(--color-action);
  cursor: pointer;
  font-weight: 600;
}

.session-revoke-all form {
  padding-top: var(--space-3);
}

.office-invitation-control form {
  display: grid;
  gap: var(--space-2);
  text-align: left;
}

.office-invitation-control input,
.office-invitation-control select {
  width: 100%;
}

.session-revoke-all p {
  margin: 0 0 var(--space-3);
  color: var(--color-muted);
}

.session-notice {
  margin: 0;
  padding: var(--space-2) var(--space-4);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-success);
}

.invitation-result {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-block: 1px solid var(--color-border);
  background: #f5faf7;
}

.invitation-result p {
  margin: 0;
}

.invitation-result textarea {
  width: 100%;
  resize: vertical;
  font-family: var(--font-mono);
  overflow-wrap: anywhere;
}

.member-row-action {
  min-width: 9rem;
}

.member-row-action summary {
  color: var(--color-action);
  cursor: pointer;
}

.member-row-action form {
  width: 17rem;
  padding-top: var(--space-2);
  display: grid;
  gap: var(--space-2);
}

.member-row-action select {
  width: 100%;
}

.member-row-action p {
  margin: 0;
  color: var(--color-muted);
}

.member-row-action .confirmation-control {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--color-muted);
  font-weight: 400;
}

.session-row-action {
  margin: 0;
}

.session-row-action .text-action {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-action);
  cursor: pointer;
  font: inherit;
}

.muted-text {
  color: var(--color-muted);
}

.bank-statement-list {
  min-width: 72rem;
}

.bank-statement-heading-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.statement-short-id,
.statement-transaction-count {
  font-variant-numeric: tabular-nums;
}

.statement-short-id {
  letter-spacing: 0.04em;
}

.statement-period,
.bank-statement-list td:nth-child(6),
.bank-statement-list td:last-child {
  width: 1%;
  white-space: nowrap;
}

.statement-period > span {
  margin: 0 0.2rem;
}

.statement-transaction-count,
.bank-statement-list th:nth-child(4) {
  text-align: right;
}

.statement-action-form {
  margin: 0;
}

.statement-action-picker {
  position: relative;
  display: block;
  width: 8.25rem;
}

.statement-action-picker::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.55rem;
  width: 0.36rem;
  height: 0.36rem;
  border-right: 1px solid var(--color-muted);
  border-bottom: 1px solid var(--color-muted);
  pointer-events: none;
  transform: translateY(-70%) rotate(45deg);
}

.statement-action-select {
  width: 100%;
  min-height: 2rem;
  padding: 0.3rem 1.4rem 0.3rem 0.55rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-weight: 400;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.client-cell a {
  color: var(--color-text);
  text-decoration: none;
}

.client-cell a:hover strong {
  color: var(--color-action);
  text-decoration: underline;
}

.category-value {
  font-weight: 700;
}

.row-action {
  min-width: 2rem;
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  text-decoration: none;
}

.pagination {
  min-height: 3.5rem;
  padding: var(--space-2) var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.pagination p {
  margin: 0;
  color: var(--color-muted);
}

.pagination > div {
  display: flex;
  gap: var(--space-1);
}

.pagination-button {
  min-height: 2rem;
  min-width: 2rem;
  padding: var(--space-1) var(--space-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  color: var(--color-text);
  text-decoration: none;
}

.pagination-button.current {
  border-color: var(--color-action);
  background: var(--color-action);
  color: var(--color-action-text);
  font-weight: 700;
}

.pagination-button[aria-disabled="true"] {
  color: #71808d;
  background: #f1f3f5;
}

.breadcrumb {
  margin-bottom: var(--space-3);
  display: flex;
  gap: var(--space-2);
  color: var(--color-muted);
  font-size: 0.8125rem;
}

.client-heading {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.client-avatar {
  width: 2.75rem;
  height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-brand-ink);
  color: #f5faf7;
  font-weight: 700;
}

.summary-band {
  margin: 0 0 var(--space-6);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: var(--color-surface);
  border: 1px solid var(--color-border);
}

.summary-band > div,
.summary-band.compact > div {
  min-width: 0;
  padding: var(--space-3) var(--space-4);
  border-right: 1px solid var(--color-border);
}

.summary-band > div:last-child,
.summary-band.compact > div:last-child {
  border-right: 0;
}

.summary-band dt,
.summary-band span,
.catalogue-context dt {
  display: block;
  color: var(--color-muted);
  font-size: 0.75rem;
}

.summary-band dd,
.summary-band strong,
.catalogue-context dd {
  margin: 0;
  display: block;
  overflow-wrap: anywhere;
}

.section-tabs {
  margin-bottom: var(--space-4);
  display: flex;
  overflow-x: auto;
  contain: inline-size layout paint;
  border-bottom: 1px solid var(--color-border);
}

.section-tabs a {
  min-height: 2.75rem;
  padding: var(--space-2) var(--space-3);
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--color-muted);
  border-bottom: 0.1875rem solid transparent;
  text-decoration: none;
  white-space: nowrap;
}

.section-tabs a[aria-current="page"] {
  color: var(--color-text);
  border-bottom-color: var(--color-action);
  font-weight: 700;
}

.subsection-tabs {
  margin-top: calc(var(--space-4) * -0.25);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  overflow: visible;
  contain: none;
  border-bottom: 0;
}

.subsection-tabs a {
  min-height: 2.25rem;
  padding: var(--space-1) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  color: var(--color-muted);
  font-size: 0.875rem;
}

.subsection-tabs a[aria-current="page"] {
  border-bottom-color: var(--color-action);
  border-color: var(--color-action);
  background: var(--color-surface);
  color: var(--color-action);
}

.detail-list,
.approval-summary {
  margin: 0;
  padding: 0 var(--space-4) var(--space-2);
}

.detail-list > div,
.approval-summary > div {
  min-height: 2.75rem;
  padding: var(--space-2) 0;
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) 2fr;
  gap: var(--space-3);
  align-items: baseline;
  border-bottom: 1px solid #e2e6ea;
}

.detail-list > div:last-child,
.approval-summary > div:last-child {
  border-bottom: 0;
}

.detail-list dt,
.approval-summary dt {
  color: var(--color-muted);
}

.detail-list dd,
.approval-summary dd {
  margin: 0;
  font-weight: 600;
}

.status {
  width: fit-content;
  padding: 0.125rem var(--space-2);
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  color: var(--color-muted);
  background: #f7f9fa;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.status.success {
  color: var(--color-success);
  border-color: #a6cfb2;
  background: #f0f8f2;
}

.status.warning {
  color: var(--color-warning);
  border-color: #d7b672;
  background: #fffaf0;
}
.status.danger {
  color: var(--color-error);
  border-color: #e2a49e;
  background: #fff5f3;
}

.status.stage-status {
  padding: 0.15rem var(--space-3);
  font-size: 0.9rem;
  letter-spacing: 0.01em;
}

.status.stage-status.in-build {
  color: var(--color-action);
  border-color: #9dbbd2;
  background: #f0f6fb;
}

.record-list > div {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.record-type {
  min-width: 3.5rem;
}

.contact-initials {
  border-radius: 50%;
}

.catalogue-context {
  margin: 0;
  padding: var(--space-3) var(--space-4);
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr);
  gap: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.catalogue-context dd {
  font-weight: 600;
}

.surface-footnote {
  margin: 0;
  padding: var(--space-2) var(--space-4);
  color: var(--color-muted);
  border-top: 1px solid var(--color-border);
  font-size: 0.75rem;
}

.empty-state {
  min-height: 15rem;
  padding: var(--space-8);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.empty-state h2 {
  margin: 0 0 var(--space-2);
  font-size: 1rem;
}

.empty-state p {
  max-width: 34rem;
  margin: 0;
  color: var(--color-muted);
}

.finding-list article {
  min-height: 4.5rem;
  padding: var(--space-3) var(--space-4);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
}

.finding-list h3,
.finding-list p {
  margin: 0;
}

.finding-list h3 {
  font-size: 0.875rem;
}

.finding-list p {
  color: var(--color-muted);
}

.finding-marker {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--color-warning);
  font-weight: 700;
}

.tool-catalogue {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tool-card {
  padding: var(--space-4);
}

.tool-card.available {
  border-top: 0.25rem solid var(--color-brand-green);
}

.tool-card-heading {
  margin-bottom: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.tool-card p {
  color: var(--color-muted);
}

.tool-card .button,
.tool-card .status {
  margin-top: var(--space-4);
}

.plain-list {
  min-height: 5rem;
  padding-left: 1.25rem;
  color: var(--color-muted);
}

.settings-layout {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  gap: var(--space-6);
}

.settings-navigation {
  display: flex;
  flex-direction: column;
}

.settings-navigation a {
  min-height: 2.5rem;
  padding: var(--space-2) var(--space-3);
  color: var(--color-text);
  border-left: 0.1875rem solid transparent;
  text-decoration: none;
}

.settings-navigation a[aria-current="location"] {
  border-left-color: var(--color-action);
  background: var(--color-surface);
  font-weight: 700;
}

.settings-content {
  min-width: 0;
}

.workflow-steps {
  margin-bottom: var(--space-4);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.workflow-steps a,
.workflow-steps button {
  min-height: 3rem;
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  color: var(--color-muted);
  border-right: 1px solid var(--color-border);
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  font: inherit;
  text-decoration: none;
}

.workflow-steps a:last-child,
.workflow-steps button:last-child {
  border-right: 0;
}

.workflow-steps a > span,
.workflow-steps button > span {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  font-size: 0.75rem;
}
.workflow-steps button:disabled {
  color: var(--color-muted);
  cursor: not-allowed;
  opacity: 0.55;
}

.workflow-steps a[aria-current="step"] {
  color: var(--color-text);
  box-shadow: inset 0 -0.1875rem var(--color-action);
  font-weight: 700;
}

.workflow-steps a[aria-current="step"] > span {
  border-color: var(--color-action);
  background: var(--color-action);
  color: var(--color-action-text);
}

.task-surface {
  overflow: hidden;
}

.source-panel {
  margin: var(--space-4);
  min-height: 11rem;
  padding: var(--space-6);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
  border: 1px dashed #93a1ad;
  border-radius: var(--radius-surface);
  background: #f9fbfa;
}

.source-panel h3,
.source-panel p {
  margin: 0;
}

.source-panel h3 {
  font-size: 1rem;
}

.source-panel p {
  color: var(--color-muted);
}

.source-icon {
  min-width: 3.5rem;
  min-height: 3.5rem;
  color: var(--color-success);
}

.task-context {
  margin: 0 var(--space-4) var(--space-4);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-border);
}

.task-context > div {
  padding: var(--space-3);
  border-right: 1px solid var(--color-border);
}

.task-context > div:last-child {
  border-right: 0;
}

.task-context dt {
  color: var(--color-muted);
  font-size: 0.75rem;
}

.task-context dd {
  margin: 0;
  font-weight: 600;
}

.task-footer {
  min-height: 4rem;
  padding: var(--space-3) var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  background: #f7f9fa;
  border-top: 1px solid var(--color-border);
}

.task-footer p {
  margin: 0;
}

.task-footer p strong,
.task-footer p span {
  display: block;
}

.task-footer p span {
  color: var(--color-muted);
}

.task-footer > div {
  display: flex;
  gap: var(--space-2);
  flex: 0 0 auto;
}

.mapping-destination {
  min-height: 4rem;
  padding: var(--space-3) var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.mapping-destination strong,
.mapping-destination small {
  display: block;
}

.amount-state {
  min-width: 18rem;
  padding-left: var(--space-4);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 0 var(--space-3);
  border-left: 1px solid var(--color-border);
}

.amount-state > span {
  grid-column: 1 / -1;
  color: var(--color-muted);
  font-size: 0.75rem;
}

.amount-state small {
  color: var(--color-success);
  font-weight: 700;
}

.mapping-section {
  border-bottom: 1px solid var(--color-border);
}

.mapping-section:last-of-type {
  border-bottom: 0;
}

.segmented-value {
  margin: 0 var(--space-4) var(--space-4);
  max-width: 28rem;
  min-height: 2.75rem;
  padding: var(--space-2) var(--space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  border: 1px solid var(--color-action);
  border-radius: var(--radius-control);
  background: #f4f8fb;
}

.segmented-value span,
.auto-state {
  color: var(--color-success);
  font-size: 0.75rem;
  font-weight: 700;
}

.sample-heading {
  min-height: 4rem;
}

.sample-control {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.sample-control button {
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-muted);
}

.mapping-table {
  max-width: 100%;
  overflow-x: auto;
  contain: inline-size layout paint;
}

.mapping-row {
  min-width: 52rem;
  min-height: 2.75rem;
  display: grid;
  grid-template-columns: 1.2fr 1.4fr 2fr 5rem;
  align-items: center;
  border-top: 1px solid var(--color-border);
}

.mapping-row > span {
  min-width: 0;
  padding: var(--space-2) var(--space-4);
  overflow-wrap: anywhere;
}

.mapping-row small {
  color: var(--color-muted);
  font-weight: 400;
}

.mapping-head {
  min-height: 2.25rem;
  background: #eef2f4;
  color: #24394b;
  font-size: 0.8125rem;
  font-weight: 700;
}

.summary-band.compact {
  margin: 0;
  border-width: 0 0 1px;
}

.validation-table {
  min-width: 60rem;
}

.approval-surface > .section-heading {
  min-height: 5rem;
}

.approval-summary {
  padding-top: var(--space-3);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-8);
}

.compact-notice {
  margin: var(--space-4);
}

.compact-notice p {
  margin: var(--space-1) 0 0;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.notice {
  margin-bottom: var(--space-8);
  padding: var(--space-4);
  border: 1px solid #d7b672;
  border-left: 0.25rem solid var(--color-warning);
  background: #fffaf0;
}

.notice h2,
.foundation-grid h2 {
  margin: 0 0 var(--space-2);
  font-size: 1rem;
  font-weight: 600;
}

.notice p,
.foundation-grid p {
  margin: 0;
}

.foundation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-border);
  background: var(--color-surface);
}

.foundation-grid article {
  min-width: 0;
  padding: var(--space-4);
  border-right: 1px solid var(--color-border);
}

.foundation-grid article:last-child {
  border-right: 0;
}

.boundary-state {
  margin-top: var(--space-4);
  display: inline-block;
  font-weight: 600;
}

/* Native statement workflow controls and source evidence. */
.converter-workspace .workflow-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.converter-approval-confirm {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.converter-approval-confirm input[type="checkbox"] {
  width: 1.125rem;
  height: 1.125rem;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0.15rem 0 0;
  padding: 0;
}
.converter-download-form {
  margin-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--space-3);
}
.download-format-picker {
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  border: 0;
}
#approval-download-form > .download-format-picker {
  margin: var(--space-4) 0;
}
.download-format-picker legend {
  width: 100%;
  margin-bottom: var(--space-2);
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.download-format-picker label {
  width: auto;
  min-height: 2.25rem;
  padding: 0 var(--space-3);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  cursor: pointer;
}
.download-format-picker label:has(input:checked) {
  border-color: var(--color-action);
  background: #eef4f8;
}
.download-format-picker input {
  width: 0.875rem;
  height: 0.875rem;
  min-height: 0;
  margin: 0;
  padding: 0;
}
.download-format-icon {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  flex: 0 0 auto;
  background: var(--color-muted);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.download-format-icon.format-xml {
  background: #2f6f9f;
  -webkit-mask-image: url("/static/thecakit-icons/receipt-text.12bda4982f7e.svg");
  mask-image: url("/static/thecakit-icons/receipt-text.12bda4982f7e.svg");
}
.download-format-icon.format-tally {
  background: #2e7d4f;
  -webkit-mask-image: url("/static/thecakit-icons/file-check-2.425960208b05.svg");
  mask-image: url("/static/thecakit-icons/file-check-2.425960208b05.svg");
}
.download-format-icon.format-csv {
  background: #147d77;
  -webkit-mask-image: url("/static/thecakit-icons/table-properties.902bd4051d38.svg");
  mask-image: url("/static/thecakit-icons/table-properties.902bd4051d38.svg");
}
.download-location-note {
  flex-basis: 100%;
  margin: 0;
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.download-complete {
  color: var(--color-success);
}
.converter-workspace .task-surface {
  --space-5: 1.25rem;
  padding: var(--space-6);
}

.converter-workspace .task-surface > h2 {
  margin: 0 0 var(--space-3);
  font-size: 1.125rem;
}

.converter-workspace .task-surface > p,
.converter-workspace form > p {
  margin: var(--space-3) 0;
  max-width: 75ch;
  color: var(--color-muted);
}

.converter-fields {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: end;
  margin: var(--space-5) 0 var(--space-6);
}

.converter-fields label {
  display: grid;
  gap: var(--space-2);
  flex: 1 1 12rem;
  min-width: 0;
}

.converter-fields input,
.converter-fields select {
  width: 100%;
  min-height: 2.5rem;
}

.converter-workspace .sample-heading {
  padding: var(--space-4) 0;
  gap: var(--space-4);
  border-bottom: 0;
}

.converter-workspace .sample-control {
  white-space: nowrap;
}

.converter-workspace .mapping-table {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
}

.converter-workspace .mapping-row {
  grid-template-columns:
    minmax(9rem, 1fr) minmax(12rem, 1.35fr) minmax(14rem, 2fr)
    7rem;
}

.converter-workspace .mapping-row:first-child {
  border-top: 0;
}

.converter-workspace .mapping-row > * {
  min-width: 0;
  padding: var(--space-3);
  overflow-wrap: anywhere;
}

.converter-workspace .mapping-row small {
  display: block;
  margin-top: 0.2rem;
}

.converter-workspace .mapping-row [data-status] {
  white-space: nowrap;
  font-size: 0.8125rem;
}

.converter-workspace .task-context {
  margin: var(--space-5) 0;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  background: #f7f9fa;
}

.converter-workspace .task-footer {
  margin: var(--space-6) calc(-1 * var(--space-6)) calc(-1 * var(--space-6));
  padding: var(--space-4) var(--space-6);
  flex-wrap: wrap;
}

.converter-workspace .task-footer p {
  flex: 1 1 16rem;
  max-width: 65ch;
}

.converter-workspace .task-footer > div {
  flex-wrap: wrap;
  margin-left: auto;
}

.mapping-row[hidden],
.converter-fields[hidden] {
  display: none;
}

.converter-disposition {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-5) 0;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #f9fbfa;
}

.converter-disposition span {
  color: var(--color-muted);
  font-size: 0.875rem;
}

.converter-disposition textarea {
  width: 100%;
  min-height: 5rem;
  padding: var(--space-3);
  resize: vertical;
}
.validation-blockers,
.validation-issues,
.validation-clear,
.validation-evidence {
  margin: var(--space-4) 0;
}
.validation-blockers {
  padding: var(--space-4);
  border: 1px solid var(--color-error);
  border-radius: var(--radius-control);
  background: #fff5f3;
}
.validation-blockers h3,
.validation-blockers p,
.validation-clear h3,
.validation-clear p,
.validation-issues header h3,
.validation-issues header p,
.validation-issue h4,
.validation-issue p {
  margin: 0;
}
.validation-blockers p,
.validation-clear p,
.validation-issues header p,
.validation-issue p {
  color: var(--color-muted);
}
.validation-issues {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  overflow: hidden;
}
.validation-issues > header,
.validation-issue {
  padding: var(--space-3) var(--space-4);
}
.validation-issues > header {
  background: #f7f9fa;
  border-bottom: 1px solid var(--color-border);
}
.validation-issue {
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) minmax(16rem, 0.8fr);
  gap: var(--space-2) var(--space-5);
  border-bottom: 1px solid var(--color-border);
}
.validation-issue:last-child {
  border-bottom: 0;
}
.validation-rule {
  color: var(--color-muted);
  font-size: 0.6875rem;
}
.validation-issue h4 {
  margin-top: 0.2rem;
  font-size: 0.875rem;
}
.validation-decision,
.validation-note {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 0.8125rem;
  font-weight: 400;
}
.validation-note {
  grid-column: 2;
}
.validation-note > span {
  flex: 0 0 auto;
  color: var(--color-muted);
  font-size: 0.75rem;
}
.validation-note input {
  width: 100%;
  min-width: 0;
}
.validation-clear {
  padding: var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #f7f9fa;
}
.validation-clear > span {
  color: var(--color-success);
  font-size: 1.25rem;
}
.validation-evidence summary {
  color: var(--color-muted);
  font-size: 0.75rem;
  cursor: pointer;
}
.validation-evidence .table-scroll {
  margin-top: var(--space-2);
}
.validation-review-wrap {
  margin: var(--space-4) 0;
}
.converter-workspace .table-scroll.validation-review-wrap {
  max-height: none;
  overflow: hidden;
}
.validation-action-table {
  min-width: 0;
  table-layout: fixed;
}
.validation-action-table th:nth-child(1) {
  width: 26%;
}
.validation-action-table th:nth-child(2) {
  width: 6rem;
}
.validation-action-table th:nth-child(4) {
  width: 15rem;
}
.validation-action-table td {
  vertical-align: middle !important;
  font-weight: 400;
}
.converter-workspace .validation-action-table th,
.converter-workspace .validation-action-table td {
  padding: 0.5rem 0.65rem;
}
.validation-action-table td:first-child small {
  display: inline;
  margin-right: 0.3rem;
}
.validation-action-table td:nth-child(3) {
  font-size: 0.8125rem;
  line-height: 1.35;
}
.validation-action-table td:nth-child(2) {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.validation-action-table .finding-confirmation {
  background: #fff;
}
.validation-action-table .finding-violation {
  background: #fff9ed;
}
.validation-row-action,
.validation-action-picker {
  display: block;
  width: 100%;
}
.validation-action-picker {
  position: relative;
}
.validation-action-picker::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.7rem;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1px solid var(--color-muted);
  border-bottom: 1px solid var(--color-muted);
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}
.validation-action-picker select {
  width: 100%;
  min-height: 2rem;
  padding-block: 0.35rem;
  padding-right: 2rem !important;
  background-image: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font-weight: 400;
}
.validation-no-action {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-success);
}
.validation-no-action > span {
  flex: 0 0 auto;
}
.validation-no-action .validation-complete-picker {
  flex: 1 1 auto;
}
.validation-no-action select {
  width: 100%;
  color: var(--color-success);
  font-weight: 400;
}
.validation-resolve-dialog {
  width: min(76rem, calc(100% - 2rem));
  max-height: calc(100vh - 2rem);
  margin: auto;
  padding: var(--space-5);
  overflow: auto;
  border-color: var(--color-border);
  box-shadow: 0 1rem 3rem rgb(20 34 43 / 24%);
}
.validation-resolve-dialog::backdrop {
  background: rgb(20 34 43 / 42%);
}
.validation-resolve-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.validation-resolve-dialog > header h2,
.validation-resolve-dialog > header p {
  margin: 0;
}
.validation-resolve-dialog > header p {
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.validation-resolve-form {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-3);
}
.validation-resolve-form fieldset {
  display: grid;
  grid-template-columns: 8.5rem minmax(16rem, 1fr) minmax(10rem, 0.45fr) 6rem 9rem;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
}
.validation-resolve-form legend {
  padding: 0 var(--space-1);
  font-size: 0.75rem;
}
.validation-resolve-form label {
  display: grid;
  gap: var(--space-1);
  font-size: 0.75rem;
  font-weight: 400;
}
.validation-resolve-form input,
.validation-resolve-form select {
  width: 100%;
  font-weight: 400;
}
.validation-resolve-form footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
}
.validation-table td small {
  display: block;
  color: var(--color-muted);
}

.converter-transactions {
  margin: var(--space-5) 0;
}

.converter-workspace summary {
  cursor: pointer;
  padding: var(--space-2) 0;
}

.converter-workspace code {
  overflow-wrap: anywhere;
}

.converter-workspace .table-scroll {
  overflow: auto;
  max-height: 32rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
}

.converter-workspace .validation-table th,
.converter-workspace .validation-table td {
  padding: var(--space-3);
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.converter-workspace .validation-table {
  width: 100%;
  border-collapse: collapse;
}

.converter-workspace .validation-table th {
  background: #eef2f4;
  position: sticky;
  top: 0;
}

.converter-workspace .validation-table tr:last-child td {
  border-bottom: 0;
}
.converter-workspace .finding-violation {
  background: #fff9ed;
}
.converter-workspace .finding-blocking {
  background: #fff1ee;
}
.converter-workspace .converter-money {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.converter-workspace .converter-transactions table {
  table-layout: fixed;
}
.converter-transactions th:nth-child(1) {
  width: 5rem;
}
.converter-transactions th:nth-child(2) {
  width: 7rem;
}
.converter-transactions th:nth-child(4) {
  width: 12rem;
}
.converter-transactions th:nth-child(5) {
  width: 6rem;
}
.converter-transactions th:nth-child(6) {
  width: 8rem;
}
.converter-transactions td:nth-child(2) {
  white-space: nowrap;
}
.converter-transactions td:nth-child(3),
.converter-transactions td:nth-child(4) {
  overflow-wrap: anywhere;
}
.converter-workspace .validation-table td.converter-money {
  text-align: right;
}

.converter-stage-review .breadcrumb,
.converter-stage-review .page-header {
  display: none;
}
.converter-stage-review .workflow-steps {
  margin-bottom: var(--space-2);
}
.converter-stage-review .workflow-steps a {
  min-height: 2.25rem;
  padding: var(--space-1) var(--space-2);
}
.converter-stage-review .task-surface {
  padding: var(--space-4);
}
.transaction-review-surface {
  position: relative;
}
.transaction-busy {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: auto auto;
  align-content: start;
  justify-content: center;
  gap: 0.55rem 0.65rem;
  padding-top: min(10rem, 22vh);
  background: rgb(255 255 255 / 78%);
  color: var(--color-text);
  cursor: wait;
  backdrop-filter: blur(1px);
}
.transaction-busy[hidden] {
  display: none;
}
.transaction-busy-spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-brand);
  border-radius: 50%;
  animation: transaction-busy-spin 0.7s linear infinite;
}
.transaction-busy progress {
  grid-column: 1 / -1;
  width: 15rem;
  height: 0.3rem;
  accent-color: var(--color-brand);
}
.transaction-action-pending .workflow-steps,
.transaction-action-pending .transaction-review-surface > :not(.transaction-busy) {
  pointer-events: none;
  user-select: none;
}
@keyframes transaction-busy-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .transaction-busy-spinner {
    animation: none;
  }
}
.converter-stage-review .section-heading {
  margin-bottom: var(--space-2);
}
.converter-stage-review .section-heading p {
  display: none;
}
.review-card-header {
  align-items: flex-start;
  border-bottom: 0;
}
.review-card-title {
  flex: 0 0 auto;
}
.review-title-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.review-title-row h2 {
  margin: 0;
}
.review-last-modified {
  display: block;
  margin-top: 0.15rem;
  color: var(--color-muted);
  font-size: 0.6875rem;
  font-weight: 400;
}
.configure-mappings-link {
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border: 0;
  background: transparent;
  color: var(--color-muted);
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 400;
  cursor: pointer;
}
.configure-mappings-link svg {
  width: 0.8rem;
  height: 0.8rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}
.configure-mappings-link:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.review-card-header .review-header-filters {
  margin: 0;
  justify-content: flex-end;
}

.converter-workspace .match-summary {
  margin: 0 0 var(--space-2);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  padding: 0;
  border: 0;
  background: transparent;
}

.table-filter-actions {
  min-height: 1.25rem;
  margin: 0 0 0.25rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.table-clear-filters {
  color: var(--color-muted);
  font-size: 0.75rem;
  font-weight: 400;
}

.table-clear-filters:hover {
  color: var(--color-text);
}

.match-filter-pill {
  min-height: 2rem;
  padding: 0.3rem 0.7rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  color: var(--color-text);
  font-size: 0.75rem;
  line-height: 1;
  text-decoration: none;
}

.match-filter-pill span {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.match-filter-pill:hover {
  border-color: var(--color-link);
}

.match-filter-pill.active {
  border-color: var(--color-link);
  background: #eef6f2;
  color: var(--color-link);
}

.fallback-ledger-prompt {
  margin: var(--space-3) 0;
  padding: var(--space-3);
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--space-3);
  border: 1px solid #d7a64a;
  border-radius: var(--radius-control);
  background: #fffaf0;
}
.fallback-ledger-prompt p {
  flex: 1 1 24rem;
  margin: 0;
}
.fallback-ledger-prompt label {
  flex: 0 1 18rem;
}
.fallback-ledger-prompt label span {
  display: block;
  margin-bottom: 0.25rem;
}
.fallback-ledger-prompt input {
  width: 100%;
}

.matching-rules {
  margin: var(--space-2) 0;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: #f9fbfa;
}

dialog.matching-knowledge-dialog {
  width: min(52rem, calc(100% - 2rem));
  max-height: min(48rem, calc(100vh - 2rem));
  margin: auto;
  padding: var(--space-5);
  overflow: auto;
  border-color: var(--color-border);
  box-shadow: 0 1rem 3rem rgb(20 34 43 / 24%);
}
.matching-knowledge-dialog::backdrop {
  background: rgb(20 34 43 / 42%);
}
.matching-knowledge-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.matching-knowledge-dialog > header h2,
.matching-knowledge-dialog > header p {
  margin: 0;
}
.matching-knowledge-dialog > header p {
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.skip-mapping-dialog {
  max-width: 34rem;
}
.skip-mapping-dialog > p {
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.skip-mapping-dialog > form:not([method="dialog"]) {
  display: grid;
  gap: var(--space-3);
}
.skip-mapping-dialog label {
  display: grid;
  gap: var(--space-1);
  font-weight: 400;
}
.skip-mapping-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
}
.dialog-close {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: #fff;
  color: var(--color-text);
  font: inherit;
  font-size: 1.25rem;
  cursor: pointer;
}

.matching-rules > p,
.matching-rules > ul {
  margin: var(--space-2) 0;
}

.matching-rules h3 {
  margin: var(--space-4) 0 var(--space-2);
}
.matching-rules li .inline-form {
  display: inline;
  margin-left: var(--space-2);
}
.matching-rules .text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-link);
  text-decoration: underline;
  cursor: pointer;
}

.matching-rules .converter-fields {
  margin-bottom: var(--space-2);
}

.match-tools {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.5rem 0.75rem;
}

.match-tools .match-scope {
  display: grid;
  gap: 0.25rem;
  flex: 0 1 10rem;
}

.match-tools .match-scope > span,
.match-tools .match-actions > span {
  color: var(--color-muted);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.match-tools .match-scope select {
  min-height: 1.875rem;
}
.match-tools .match-actions {
  display: grid;
  gap: 0.25rem;
  flex: 0 1 13rem;
}
.match-tools .match-actions select {
  min-height: 1.875rem;
}
.match-tools > .button {
  min-height: 1.875rem;
  padding: 0.3rem 0.75rem;
}

.converter-workspace .match-table-wrap {
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
}
.transaction-match-table {
  min-width: 0;
  display: block;
  table-layout: fixed;
}
.transaction-match-table thead {
  position: static;
  display: block;
  width: calc(100% - var(--transaction-scrollbar-width, 0px));
}
.transaction-match-table tbody {
  max-height: min(42rem, calc(100vh - 20rem));
  display: block;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.transaction-match-table tbody tr {
  display: grid;
  grid-template-columns: 8.5rem 6.75rem 32rem 4.25rem 6.5rem minmax(10.5rem, 1fr) 8rem;
  width: 100%;
}
.transaction-match-table .column-label-row {
  display: grid;
  grid-template-columns: 8.5rem 6.75rem 32rem 4.25rem 6.5rem minmax(10.5rem, 1fr) 8rem;
  width: 100%;
}
.transaction-match-table .column-label-row th,
.transaction-match-table tbody td {
  width: auto;
  min-width: 0;
}
.converter-workspace .transaction-match-table thead th {
  position: static;
}
.transaction-match-table .column-label-row th {
  padding-block: 0.4rem;
  vertical-align: middle;
}
.transaction-match-table .sort-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  color: inherit;
  text-decoration: none;
}
.transaction-match-table .sort-header span {
  color: var(--color-muted);
  font-size: 0.75rem;
}
.transaction-match-table .sort-header.active span {
  color: var(--color-link);
}
.transaction-match-table .column-filter-layout {
  display: grid;
  gap: 0.25rem;
}
.transaction-match-table .column-filter-layout > .column-label {
  min-width: 0;
}
.transaction-match-table .column-filter-layout > .header-filter {
  min-width: 0;
}
.transaction-match-table .header-date-filter {
  width: 100%;
  min-width: 0;
  min-height: 1.875rem;
  padding: 0.25rem 0.4rem;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-weight: 400;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.date-filter-dialog {
  width: min(24rem, calc(100% - 2rem));
  margin: auto;
  padding: var(--space-4);
  border-color: var(--color-border);
  box-shadow: 0 1rem 3rem rgb(20 34 43 / 24%);
}
.date-filter-dialog::backdrop {
  background: rgb(20 34 43 / 42%);
}
.date-filter-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}
.date-filter-dialog > header h2,
.date-filter-dialog > header p {
  margin: 0;
}
.date-filter-dialog > header p {
  color: var(--color-muted);
  font-size: 0.8125rem;
}
.date-filter-dialog > form:not([method="dialog"]) {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-3);
}
.date-filter-dialog label,
.date-range-fields {
  display: grid;
  gap: var(--space-1);
}
.date-range-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}
.date-filter-dialog input,
.date-filter-dialog select {
  width: 100%;
  font-weight: 400;
}
.date-filter-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}
.transaction-match-table .filter-row th {
  padding-block: 0.35rem;
  vertical-align: middle;
  background: #f7f9fa;
}
.transaction-match-table .table-action-row th {
  width: auto;
  padding-block: 0.4rem;
  background: #fff;
}
.transaction-match-table .header-filter {
  display: block;
  font-weight: 400;
}
.transaction-match-table .header-filter-search {
  position: relative;
}
.transaction-match-table .header-filter input,
.transaction-match-table .header-filter select,
.transaction-match-table .header-filter button {
  width: 100%;
  min-width: 0;
  min-height: 1.875rem;
  padding: 0.25rem 0.4rem;
  font: inherit;
}
.transaction-match-table .header-filter select,
.match-tools .match-actions select {
  color: var(--color-text);
  font-weight: 400;
}
.transaction-match-table select {
  padding-right: 1.35rem !important;
  background-image: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.transaction-match-table .header-select-filter,
.transaction-match-table .row-action-picker {
  position: relative;
  display: block;
}
.transaction-match-table .header-select-filter::after,
.transaction-match-table .row-action-picker::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5rem;
  z-index: 1;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1px solid var(--color-muted);
  border-bottom: 1px solid var(--color-muted);
  pointer-events: none;
  transform: translateY(-70%) rotate(45deg);
}
.transaction-match-table .header-filter-search input {
  padding-right: 2rem;
}
.transaction-match-table .transaction-search-control input {
  padding-right: 3.55rem;
}
.transaction-match-table .header-filter-search.has-active-filter input:not(:focus) {
  color: transparent;
  caret-color: transparent;
}
.transaction-match-table .active-filter-chip {
  position: absolute;
  top: 50%;
  left: 0.3rem;
  max-width: calc(100% - 2.5rem);
  min-height: 1.35rem;
  padding: 0.1rem 0.3rem 0.1rem 0.4rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border: 1px solid #b8d9ca;
  border-radius: 999px;
  background: #eef6f2;
  color: var(--color-link);
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
}
.transaction-match-table .active-filter-chip > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transaction-match-table .active-filter-chip .active-filter-term {
  font-weight: 600;
}
.transaction-match-table .active-filter-chip .active-filter-count {
  flex: 0 0 auto;
  color: var(--color-muted);
  font-variant-numeric: tabular-nums;
}
.transaction-match-table .active-filter-chip a {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  pointer-events: auto;
}
.transaction-match-table .active-filter-chip a:hover {
  color: var(--color-text);
}
.transaction-match-table .header-filter-search:focus-within .active-filter-chip {
  display: none;
}
.transaction-match-table .header-filter-search button {
  position: absolute;
  top: 50%;
  right: 0.15rem;
  width: 1.625rem;
  min-height: 1.625rem;
  padding: 0.25rem;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--color-muted);
  transform: translateY(-50%);
  cursor: pointer;
}
.transaction-match-table .header-filter-search button:hover {
  color: var(--color-text);
}
.transaction-match-table .header-filter-search .auto-filter-toggle {
  right: 1.75rem;
}
.transaction-match-table .header-filter-search .auto-filter-toggle[aria-expanded="true"] {
  color: var(--color-link);
}
.transaction-match-table .header-filter-search button svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.75;
}
.transaction-match-table .auto-filter-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 20;
  width: min(30rem, calc(100vw - 3rem));
  max-height: min(30rem, calc(100vh - 10rem));
  padding: 0.6rem;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  box-shadow: 0 0.65rem 1.6rem rgb(20 34 43 / 18%);
  color: var(--color-text);
  font-weight: 400;
}
.transaction-match-table .auto-filter-panel[hidden] {
  display: none;
}
.transaction-match-table .auto-filter-heading {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 0.1rem 0.2rem 0.45rem;
  font-weight: 600;
}
.transaction-match-table .auto-filter-heading small {
  color: var(--color-muted);
  font-size: 0.6875rem;
  font-weight: 400;
}
.transaction-match-table .auto-filter-heading > span {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
}
.transaction-match-table .auto-filter-search {
  flex: 0 0 auto;
  width: 100%;
  min-height: 1.875rem;
  margin: 0 0 0.45rem;
  padding: 0.3rem 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-weight: 400;
}
.transaction-match-table .auto-filter-groups {
  min-height: 0;
  padding-right: 0.2rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.transaction-match-table .auto-filter-groups a {
  min-width: 0;
  padding: 0.4rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  border-radius: var(--radius-control);
  color: var(--color-text);
  text-decoration: none;
}
.transaction-match-table .auto-filter-groups a[hidden] {
  display: none;
}
.transaction-match-table .auto-filter-groups a:hover,
.transaction-match-table .auto-filter-groups a:focus-visible {
  background: #eef2f4;
}
.transaction-match-table .auto-filter-groups a > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transaction-match-table .auto-filter-groups small {
  flex: 0 0 auto;
  color: var(--color-muted);
  font-variant-numeric: tabular-nums;
}
.transaction-match-table .auto-filter-empty {
  grid-column: 1 / -1;
  padding: 0.4rem 0.2rem;
  color: var(--color-muted);
  font-size: 0.75rem;
}
.converter-workspace .transaction-match-table th,
.converter-workspace .transaction-match-table td {
  padding: 0.5rem 0.625rem;
}
.transaction-match-table td {
  overflow-wrap: anywhere;
  font-size: 0.8125rem;
}
.transaction-match-table td:nth-child(3) > span,
.transaction-match-table td:nth-child(3) > small {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.transaction-match-table td.converter-money {
  text-align: right;
  white-space: nowrap;
}
.transaction-match-table tr.match-payment {
  box-shadow: inset 0.2rem 0 #b8673e;
}
.transaction-match-table tr.match-receipt {
  box-shadow: inset 0.2rem 0 #288061;
}
.transaction-match-table tr.match-payment td {
  background: #fff;
}
.transaction-match-table tr.match-receipt td {
  background: #f4f5f5;
}
.transaction-match-table tr.match-receipt td.converter-money {
  color: var(--color-success);
}
.transaction-match-table tbody {
  font-weight: 400;
}
.transaction-match-table .movement-code {
  font-weight: 400;
}
.transaction-match-table .transaction-row-selector {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 400;
  white-space: nowrap;
}
.transaction-match-table .transaction-row-selector input[type="checkbox"] {
  flex: 0 0 auto;
  width: 0.95rem !important;
  height: 0.95rem !important;
  min-height: 0 !important;
  margin: 0;
}
.transaction-match-table td > small,
.transaction-match-table td > span {
  display: block;
}
.transaction-match-table td > small {
  margin-top: 0.25rem;
  color: var(--color-muted);
}
.transaction-match-table .ledger-choice {
  width: 100%;
  min-height: 2.125rem;
  padding: 0.35rem 0.5rem;
}
.transaction-match-table .ledger-suggestion-note {
  margin-bottom: 0.25rem;
}
.transaction-match-table .row-actions {
  vertical-align: middle;
}
.transaction-match-table .transaction-row-action {
  width: 100%;
  min-height: 1.75rem;
  padding: 0.2rem 1.1rem 0.2rem 0;
  border: 0;
  background-color: transparent;
  color: var(--color-text);
  font: inherit;
  font-weight: 400;
}
.match-pagination {
  margin: var(--space-4) 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}
.match-pagination-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
.match-page-size {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--color-muted);
  font-size: 0.75rem;
}
.page-size-picker {
  position: relative;
  display: inline-block;
}
.page-size-picker::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.45rem;
  width: 0.32rem;
  height: 0.32rem;
  border-right: 1px solid var(--color-muted);
  border-bottom: 1px solid var(--color-muted);
  pointer-events: none;
  transform: translateY(-70%) rotate(45deg);
}
.match-page-size select {
  min-height: 1.75rem;
  padding: 0.2rem 1.25rem 0.2rem 0.45rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-control);
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.match-pagination .page-links {
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.match-pagination .pagination-ellipsis {
  padding: 0 var(--space-1);
  color: var(--color-muted);
}

@media (max-width: 48rem) {
  .converter-workspace .task-surface {
    padding: var(--space-4);
  }
  .validation-issue {
    grid-template-columns: 1fr;
  }
  .validation-note {
    grid-column: 1;
  }
  .validation-action-table th:nth-child(1),
  .validation-action-table th:nth-child(2),
  .validation-action-table th:nth-child(4) {
    width: auto;
  }
  .validation-resolve-form fieldset {
    grid-template-columns: 1fr;
  }
  .converter-workspace .sample-heading {
    flex-wrap: wrap;
  }
  .converter-workspace .mapping-row {
    min-width: 0;
    grid-template-columns: minmax(6rem, 0.8fr) minmax(9rem, 1.4fr) 6rem;
  }
  .converter-workspace .mapping-row > * {
    padding: var(--space-2);
  }
  .converter-workspace .mapping-row .sample {
    grid-column: 2 / -1;
    grid-row: 2;
  }
  .converter-workspace .mapping-row .sample::before {
    content: "Sample: ";
    color: var(--color-muted);
  }
  .converter-workspace .mapping-row [data-status] {
    grid-column: 3;
    grid-row: 1;
  }
  .converter-workspace .mapping-head > span:nth-child(3) {
    display: none;
  }
  .converter-workspace .task-footer {
    margin: var(--space-5) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));
    padding: var(--space-4);
  }
  .converter-workspace .task-footer > div {
    margin-left: 0;
  }
  .match-pagination {
    justify-content: flex-end;
  }
  .converter-workspace .match-table-wrap {
    max-height: none;
    overflow: visible;
    border: 0;
  }
  .converter-workspace .transaction-match-table {
    min-width: 0;
    display: block;
  }
  .transaction-match-table thead {
    position: static;
    display: block;
    margin-bottom: var(--space-3);
  }
  .transaction-match-table .column-label-row {
    display: block;
  }
  .converter-workspace .transaction-match-table .column-label-row th {
    display: none;
  }
  .converter-workspace
    .transaction-match-table
    .column-label-row
    th:first-child {
    display: block;
    width: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
  }
  .transaction-match-table .table-action-row {
    display: block;
  }
  .converter-workspace .transaction-match-table .table-action-row th {
    display: block;
    width: auto;
    margin-top: var(--space-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
  }
  .match-tools .match-scope,
  .match-tools .match-actions {
    flex: 1 1 10rem;
  }
  .transaction-match-table tbody {
    max-height: none;
    display: grid;
    gap: var(--space-3);
    overflow: visible;
    scrollbar-gutter: auto;
  }
  .transaction-match-table tr {
    display: block;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-control);
    background: #fff;
  }
  .converter-workspace .transaction-match-table td {
    width: auto;
    padding: var(--space-3);
    border-bottom: 1px solid var(--color-border);
  }
  .transaction-match-table td:nth-child(3) > span,
  .transaction-match-table td:nth-child(3) > small {
    white-space: normal;
  }
  .transaction-match-table td:last-child {
    border-bottom: 0;
  }
  .transaction-match-table td.converter-money {
    text-align: left;
  }
  .transaction-match-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.25rem;
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 500;
  }
}

@media (max-width: 48rem) {
  .brand-lockup {
    transform: translateX(-1rem);
  }

  .application-frame {
    grid-template-columns: 1fr;
  }

  .application-frame.navigation-collapsed {
    grid-template-columns: 1fr;
  }

  .navigation-toggle {
    display: none;
  }

  .navigation-collapsed .navigation-label {
    display: inline;
  }

  .navigation-collapsed .navigation-icon {
    margin-right: var(--space-2);
  }

  .navigation-collapsed .navigation-icon--tools {
    margin: -0.075rem var(--space-2) -0.075rem 0;
  }

  .primary-navigation {
    padding: var(--space-2);
    flex-direction: row;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .primary-navigation > a,
  .primary-navigation > span {
    flex: 0 0 auto;
  }

  .navigation-boundary {
    display: none;
  }

  .dashboard-grid,
  .content-grid,
  .tool-catalogue {
    grid-template-columns: 1fr;
  }

  .content-grid .wide {
    grid-column: auto;
  }

  .directory-toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(9rem, auto);
  }

  .directory-toolbar .result-count {
    grid-column: 1 / -1;
    text-align: left;
  }

  .summary-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .summary-band > div:nth-child(2) {
    border-right: 0;
  }

  .summary-band > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--color-border);
  }

  .catalogue-context {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .settings-layout {
    grid-template-columns: 1fr;
  }

  .settings-navigation {
    flex-direction: row;
    overflow-x: auto;
    border-bottom: 1px solid var(--color-border);
  }

  .settings-navigation a {
    flex: 0 0 auto;
    border-left: 0;
    border-bottom: 0.1875rem solid transparent;
  }

  .settings-navigation a[aria-current="location"] {
    border-bottom-color: var(--color-action);
  }

  .source-panel {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .source-panel .button {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .approval-summary {
    grid-template-columns: 1fr;
  }

  .foundation-grid {
    grid-template-columns: 1fr;
  }

  .foundation-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .foundation-grid article:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 30rem) {
  .product-header,
  .context-bar,
  .workspace-content,
  .client-context {
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }

  .product-header {
    padding-right: var(--space-3);
    padding-left: 0;
    gap: var(--space-2);
  }

  .brand {
    width: 10.5rem;
  }

  .product-utilities {
    gap: var(--space-2);
  }

  .active-office {
    max-width: 5.5rem;
    font-size: 0.75rem;
  }

  .profile-label,
  .profile-chevron {
    display: none;
  }

  .context-bar,
  .status-list div {
    align-items: flex-start;
    grid-template-columns: 1fr;
  }

  .context-bar {
    flex-direction: column;
  }

  .client-context,
  .page-header,
  .task-footer,
  .mapping-destination,
  .section-heading,
  .finding-list article {
    align-items: flex-start;
    flex-direction: column;
  }

  .client-context {
    min-height: 4rem;
  }

  .page-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .preview-action-note {
    text-align: left;
  }

  .work-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .work-row > span:nth-child(3) {
    grid-column: 2 / -1;
  }

  .directory-toolbar {
    grid-template-columns: 1fr;
  }

  .directory-toolbar .result-count {
    grid-column: auto;
  }

  .pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .summary-band,
  .catalogue-context {
    grid-template-columns: 1fr;
  }

  .summary-band > div,
  .summary-band > div:nth-child(2),
  .summary-band.compact > div {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .summary-band > div:last-child,
  .summary-band.compact > div:last-child {
    border-bottom: 0;
  }

  .detail-list > div,
  .approval-summary > div {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .record-list > div {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .record-list .status {
    grid-column: 2;
  }

  .finding-list article {
    display: flex;
  }

  .workflow-steps a,
  .workflow-steps button {
    min-width: 0;
    padding: var(--space-2) 0.125rem;
    gap: 0;
    font-size: 0.6875rem;
  }

  .workflow-steps a > span,
  .workflow-steps button > span {
    display: none;
  }

  .source-panel,
  .task-context {
    grid-template-columns: 1fr;
  }

  .source-panel .button {
    grid-column: auto;
  }

  .task-context > div {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .task-context > div:last-child {
    border-bottom: 0;
  }

  .task-footer > div {
    width: 100%;
    flex-wrap: wrap;
  }

  .amount-state {
    width: 100%;
    min-width: 0;
    padding: var(--space-3) 0 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .primary-navigation {
    overflow-x: visible;
  }

  .primary-navigation > a,
  .primary-navigation > span {
    min-width: 0;
    padding: var(--space-2) var(--space-1);
    justify-content: center;
    font-size: 0.8125rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .primary-navigation [aria-current="page"],
  .notice,
  .section-tabs a[aria-current="page"],
  .workflow-steps a[aria-current="step"],
  .status,
  .finding-marker {
    border-color: Highlight;
  }

  .primary-action {
    border: 1px solid ButtonText;
  }
}
