:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#182133;background:#f6f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}header{height:64px;background:#fff;border-bottom:1px solid #dfe3e8;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2))}.brand{font-weight:760;color:#172033;text-decoration:none}nav{display:flex;gap:24px}nav a{color:#475569;text-decoration:none;font-size:14px}main{max-width:1160px;margin:auto;padding:34px 24px 64px}.intro{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:24px}.intro>div:first-child{max-width:760px}.eyebrow{font-size:13px;font-weight:700;color:#1d4ed8;text-transform:uppercase;letter-spacing:.06em}h1{font-size:36px;line-height:1.08;margin:10px 0}p{color:#536174}.status{border-left:3px solid #16a34a;padding:8px 14px;display:flex;flex-direction:column;min-width:210px}.status span,.summary span{font-size:13px;color:#5f6b7a;margin-top:3px}.tool{background:#fff;border:1px solid #dfe3e8;border-radius:8px;box-shadow:0 6px 20px #0f172a0d}.steps{display:flex;border-bottom:1px solid #e5e7eb;padding:0 24px;gap:30px;min-height:50px;align-items:center;color:#5f6b7a;font-size:14px}.steps .active{color:#1d4ed8;font-weight:700}.controls{padding:22px 24px;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:220px 220px 1fr;gap:16px;align-items:end}label{font-size:13px;font-weight:650;color:#334155;display:flex;flex-direction:column;gap:7px}select{height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;background:#fff}.actions{display:flex;justify-content:flex-end;gap:10px}.upload,button{min-height:40px;border:0;border-radius:6px;padding:8px 16px;display:inline-flex;align-items:center;justify-content:center;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.secondary{background:#fff;color:#24324a;border:1px solid #cbd5e1}.text{background:transparent;color:#1d4ed8;padding:0}.workspace{padding:24px}.workspace.empty{min-height:230px;display:grid;place-items:center}.empty-state,.fatal{display:flex;flex-direction:column;text-align:center;gap:7px;color:#5f6b7a}.empty-state strong,.fatal strong{color:#25334a;font-size:18px}.summary,.result-head{display:flex;justify-content:space-between;align-items:center}.summary>div{display:flex;flex-direction:column}.workspace h2{margin:24px 0 4px;font-size:20px}.workspace h3{margin:28px 0 4px;font-size:17px}.hint{margin:0 0 18px;font-size:14px}.mapping{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px}.value-mapping{display:grid;gap:12px}.value-mapping fieldset{border:1px solid #d7dde5;border-radius:6px;padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.value-mapping legend{font-size:13px;font-weight:750}.bar{margin-top:24px;padding-top:18px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.result-head h2{margin:8px 0 0}.result{display:inline-block;padding:5px 8px;border-radius:4px;font-size:13px;font-weight:750}.good{background:#dcfce7;color:#166534}.bad{background:#fee2e2;color:#991b1b}.issues{margin-top:18px;display:grid;gap:8px;max-height:330px;overflow:auto}.issue{width:100%;height:auto;padding:10px 12px;border-left:3px solid #d97706;border-radius:0;background:#fffbeb;color:#182133;display:flex;align-items:flex-start;text-align:left;flex-direction:column;gap:3px;font-size:13px}.issue.blocker{border-color:#dc2626;background:#fff1f2}.issue span{color:#4f5968}.source-row{margin-top:14px;padding:14px;border:1px solid #cbd5e1;background:#f8fafc}.source-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:10px 0 0}.source-row dl div{min-width:0}.source-row dt{font-size:11px;color:#5f6b7a}.source-row dd{margin:2px 0 0;overflow-wrap:anywhere}.preview{margin-top:18px;overflow:auto;border:1px solid #e5e7eb}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:9px;border-bottom:1px solid #e5e7eb}th{background:#f8fafc;color:#475569}.trust{padding:34px 0}.trust h2,.faq h2{font-size:23px}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.columns p{margin:0}.columns strong{color:#1e293b}.faq{padding:0 0 34px}.faq details{border-top:1px solid #dfe3e8;padding:14px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{margin-bottom:0}footer{text-align:center;border-top:1px solid #dfe3e8;padding:24px;color:#5f6b7a;font-size:13px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,.upload:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}@media(max-width:760px){header{padding:0 16px}nav a:first-child{display:none}main{padding:22px 14px 48px}.intro{display:block}.status{margin-top:18px}.intro h1{font-size:29px}.controls{grid-template-columns:1fr}.actions{justify-content:stretch;flex-direction:column}.upload,button{width:100%;height:auto;min-height:42px;white-space:normal}.mapping,.value-mapping fieldset,.source-row dl{grid-template-columns:1fr}.bar{flex-direction:column-reverse}.columns{grid-template-columns:1fr;gap:10px}.steps{gap:14px;padding:8px 14px;font-size:12px;flex-wrap:wrap}.workspace{padding:16px}.summary{align-items:flex-start}.summary .text{width:auto}.result-head{align-items:flex-start;gap:12px}.result-head .secondary{width:auto;flex-shrink:0}}
