#cash-bridge-workspace {
  --cash-bridge-ink: #263f35;
  --cash-bridge-fill: #edf1eb;
  --cash-bridge-edge: #b5c4b8;
  display: grid;
  gap: 15px;
  overflow-wrap: anywhere;
}

#cash-bridge-workspace [hidden] { display: none !important; }
#cash-bridge-workspace button { min-height: 42px; width: fit-content; font-weight: 620; }
#cash-bridge-workspace button.cash-bridge-primary { color: #fff; background: var(--cash-bridge-ink); border-color: var(--cash-bridge-ink); }
#cash-bridge-workspace button.cash-bridge-primary:hover { background: #34564a; }
#cash-bridge-workspace summary { cursor: pointer; scroll-margin-top: 4rem; }
#cash-bridge-workspace summary:hover { color: var(--cash-bridge-ink); }

.cash-bridge-panel { min-width: 0; padding: 17px 19px; border: 1px solid var(--line); background: var(--panel); }
.cash-bridge-control { border-inline-start: 4px solid var(--cash-bridge-ink); }
.cash-bridge-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px 15px; flex-wrap: wrap; margin-bottom: 10px; }
.cash-bridge-heading h4 { margin: 0; font-size: .98rem; }
.cash-bridge-kicker { display: block; margin-bottom: 3px; color: var(--muted); font-size: .69rem; font-weight: 700; letter-spacing: .095em; text-transform: uppercase; }
.cash-bridge-note { margin: 7px 0; color: var(--muted); font-size: .84rem; }
.cash-bridge-empty { margin: 8px 0 0; padding: 8px 0; color: var(--muted); border-top: 1px solid var(--line); }
.cash-bridge-message, .cash-bridge-warning { margin: 7px 0 0; padding: 7px 9px; font-size: .88rem; }
.cash-bridge-message:empty { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); }
.cash-bridge-message[data-tone="error"], .cash-bridge-warning { border-inline-start: 2px solid var(--warning); color: var(--warning); background: #fbede6; }
.cash-bridge-message[data-tone="success"] { border-inline-start: 2px solid var(--cash-bridge-ink); color: var(--cash-bridge-ink); background: var(--cash-bridge-fill); }

.cash-bridge-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cash-bridge-fields.cash-bridge-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 860px; }
.cash-bridge-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.cash-bridge-field { display: grid; align-content: start; gap: 4px; min-width: 0; color: var(--muted); font-size: .84rem; }
.cash-bridge-field input, .cash-bridge-field select, .cash-bridge-field textarea { min-height: 39px; text-align: left; }
.cash-bridge-field textarea { width: 100%; padding: 6px 8px; resize: vertical; border: 1px solid var(--rule); border-radius: 2px; background: #fffdfa; color: var(--text); font: inherit; }
.cash-bridge-wide { grid-column: 1 / -1; }
.cash-bridge-editor { min-width: 0; padding-top: 8px; border-top: 1px solid var(--line); }
.cash-bridge-editor > summary, .cash-bridge-evidence > summary { color: var(--cash-bridge-ink); font-weight: 620; }
.cash-bridge-editor form { margin-top: 8px; }
.cash-bridge-subsection { padding-top: 8px; border-top: 1px solid var(--line); }
.cash-bridge-subsection h4, .cash-bridge-draft h4 { margin: 0; font-size: .94rem; }
.cash-bridge-adjustment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 7px 9px; min-width: 0; margin: 0 0 8px; padding: 7px 9px 9px; border: 1px solid var(--cash-bridge-edge); }
.cash-bridge-adjustment legend { max-width: 100%; padding: 0 4px; color: var(--cash-bridge-ink); font-size: .84rem; font-weight: 620; }
.cash-bridge-operation { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .65fr) minmax(0, 1fr); align-items: center; gap: 6px 10px; padding: 7px 0; border-top: 1px solid var(--line); font-size: .89rem; }
.cash-bridge-operation:last-child { border-bottom: 1px solid var(--line); }
.cash-bridge-operation-amount { font-variant-numeric: tabular-nums; }
.cash-bridge-operation small, .cash-bridge-record small, .cash-bridge-list small { display: block; color: var(--muted); font-size: .78rem; font-weight: 400; }

.cash-bridge-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 9px 0; }
.cash-bridge-source-grid > div { padding: 8px 10px; border-inline-start: 2px solid var(--cash-bridge-edge); background: var(--ground); }
.cash-bridge-source-grid p { margin: 3px 0 0; color: var(--muted); font-size: .85rem; }
.cash-bridge-source-grid a { font-size: .85rem; }
.cash-bridge-current { margin: 11px 0 5px; }
.cash-bridge-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin: 8px 0; }
.cash-bridge-totals section > h4 { margin: 0 0 5px; color: var(--cash-bridge-ink); font-size: .93rem; }
.cash-bridge-flow { margin: 0; border-block: 1px solid var(--cash-bridge-edge); font-variant-numeric: tabular-nums; }
.cash-bridge-flow > div { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 5px 8px; padding: 5px 7px; font-size: .84rem; }
.cash-bridge-flow > div + div { border-top: 1px solid var(--line); }
.cash-bridge-flow > div:last-child { color: var(--cash-bridge-ink); background: var(--cash-bridge-fill); font-weight: 650; }
.cash-bridge-flow dd { margin: 0; text-align: right; }
.cash-bridge-draft { margin-top: 9px; padding: 8px 10px; border: 1px dashed var(--cash-bridge-edge); }

.cash-bridge-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); gap: 7px 10px; margin: 8px 0; padding: 8px 10px; background: var(--cash-bridge-fill); font-size: .86rem; }
.cash-bridge-facts dt { color: var(--muted); font-size: .78rem; }
.cash-bridge-facts dd { margin: 0; white-space: pre-wrap; }
.cash-bridge-record { padding: 8px 0; border-top: 1px solid var(--line); }
.cash-bridge-record:last-child { border-bottom: 1px solid var(--line); }
.cash-bridge-record > summary { display: grid; grid-template-columns: 10px minmax(0, 1.25fr) minmax(0, 1fr); align-items: baseline; gap: 6px 10px; min-height: 32px; font-size: .91rem; }
.cash-bridge-record > summary::before { content: ""; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); }
.cash-bridge-record[open] > summary::before { transform: translateY(-2px) rotate(45deg); }
.cash-bridge-record > summary > span:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.cash-bridge-evidence { margin: 8px 0; padding: 7px 9px; border: 1px solid var(--line); }
.cash-bridge-evidence h4 { margin: 7px 0 0; font-size: .87rem; }
.cash-bridge-list { margin: 5px 0 0; padding: 0; list-style: none; font-size: .85rem; }
.cash-bridge-list li { padding: 5px 0; border-bottom: 1px solid var(--line); }

@media (max-width: 760px) {
  .cash-bridge-adjustment { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  #cash-bridge-workspace { gap: 11px; }
  .cash-bridge-panel { padding: 12px; }
  .cash-bridge-fields.cash-bridge-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cash-bridge-filter > label:last-child, .cash-bridge-operation > label { grid-column: 1 / -1; }
  .cash-bridge-editor .cash-bridge-fields, .cash-bridge-adjustment,
  .cash-bridge-totals, .cash-bridge-source-grid { grid-template-columns: minmax(0, 1fr); }
  .cash-bridge-operation { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .cash-bridge-operation-amount { text-align: right; }
}
