
:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f4f7fb;line-height:1.5}
*{box-sizing:border-box}body{margin:0}main{max-width:920px;margin:0 auto;padding:3rem 1.25rem 6rem}header{margin-bottom:2rem}.preview-banner{background:#fff4d6;border:1px solid #e4b649;border-radius:12px;color:#573d00;margin-bottom:1.25rem;padding:1rem}.preview-banner strong{display:block}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;color:#3764d4}.lede,.hint{color:#5b6475}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;margin:.3rem 0}h2{margin-top:0}.card{background:white;border:1px solid #dce3ef;border-radius:16px;padding:1.5rem;margin:1rem 0;box-shadow:0 8px 24px rgba(28,45,78,.05)}.step{display:grid;grid-template-columns:42px 1fr;gap:1rem}.step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8efff;color:#244ba9;font-weight:800}.row,.toolbar{display:flex;gap:.8rem;align-items:end}.toolbar{justify-content:flex-end}.grow{flex:1}label{display:grid;gap:.35rem;font-weight:650;margin:.8rem 0}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:.72rem .8rem;border:1px solid #bdc8da;border-radius:9px;background:#fff}button{border:0;border-radius:9px;background:#315dc5;color:#fff;padding:.75rem 1rem;font-weight:700;cursor:pointer;white-space:nowrap}button.secondary{background:#e9eef8;color:#273650}button:disabled{opacity:.55;cursor:not-allowed}.hint{font-size:.9rem}.drafts{display:grid;gap:.7rem}.draft{border:1px solid #e0e5ee;border-radius:10px;padding:.8rem}.draft strong{display:block}.schema-panel{border-top:1px solid #e0e5ee;margin-top:1.4rem;padding-top:1.2rem}.mapping-rows{display:grid;gap:.75rem;margin:1rem 0}.mapping-row{border:1px solid #e0e5ee;border-radius:10px;padding:.8rem}.mapping-row .mapping-meta{font-size:.85rem;color:#5b6475}.mapping-row .mapping-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:.8rem;align-items:end}.mapping-row .inline{display:flex;align-items:center;gap:.35rem;font-weight:500}.mapping-row .inline input{width:auto;margin:0}#status{position:fixed;right:1rem;bottom:1rem;max-width:420px;background:#172033;color:white;border-radius:9px;padding:.75rem 1rem;box-shadow:0 8px 30px rgba(0,0,0,.2)}#status:empty{display:none}@media(max-width:650px){.row{display:grid}.step{grid-template-columns:1fr}.step-number{margin-bottom:-.4rem}.mapping-row .mapping-controls{grid-template-columns:1fr}}
