:root{--ink:#17223b;--muted:#7b8598;--line:#e7ebf2;--bg:#f5f7fb;--blue:#4054cc;--blue-light:#eef0ff;--green:#12846f;--amber:#ac711e}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-1px}h2{font-size:17px}h3{font-size:15px;margin:24px 0 12px}.muted{color:var(--muted);line-height:1.7}.hidden{display:none!important}.brandmark{display:grid;place-items:center;background:var(--blue);color:white;width:40px;height:40px;border-radius:12px;font-size:26px;font-weight:500}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;color:var(--ink);padding:0 8px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:2px;color:var(--muted);margin-top:5px}.nav-label{margin:50px 14px 15px;color:#9199ab;font-size:11px;letter-spacing:2px}.nav{border:0;background:transparent;padding:14px;text-align:left;border-radius:8px;color:#737e93;margin:3px 0;font-size:13px}.nav.active{background:var(--blue-light);color:var(--blue);font-weight:600}.nav span{background:#fff0d7;color:#a06a19;border-radius:5px;padding:2px 6px;margin-left:6px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:22px 10px 0;font-size:12px}.sidebar-bottom p{color:var(--muted);line-height:1.9;margin:9px 0 25px}.sidebar-bottom small{overflow-wrap:anywhere;color:var(--muted)}.schedule-dot{width:6px;height:6px;background:#b5bdcc;border-radius:50%;display:inline-block;margin-right:8px}.text-button{display:block;background:none;border:0;padding:12px 0 0;color:var(--muted)}main{margin-left:236px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px;color:#7d889b}.slash{margin:0 14px;color:#cbd0dc}.environment{padding:5px 9px;border:1px solid var(--line);border-radius:5px;color:#7e899a;font-size:11px}.content{max-width:1600px;margin:auto;padding:36px 42px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--blue);margin-bottom:10px}.page-heading .muted{margin-top:12px;font-size:12px}.live-indicator{display:inline-block;background:#a7bded;width:6px;height:6px;border-radius:50%;vertical-align:middle;margin-left:15px}.heading-actions{display:flex;gap:10px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;padding:11px 17px;font-size:12px;white-space:nowrap}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 6px #4054cc12}.secondary{background:white;border-color:#dce1ec;color:#566177}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{position:relative;background:white;border:1px solid var(--line);border-radius:10px;padding:23px 22px}.metric span{font-size:12px;color:#768095}.metric strong{display:block;font-size:34px;letter-spacing:-1px;font-weight:650;margin:15px 0 10px}.metric small{font-size:10px;color:#939dae}.metric i{position:absolute;top:20px;right:20px;display:grid;place-items:center;background:#f2f4ff;width:30px;height:30px;border-radius:7px;color:#7280d8;font-size:15px;font-style:normal}.metric.warning strong{color:var(--amber)}.metric.warning i{background:#fff8ed;color:var(--amber)}.metric.complete strong{color:var(--green)}.metric.complete i{background:#eef8f4;color:var(--green)}.dropzone{border:1px dashed #bbc6e8;border-radius:9px;background:#f1f4ff80;display:flex;align-items:center;gap:16px;padding:23px;margin-bottom:28px;cursor:pointer}.dropzone.dragging{background:#e7ecff;border-color:var(--blue)}.upload-icon{background:white;border:1px solid #e2e7f5;border-radius:9px;width:42px;height:42px;display:grid;place-items:center;font-size:25px;color:#7384bf}.dropzone strong{font-size:12px;font-weight:600}.dropzone p{font-size:11px;color:#8b95ac;margin-top:7px}.file-note{margin-left:auto;color:#949db0;font-size:10px}.data-panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-title{padding:25px 24px 20px;display:flex;justify-content:space-between;align-items:center}.panel-title h2 span{font-size:11px;color:#7e88a0;background:#f1f3f8;padding:3px 7px;border-radius:4px;margin-left:9px;vertical-align:middle}.panel-title p{margin-top:8px;font-size:10px;color:#929bad}.panel-title>span{font-size:10px;color:#99a2b3}.filters{display:flex;gap:10px;padding:0 24px 20px}.filters input{width:320px;margin-right:auto}input,select{border:1px solid #e0e5ef;border-radius:6px;background:white;padding:10px 12px;color:#526078;font-size:12px;min-width:0}input::placeholder{color:#a2aabb}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;font-weight:500;color:#7e8ba0;letter-spacing:.4px;background:#f8f9fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 16px;white-space:nowrap}th:first-child,td:first-child{padding-left:24px}td{padding:20px 16px;border-bottom:1px solid #eef1f6;font-size:11px;vertical-align:top;line-height:1.6}td strong{font-size:12px;font-weight:600}td small{display:block;color:#95a0b3;font-size:10px;margin-top:5px}.po{font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;color:#58667f}.badge{display:inline-block;white-space:nowrap;border-radius:5px;padding:4px 8px;background:#f0f3f8;color:#718098;font-size:10px}.badge.arrived{color:#0b856d;background:#e9f6ef}.badge.in_transit{color:#5067c8;background:#edf1ff}.badge.awaiting_source,.badge.issue{color:#a57223;background:#fff4df}.detail-button{background:none;border:0;color:#8591ac;font-size:20px;padding:0 7px}.table-footer{display:flex;justify-content:space-between;padding:16px 24px;font-size:10px;color:#9aa4b6;gap:15px}footer{color:#9aa4b5;font-size:10px;margin-top:21px;line-height:1.8}.empty{text-align:center;padding:60px 20px;color:#8290a6}.empty p{margin-top:10px;font-size:12px}.notice{padding:13px 16px;margin-bottom:20px;border:1px solid #d7e0ff;background:#edf2ff;border-radius:6px;color:#455daf;white-space:pre-line;line-height:1.8;font-size:12px}.notice.error{background:#fff2ec;color:#a34a2b;border-color:#f2d9ca}dialog{border:1px solid var(--line);border-radius:14px;width:min(980px,94vw);max-height:90vh;padding:28px;box-shadow:0 24px 100px #17223b30;color:var(--ink)}dialog::backdrop{background:#17223b66;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.close{background:#f5f7fb;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;color:#7a879e}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.detail-grid>div{border:1px solid var(--line);border-radius:6px;padding:14px;font-size:12px;overflow-wrap:anywhere}.detail-grid small{display:block;color:var(--muted);margin-bottom:7px}.detail-warning{padding:12px 15px;background:#fff6e7;color:#9a6b20;border-radius:6px;line-height:1.7;font-size:12px;margin:15px 0}.doc-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;gap:15px}.doc-link a{overflow-wrap:anywhere}.doc-link small{font-family:monospace;color:#97a1b4;flex-shrink:0}.source-text{white-space:pre-wrap;background:#f7f8fb;border-radius:6px;max-height:300px;overflow:auto;padding:15px;font-size:11px}.settings-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:15px;background:#f6f8fc;border-radius:8px;margin:14px 0}.settings-form label{font-size:11px;color:#6f7b90;flex:1;min-width:130px}.settings-form input,.settings-form select{display:block;margin-top:6px;width:100%}.settings-form button{height:36px}.mini-table td{padding:9px;font-size:11px}.mini-table th{padding:10px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-card{max-width:420px;width:100%;margin:auto;padding:45px}.login-card>.eyebrow{margin-top:35px}.login h1{font-size:34px;line-height:1.5;margin-bottom:15px}.login form{margin-top:30px}.login label{display:block;font-size:12px;color:#77849b}.login input{display:block;width:100%;margin:10px 0 20px;font-size:15px}.login button,.login a.primary{width:100%;padding:13px}.login a.primary{margin-top:30px}.login-art{display:flex;flex-direction:column;justify-content:center;padding:80px;background:#3448b6;color:white;position:relative;overflow:hidden}.login-art:before{content:'';width:600px;height:600px;border-radius:50%;border:1px solid #ffffff15;position:absolute;left:80px;top:50px;box-shadow:0 0 0 90px #ffffff03,0 0 0 180px #ffffff02}.route-dot{z-index:1;font-size:10px;letter-spacing:3px;border-left:8px solid #b4c2ff;padding-left:20px}.route-dot.end{margin-left:100px}.route-line{margin:20px 0 20px 3px;width:100px;height:100px;border-left:1px dashed #b4c2ff;border-bottom:1px dashed #b4c2ff;border-radius:0 0 0 15px}.login-art p{font-size:27px;line-height:1.9;margin-top:60px;color:#dbe1ff;letter-spacing:2px}.login #login-error{color:#ad4c37;font-size:12px;margin-top:14px}@media(min-width:1700px){.content{padding-top:50px}.metrics{gap:24px}.metric{padding:28px}}@media(max-width:1100px){.sidebar{width:190px;padding:28px 12px}.brand{font-size:16px;gap:8px}.brandmark{width:34px;height:34px}main{margin-left:190px}.content{padding:28px 24px}.topbar{padding:0 24px}.metrics{gap:10px}.metric{padding:18px 14px}.metric i{right:12px}.page-heading{align-items:flex-start}.heading-actions{padding-top:24px}.filters input{width:240px}}@media(max-width:760px){.sidebar{position:relative;width:100%;height:auto;padding:16px;flex-direction:row;align-items:center;border-bottom:1px solid var(--line);gap:12px}.sidebar .nav-label,.sidebar-bottom,.sidebar .nav{display:none}.brand small{display:none}main{margin:0}.topbar{height:50px;padding:0 18px}.content{padding:24px 16px}.page-heading{flex-direction:column;gap:14px;margin-bottom:20px}h1{font-size:26px}.heading-actions{padding:0;width:100%}.heading-actions button{flex:1}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:17px}.metric strong{font-size:29px}.metric span{font-size:11px}.metric small{font-size:9px}.dropzone{padding:16px;gap:10px}.dropzone p{line-height:1.7}.file-note{display:none}.filters{flex-wrap:wrap;padding:0 15px 15px}.filters input{width:100%}.filters select{flex:1}.panel-title{padding:20px 16px}.panel-title>span{display:none}.shipments{min-width:920px}.table-footer{padding:14px 16px;font-size:9px}.table-footer>span:last-child{display:none}.detail-grid{grid-template-columns:1fr 1fr}dialog{padding:20px}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:35px}.login h1{font-size:31px}}

@media(max-width:760px){.sidebar{flex-wrap:wrap}.sidebar .brand{width:100%}.sidebar .nav{display:block;font-size:10px;padding:7px 9px;margin:0}.sidebar .sidebar-bottom{display:block;width:100%;border:0;padding:0 9px;margin-top:4px}.sidebar-bottom p,.sidebar-bottom strong,.sidebar-bottom .schedule-dot{display:none}.sidebar-bottom small{font-size:9px}.sidebar-bottom .text-button{display:inline;padding:0 0 0 15px;font-size:10px}}
