:root{--bg:#fafbf9;--paper:#fff;--ink:#16232c;--muted:#64717e;--stroke:#dce3e9;--primary:#2457d7;--primary-hover:#1944ae;--primary-light:#eaf0ff;--good:#117450;--bad:#b42336;--badbg:#fff0f1;--warn:#975a05;--shadow:0 14px 45px rgba(16,42,74,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--primary)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8cafff;outline-offset:3px}header{position:sticky;top:0;z-index:5;background:rgba(250,251,249,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--stroke)}.nav-wrap{max-width:1180px;padding:14px 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{font-size:20px;font-weight:800;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:-.65px}.logo-mark{display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:8px;width:30px;height:30px;font-size:16px}.nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.nav a{font-size:13px;font-weight:650;color:#52606c;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--primary)}main{max-width:1180px;padding:0 24px 80px;margin:auto}.hero{padding:74px 0 36px;max-width:890px}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.8px;color:var(--primary);margin:0 0 14px}.hero h1{font-size:clamp(34px,5vw,59px);line-height:1.12;max-width:880px;letter-spacing:-2px;margin:0 0 20px;font-weight:830}.hero p.lead{font-size:18px;max-width:700px;color:var(--muted);margin:0 0 24px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:6px 11px;border:1px solid #d5e1df;border-radius:30px;font-size:12px;font-weight:650;background:#f5f9f7;color:#326656}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.panel{background:var(--paper);border:1px solid var(--stroke);border-radius:18px;box-shadow:var(--shadow);padding:28px}.side-card{background:#f0f4f8;border:1px solid #e0e7f0;padding:24px;border-radius:16px}.side-card h3{font-size:17px;letter-spacing:-.4px;margin:0 0 10px}.side-card p,.side-card li{font-size:13px;color:#586878}.side-card ul{padding-left:20px;display:grid;gap:9px}.side-card a{font-weight:700;font-size:13px}.micro{font-size:12px;color:#64717e}.section{padding:68px 0}.section h2{font-size:29px;line-height:1.22;letter-spacing:-1px;margin:0 0 16px}.section p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{padding:24px;border:1px solid var(--stroke);border-radius:14px;background:#fff}.info-card h3{font-size:16px;margin:10px 0}.info-card p{font-size:13px}.icon-tile{width:35px;height:35px;background:#ecf1ff;border-radius:9px;color:var(--primary);display:grid;place-items:center;font-weight:800}.cta-strip{background:#eef3ff;border:1px solid #dfe7fb;padding:26px;border-radius:16px;display:flex;gap:16px;align-items:center;justify-content:space-between}.cta-strip h2{font-size:23px;margin:0}.cta-strip p{font-size:14px;margin:7px 0 0}.links{display:flex;flex-wrap:wrap;gap:14px}.btn{border:1px solid #cad4dd;background:#fff;color:#254052;padding:11px 16px;border-radius:9px;font-size:13px;font-weight:760;line-height:1.4;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:normal}.btn:hover{background:#f2f6fa}.btn-primary{background:var(--primary);color:white;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-small{padding:7px 10px;min-height:31px;font-size:12px}.subtle{border-color:transparent;color:var(--muted)}.link-button{border:0;background:transparent;color:var(--primary);font-size:inherit;font-weight:700;padding:0;text-decoration:underline}.small{font-size:13px}.muted{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--stroke);gap:9px}.step{color:#84919d;font-weight:720;font-size:12px;display:flex;align-items:center;gap:7px}.step-circle{border:1px solid #d8e0e7;display:grid;place-items:center;border-radius:50%;width:25px;height:25px;flex-shrink:0;color:#788795}.step.active{color:var(--primary)}.step.active .step-circle{background:var(--primary);color:#fff;border-color:var(--primary)}.step.done .step-circle{background:#e6f6ec;color:var(--good);border-color:#bfe6cb}.wizard-section h3{font-size:22px;letter-spacing:-.6px;line-height:1.2;margin:0 0 10px}.wizard-section>p{font-size:14px}.upload-box{background:#f9fbff;border:2px dashed #c8d6ef;border-radius:14px;text-align:center;padding:34px 20px;margin:24px 0}.upload-symbol{font-size:34px;color:var(--primary);line-height:1;margin-bottom:18px}.file-label{cursor:pointer}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.state-summary{display:flex;gap:12px;justify-content:space-between;align-items:center;border-radius:10px;background:#f5f8fc;padding:12px 16px;margin:15px 0;color:#52616f;font-size:13px}.state-summary strong{color:var(--ink)}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.table-scroll{max-width:100%;overflow:auto;border:1px solid var(--stroke);border-radius:11px;margin:15px 0 8px}table{border-collapse:collapse;min-width:max-content;width:100%;font-size:12px}th{position:sticky;top:0;background:#f3f6f8;text-align:left;color:#495969;font-weight:750;border-bottom:1px solid var(--stroke)}td,th{padding:10px 12px;border-right:1px solid #eef2f4;max-width:260px;min-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tbody tr:not(:last-child)td{border-bottom:1px solid #eef2f4}tbody tr.invalid{background:#fff0f0}.mapping-head{display:grid;grid-template-columns:40% 1fr;gap:14px;color:#87939c;text-transform:uppercase;letter-spacing:1px;font-weight:800;font-size:10px;margin-top:23px;margin-bottom:8px}.mapping-row{display:grid;grid-template-columns:40% 1fr 28px;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid #eff1f4}.field-label{font-size:13px;min-width:0;overflow-wrap:anywhere}.field-input{max-width:100%;width:100%;padding:11px 12px;border:1px solid #cbd5df;background:#fff;border-radius:8px;color:var(--ink);font-size:13px;min-width:0}.required-star{font-size:10px;color:#bb2d44;margin-left:7px}.mini-remove{border:0;background:transparent;font-size:21px;color:#687685}.add-column,.recipe-controls{display:flex;gap:9px;align-items:center;margin-top:12px}.add-column input,.recipe-controls input{flex:1}.settings{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:25px 0}.settings label{font-size:12px;font-weight:700;display:block;margin-bottom:6px}.check-line{display:flex!important;gap:8px;align-items:center;justify-content:start;padding-top:19px}.check-line input,.ack input{accent-color:var(--primary);height:17px;width:17px}.ack{display:flex;align-items:start;gap:12px;padding:16px;border:1px solid #cdd9ef;background:#f4f7ff;border-radius:10px;font-size:13px;margin:18px 0}.ack input{flex-shrink:0;margin-top:3px}.callout{background:#f4f7ff;border-left:3px solid var(--primary);padding:13px 16px;font-size:13px;color:#394a5c;margin:18px 0;border-radius:6px}.recipe-panel{margin-top:28px;padding:22px;border:1px solid var(--stroke);border-radius:12px;background:#fbfcff}.recipe-panel h4{margin:0;font-size:15px}.recipe-panel p{margin:6px 0}.recipe-list{display:grid;gap:7px;margin:12px 0}.recipe-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e5e9ed;border-radius:7px;padding:8px 10px;font-size:12px}.recipe-item>div{display:flex;gap:4px}.file-control{font-size:12px;max-width:100%;margin:9px 0}.alert{padding:11px 13px;border-radius:9px;margin:13px 0;font-size:13px}.alert-error{background:var(--badbg);color:#8f2332;border:1px solid #f5b8c1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.stats>div{border:1px solid var(--stroke);padding:13px;border-radius:9px;display:flex;flex-direction:column;gap:4px}.stats strong{font-size:21px;letter-spacing:-.5px}.stats span{font-size:11px;color:var(--muted)}.danger{color:var(--bad)}details{margin-top:18px}summary{font-size:13px;font-weight:800;cursor:pointer;padding:11px;background:#f6f8fb;border:1px solid var(--stroke);border-radius:8px}.issue-list{max-height:280px;overflow:auto;display:grid;gap:7px;padding:11px}.issue{padding:8px 10px;border-radius:6px;font-size:12px}.issue-error{background:#fff0f0;color:#96222f}.issue-warning{background:#fff8e9;color:#906014}.ready-symbol{width:52px;height:52px;background:#dcf7e7;border:1px solid #b2e8c8;border-radius:50%;display:grid;place-items:center;color:var(--good);font-size:28px;margin-bottom:20px}.download-actions{display:flex;flex-wrap:wrap;gap:12px;margin:23px 0}.faq{max-width:800px}.faq details{border-bottom:1px solid var(--stroke);margin:0}.faq summary{border:0;background:none;font-size:15px;padding:18px 0}.faq p{font-size:14px;color:var(--muted);margin:0 0 20px}.legal{max-width:800px;margin:auto;padding-top:55px}.legal h1{font-size:39px;line-height:1.17;letter-spacing:-1px}.legal h2{font-size:20px;margin-top:30px}.legal p,.legal li{color:var(--muted)}.legal li{margin:7px 0}footer{border-top:1px solid var(--stroke);padding:24px 0 34px;background:#fff}.foot-inner{max-width:1180px;padding:0 24px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:#6e7b87}.foot-inner a{color:#637487;margin-right:15px}.badges{margin:24px 0 0;display:flex;gap:16px;font-size:12px;color:#58716a;flex-wrap:wrap;font-weight:650}.disclaimer{font-size:12px;color:#7d8792;line-height:1.55}.page-subnav{display:flex;gap:12px;margin-top:15px}.page-subnav a{font-size:13px;font-weight:700}.mode-pill{display:inline-block;border:1px solid #bdd0ec;color:#2c559b;background:#f3f7ff;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:800;vertical-align:middle;margin-left:6px}@media(max-width:940px){.layout{grid-template-columns:1fr}.side-card{display:none}.hero{padding-top:50px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:620px){main,.nav-wrap,.foot-inner{padding-left:16px;padding-right:16px}.nav-wrap{align-items:start}.nav{gap:10px;justify-content:flex-end}.nav a{font-size:11px}.hero{padding:42px 0 23px}.hero h1{letter-spacing:-1.35px}.hero p.lead{font-size:16px}.panel{padding:18px 15px}.step{font-size:10px;gap:4px;flex-direction:column;align-items:start}.step-circle{width:22px;height:22px}.mapping-row{grid-template-columns:36% 1fr 20px;gap:7px}.mapping-head{grid-template-columns:36% 1fr}.field-input{padding:10px 8px}.cards{grid-template-columns:1fr}.section{padding:48px 0}.settings{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.cta-strip{flex-direction:column;align-items:start}.recipe-controls{flex-wrap:wrap}.recipe-controls input{min-width:100%}.recipe-item{align-items:start;flex-direction:column}.controls .btn{font-size:12px;padding:8px 10px}.state-summary{flex-direction:column;align-items:start}.legal{padding-top:25px}}
/* Keep wide mappings readable and searchable without losing keyboard access. */
.mapping-source{min-width:0;width:100%}
.mapping-example{margin:6px 0 0;overflow-wrap:anywhere}
.mapping-row[hidden]{display:none!important}
#mapping-search{margin:8px 0 16px}
#preview-filter{max-width:280px;margin:8px 0}
[aria-busy="true"]{cursor:progress}
