.generator-experience { background: #f7f4ec; }
.generator-hero { width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: var(--section-space) 0 var(--section-space-compact); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(390px, .6fr); gap: clamp(32px, 4vw, 56px); align-items: center; }
.generator-intro h1 { max-width: none; font-size: 48px; }
.generator-intro .page-direct-answer { max-width: none; }
.generator-facts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 22px 0 0; padding: 0; color: var(--muted); font-size: .72rem; }
.generator-facts li::before { content: "✓"; margin-right: 6px; color: var(--emerald); font-weight: 900; }
.generator-primary-image { margin: 0; }
.generator-primary-image img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; }
.generator-boundary { width: min(var(--max), calc(100% - 40px)); margin: 0 auto 24px; padding: 18px 20px; border: 1px solid #c7963f; background: #fff7e6; }
.generator-boundary strong { display: block; color: var(--ink); }
.generator-boundary p { max-width: none; margin: 5px 0 0; }
.generator-workspace { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; padding: 0 0 24px; }
.generator-controls { display:grid;grid-template-columns:minmax(300px,.66fr) minmax(0,1.34fr);grid-template-areas:"heading heading" "details transaction-heading" "details labels" "details rows" "details actions" "details local-note";column-gap:30px;row-gap:0;padding:28px;border:1px solid var(--line);background:white; }
.generator-control-heading{grid-area:heading;padding-bottom:20px;margin-bottom:24px}
.generator-control-heading h2 { margin: 0 0 6px; }
.generator-control-heading p { margin: 0;max-width:none; }
.generator-fields { grid-area:details;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;padding-right:30px;border-right:1px solid var(--line) }
.generator-fields label, .generator-row { min-width: 0; }
.generator-fields label { display: grid; gap: 5px; color: var(--ink); font-size: .7rem; font-weight: 800; }
.generator-fields label:first-child, .generator-fields label:last-child { grid-column: 1 / -1; }
.generator-fields input, .generator-fields select, .generator-row input, .generator-row select { width: 100%; min-width: 0; min-height: 42px; padding: 8px 9px; border: 1px solid #9fa9aa; border-radius: 0; background: white; color: var(--ink); font: inherit; }
.generator-fields input:focus, .generator-fields select:focus, .generator-row input:focus, .generator-row select:focus { outline: 3px solid rgba(8, 122, 97, .18); border-color: var(--emerald); }
.generator-transactions-heading { grid-area:transaction-heading;display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 12px; }
.generator-transactions-heading h3 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.35rem; }
.generator-transactions-heading p { margin: 0; font-size: .7rem; }
.generator-transactions-heading .button { min-height: 40px; white-space: nowrap; }
.generator-transaction-actions{display:flex;align-items:center;gap:10px}.generator-transaction-actions>span{color:var(--muted);font-size:.64rem;font-weight:750;white-space:nowrap}
.generator-row-labels, .generator-row { display:grid;grid-template-columns:124px minmax(180px,1fr) 112px 118px 70px;gap:8px; }
.generator-row-labels { grid-area:labels;padding:0 2px 6px;color:var(--muted);font-size:.61rem;font-weight:800; }
.generator-rows { grid-area:rows;display:grid;gap:8px; }
.generator-remove { min-height: 42px; padding: 6px; border: 1px solid #c7a2a0; border-radius: 0; background: white; color: var(--danger); font: 750 .63rem var(--font); }
.generator-remove:hover { background: #fff0ef; }
.generator-remove:disabled,.generator-transactions-heading .button:disabled{cursor:not-allowed;opacity:.45}
.generator-actions { grid-area:actions;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px; }
.generator-export-actions{display:flex;flex-wrap:wrap;gap:8px}
.generator-local-note { grid-area:local-note;margin:10px 0 0;color:var(--muted);font-size:.65rem; }
.generator-output-shell { min-width:0;margin-top:24px;padding:28px;border:1px solid #2c4a5d;background:var(--navy); }
.generator-preview-heading{width:min(100%,930px);margin:0 auto 18px;color:#fff}.generator-preview-heading h2{margin:0 0 5px;color:#fff}.generator-preview-heading p{max-width:none;margin:0;color:#abc0c9;font-size:.72rem}
.synthetic-statement { position:relative;isolation:isolate;overflow:hidden;width:min(100%,930px);min-height:940px;margin:0 auto;padding:38px 34px 28px;border:1px solid #a8aaa5;background:#fff;color:#171d20;font-family:var(--font);box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact; }
.synthetic-watermark { position: absolute; z-index: 3; top: 45%; left: -12%; width: 124%; color: #5f6669; font-size: clamp(3rem, 6.2vw, 7rem); font-weight: 900; letter-spacing: .01em; line-height: 1; opacity: .25; transform: rotate(-27deg); transform-origin: center; text-align: center; pointer-events: none; white-space: nowrap; }
.synthetic-header { display: flex; justify-content: space-between; gap: 20px; align-items: start; min-height: 48px; }
.synthetic-issuer span,.synthetic-issuer small,.synthetic-mark span { display: block; }
.synthetic-issuer span { font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.synthetic-issuer small { max-width: 380px; margin-top: 4px; color: #596166; font-size: .5rem; line-height: 1.4; }
.synthetic-mark { display: flex; align-items: center; gap: 8px; color: #0b5e50; }
.synthetic-mark strong { display: grid; place-items: center; width: 36px; height: 36px; border: 3px solid #0b5e50; font-size: 1rem; letter-spacing: -.06em; }
.synthetic-mark span { color: #27343a; font-size: .58rem; font-weight: 900; letter-spacing: .1em; }
.synthetic-title-row { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-top: 22px; }
.synthetic-title-row h2 { margin: 0; color: #151a1c; font-family: var(--font); font-size: 1.35rem; line-height: 1.1; }
.synthetic-title-row dl { display: grid; grid-template-columns:auto auto; gap: 4px 14px; margin: 0; font-size: .53rem; }
.synthetic-title-row dl div { display: contents; }.synthetic-title-row dt { color: #687176; }.synthetic-title-row dd { margin: 0; font-weight: 800; }
.synthetic-recipient { display: grid; gap: 4px; width: 58%; min-height: 98px; align-content: start; margin-top: 34px; }
.synthetic-recipient span { color: #687176; font-size: .53rem; }.synthetic-recipient strong { overflow-wrap: anywhere; font-size: .8rem; }.synthetic-recipient small { color: #687176; font-size: .52rem; letter-spacing: .06em; }
.synthetic-message { margin: 12px 0 24px; padding: 9px 10px; border-top: 3px solid #263238; border-bottom: 1px solid #747b7e; background: #f5f5f3; }
.synthetic-message strong { display: block; font-size: .68rem; }.synthetic-message p { max-width: none; margin: 3px 0 0; color: #343b3f; font-size: .51rem; line-height: 1.45; }
.synthetic-account-band { border: 1px solid #8d9293; border-bottom: 0; }
.synthetic-account-heading { display: flex; justify-content: space-between; gap: 18px; padding: 8px 9px; background: #d7d6d4; }
.synthetic-account-heading strong { font-size: .66rem; }.synthetic-account-heading span { font-size: .54rem; font-weight: 700; }
.synthetic-account-band dl { display: grid; grid-template-columns:1fr 1.15fr .55fr; gap: 1px; margin: 0; background: #b7b9b9; }
.synthetic-account-band dl div { padding: 7px 9px; background: #f6f6f4; }.synthetic-account-band dt { color: #687176; font-size: .48rem; }.synthetic-account-band dd { margin: 3px 0 0; font-size: .58rem; font-weight: 800; }
.synthetic-ledger-wrap { overflow-x: auto; border: 1px solid #8d9293; }
.synthetic-ledger { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; font-size: .53rem; }
.synthetic-ledger th { padding: 7px 6px; border-bottom: 1px solid #8d9293; background: #fff; color: #1d2528; text-align: left; line-height: 1.2; }
.synthetic-ledger td { padding: 6px; border-top: 1px solid #e1e1de; vertical-align: top; line-height: 1.35; }
.synthetic-ledger th:nth-child(1),.synthetic-ledger td:nth-child(1),.synthetic-ledger th:nth-child(2),.synthetic-ledger td:nth-child(2){width:12%}.synthetic-ledger th:nth-child(3),.synthetic-ledger td:nth-child(3){width:36%;white-space:pre-line}.synthetic-ledger th:nth-child(n+4),.synthetic-ledger td:nth-child(n+4){width:13.33%;text-align:right;font-variant-numeric:tabular-nums}.synthetic-ledger tbody tr:nth-child(even) { background: #fafaf8; }
.synthetic-ledger .synthetic-opening-row td { background: #f0f0ed; font-weight: 700; }
.synthetic-ledger tfoot th,.synthetic-ledger tfoot td { padding: 7px 6px; border-top: 1px solid #8d9293; background: #f3f3f0; font-weight: 800; }.synthetic-ledger tfoot th { text-align: right; }.synthetic-ledger .synthetic-closing-row th,.synthetic-ledger .synthetic-closing-row td { border-top: 2px solid #263238; background: #fff; font-size: .58rem; }
.synthetic-reconciliation { display: flex; justify-content: space-between; gap: 22px; margin-top: 10px; padding: 8px 10px; border: 1px solid #b8babb; background: #f8f8f6; }.synthetic-reconciliation div { flex: 0 0 auto; }.synthetic-reconciliation span,.synthetic-reconciliation strong { display: block; }.synthetic-reconciliation span { color:#687176;font-size:.48rem }.synthetic-reconciliation strong { margin-top:3px;font-size:.62rem }.synthetic-reconciliation p { max-width:420px;margin:0;color:#626b6f;font-size:.48rem;line-height:1.45;text-align:right }
.synthetic-footer { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items:end; margin-top: 24px; padding-top: 10px; border-top: 2px solid #263238; }
.synthetic-footer strong { color: #9b3230; font-size: .62rem; letter-spacing: .06em; }.synthetic-footer span { grid-column:1/-1;color:#4f595d;font-size:.49rem;line-height:1.45 }.synthetic-footer small { grid-column:2;grid-row:1;color:#596166;font-size:.47rem;text-align:right }
.generator-explanation, .generator-method, .generator-finish { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.generator-explanation, .generator-method { padding: var(--section-space) 0; }
.generator-explanation { border-top: 0; }
.generator-method { padding-top: 0; }
.generator-finish { padding: 0 0 var(--section-space); }
.generator-explanation > *, .generator-method > *, .generator-finish > * { padding: 24px; border: 1px solid var(--line); background: white; }
.generator-explanation p, .generator-method p, .generator-finish p { max-width: none; }
.generator-method .tool-checks,.generator-method .tool-checks h2{color:var(--ink)}
.generator-method .tool-checks li{color:#314147}
.generator-method .tool-checks li::before{color:var(--emerald)}

@media (max-width: 1120px) {
  .generator-controls { grid-template-columns:1fr;grid-template-areas:"heading" "details" "transaction-heading" "labels" "rows" "actions" "local-note"; }
  .generator-fields { padding-right:0;padding-bottom:24px;border-right:0;border-bottom:0 }
  .generator-transactions-heading { margin-top:24px }
}

@media (max-width: 1120px) {
  .generator-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .generator-hero > * { width: 100%; min-width: 0; }
}

@media (max-width: 820px) {
  .generator-hero, .generator-boundary, .generator-workspace, .generator-explanation, .generator-method, .generator-finish { width: calc(100% - 28px); }
  .generator-hero { padding-top: 32px; gap: 24px; }
  .generator-controls,.generator-output-shell { padding:18px }
  .generator-explanation, .generator-method, .generator-finish { grid-template-columns: 1fr; }
  .generator-row-labels { display: none; }
  .generator-row { grid-template-columns: 1fr 1fr; padding: 12px; border: 1px solid var(--line); }
  .generator-row .generator-description { grid-column: 1 / -1; grid-row: 1; }
  .generator-row .generator-date, .generator-row .generator-direction { grid-row: 2; }
  .generator-row .generator-amount, .generator-remove { grid-row: 3; }
  .synthetic-account-band dl { grid-template-columns: 1fr; }
  .synthetic-account-heading { align-items: start; flex-direction: column; gap: 4px; }
}

@media (max-width: 520px) {
  .generator-fields { grid-template-columns: 1fr; }
  .generator-fields label { grid-column: 1; }
  .generator-transactions-heading, .generator-actions,.generator-export-actions { align-items: stretch; flex-direction: column; }
  .generator-transaction-actions{align-items:stretch;flex-direction:column}.generator-transaction-actions>span{text-align:left}
  .generator-transactions-heading .button, .generator-actions .button { width: 100%; }
  .synthetic-statement { padding: 18px; }
  .synthetic-header,.synthetic-title-row,.synthetic-reconciliation { align-items: start; flex-direction: column; }
  .synthetic-recipient { width: 100%; min-height: 82px; }
  .synthetic-reconciliation p { text-align: left; }
  .synthetic-footer { grid-template-columns: 1fr; }.synthetic-footer small { grid-column:1;grid-row:auto;text-align:left }
}

@media print {
  @page { size: A4 portrait; margin: 9mm; }
  body * { visibility: hidden !important; }
  #synthetic-statement, #synthetic-statement * { visibility: visible !important; }
  #synthetic-statement { position: fixed; inset: 0; width: 100%; min-height: 0; padding: 6mm; border: 0; overflow: visible; }
  #synthetic-statement .synthetic-ledger { min-width: 0; font-size: 7.2pt; }
  #synthetic-statement .synthetic-watermark { visibility: visible !important; }
}
