:root{color-scheme:light;--ink:#162e27;--muted:#52695f;--green:#176d53;--paper:#f5f6ef;--line:#d2ded3;--mint:#e7f1e8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,a{touch-action:manipulation}a{color:var(--green)}header,main,footer{max-width:1180px;margin:auto;padding:0 36px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:750;font-size:22px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:var(--paper);border-radius:10px}.privacy{font-size:13px;color:var(--green)}.privacy span{margin-right:7px}.intro{padding:66px 0 34px;max-width:820px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750;color:var(--green)}h1{font-size:clamp(34px,4.3vw,53px);letter-spacing:-.045em;line-height:1.12;margin:18px 0 22px;font-weight:750}h1 span{color:var(--green)}h2{font-size:25px;line-height:1.25;letter-spacing:-.025em}h3{font-size:17px;margin-bottom:8px}.lead{max-width:660px;font-size:18px;line-height:1.7;color:var(--muted)}.workspace{display:grid;grid-template-columns:1.65fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;box-shadow:0 12px 40px #173d2610}.scanner{padding:24px}.dropzone{text-align:center;padding:28px 18px 20px;border:1px dashed #90ad9a;border-radius:12px;background:#fbfcf9}.dropzone.dragging{background:var(--mint);outline:3px solid var(--green)}.dropzone h2{margin:10px 0}.dropzone p{color:var(--muted);font-size:14px}.file-icon{font-size:32px;color:var(--green)}button,.button,.file-label{font:inherit;font-size:14px;font-weight:650;border:1px solid var(--green);border-radius:7px;background:var(--green);color:white;padding:10px 17px;cursor:pointer;display:inline-block;text-decoration:none}button:hover,.file-label:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:default}.file-label{margin:10px 0 0}#file{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dropzone:focus-within{outline:3px solid #57997e;outline-offset:3px}.fine{font-size:12px!important}.sample-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.text-button{border:0;background:transparent;color:var(--green);padding:4px;font-size:13px;text-decoration:underline;text-underline-offset:3px}.scan-state{font-size:13px;padding:10px 0 0}.scan-state p{margin:4px 0 10px}progress{width:100%;accent-color:var(--green)}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.secondary{background:white;color:var(--green);border-color:#9bb4a5}.workspace aside{background:var(--mint);padding:28px 32px}.workspace aside p,.workspace aside li{font-size:14px;color:var(--muted)}.workspace aside ul{padding-left:20px}hr{border:0;border-top:1px solid #c2d6c7;margin:25px 0}#results{margin-top:40px;border:1px solid var(--line);border-radius:16px;padding:30px;background:white}.result-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.result-heading h2{margin:8px 0 20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);padding:22px;border-radius:10px;gap:20px}.stats strong{display:block;font-size:29px;line-height:1.3}.stats span{font-size:12px;color:var(--muted)}.pills{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.pill{font-size:12px;background:var(--mint);padding:4px 10px;border-radius:20px}.scope{font-size:13px;color:var(--muted)}.issues{list-style:none;padding:0;display:grid;gap:12px}.issue{padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:5px}.issue.warning{border-left-color:#ba762e}.issue.error{border-left-color:#a13838}.issue h3{margin:7px 0}.issue p{font-size:14px;color:var(--muted);margin:0}.issue .eyebrow{font-size:10px;color:var(--muted)}details{margin-top:24px;font-size:13px}summary{cursor:pointer}code{overflow-wrap:anywhere;font-size:12px}.handoff{display:grid;grid-template-columns:1fr 1.25fr;gap:55px;padding:55px 0}.handoff p,.handoff li{font-size:14px;color:var(--muted)}.handoff ol{padding-left:20px}.handoff li{padding:4px 0}.checkout{border:1px solid var(--line);padding:24px;border-radius:12px;margin-bottom:40px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px;font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid #57997e;outline-offset:4px}.skip{position:absolute;top:-100px;background:white;padding:10px}.skip:focus{top:0;z-index:10}[hidden]{display:none!important}@media(max-width:760px){header,main,footer{padding-left:20px;padding-right:20px}header{height:78px}.privacy{max-width:150px;text-align:right;font-size:11px}.intro{padding-top:40px}.workspace,.handoff{grid-template-columns:1fr}.workspace aside{padding:24px}.scanner{padding:16px}.result-heading{display:block}#results{padding:20px}.stats{padding:16px;gap:10px}.stats strong{font-size:24px}.handoff{gap:0;padding:35px 0}footer{flex-direction:column;gap:6px}.lead{font-size:16px}}
/* Keep language controls and the privacy note visible at narrow widths. */
header{height:auto;min-height:100px;padding-top:20px;padding-bottom:20px;gap:20px}.header-controls{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}.language-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.language-control select{font:inherit;font-size:14px;color:var(--ink);background:white;border:1px solid #9bb4a5;border-radius:7px;padding:8px;min-height:40px;touch-action:manipulation}h1 .hero-main{color:var(--ink)}html:lang(zh-CN) h1,html:lang(ja) h1{letter-spacing:-.02em;line-height:1.3}html:lang(zh-CN) .eyebrow,html:lang(ja) .eyebrow{letter-spacing:.07em}@media(max-width:760px){header{flex-wrap:wrap;gap:12px}.header-controls{width:100%;justify-content:space-between;gap:10px}.privacy{max-width:none;text-align:left}.language-control{flex-wrap:wrap}.stats>div{min-width:0}.result-heading .actions{align-items:stretch}.result-heading button{max-width:100%;white-space:normal}.workspace,.scanner{min-width:0}}
/* Supplier review shares the local file workflow; wide data tables scroll inside their panel. */
.tool-nav{display:flex;flex-wrap:wrap;gap:8px;padding:24px 0 0}.tool-nav a{padding:10px 16px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-weight:650;font-size:14px}.tool-nav a[aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.supplier-intro{padding-top:42px;padding-bottom:32px}.supplier-intro h1{font-size:clamp(30px,4.6vw,55px);max-width:950px;line-height:1.2}.supplier-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin:0 0 28px;min-width:0}.supplier-files{display:grid;grid-template-columns:1fr 1fr;gap:24px}.supplier-file{border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0;margin:16px 0}.supplier-file legend{font-weight:750;padding:0 8px}.supplier-panel label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;min-width:0}.supplier-panel input,.supplier-panel select{font:inherit;color:var(--ink);width:100%;max-width:100%;min-width:0;background:var(--paper);border:1px solid #9bb4a5;border-radius:7px;padding:10px;min-height:44px}.supplier-panel input[type=file]{font-size:12px}.supplier-mapping{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0}.supplier-rules{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.supplier-panel .actions{flex-wrap:wrap}.supplier-panel button{max-width:100%;white-space:normal}.supplier-template{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.supplier-template input{max-width:300px}.supplier-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.supplier-stats div{display:flex;flex-direction:column;min-width:0}.supplier-stats span{font-size:13px}.supplier-stats strong{font-size:30px}.supplier-table{overflow:auto;max-height:650px;border:1px solid var(--line);border-radius:8px;margin:20px 0}.supplier-table table{border-collapse:collapse;width:100%;min-width:760px;table-layout:fixed;font-size:13px}.supplier-table th,.supplier-table td{padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}.supplier-table th{background:var(--mint);position:sticky;top:0}.supplier-table tr:last-child td{border:0}.supplier-panel code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.supplier-issues{overflow-wrap:anywhere;max-height:400px;overflow:auto}.supplier-issues li{margin-bottom:10px}#supplier-status{font-weight:600}#supplier-result-title{font-size:26px}button:disabled,input:disabled,select:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.supplier-files,.supplier-rules{grid-template-columns:1fr;gap:4px}.supplier-panel{padding:16px}.supplier-file{padding:14px}.supplier-stats{grid-template-columns:repeat(2,1fr);gap:18px}.supplier-stats strong{font-size:25px}.tool-nav a{font-size:12px;padding:10px 12px}.supplier-intro h1{line-height:1.35}.supplier-rules{gap:14px}}
