:root{font-family:Inter,Arial,sans-serif;color:#1e3049;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}input,select,button{font:inherit}header{min-height:75px;background:#fff;border-bottom:1px solid #e2e9f1;display:flex;align-items:center;padding:16px 5%;gap:12px}header .brand{background:#1a3c68;color:#fff;font-size:26px;font-weight:800;border-radius:10px;padding:8px 15px}header b{display:block;font-size:18px}header b span{color:#56718c}header small{display:block;font-size:11px;color:#607080}header aside{margin-left:auto;font-size:12px;color:#23634f;overflow-wrap:anywhere}main{max-width:1500px;margin:auto;padding:36px 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.intro small{font-size:10px;font-weight:800;letter-spacing:.15em;color:#357db5}.intro h1{font-size:32px;margin:10px 0}.intro p{font-size:13px;color:#526377}.upload{border-radius:11px;color:#fff;background:#1d3867;padding:15px 20px;cursor:pointer;white-space:nowrap;font-weight:700;font-size:13px}.upload input{display:block;max-width:210px;font-size:11px;margin-top:8px}.notice{background:#fffae7;border:1px solid #eadcaa;color:#665116;padding:14px 18px;border-radius:10px;font-size:12px;margin:22px 0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.cards article{padding:20px;background:#fff;border:1px solid #e3eaf2;border-radius:12px;font-size:12px;color:#536477}.cards strong{font-size:27px;color:#204674;margin-top:11px;display:block}.cards .source-status{font-size:13px;overflow-wrap:anywhere}.report{background:#fff;border:1px solid #e3eaf2;border-radius:14px;overflow:hidden}.report nav{display:flex;overflow-x:auto;border-bottom:1px solid #e7edf4}.report nav button{border:0;background:#fff;padding:18px;color:#52647c;white-space:nowrap;cursor:pointer}.report nav button.active{border-bottom:3px solid #3c80c4;color:#1b4b81;font-weight:700}.reporthead{display:flex;justify-content:space-between;padding:22px;align-items:center;gap:12px}.reporthead h2{margin:0 0 8px;font-size:20px}input,select{padding:9px;border:1px solid #b9c7d5;border-radius:6px;max-width:100%}.scroll{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:9px 12px;text-align:left;border:1px solid #edf0f4;white-space:nowrap;min-width:85px}th{background:#f6f8fb;position:sticky;top:0;color:#526477}.pages{padding:18px;display:flex;justify-content:space-between;font-size:12px;color:#526477;gap:10px}.pages button{margin-left:6px}.blank{text-align:center;background:#fff;border:1px dashed #c9d5e1;border-radius:14px;padding:60px 20px;color:#425872}.blank p{font-size:13px}footer{text-align:center;padding:35px 0;color:#607080;font-size:11px}.stamp{position:fixed;top:46%;left:8%;transform:rotate(-23deg);font-size:18px;color:#24426c;opacity:.12;pointer-events:none;white-space:nowrap}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:16px}.filter-grid label{display:grid;gap:6px;font-size:12px}.tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:16px}.mapping{padding:18px;border:1px solid #dce5ee;border-radius:8px;margin:14px}.mapping p{font-size:13px}.detail{padding:20px;overflow-wrap:anywhere;font-size:13px}button{cursor:pointer;border:1px solid #b9c7d5;background:#fff;color:#193c65;padding:8px;border-radius:5px}button:disabled{opacity:.5;cursor:default}.cell,.sort{border:0;padding:0;background:transparent;font-size:12px;color:inherit;text-align:left}.cell{min-width:30px;min-height:20px}.cell span{color:#6851a5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #3986d3;outline-offset:2px}pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:750px){header{flex-wrap:wrap}header aside{width:100%;margin-left:0}.intro{display:block}.upload{display:inline-block;margin-top:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.reporthead{display:block}.reporthead input{margin-top:12px;width:100%}.pages{flex-wrap:wrap}main{padding:20px 12px}.stamp{font-size:12px}.intro h1{font-size:26px}}@media print{body{display:none}}
