#period-batch-workspace { margin-top: 14px; overflow-wrap: anywhere; --batch-ink: #30493d; --batch-tint: #eef2ec; }
#period-batch-workspace [hidden] { display: none !important; }
#bank-batch-jump { margin-top: 7px; }
.batch-panel { min-width: 0; padding: 15px 18px; border: 1px solid var(--line); border-inline-start: 4px solid var(--batch-ink); background: var(--panel); }
.batch-panel > summary { cursor: pointer; font-weight: 650; padding-block: 4px; }
.batch-panel h3 { margin-top: 14px; }
.batch-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; min-width: 0; margin: 7px 0; padding: 0; border: 0; }
.batch-fields label { display: grid; min-width: 0; align-content: start; gap: 3px; color: var(--muted); font-size: .84rem; }
.batch-fields input, .batch-fields select, .batch-fields textarea { min-width: 0; min-height: 39px; text-align: left; }
.batch-fields textarea { width: 100%; padding: 6px 8px; border: 1px solid var(--rule); background: #fffdfa; font: inherit; resize: vertical; }
.batch-wide { grid-column: 1 / -1; }
.batch-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.batch-primary { color: #fff; background: var(--batch-ink); border-color: var(--batch-ink); }
.batch-primary:hover { color: #fff; background: #405d4e; }
.batch-month { margin: 8px 0; padding: 7px 0 0; border-top: 1px solid var(--line); }
.batch-month h4, .batch-preview h4 { margin: 0; }
.batch-account { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 6px 8px 8px; border: 1px solid var(--line); }
.batch-account legend { max-width: 100%; color: var(--batch-ink); font-size: .84rem; }
.batch-preview { padding: 8px 10px; background: var(--batch-tint); }
.batch-preview ul, .batch-record ul { padding-inline-start: 20px; font-size: .88rem; }
.batch-preview li small { display: block; color: var(--muted); }
.batch-record { padding: 8px 0; border-top: 1px solid var(--line); }
.batch-record summary { cursor: pointer; }
.batch-empty { margin: 6px 0; color: var(--muted); font-size: .88rem; }
.batch-message { margin: 6px 0; padding: 6px 8px; font-size: .87rem; }
.batch-message:empty { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); }
.batch-message[data-tone="error"] { border-inline-start: 2px solid var(--warning); background: #fbede6; color: var(--warning); }
.batch-message[data-tone="success"] { border-inline-start: 2px solid var(--batch-ink); background: var(--batch-tint); color: var(--batch-ink); }
@media (max-width: 520px) {
  .batch-panel { padding: 10px 12px; }
  .batch-fields, .batch-account { grid-template-columns: minmax(0, 1fr); }
}
