.nacha-root{--paper: var(--bg-elevated);--paper-2: var(--bg-surface);--ink: var(--fg-primary);--ink-2: var(--fg-secondary);--ink-3: var(--fg-muted);--line: var(--border);--line-2: var(--border-strong);--green: var(--accent);--green-soft: var(--accent-soft);--red: var(--error);position:relative;border:0;border-radius:0;overflow:visible;background:transparent;color:var(--ink);font-family:Inter,system-ui,sans-serif}.nacha-root:before{content:none}.topbar{position:sticky;top:0;z-index:10;height:60px;display:flex;align-items:center;justify-content:flex-start;padding:0 24px;border-bottom:1px solid var(--line);background:var(--paper-2);backdrop-filter:blur(10px)}.crumb{font-size:11px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-left:10px}.canvas{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:42px 26px 130px}.nacha-root .head h1{margin:0;font-family:Fraunces,Georgia,serif;font-size:44px;font-weight:400;letter-spacing:-.02em}.nacha-root .head p{margin:10px 0 0;max-width:700px;color:var(--ink-2);font-size:15px;line-height:1.6}.nacha-root .pills{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}.nacha-root .preset-bar{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.nacha-root .preset-label{font-size:11px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em}.nacha-root .preset-btn{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}.nacha-root .preset-btn:hover{border-color:var(--line-2);background:var(--bg-base)}.nacha-root .preset-btn.primary{border-color:color-mix(in srgb,var(--green) 45%,var(--line) 55%);background:var(--green-soft);color:var(--green)}.nacha-root .preset-btn.clear{border-color:var(--line-2);background:var(--bg-base);color:var(--ink-2)}.nacha-root .pill{border-radius:999px;border:1px solid var(--line);background:var(--paper-2);padding:5px 10px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-2)}.nacha-root .pill.ok{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,var(--line) 65%);color:var(--green)}.nacha-root .pill.err{background:var(--error-soft);border-color:color-mix(in srgb,var(--red) 35%,var(--line) 65%);color:var(--red)}.nacha-root .section{margin-top:26px}.nacha-root .section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:11px;margin-bottom:14px}.nacha-root .section-head h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500}.nacha-root .section-head small{font-size:11px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.nacha-root .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.nacha-root .field label{display:flex;justify-content:space-between;margin-bottom:5px;color:var(--ink-2);font-size:12px}.nacha-root .field label span{color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.nacha-root .field input,.nacha-root .field select{width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;padding:9px 0;font-size:13px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.nacha-root .field input:focus,.nacha-root .field select:focus{outline:none;border-bottom-color:var(--green);border-bottom-width:2px;padding-bottom:8px}.batch{border:1px solid var(--line);border-radius:14px;background:var(--paper-2);margin-bottom:14px;overflow:hidden}.batch-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px;cursor:pointer}.batch-title{display:flex;align-items:center;gap:10px}.batch-chevron{font-size:14px}.batch-marker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--ink-3);padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}.batch-name{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:500}.batch-name.empty{color:var(--ink-3);font-style:italic;font-weight:400}.batch-head-right{display:flex;align-items:center;gap:8px}.batch-meta{display:flex;gap:12px;font-size:12px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.batch-body{border-top:1px solid var(--line);padding:14px 16px}.entry-list{margin-top:14px}.entry-row{border:1px solid var(--line);border-radius:12px;background:var(--bg-base);padding:10px;margin-bottom:10px}.entry-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.entry-field{display:flex;flex-direction:column;gap:4px;min-width:0}.entry-field label{font-size:10px;color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.entry-field input,.entry-field select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg-base);padding:7px 8px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.trace-wrap{display:flex;gap:6px;align-items:center}.trace-wrap input{flex:1;min-width:0}.trace-generate{border:1px solid var(--line-2);background:var(--bg-base);color:var(--ink-2);border-radius:8px;padding:6px 9px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.entry-remove-cell{display:flex;align-items:flex-end}.icon-btn{border:0;background:transparent;color:var(--ink-3);cursor:pointer;font-size:18px}.icon-btn:hover{color:var(--red)}.add-btn{border:1px dashed var(--line-2);background:transparent;border-radius:10px;padding:8px 12px;font-size:12px;cursor:pointer;color:var(--ink)}.nacha-root .empty{border:1px dashed var(--line-2);border-radius:14px;background:var(--paper-2);padding:36px 20px;text-align:center}.nacha-root .empty h3{margin:0 0 8px;font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:500}.nacha-root .empty p{margin:0 0 16px;color:var(--ink-3);font-size:13px}.totals{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;padding:16px}.totals small{display:block;color:var(--ink-2);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.totals b{font-family:Inter,system-ui,sans-serif;font-size:24px;line-height:1.1;color:var(--ink);font-weight:700}.preview-fab{position:fixed;right:26px;bottom:94px;z-index:40;background:var(--ink);color:var(--paper-2);border:0;border-radius:999px;padding:12px 18px;display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;cursor:pointer}.preview-fab span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#ffffff29;border-radius:999px;padding:2px 7px}.backdrop{position:fixed;inset:0;z-index:55;background:color-mix(in srgb,var(--bg-code) 55%,transparent);opacity:0;pointer-events:none;transition:opacity .2s ease}.backdrop.show{opacity:1;pointer-events:auto}.preview-panel{position:fixed;top:0;right:-640px;bottom:0;width:620px;z-index:60;background:#061533;color:#e2e8f0;transition:right .25s ease;display:flex;flex-direction:column}.preview-panel.open{right:0}.preview-head{border-bottom:1px solid rgba(148,163,184,.35);padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.preview-head h3{margin:0;color:#f8fafc;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600}.preview-head small{color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.preview-close{border:1px solid rgba(148,163,184,.45);background:#ffffff14;color:#f8fafc;border-radius:8px;width:32px;height:32px;cursor:pointer}.preview-tabs{display:flex;gap:10px;padding:11px 20px;border-bottom:1px solid rgba(148,163,184,.35)}.preview-tabs button{border:1px solid rgba(148,163,184,.55);border-radius:999px;background:#ffffff0a;color:#cbd5e1;font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}.preview-tabs button.active{color:#f8fafc;border-color:#22c55e;background:#22c55e2e}.record-filters{display:flex;gap:6px;padding:8px 20px;border-bottom:1px solid rgba(148,163,184,.35);flex-wrap:wrap}.record-filters button{border:1px solid rgba(148,163,184,.5);border-radius:999px;background:#ffffff0a;color:#cbd5e1;font-size:11px;padding:4px 9px;cursor:pointer}.record-filters button.active{color:#f8fafc;border-color:#22c55e;background:#22c55e2e}.preview-actions{padding:12px 20px;display:flex;gap:10px;border-bottom:1px solid rgba(148,163,184,.35)}.preview-actions button{border:1px solid rgba(148,163,184,.6);border-radius:9px;background:#ffffff0f;color:#f8fafc;font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer}.preview-actions button:hover{background:#ffffff1f}.preview-body{flex:1;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;padding:12px 20px}.preview-empty{color:var(--fg-muted);font-size:12px;padding-top:8px}.nacha-root .line{display:grid;grid-template-columns:32px 20px 1fr;gap:10px;padding:3px 0}.nacha-root .line-text{white-space:pre;letter-spacing:.01em;color:#e2e8f0}.nacha-root .type{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:10px;color:#f8fafc;background:#16a34a}.field-map-block{margin-bottom:14px}.field-map-label{color:var(--fg-muted);margin-bottom:5px}.field-map-fallback{white-space:pre}.field-map-row{display:grid;grid-template-columns:88px 1fr 170px;gap:10px;padding:2px 0}.field-map-pos{color:var(--fg-muted)}.field-map-value{white-space:pre}.field-map-name{color:var(--fg-secondary)}@media(max-width:900px){.canvas{padding:28px 18px 120px}.nacha-root .head h1{font-size:34px}.nacha-root .grid,.nacha-root .entry-grid{grid-template-columns:1fr}.totals{grid-template-columns:1fr 1fr}.preview-panel{width:100%;right:-100%}}
