:root{color-scheme:light;--ink:#191919;--muted:#5b605f;--line:#d6dcda;--red:#b82e19;--green:#236646;--blue:#245975;--background:#fafbf9;--surface:#fff}
*{box-sizing:border-box;letter-spacing:0}
[hidden]{display:none!important}
body{margin:0;background:var(--background);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:var(--blue);text-underline-offset:4px}
button:disabled{cursor:not-allowed;opacity:.45}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.table-wrap:focus-visible{outline:3px solid #236c9b;outline-offset:3px}
.skip-link{position:absolute;left:16px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:white;z-index:5}.skip-link:focus{position:fixed;top:10px;width:auto;height:auto;clip-path:none;padding:12px}
.site-header{min-height:88px;padding:16px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);background:white}
.brand{display:flex;flex-shrink:0}.brand img{object-fit:contain;width:128px;height:44px}
.header-label{font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.beta-label{margin-left:auto;color:var(--green);font-weight:650;font-size:13px;white-space:nowrap}
main{max-width:1120px;margin:auto;padding:0 24px}
.intro{padding:42px 0 26px;position:relative}
.eyebrow{font-size:12px;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 10px}
h1{font-size:32px;line-height:1.2;font-weight:650;margin:0 0 12px;max-width:760px}
h2{font-size:19px;line-height:1.3;font-weight:650;margin:0}
p{margin:0 0 12px}.intro-text{font-size:16px;color:var(--muted)}
.privacy{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--green);margin-top:16px;margin-bottom:0}
svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.8}
.notice{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;background:#edf3f5;border-left:3px solid var(--blue);font-size:13px;color:#234252}
.notice svg{margin-top:2px}.notice p{margin:0}.notice strong{font-weight:650}.notice.error{margin-top:16px;background:#fff0eb;border-color:var(--red);color:#8a2315}
.work-section{padding:28px 0;border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px;min-height:36px}.section-heading h2{flex:1}
.step{width:28px;height:28px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:650;flex-shrink:0}
.count{font-size:13px;color:var(--muted)}
.dropzone{min-height:136px;display:flex;gap:20px;align-items:center;border:1px dashed #9ba8a3;border-radius:4px;background:#fff;padding:24px}
.dropzone.dragover{background:#edf6ef;border:2px solid var(--green);padding:23px}
.dropzone .file-icon{width:36px;height:40px;color:var(--green)}
.dropzone>div{min-width:0;flex:1}.dropzone strong{font-weight:600;overflow-wrap:anywhere;display:block}.dropzone p{font-size:13px;color:var(--muted);margin:6px 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border-radius:4px;border:1px solid transparent;font-weight:600;font-size:14px;line-height:1.35;text-align:center}
.primary{background:var(--red);color:#fff}.primary:hover:not(:disabled){background:#962411}.secondary{background:#fff;color:var(--ink);border-color:#b6c0bb}.secondary:hover:not(:disabled){background:#f0f4f1}
.file-picker{position:relative;cursor:pointer;flex-shrink:0}.file-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-picker:focus-within{outline:3px solid #236c9b;outline-offset:3px}
.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:4px;background:white;color:var(--muted)}
.file-options{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
label{font-size:13px;color:var(--ink)}
select{display:block;background:#fff;border:1px solid #aeb9b3;color:var(--ink);border-radius:4px;min-height:42px;padding:8px 32px 8px 10px;width:100%;max-width:100%;font-size:14px;margin-top:6px}
.file-options label{display:flex;align-items:center;gap:12px;color:var(--muted)}.file-options select{margin:0;width:204px}
.text-button{display:flex;align-items:center;gap:8px;background:none;border:0;padding:10px 0;color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.status{margin:12px 0 0;font-size:13px;color:var(--muted);min-height:0}.status:empty{display:none}.status.bad{color:#9e2817}
.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.mapping-grid label span{display:block;font-size:12px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere;max-height:42px;overflow:hidden}
.config-row{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center;margin-top:24px}.muted{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.config-row p{margin:18px 0 0}
.confirmations{display:grid;gap:10px;margin:22px 0}.confirmations label,.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px}
input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0;margin:2px 0 0}
.result-summary{font-size:15px;color:var(--green);font-weight:600;margin-bottom:14px}.result-summary.bad{color:#9e2817}
.error-list{background:#fff3ef;border-left:3px solid var(--red);padding:14px 20px;margin-bottom:18px;max-height:280px;overflow:auto}.error-list ul{padding-left:20px;margin:0;font-size:13px}.error-list li+li{margin-top:7px}
.table-wrap{overflow:auto;max-height:420px;border:1px solid var(--line);background:#fff;width:100%}
table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:700px}caption{text-align:left;padding:10px 14px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}
th{font-size:12px;font-weight:600;background:#eef2ef;white-space:nowrap;position:sticky;top:0}th,td{padding:11px 14px;border-bottom:1px solid #e2e7e3;vertical-align:top}td{max-width:280px;overflow-wrap:anywhere}tbody tr:last-child td{border-bottom:0}td:first-child{color:var(--muted)}.ok{color:var(--green)}.bad-cell{color:#9e2817;font-weight:600}
.download-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 14px}
.survey{display:grid;grid-template-columns:1fr 1.25fr;gap:40px}.survey h2{margin-bottom:12px}.survey p{font-size:14px;color:var(--muted)}.survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
fieldset{border:0;padding:0;margin:18px 0}legend{font-size:13px;margin-bottom:10px;font-weight:550}fieldset label{display:inline-flex;align-items:center;gap:8px;margin-right:20px}.survey .small{font-size:12px;margin:10px 0 18px}
.scope h2{font-size:16px;margin-bottom:16px}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.scope-grid p{font-size:13px;color:var(--muted);margin:0}.scope-grid strong{display:block;color:var(--ink);margin-bottom:5px;font-weight:600}
footer{max-width:1120px;margin:auto;padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:12px;color:var(--muted)}footer span{margin-right:auto}footer a{display:flex;align-items:center;gap:5px}footer svg{width:13px;height:13px}
@media(max-width:760px){.site-header{padding:14px 20px;min-height:76px;gap:12px}.header-label{display:none}main{padding:0 20px}.intro{padding:30px 0 22px}h1{font-size:27px;max-width:540px}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.survey{grid-template-columns:1fr;gap:20px}.scope-grid{grid-template-columns:1fr;gap:16px}.dropzone{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:20px}.dropzone.dragover{padding:19px}.file-picker{margin:0;grid-column:2;justify-self:start;max-width:100%}.config-row{grid-template-columns:1fr;gap:0}.config-row label{max-width:300px}}
@media(max-width:450px){.file-options{align-items:flex-start;flex-direction:column;gap:6px}.file-options label{width:100%;justify-content:space-between}.mapping-grid{gap:16px 12px}.mapping-grid select{font-size:13px}.survey-grid{grid-template-columns:1fr}.section-heading{gap:9px}.count{font-size:12px}h2{font-size:17px}.download-row .button{width:100%}.dropzone .file-icon{width:28px}.notice{padding:12px}.beta-label{font-size:12px}.scope-grid{gap:16px}footer{padding:24px 20px}footer span{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
