:root{font-family:'Microsoft YaHei',system-ui,sans-serif;color:#19313f;background:#f4f7f9;font-size:14px}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d3dfe3;background:white;color:#22444a;border-radius:7px;padding:9px 14px}button:hover{background:#edf6f3}button:disabled{cursor:wait;opacity:.5}button.primary{background:#087f78;color:white;border-color:#087f78}input,select{border:1px solid #d4dfe5;background:white;color:#19313f;padding:10px;border-radius:7px;max-width:100%}input:focus,select:focus{outline:2px solid #0c8e7830;border-color:#087f78}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.intro{padding:65px;background:linear-gradient(135deg,#152e3d,#14554e);color:white;display:flex;flex-direction:column;justify-content:center}.brand{font-size:27px;font-weight:750;letter-spacing:2px}.intro h1{font-size:48px;line-height:1.5}.intro p,.intro>div{color:#b8d8d3}.login-panel{display:flex;align-items:center;justify-content:center;padding:30px}.login-panel form{width:340px}.login-panel small{color:#087f78}.login-panel h2{font-size:30px}.login-panel label{display:block;margin:22px 0}.login-panel input{display:block;width:100%;margin-top:9px}.login-panel button{width:100%}aside{position:fixed;inset:0 auto 0 0;width:210px;background:#152e3d;color:white;padding:28px 18px}aside p{font-size:12px;color:#9dbdbf}nav{margin-top:30px}nav button{display:block;width:100%;text-align:left;border:0;background:none;color:#bcd0d5;margin:6px 0;padding:13px}nav button.active{color:white;background:#24514f}.shell{margin-left:210px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;background:white;border-bottom:1px solid #e0e9ec;padding:18px 30px}header span{color:#617881;margin-right:12px}main{padding:25px 30px;max-width:1600px;margin:auto}h1{font-size:28px;margin:0 0 12px}h2{font-size:20px}.muted{color:#82949e;line-height:1.8;font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:15px 0}.panel{background:white;border:1px solid #e1e9ec;border-radius:12px;padding:20px;overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}td,th{padding:12px 10px;border-bottom:1px solid #e6edef;text-align:left}th{color:#738a95;background:#f7f9fa;font-weight:500}td button{padding:5px 9px;margin-right:6px}.error{color:#bb3838;font-size:13px;line-height:1.7;white-space:pre-wrap}dialog{border:0;border-radius:13px;width:min(1100px,96vw);max-height:92vh;padding:25px;box-shadow:0 20px 90px #122d3a30;overflow:auto}dialog::backdrop{background:#152e3d66}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head{border-bottom:1px solid #e1e9ec;margin-bottom:18px}.dialog-foot{justify-content:flex-end;border-top:1px solid #e1e9ec;padding-top:18px;margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:block;min-width:0;color:#6a808b;font-size:12px}.field input,.field select{display:block;width:100%;margin-top:7px;color:#19313f;font-size:14px}.lookup{min-width:160px}.line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;padding:13px 0;border-bottom:1px solid #e7edef;align-items:end}.note{padding:14px;background:#f0f7f6;border-left:3px solid #188b7e;margin:15px 0;line-height:1.85}.locked{color:#bd292f;background:#fff0ee;font-size:28px;font-weight:800;border:1px solid #f0ccc4;border-radius:9px;padding:7px 13px}.voucher{max-width:80px;max-height:65px;border-radius:5px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#184b43;color:white;padding:13px 22px;border-radius:8px;z-index:100}#summary{overflow:auto}#summary .total-boxes{font-size:46px;font-weight:800;color:#bd292f}.json-detail{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fa;padding:14px;max-height:400px;overflow:auto;font:12px/1.7 monospace}@media(max-width:800px){.login{grid-template-columns:1fr}.intro{padding:30px}.intro h1{font-size:30px}aside{position:static;width:100%;padding:15px}.brand{font-size:22px}nav{display:flex;margin-top:10px;overflow:auto}nav button{width:auto;white-space:nowrap}.shell{margin:0}header,main{padding:16px}.form-grid{grid-template-columns:1fr}.line{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:12px}}

.activity-heading{margin-top:28px}.activity-heading small{font-size:12px;font-weight:400;color:#738a95;margin-left:12px}.activity-timeline{list-style:none;padding:0;margin:20px 0}.activity-timeline li{display:flex;gap:20px;padding:0 0 22px;position:relative}.activity-timeline time{font-size:12px;color:#738a95;min-width:155px;padding-top:3px}.activity-timeline article{border-left:2px solid #c9e4df;padding:0 0 6px 20px;overflow-wrap:anywhere}.activity-timeline article:before{content:"";width:8px;height:8px;background:#168277;border-radius:50%;position:absolute;margin-left:-25px;top:5px}.activity-timeline p{font-size:12px;color:#738a95;margin:8px 0 0}@media(max-width:600px){.activity-timeline li{gap:8px;flex-direction:column}.activity-timeline article{margin-left:4px}}

.packaging-field{grid-column:1/-1}.packaging-field textarea{display:block;width:100%;min-height:125px;margin-top:7px;padding:10px 12px;font:inherit;color:inherit;line-height:1.7;border:1px solid #ccd6dd;border-radius:6px;resize:vertical;background:white}.packaging-lines{display:inline-block;white-space:pre-wrap;overflow-wrap:anywhere;max-width:460px;min-width:160px;line-height:1.7}

.movement-reason{display:block;margin-top:5px;padding-left:8px;border-left:2px solid #c7dfdc;color:#6b818c;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;max-width:300px;font-weight:400}


.product-thumb{width:76px;height:76px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:5px;vertical-align:middle}.product-no-image{display:inline-flex;width:76px;height:76px;align-items:center;justify-content:center;background:#f4f7fa;border-radius:10px;color:#94a3b8;font-size:12px}

.sku-link{color:#0e7490;background:transparent;border:0;text-align:left;white-space:nowrap}.product-pager{display:flex;gap:16px;align-items:center;margin-top:18px}.line:has(.line-product-image){grid-template-columns:86px minmax(230px,1fr) minmax(90px,.4fr) auto}.line-product-image{align-self:center}

#return-receipt-select{height:300px;min-height:300px;width:100%;padding:6px}#return-receipt-select option{padding:6px 8px}

.warehouse-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px;align-items:stretch}.warehouse-action-group{background:#fff;border:1px solid #e3e9ed;border-radius:12px;padding:15px;min-width:0}.warehouse-action-group h2{margin:0 0 12px;font-size:12px;font-weight:600;color:#647b86;letter-spacing:.5px}.warehouse-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.warehouse-action-buttons button{width:100%;min-height:40px;padding:8px 6px;font-size:13px;white-space:nowrap;border-radius:7px;background:#f6f9fa;border-color:#e0e8ec;transition:background .15s,border-color .15s}.warehouse-action-buttons button.primary{background:#087f78;border-color:#087f78;color:#fff}.warehouse-action-buttons button:hover{background:#eaf3f2;border-color:#b3cfca}.warehouse-action-buttons button.primary:hover{background:#056d67;border-color:#056d67}.warehouse-action-buttons button:focus-visible{outline:3px solid #8ccac2;outline-offset:2px}@media(max-width:1200px){.warehouse-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.warehouse-toolbar{grid-template-columns:1fr;gap:10px}.warehouse-action-group{padding:13px}.warehouse-action-buttons button{min-height:42px}}

.warehouse-action-buttons [data-command="finished_adjust"]{grid-column:1}

.warehouse-action-buttons [data-command="ship"]{grid-column:1/-1}.warehouse-action-buttons [data-command="finished_adjust_decrease"]{grid-column:1;grid-row:2}.warehouse-action-buttons [data-command="finished_damage"]{grid-column:2;grid-row:2}

.damage-footer-hint{margin-right:auto;color:#aa6a20;font-size:12px;line-height:1.6;text-align:left;max-width:260px;align-self:center}.modal-foot:has(.damage-footer-hint:not([hidden])),.dialog-foot:has(.damage-footer-hint:not([hidden])){align-items:center;flex-wrap:wrap;gap:10px}

.detail-list-search{width:min(440px,100%);margin:14px 0 10px}.detail-list-pagination,.lookup-pagination{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.lookup-pagination button{font-size:12px;padding:4px 8px}.detail-list-pagination[hidden],.lookup-pagination[hidden]{display:none}.universal-list-search input{width:min(460px,100%)}.list-pagination{margin-top:14px;justify-content:flex-end}.list-pagination[hidden]{display:none!important}tfoot td{background:#f6faf9;font-weight:600}

.dialog-tools{display:flex;gap:8px;align-items:center}#details.details-maximized{width:calc(100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:calc(100vh - 32px);margin:16px auto;padding:24px}#details.details-maximized .dialog-head{position:sticky;top:-24px;background:#fff;z-index:2;padding:10px 0}

#editor.editor-maximized{width:calc(100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:calc(100vh - 32px);margin:16px auto;padding:24px}#editor.editor-maximized .dialog-head{position:sticky;top:-24px;background:#fff;z-index:2;padding:10px 0}

#table img.shipment-loading-thumb{width:64px;height:48px;max-width:64px;max-height:48px;object-fit:cover;border-radius:5px;margin:2px 6px 2px 0;vertical-align:middle}

.expo-overview{display:flex;align-items:center;gap:20px;margin-bottom:20px}.expo-overview strong{white-space:nowrap}.expo-overview progress{width:100%;height:12px;accent-color:#087f78}.expo-timeline{list-style:none;padding:0;margin:26px 0}.expo-timeline li{position:relative;display:grid;grid-template-columns:145px 1fr;gap:26px;padding:0 0 24px 22px;border-left:2px solid #dae5e9}.expo-timeline li::before{content:'';position:absolute;left:-7px;top:6px;width:12px;height:12px;background:#c1d0d6;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c1d0d6}.expo-timeline li.expo-done::before{background:#087f78}.expo-date{color:#647f8d;padding-top:3px}.expo-timeline article{padding:16px 20px;border:1px solid #e1e9ec;border-radius:10px;background:#fff;min-width:0}.expo-node-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.expo-node-head h3{margin:0 auto 0 0;font-size:16px}.expo-timeline p{color:#71838c;margin:10px 0 0}.expo-notes{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.expo-timeline li{grid-template-columns:1fr;gap:8px;padding-left:16px}.expo-overview{flex-wrap:wrap}}

.expo-timeline li[hidden]{display:none}

.expo-status-card{display:flex;align-items:center;gap:18px;padding:25px 28px;margin:18px 0 12px;border:1px solid #f0d699;border-left:5px solid #d99a21;border-radius:14px;background:linear-gradient(115deg,#fff6df 0%,#fffaf0 65%,#fffdf8 100%);box-shadow:0 5px 18px #976b0b0a;color:#805016}.expo-status-icon{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:16px;background:#f9e5b3;color:#a9690d}.expo-status-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.expo-status-label{font-size:12px;font-weight:600;color:#9a7137;letter-spacing:2px}.expo-status-copy strong{font-size:28px;font-weight:750;line-height:1.4;overflow-wrap:anywhere;color:#82500d}.expo-status-year{margin-left:auto;padding-left:24px;border-left:1px solid #eddab6;color:#a88246;font-size:24px;line-height:1.15;font-weight:700;text-align:right;flex:none}.expo-status-year small{font-size:11px;font-weight:500;letter-spacing:1px}.expo-permissions{font-size:12px;color:#81919b;margin:0 0 22px}@media(max-width:700px){.expo-status-card{gap:12px;padding:18px 16px}.expo-status-icon{width:42px;height:42px;border-radius:12px}.expo-status-copy strong{font-size:22px}.expo-status-year{display:none}}

.expo-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:16px}.expo-product-card{display:flex;gap:12px;align-items:center;padding:12px;background:#f7fafb;border:1px solid #e0e9ed;border-radius:10px;min-width:0}.expo-product-card strong{font-size:14px;display:block}.expo-product-card small,.expo-sku-option small{display:block;color:#7b8c96;font-size:12px;margin-top:4px;overflow-wrap:anywhere}.expo-product-card img,.expo-sku-option img{width:64px;height:64px;object-fit:contain;border-radius:7px;background:#fff}.expo-product-card .product-thumb,.expo-sku-option .product-thumb{flex-shrink:0;margin:0}.expo-sku-picker{grid-column:1/-1;margin-top:14px}.expo-sku-picker>label{display:block;font-weight:600;margin-bottom:10px}.expo-sku-picker>input{width:100%;margin-bottom:12px}.expo-sku-options{max-height:330px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:2px}.expo-sku-option{display:flex!important;align-items:center;gap:12px;padding:10px;border:1px solid #e0e9ed;border-radius:9px;background:#fff;cursor:pointer}.expo-sku-option:has(input:checked){border-color:#087f78;background:#eff8f5}.expo-sku-option input{width:18px!important;flex:none}.expo-sku-option[hidden]{display:none!important}

.expo-status-card{align-items:flex-start}.expo-status-copy{flex:1;gap:14px}.expo-state-groups{display:flex;flex-direction:column;gap:14px}.expo-state-group{display:flex;align-items:flex-start;gap:14px}.expo-state-heading{flex:0 0 66px;font-size:12px;padding-top:8px;color:#8a7351;white-space:nowrap}.expo-state-heading small{margin-left:4px;opacity:.7}.expo-state-chips{display:flex;gap:8px;flex-wrap:wrap}.expo-state-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:14px;line-height:1.4;border:1px solid transparent}.expo-state-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.expo-state-chip.is-active{background:#ffe9b8;border-color:#edcc85;color:#875000;font-weight:700}.expo-state-chip.is-done{background:#e4f3eb;border-color:#c9e6d6;color:#27694b}.expo-state-chip.is-pending{background:#ffffffb3;border-color:#eadfc9;color:#8d8474}.expo-status-year{margin-top:6px}@media(max-width:700px){.expo-status-icon{display:none}.expo-state-group{gap:8px}.expo-state-heading{flex-basis:58px}.expo-state-chip{padding:7px 9px;font-size:13px}}

/* Numeric values stay editable and validated, without browser stepper arrows. */
input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.ticket-checked{display:inline-flex;align-items:center;padding:3px 9px;border-radius:4px;background:#e7f6ee;color:#167747;font-weight:600;font-size:12px;line-height:1.6;white-space:nowrap}
