.setup-check { background:#f3f7f3; border:1px solid var(--line); border-radius:10px; padding:16px 18px; margin:0 0 18px; font-size:13px; line-height:1.65; }
.setup-check strong { color:var(--ink); }
.setup-check p { margin:6px 0; font-size:13px; }
.setup-check summary { cursor:pointer; color:var(--green); font-weight:600; margin-top:8px; }
.converter-card .hint,.converter-card .field-note,.converter-card .file-limits { font-size:13px; line-height:1.6; }
.converter-card .field-note { font-weight:400; color:#53645b; margin-top:6px; }
.converter-card .field { font-size:13px; }
.converter-card .check-field { font-size:13px; align-items:flex-start; line-height:1.6; }
.converter-card input,.converter-card select { font-size:14px; min-height:44px; }
.converter-card input[type=checkbox] { min-height:initial; width:18px; height:18px; flex-shrink:0; margin-top:2px; }
.converter-card .table-controls,.converter-card th,.converter-card td { font-size:13px; }
.converter-card .table-wrap { max-width:100%; }
.converter-card [tabindex='-1'] { scroll-margin-top:28px; }
.has-file .hero { grid-template-columns:minmax(0,1fr); gap:22px; max-width:1200px; padding-top:32px; }
.has-file .hero-copy { padding:0; text-align:left; }
.has-file .hero-copy>*:not(h1) { display:none; }
.has-file .hero-copy h1 { font-size:30px; line-height:1.2; margin:0; }
.has-file .hero-copy h1 br { display:none; }
.has-file .hero-copy h1 span::before { content:' '; }
.has-file .converter-card { width:100%; }
.flow-steps { display:flex; gap:8px; margin:18px 0 26px; border-bottom:1px solid var(--line); padding-bottom:16px; flex-wrap:wrap; }
.flow-steps button { background:var(--paper); color:var(--green); border:1px solid var(--line); border-radius:8px; padding:10px 16px; font-size:13px; min-height:44px; }
.flow-steps button:disabled { opacity:.55; cursor:not-allowed; }
.flow-steps button[aria-current=step] { background:var(--green); color:white; }
.review-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:32px; margin-top:24px; }
.review-layout>* { min-width:0; }
.review-layout #account-settings { margin-top:0; padding-top:0; }
.review-layout #account-settings legend { font-size:18px; }
.review-layout .summary-grid { gap:8px; }
.review-layout .summary-grid>div { padding:12px; }
.review-layout #transactions-panel>.button { margin-top:18px; }
.csv-format-options { margin-bottom:20px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; }
.csv-format-options summary { cursor:pointer; font-size:13px; font-weight:600; }
.csv-format-options .form-grid { margin-top:12px; }
.mapping-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mapping-example { font-size:12px; font-weight:400; color:#526258; line-height:1.5; overflow-wrap:anywhere; }
.date-insight { padding:14px 18px; background:var(--paper); border:1px solid var(--line); border-radius:10px; margin:16px 0; font-size:14px; }
.date-insight.ambiguous { background:#fff8e8; border-color:#e4d7ab; }
.date-insight p { font-size:14px; margin:0 0 10px; }
.date-insight[hidden],.field-issues[hidden] { display:none; }
.converter-card [aria-invalid=true] { border-color:#b43b32; outline:1px solid #b43b32; }
.field-error { color:#a72b23; font-size:12px; line-height:1.6; display:block; margin:6px 0 0; font-weight:500; }
.field-required { color:#755d26; }
.field-issues { text-align:left; padding:18px; background:#fff4ed; border:1px solid #e4c0ab; border-radius:10px; margin-bottom:20px; }
.field-issues ul { margin:10px 0 0; padding-left:22px; display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; }
.field-issues a { color:var(--green); font-size:13px; text-decoration:underline; }
.readiness { font-size:14px; font-weight:600; color:var(--green); margin:0 0 14px; }
.converter-card .export-area { margin-top:28px; }
.completion-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); text-align:left; gap:18px; margin:22px 0; }
.completion-totals dt { font-size:12px; color:#526258; }
.completion-totals dd { margin:4px 0 0; font-weight:600; font-size:18px; overflow-wrap:anywhere; }
.import-next { text-align:left; padding-left:24px; margin:24px 0; }
.import-next li { margin:10px 0; font-size:14px; }
.completion-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:22px 0; }
.success-panel>details { font-size:13px; margin-top:20px; }
.success-panel>details summary { cursor:pointer; }
#output-filename { overflow-wrap:anywhere; }
.leave-work-dialog { max-width:490px; }
.converter-card :focus-visible { outline:3px solid #397d65; outline-offset:3px; }
.entry-purpose { margin:0 0 10px; font-size:14px; color:var(--ink); }
.entry-purpose a { margin-left:8px; text-decoration:underline; color:var(--green); }
.entry-privacy { display:flex; gap:8px; align-items:center; font-size:13px; line-height:1.6; color:#275a49; margin:0 0 20px; }
.entry-privacy .icon { width:17px; height:17px; flex-shrink:0; }
.converter-card .setup-check { margin:16px 0 0; background:transparent; padding:12px 14px; }
.converter-card .setup-check summary { margin:0; }
.converter-card .setup-check p { margin-top:12px; }
.adjustment-panel { border:1px solid var(--line); border-radius:10px; padding:14px 18px; margin-bottom:24px; }
.adjustment-panel>summary { cursor:pointer; color:var(--green); font-size:14px; font-weight:600; }
.adjustment-panel fieldset { margin-top:20px; padding-top:0; }
.adjustment-panel .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.adjustment-panel .form-grid:not(.mapping-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.optional-column { grid-column:1/-1; font-size:13px; padding:8px 0; }
.optional-column summary { cursor:pointer; color:#526258; margin-bottom:10px; }
.optional-column .field { max-width:400px; }
.correction-link { display:inline-block; margin:0 0 18px; text-decoration:underline; text-align:left; min-height:36px; }
.date-insight { background:#fff8e8; border-color:#e4d7ab; }
.date-insight.confirmed { background:#f0f7f2; border-color:#b6cfbe; }
.date-insight h4 { font-size:16px; margin:0 0 8px; }
.date-choices { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.date-choices button { white-space:normal; font-size:13px; }
.date-choices button[aria-pressed=true] { background:var(--green); color:white; border-color:var(--green); }
.converter-card .account-setup { border:1px solid var(--line); background:#f8faf7; border-radius:12px; padding:22px; }
.account-setup p,.account-setup li { font-size:14px; line-height:1.65; }
.account-setup h4 { font-size:17px; margin:0 0 10px; }
.account-found,.statement-found { margin-bottom:18px; }
.found-label { color:var(--green); font-size:14px; font-weight:600; display:flex; gap:8px; align-items:center; }
.found-label .icon { width:18px; height:18px; }
.account-found p,.statement-found p { margin:8px 0; overflow-wrap:anywhere; }
.bank-needed p { margin:0 0 16px; }
#reference-route>.button { width:100%; white-space:normal; justify-content:center; }
.bank-help { font-size:13px; border-bottom:1px solid var(--line); padding-bottom:16px; margin:14px 0; }
.bank-help summary { color:var(--green); cursor:pointer; text-decoration:underline; }
.bank-help ol { padding-left:20px; margin:14px 0; }
.bank-help li { margin:8px 0; }
.bank-help a { text-decoration:underline; }
.account-setup #bank-details { margin:16px 0; padding:12px 14px; background:white; }
.account-setup .form-grid { grid-template-columns:1fr; }
.account-setup .field { margin:0; }
#statement-details { border-top:1px solid var(--line); padding-top:16px; margin-top:18px; font-size:14px; }
#statement-details>summary { cursor:pointer; color:var(--green); font-weight:600; }
#statement-details>p { margin:12px 0; }
.account-setup input { background:white; }
.review-row { background:#fffbef; }
.row-reason { display:block; font-size:11px; font-weight:500; line-height:1.5; color:#71551f; margin-top:5px; }
.review-filter { padding:12px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; background:var(--paper); font-size:13px; border-radius:8px; margin:12px 0; }
.review-filter[hidden] { display:none; }
#review-notes { margin:0 0 16px; }
#review-notes p { font-size:13px; margin:0 0 6px; }
#review-notes button { text-decoration:underline; min-height:40px; text-align:left; }
.field-issues { background:var(--paper); border-color:var(--line); }
.field-issues ul { grid-template-columns:1fr; }
.import-help { text-align:left; border:1px solid var(--line); border-radius:10px; padding:16px; }
.import-help p { font-size:14px; line-height:1.6; }
.import-help summary { color:var(--green); font-weight:600; }
@media(max-width:900px) { .review-layout { grid-template-columns:1fr; gap:28px; } .mapping-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:760px) {
  .hero { padding-top:24px; gap:20px; }
  .hero-copy .eyebrow,.hero-checks,.hero-note,.hero-example-link { display:none; }
  .hero-copy h1 { font-size:30px; margin-bottom:10px; }
  .hero-copy .hero-lede { display:none; }
  .converter-card .tool-body { padding:20px; }
  .converter-card .dropzone { padding:24px 14px; }
  .converter-card .file-stack { display:none; }
  .converter-card .dropzone h2 { font-size:21px; margin-top:0; }
  .setup-check { padding:12px; margin-bottom:14px; }
  .setup-check p,.setup-check summary { font-size:12px; }
  .has-file .hero { padding-top:20px; }
  .has-file .hero-copy h1 { font-size:26px; }
  .flow-steps { gap:6px; }
  .flow-steps button { padding:8px 10px; font-size:12px; }
  .completion-totals,.field-issues ul { grid-template-columns:1fr; }
  .completion-totals { gap:12px; }
  .completion-actions .button { width:100%; justify-content:center; }
}
@media(max-width:480px) { .mapping-grid,.adjustment-panel .form-grid,.adjustment-panel .form-grid:not(.mapping-grid) { grid-template-columns:1fr; } .converter-card .tool-body { padding:16px; } .converter-card .field input,.converter-card .field select { font-size:16px; } .review-layout .form-grid { grid-template-columns:1fr; } .converter-card .account-setup { padding:16px; } .date-choices button { width:100%; } }
@media(max-width:480px) {
  .converter-card table { table-layout:fixed; }
  .converter-card th,.converter-card td { padding:10px 7px; font-size:12px; }
  .converter-card th { white-space:normal; }
  .converter-card th:first-child { width:30%; }
  .converter-card th:last-child { width:32%; }
  .converter-card td.description { min-width:0; max-width:none; }
  .converter-card td.number { white-space:normal; overflow-wrap:anywhere; }
}
