:root{--ink:#34455b;--muted:#6c7b8c;--line:#e4ded8;--surface:#fffdfb;--ground:#f7f5f2;--blue:#6283a0;--blue-dark:#4d6e8a;--green:#287f56;--green-soft:#effaf3;--red:#c94f46;--red-soft:#fff6f5;--amber:#8a6a36}*{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--ground);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.55}button,input{font:inherit}button{touch-action:manipulation}a{color:inherit;text-decoration:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:12px max(16px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line);background:#fff}.brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:760;white-space:nowrap}.brand img{display:block}.topbar nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.topbar nav a{padding:8px 10px;border-radius:8px;color:#5e6874;font-size:14px;font-weight:600}.topbar nav a:hover{background:#f0f4f6;color:#496d88}main{width:min(1120px,100%);margin:0 auto;padding:34px 18px 46px}.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.eyebrow,.step{margin:0 0 6px;color:#718ca2;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.intro h1{max-width:780px;margin:0;color:#344458;font-size:clamp(27px,4vw,38px);line-height:1.22;letter-spacing:-.025em}.intro p:not(.eyebrow){max-width:760px;margin:13px 0 0;color:var(--muted);font-size:16px;line-height:1.75}.runtime-note{display:flex;align-items:flex-start;gap:7px;flex:none;max-width:310px;margin-top:6px;padding:10px 12px;border:1px solid #cde4d4;border-radius:10px;background:#f0faf3;color:#3f7656;font-size:13px;line-height:1.55}.runtime-note span{color:#33a96a}.runtime-note.error{border-color:#efcbc6;background:#fff7f6;color:#a74a42}.runtime-note.error span{color:#db6157}.login-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:23px;padding:16px;border:1px solid #ead4c8;border-radius:13px;background:#fffbf8}.login-panel h2{margin:0;color:#805246;font-size:16px}.login-panel p{margin:4px 0 0;color:#856b64;font-size:13px}.login-panel form{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:7px 10px;min-width:410px;color:#56616d;font-size:13px}.login-panel form>span{display:flex;gap:8px}.login-panel input{min-width:0;flex:1;min-height:42px;padding:8px 10px;border:1px solid #dcd4ce;border-radius:8px;background:#fff;color:#3d4652}.login-panel small{grid-column:2;color:#b64a43}.filter-card{display:flex;align-items:center;gap:11px;margin-top:25px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 2px 8px #2a36430a}.filter-card label{color:#4d5967;font-weight:750}.filter-card input{min-height:43px;padding:8px 10px;border:1px solid #dcd6cf;border-radius:8px;background:#fff;color:#3d4754}.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;border:1px solid #d8d3cd;border-radius:8px;background:#fff;color:#5e6874;font-size:14px;font-weight:750;cursor:pointer}.button:hover:not(:disabled){border-color:#b7c8d3;background:#f7fafb}.button.primary{border-color:var(--blue);background:var(--blue);color:#fff}.button.primary:hover:not(:disabled){border-color:var(--blue-dark);background:var(--blue-dark)}.button:disabled{cursor:not-allowed;opacity:.52}.review-status{margin-left:auto;color:#64798a;font-size:13px}.review-status.error{color:#b44a42}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.summary-grid article{min-height:117px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 2px 8px #28364408}.summary-grid .good{border-color:#cae3d3;background:#fbfffc}.summary-grid .issue{border-color:#efd5d1;background:#fffaf9}.summary-grid span{display:block;color:#6c7784;font-size:13px;font-weight:650}.summary-grid strong{display:block;margin-top:3px;color:#405168;font-size:32px;line-height:1.2;font-variant-numeric:tabular-nums}.summary-grid .good strong{color:#258055}.summary-grid .issue strong{color:#bc5149}.summary-grid small{display:block;margin-top:5px;color:#83858b;font-size:12px}.record-card{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 2px 10px #2b3c4e09}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.card-heading h2{margin:0;color:#3c4e62;font-size:20px}.date-label{padding:5px 9px;border-radius:999px;background:#f0f4f7;color:#5c7389;font-size:13px;font-weight:700}.help{margin:10px 0 17px;color:#747d88;font-size:13px;line-height:1.7}.records{display:grid;gap:14px}.empty{display:grid;place-items:center;min-height:150px;border:1px dashed #d9d2cc;border-radius:10px;background:#fbfaf8;color:#82848a;text-align:center}.package-record{overflow:hidden;border:1px solid #e7e1db;border-radius:11px;background:#fff}.package-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-bottom:1px solid #ebe5df;background:#faf9f7}.package-title{display:flex;align-items:baseline;gap:9px;min-width:0}.tracking-label{color:#78818c;font-size:12px;font-weight:700}.tracking-number{overflow-wrap:anywhere;color:#405a74;font-size:16px;letter-spacing:.02em}.package-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:#7b8087;font-size:12px}.package-warning,.package-pending{padding:3px 7px;border-radius:999px;font-weight:740}.package-warning{background:#fff0ed;color:#bb4e45}.package-pending{background:#eef2f6;color:#61738b}.record-table{display:grid}.record-row{display:grid;grid-template-columns:minmax(225px,1.8fr) .55fr .55fr .92fr minmax(175px,1.28fr);align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #f0ece8}.record-row:last-child{border-bottom:0}.record-head{padding-top:9px;padding-bottom:9px;background:#fcfbfa;color:#898a8e;font-size:12px;font-weight:760}.record-row.ready{background:#fbfffc}.record-row.blocked,.record-row.additional{background:#fffafa}.record-row.pending{background:#fafcfd}.record-row.uploaded{background:#f6fcf8}.product-cell{min-width:0}.product-cell strong{display:block;color:#3d4c5d;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.product-cell small{display:block;margin-top:3px;color:#8a8c91;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.number{color:#465668;font-size:14px;font-weight:730;font-variant-numeric:tabular-nums}.status-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:780;line-height:1.3}.status-badge.ready{background:#dff4e7;color:#287b54}.status-badge.uploaded{background:#d3ebdc;color:#226c49}.status-badge.blocked{background:#ffe4e0;color:#b33f36}.status-badge.pending{background:#e8edf3;color:#607286}.status-badge.zero{background:#efeee9;color:#727169}.row-action{display:flex;align-items:center;gap:8px;min-width:0}.row-action .button{flex:none;min-height:36px;padding:7px 10px;white-space:nowrap}.row-action .button:not(:disabled){border-color:#70a78a;background:#f1fbf4;color:#287652}.row-action .button:not(:disabled):hover{background:#e1f4e7}.action-reason{min-width:0;color:#8a8580;font-size:12px;line-height:1.45}.record-row.blocked .action-reason,.record-row.additional .action-reason{color:#b25249}.actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:17px}.batch-hint{margin-right:auto;color:#697984;font-size:13px}.message{margin:13px 0 0;padding:11px 13px;border:1px solid #cbe2d3;border-radius:9px;background:#f1fbf4;color:#276b4b;font-size:14px;line-height:1.6}.message.error{border-color:#efcbc6;background:#fff7f6;color:#aa4740}footer{padding:20px 16px 28px;color:#92959a;font-size:12px;text-align:center}@media(max-width:790px){.intro{flex-direction:column;gap:15px}.runtime-note{max-width:none}.login-panel{align-items:stretch;flex-direction:column}.login-panel form{min-width:0}.filter-card{align-items:stretch;flex-wrap:wrap}.filter-card label{width:100%}.filter-card input,.filter-card .button{flex:1}.review-status{width:100%;margin:0}.record-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px}.record-head{display:none}.record-row>.number{color:#5d6d7e}.record-row>.number::before{display:inline-block;margin-right:5px;color:#919398;font-size:12px;font-weight:600}.record-row>.number:nth-child(2)::before{content:'应到'}.record-row>.number:nth-child(3)::before{content:'实收'}.record-row>.status-badge{grid-column:1}.record-row>.row-action{grid-column:2;grid-row:2 / span 2;align-self:center;flex-direction:column;align-items:flex-end;text-align:right}.package-heading{align-items:flex-start;flex-direction:column}.package-meta{justify-content:flex-start}.summary-grid{grid-template-columns:1fr;gap:10px}.summary-grid article{min-height:92px}.summary-grid strong{font-size:28px}.actions{align-items:stretch;flex-direction:column}.batch-hint{margin:0}.actions .button{width:100%}}@media(max-width:430px){main{padding-inline:12px}.topbar{padding-inline:12px}.brand span{font-size:14px}.topbar nav a{padding-inline:7px;font-size:13px}.record-card{padding:14px}.record-row{padding-inline:10px}.row-action .button{font-size:13px}.action-reason{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.record-row.additional.arrival-written{background:#fbfffc}.status-badge.arrival-written{background:#dff4e7;color:#287b54}.record-row.additional.arrival-written .action-reason{color:#347456}
