@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#12261d;--muted:#63746c;--paper:#f7f8f3;--line:#dbe3d8;--leaf:#27865f;--lime:#e2f0c8;--orange:#f2a54a;--red:#b83d3d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}main{max-width:1240px;margin:auto;padding:0 32px 70px}nav{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:700;letter-spacing:-.5px}.brand span{color:var(--leaf);font-size:29px;vertical-align:-3px}nav small,.eyebrow{color:var(--muted);font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.08em}.hero{padding:84px 0 54px;max-width:720px}.eyebrow{margin:0 0 15px;font-weight:500}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-2px;margin:0}.hero i{color:var(--leaf)}.hero>p:last-child{font-size:18px;line-height:1.6;color:var(--muted);max-width:620px;margin:25px 0 0}.workspace{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 18px 48px #17351b0b}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #a9c4af;background:#fbfdf9;border-radius:10px;min-height:185px;cursor:pointer;transition:.2s}.dropzone:hover,.dropzone.drag{border-color:var(--leaf);background:#f2f9ed}.dropzone input{display:none}.dropzone strong{font-size:18px}.dropzone span{color:var(--muted);margin-top:7px;font-size:14px}.selected{display:flex;gap:8px;flex-wrap:wrap;padding:13px 0 2px}.selected:empty{display:none}.chip{background:var(--lime);padding:7px 10px;border-radius:99px;font-size:12px}button,.downloads a{border:0;background:var(--leaf);color:white;border-radius:7px;font:600 14px 'DM Sans';padding:12px 17px;cursor:pointer;display:inline-block;text-decoration:none}button{margin-top:15px}button:disabled{opacity:.45;cursor:not-allowed}button span{font-size:18px;margin-left:8px}.secondary{background:transparent!important;color:var(--ink)!important;border:1px solid #aebdb1!important}.status{color:var(--muted);font-size:14px;min-height:20px}.section-title{margin:75px 0 20px;display:flex;justify-content:space-between;align-items:flex-end}.section-title h2{font-family:'Playfair Display',serif;font-size:33px;margin:0;letter-spacing:-1px}.section-title .eyebrow{margin-bottom:6px}.downloads{display:flex;gap:8px}.file-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin:12px 0}.file-card h3{margin:0 0 5px;font-size:17px}.meta{color:var(--muted);font-size:13px}.inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.inputs label{font-size:12px;font-weight:600}.inputs input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:6px;padding:9px;background:#fcfdfb;color:var(--ink)}.issues{margin:15px 0 0;padding:0;list-style:none}.issues li{font-size:12px;padding:6px 8px;background:#fff6e7;border-left:3px solid var(--orange);margin:4px 0}.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.metric{background:#fff;border:1px solid var(--line);padding:16px;border-radius:10px}.metric small{font-family:'DM Mono';font-size:10px;color:var(--muted)}.metric strong{display:block;margin-top:7px;font-size:18px}.matched{color:var(--leaf)}.mismatched{color:var(--red)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:18px}table{border-collapse:collapse;width:100%;min-width:1000px;font-size:13px}th{text-align:left;background:#173d2c;color:#fff;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:13px;white-space:nowrap}td{padding:12px 13px;border-bottom:1px solid #edf0eb;white-space:nowrap}td.negative{color:var(--red);font-weight:600}@media(max-width:700px){main{padding:0 16px 40px}.hero{padding:52px 0 35px}.inputs,.summary-grid{grid-template-columns:1fr}.section-title{align-items:flex-start;gap:15px;flex-direction:column}.downloads{width:100%}.downloads a{flex:1;text-align:center}}
