:root{color:#162239;font-synthesis:none;background:#f3f6fb;font-family:Inter,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}main{min-height:100vh}header{color:#fff;background:linear-gradient(135deg,#0c3b70,#1263a7);padding:42px max(24px,50% - 620px)}header h1{margin:34px 0 8px;font-size:38px}header p{opacity:.8}.brand{letter-spacing:.12em;align-items:center;gap:10px;font-weight:800;display:flex}.panel,.result{background:#fff;border:1px solid #e2e8f2;border-radius:18px;max-width:1240px;margin:28px auto;padding:28px;box-shadow:0 14px 45px #16345a12}.steps{border-bottom:1px solid #e8edf4;gap:30px;padding-bottom:22px;display:flex}.steps b{color:#1263a7}.steps span{color:#8a96a8}.uploads{grid-template-columns:1fr 1fr;gap:18px;margin:26px 0;display:grid}.uploads label{cursor:pointer;border:2px dashed #ccd8e7;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:190px;display:flex}.uploads label:hover{background:#f7fbff;border-color:#2681c8}.uploads svg{color:#2678b8}.uploads small{color:#8b97a8}.uploads input{display:none}.uploads em{color:#1263a7;text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:13px;font-style:normal;overflow:hidden}.run,.download{color:#fff;cursor:pointer;background:#1263a7;border:0;border-radius:10px;padding:15px 22px;font-size:16px;font-weight:700}.run{width:100%}.run:disabled{cursor:not-allowed;background:#b9c4d1}.error{color:#b42318;background:#fff1f0;border-radius:8px;padding:12px}.resultTitle{align-items:center;gap:12px;display:flex}.resultTitle svg{color:#16845b}.resultTitle h2{margin:0}.resultTitle p{color:#78869a;margin:5px 0}.checks{grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;display:grid}.checks article{background:#f5f8fb;border-radius:10px;padding:16px}.checks article span{color:#738196;font-size:12px;display:block}.checks article b{margin-top:6px;font-size:20px;display:block}.checks .warn{color:#9b5b00;background:#fff6e5}.download{align-items:center;gap:8px;margin-top:20px;display:flex}.reviewSection{background:#fff;border:1px solid #dfe6ef;border-radius:14px;margin:26px 0 18px;overflow:hidden}.reviewHeading{justify-content:space-between;align-items:center;padding:20px 22px 14px;display:flex}.reviewHeading h3{margin:0;font-size:20px}.reviewHeading p{color:#718095;margin:5px 0 0;font-size:13px}.reviewPill{color:#9a5700;background:#fff0d8;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:flex}.summaryCards{grid-template-columns:repeat(6,1fr);gap:8px;padding:0 18px 18px;display:grid}.summaryCards button{text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #e2e7ee;border-radius:10px;padding:11px 12px}.summaryCards button:hover{background:#f2f8fd;border-color:#66a2cf}.summaryCards span{color:#68778a;white-space:nowrap;font-size:11px;display:block}.summaryCards b{color:#18324f;margin-top:5px;font-size:17px;display:block}.tabs{border-bottom:1px solid #e4e9f0;gap:4px;padding:0 18px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:#66768a;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 10px;font-size:13px}.tabs button b{background:#eef2f6;border-radius:99px;padding:1px 6px;font-size:11px}.tabs button.active{color:#0f619c;border-bottom-color:#1680c3;font-weight:700}.tabs button.active b{background:#dceffc}.filters{background:#fafbfd;border-bottom:1px solid #e2e7ee;grid-template-columns:1.1fr 1fr 1.4fr 1.2fr auto auto;align-items:center;gap:8px;padding:12px 18px;display:grid}.filters input,.filters select{color:#405166;background:#fff;border:1px solid #d6dde7;border-radius:7px;min-width:0;height:34px;padding:0 9px;font-size:12px}.checkFilter{color:#526278;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.expandButtons{gap:4px;display:flex}.expandButtons button,.detailButton,.copy{color:#3d5d7a;cursor:pointer;background:#fff;border:1px solid #d7e0e9;border-radius:6px}.expandButtons button{white-space:nowrap;align-items:center;gap:3px;height:32px;padding:0 7px;font-size:11px;display:flex}.expandButtons svg,.detailButton svg{width:13px;height:13px}.reviewTableWrap{max-height:520px;position:relative;overflow:auto}.reviewTable,.detailTable{border-collapse:collapse;width:100%;font-size:12px}.reviewTable>thead{z-index:5;position:sticky;top:0}.reviewTable th{color:#526378;text-align:left;white-space:nowrap;background:#eff3f7;border-bottom:1px solid #d8e0e9;padding:8px 9px;font-weight:700}.reviewTable>tbody>tr:not(.detailRow)>td{white-space:nowrap;border-bottom:1px solid #e7ebf0;height:40px;padding:7px 9px}.reviewTable>tbody>tr:not(.detailRow):hover{filter:brightness(.985)}.category-general{background:#fff8ed}.category-return{background:#f3f6f9}.category-unassigned{background:#fff8ed}.category-spec{background:#fffbea}.category-turnDate{background:#f4f7fb}.category-mismatch{background:#fff0f0}.dnText{color:#174d77;font-weight:700}.copy{vertical-align:middle;margin-left:5px;padding:3px}.copy svg{width:12px;height:12px}.statusIcon{vertical-align:middle;margin-right:5px;display:inline-flex}.statusIcon svg{width:14px;height:14px}.reasonText{text-overflow:ellipsis;vertical-align:middle;max-width:330px;display:inline-block;overflow:hidden}.detailButton{align-items:center;gap:3px;padding:5px 7px;font-size:11px;display:flex}.detailRow>td{background:#f8fafc;border-bottom:1px solid #d9e1ea;padding:0!important}.detailPanel{padding:16px 18px 18px}.detailPanel h4{margin:3px 0 8px;font-size:13px}.detailPanel h4:not(:first-child){margin-top:18px}.detailPanel h4 span{color:#738196;font-weight:400}.detailScroll{border:1px solid #dce3eb;border-radius:8px;overflow-x:auto}.detailTable{background:#fff;min-width:1200px}.detailTable th{background:#f1f5f8;padding:7px;position:static}.detailTable td{white-space:nowrap;border-top:1px solid #e6ebf0;padding:7px}.ellipsis{text-overflow:ellipsis;max-width:180px;overflow:hidden}.emptyMessage,.returnNotice{border-radius:7px;margin:0;padding:11px 13px;font-size:12px}.emptyMessage{color:#5e6e80;background:#f1f4f7}.returnNotice{color:#3d5872;background:#edf3f8;margin-top:12px}.noRows{text-align:center;color:#738196;padding:35px}.reviewTable tbody:empty+.noRows{display:block}footer{text-align:center;color:#8995a5;padding:18px 0 40px;font-size:13px}@media (width<=1000px){.summaryCards{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.expandButtons{justify-self:start}}@media (width<=700px){header h1{font-size:30px}.uploads{grid-template-columns:1fr}.checks{grid-template-columns:1fr 1fr}.steps{gap:12px;font-size:12px}.panel,.result{margin:18px 12px;padding:20px}.summaryCards{grid-template-columns:repeat(2,1fr)}.reviewHeading{align-items:flex-start}.reviewHeading p{max-width:230px}.filters{grid-template-columns:1fr}.reviewTable{min-width:980px}.reviewTableWrap{max-height:460px}}
