:root{--ink:#203e35;--green:#174e40;--muted:#7d8982;--line:#e5e9e3;--paper:#f7f8f3;--red:#b54b3f;--gold:#c99a3a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none;cursor:pointer}input,select,textarea{min-width:0;outline:none}input:focus,select:focus,textarea:focus{border-color:#6d9d87!important;box-shadow:0 0 0 3px #50856e15}a:focus-visible,button:focus-visible{outline:3px solid #7caa95;outline-offset:3px}h1,h2,h3,p{margin:0}small{font-size:12px;color:var(--muted)}.app{min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fffefb;border-right:1px solid var(--line);padding:34px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:750;padding:0 8px 44px}.brandIcon{display:grid;place-items:center;border-radius:16px;background:var(--green);color:#f7e4b0;width:45px;height:49px;font-size:36px;line-height:1}.brand small{display:block;font-weight:400;letter-spacing:1px;font-size:11px;margin-top:5px}.sideLabel{font-size:11px;color:#a0a89f;letter-spacing:2px;padding:0 13px 15px}.nav{display:flex;width:100%;align-items:center;gap:13px;padding:15px 13px;margin-bottom:8px;text-align:left;border-radius:10px;color:#7c887f;font-size:14px}.nav svg:first-child{width:19px}.nav svg:last-child{margin-left:auto;opacity:0}.nav.active{background:#eaf0e9;color:var(--green);font-weight:650}.nav.active svg:last-child{opacity:1}.sideBottom{margin-top:auto;border-top:1px solid var(--line);padding:24px 4px 0;display:flex;align-items:center;gap:10px;font-size:12px}.sideBottom small{display:block;font-size:10px;margin-top:4px}.sideBottom button{margin-left:auto}.app main{margin-left:228px;padding:0 42px 35px;max-width:1680px}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.crumb{color:#8d958d;font-size:12px}.crumb,.headerRight{display:flex;align-items:center;gap:10px}.headerRight{font-size:11px;color:#879187}.statusDot{display:inline-block;width:6px;height:6px;background:#519278;border-radius:50%}.avatar{border:1px solid #e1e5dc;background:#edece3;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;margin-left:10px;color:#666c5e}.mobileBrand{display:none}.heading{display:flex;align-items:center;justify-content:space-between;padding:38px 0 32px}.eyebrow{color:#9c987e;letter-spacing:2px;font-size:11px;display:block;margin-bottom:12px}h1{font-size:30px;font-weight:650;letter-spacing:-1px}.detailTitle p,.heading p{font-size:12px;color:var(--muted);margin-top:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:9px;font-size:13px;white-space:nowrap;min-height:43px}.primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #174e4010}.primary:hover{background:#23654e}.light{background:#fffefb;border:1px solid #dce3da}.light:hover{border-color:#89a18d}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{background:#fffefb;padding:23px 22px;border:1px solid var(--line);border-radius:12px;min-width:0}.metric span{display:block;font-size:12px;color:#7e8b80;margin-bottom:20px}.metric strong{font-size:25px;font-weight:600;letter-spacing:-.7px;display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric small{display:block;font-size:10px;margin-top:14px}.featured{background:var(--green);border-color:var(--green);color:#fff}.featured small,.featured span{color:#bfd2c2}.listHead{display:flex;align-items:center;justify-content:space-between;padding:35px 0 20px}h2{font-size:17px;font-weight:650}h2 span{display:inline-grid;place-items:center;border:1px solid #dde4d9;background:#edf0e9;font-size:11px;min-width:23px;height:21px;border-radius:5px;margin-left:8px}h3{font-size:15px}.listHead p{font-size:11px;color:#8a9389;margin-top:8px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px}.tabs{display:flex;gap:18px}.tabs button{font-size:12px;padding:12px 0;color:#869184;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:650}.search{display:flex;align-items:center;gap:8px;color:#98a094;background:#fffefb;border:1px solid #e1e6dc;padding:9px 12px;border-radius:8px}.search input{width:175px;border:0;background:none;font-size:11px;color:var(--ink);padding:3px}.truckList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.truckCard{background:#fffefb;border:1px solid var(--line);border-radius:12px;padding:21px 22px 0;cursor:pointer;position:relative;transition:transform .15s,border .15s}.truckCard:hover{border-color:#a5bdac;transform:translateY(-2px)}.truckTitle{display:flex;gap:11px;align-items:center}.truckSymbol{display:grid;place-items:center;width:39px;height:39px;background:#eef2eb;border-radius:10px;color:#60806b}.truckTitle h3{font-size:17px;font-weight:650;letter-spacing:.6px}.truckTitle small{display:block;font-size:10px;margin-top:7px}.truckTitle>svg{margin-left:auto;color:#a9b3a6}.badge{display:inline-block;font-size:10px;font-weight:550;color:#9a8052;background:#f6f0e3;border:1px solid #ede6d3;padding:5px 8px;border-radius:5px;white-space:nowrap}.truckTitle .badge{margin-left:auto}.badge.good{background:#eaf2e8;border-color:#dce9d9;color:#497255}.badge.bad{background:#fcf0e9;border-color:#f1d8ce;color:var(--red)}.cardGoods{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #edf0e8;gap:8px;font-size:11px;color:#7f8a7f}.cardGoods span:last-child{font-size:10px;color:#9aa293;overflow:hidden;text-overflow:ellipsis;max-width:52%}.cardNumbers{display:flex;justify-content:space-between;align-items:center;padding:19px 0;gap:8px}.cardNumbers small{display:block;font-size:10px;margin-bottom:9px}.cardNumbers b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.green{color:#3c7856}.red{color:var(--red)}.invoice{font-size:10px;color:#a08c69;background:#f6f2e9;padding:5px 7px;border-radius:4px}.invoice.done{color:#70886d;background:#edf1e8}.cardFooter{border-top:1px solid #edf0e8;display:flex;gap:5px;padding:11px 0;color:#a1a99b;font-size:9px;align-items:center}.cardFooter span{margin-left:auto}.empty{border:1px dashed #d8e0d3;border-radius:14px;min-height:290px;padding:40px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px;background:#fdfdf8}.emptyIcon{color:#759277;background:#e9efe4;width:65px;height:65px;display:grid;place-items:center;border-radius:20px}.empty p{font-size:12px;color:#8a9485}.bottomNote,.empty>small{font-size:10px}.bottomNote{display:flex;justify-content:center;align-items:center;gap:8px;color:#99a18f;margin-top:28px;flex-wrap:wrap}.bottomNote svg{color:#87a087}.selectBar{gap:15px;padding:12px 17px;background:#e6eee4;border:1px solid #d5e0cf;border-radius:9px;font-size:12px;margin-bottom:15px}.selectBar,.selectBar label{display:flex;align-items:center}.selectBar label{gap:5px;margin-left:auto}.selectBar .button{font-size:11px;padding:10px 12px;min-height:38px}.chosen{border-color:#518265;background:#f8fcf5}.checkBox{position:absolute;left:8px;top:8px;width:18px;height:18px;border:1px solid #85a38a;border-radius:4px;color:#fff;background:#fff}.chosen .checkBox{background:var(--green)}.alert{display:flex;align-items:center;gap:10px;background:#fff1e8;border:1px solid #f0dccb;color:#985d3f;padding:12px 15px;margin:15px 0;border-radius:9px;font-size:12px}.alert>svg{flex-shrink:0}.alert span{flex:1}.alert button{padding:5px;white-space:nowrap;text-decoration:underline}.iconButton{display:inline-grid;place-items:center;padding:7px;border-radius:7px}.iconButton:hover{background:#edf2e9}.detailHeading{justify-content:space-between;margin-top:25px;gap:10px}.back,.detailHeading{display:flex;align-items:center}.back{gap:9px;font-size:12px;color:#71816e;padding:9px 0}.saveState{display:flex;align-items:center;gap:7px;font-size:10px;color:#7b9277}.saveState button{text-decoration:underline;padding:5px}.detailTitle{display:flex;align-items:center;gap:15px;margin:24px 0}.detailTitle .button{margin-left:auto}.miniMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.miniMetrics .metric{padding:18px}.miniMetrics .metric span{margin-bottom:12px}.miniMetrics .metric strong{font-size:23px}.detailTabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-top:25px}.detailTabs button{font-size:13px;padding:15px 24px;color:#84927e;border-bottom:2px solid transparent}.detailTabs button.active{border-color:var(--green);color:var(--green);font-weight:650}.editor{background:#fffefb;border:1px solid var(--line);border-radius:12px;margin-top:20px;padding:25px;max-width:1000px}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.sectionTitle>span{font-size:11px;color:#8d9a85}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.field>span{font-size:12px;font-weight:550;color:#52674d}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #dfe6d9;border-radius:8px;background:#fcfdf9;color:#244631;min-height:45px;font-size:14px}.field small{font-size:10px;font-weight:400}.muted{font-size:11px;color:#8b9981;line-height:1.8;margin-bottom:18px}.qualityRow{display:flex;align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid #edf1e7;margin-bottom:8px}.qualityRow h3{font-size:14px;margin-bottom:7px}.qualityRow small{font-size:10px}.qualityRow>div:first-child{min-width:70px}.stars{display:flex;align-items:center;gap:1px;flex-wrap:wrap}.stars button{padding:3px;font-size:28px;color:#dce2d4;line-height:1}.stars button.lit{color:var(--gold)}.stars span{font-size:10px;color:#9a9f8c;margin-left:9px}.qualityRow>.stars{margin-left:auto}.rate{display:flex;align-items:center;border:1px solid #dce4d4;border-radius:8px;width:125px;background:#fafcf6;padding:9px 10px;gap:5px}.rate input{border:0;background:none;width:85px;font-size:14px}.rate span{font-size:12px;color:#96a28a}.rate.exceeded{border-color:#dca38c;background:#fff4ed}.rate.exceeded input{color:var(--red)}.callout{background:#f0f5e9;border:1px solid #e2ead8;padding:20px;border-radius:9px;display:flex;align-items:center;gap:15px;margin-bottom:20px;font-size:12px}.callout strong{font-size:23px;font-weight:600;margin-left:auto}.entry{padding:18px;border:1px solid #e2e8dc;border-radius:10px;margin:18px 0;background:#fdfef9}.entryTitle{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px}.entryTitle .iconButton{margin-left:auto;color:#a0ab94}.entry .field:last-child{margin-bottom:0}.dashed{width:100%;border:1px dashed #afc1a7;background:#fafdf5;color:#637f55;margin:10px 0}.receiptList>div{display:flex;gap:10px;align-items:center;font-size:11px;border-top:1px solid #e4eadb;padding:12px 0}.receiptList b{margin-left:auto;font-size:12px}.receiptAdd{display:flex;gap:10px;margin-top:12px}.receiptAdd input{flex:1;border:1px solid #dce4d3;background:#fff;padding:10px 12px;width:100px;border-radius:7px;font-size:13px}.invoiceToggle{display:flex;align-items:center;justify-content:space-between;padding:25px 0;margin-bottom:20px;border-bottom:1px solid var(--line);font-size:14px}.invoiceToggle small{display:block;margin-top:7px;font-size:11px}.invoiceToggle input{width:23px;height:23px;accent-color:var(--green)}.attachments{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.upload{position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.attachmentGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.attachment{position:relative;border:1px solid #e4e9dd;border-radius:8px;overflow:hidden;background:#f8faf4}.attachment img{display:block;width:100%;height:130px;object-fit:cover}.attachment>a{font-size:11px;word-break:break-all;display:block}.attachment small{display:block;font-size:8px;padding:7px}.attachment button{position:absolute;right:4px;top:4px;background:#ffffffdf;border-radius:50%;padding:5px;display:grid;place-items:center}.logRow{width:100%;display:flex;gap:13px;align-items:center;padding:19px 0;border-bottom:1px solid #e7eddf;text-align:left}.logRow b{font-size:12px;display:block}.logRow small{display:block;font-size:10px;margin-top:8px}.logRow>svg{margin-left:auto}.logDot{width:8px;height:8px;background:#8bad78;border-radius:50%}.modal{position:fixed;inset:0;background:#17291fb8;z-index:100;overflow:auto;padding:30px 15px;backdrop-filter:blur(6px)}.modalCard{max-width:720px;padding:25px;border-radius:16px;background:#fafcf6;margin:auto}.exportImage{margin-top:20px}.exportImage img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid #e2e9d9;margin-bottom:15px}.exportImage button{margin:0 10px 10px 0}.modalCard pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.7;background:#eef2e6;padding:15px;border-radius:8px}.modalCard h3{margin-top:20px}@media(min-width:1500px){.truckList{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:190px;padding:28px 15px}.app main{margin-left:190px;padding:0 25px 30px}.metrics{gap:10px}.metric{padding:18px 14px}.metric strong{font-size:22px}.truckList{grid-template-columns:1fr}.tabs{gap:14px}}@media(max-width:700px){.sidebar{display:none}.app main{margin:0;padding:0 17px 30px}header{height:64px}.mobileBrand{display:block;font-weight:700;font-size:19px;color:var(--green)}.crumb{display:none}.headerRight{gap:7px;font-size:10px}.avatar{margin-left:0}.heading{padding:28px 0 24px;align-items:flex-end;gap:12px}.eyebrow{font-size:9px;margin-bottom:10px;letter-spacing:1.3px}h1{font-size:25px;letter-spacing:-.5px}.heading p{font-size:10px;max-width:205px;line-height:1.8;margin-top:10px}.heading .button{padding:12px;font-size:12px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:19px 15px;border-radius:10px}.metric span{font-size:11px;margin-bottom:16px}.metric strong{font-size:23px}.metric small{font-size:9px;margin-top:10px}.listHead{padding:27px 0 13px}.listHead h2{font-size:16px}.listHead p{font-size:10px}.listHead .button{padding:10px 12px;font-size:11px}.toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:15px}.tabs{justify-content:space-between;gap:10px}.tabs button{padding:12px 6px}.search{padding:10px 12px}.search input{width:100%;font-size:12px;min-height:24px}.truckList{grid-template-columns:1fr;gap:12px}.truckCard{padding:18px 16px 0}.truckTitle h3{font-size:17px}.truckTitle small{font-size:9px}.truckTitle{gap:9px}.truckSymbol{width:35px;height:37px}.cardNumbers b{font-size:14px}.cardNumbers{padding:18px 0}.cardNumbers small{font-size:10px}.cardGoods,.selectBar{font-size:11px}.selectBar{position:sticky;top:8px;z-index:8;gap:8px;flex-wrap:wrap;padding:10px}.selectBar label{margin-left:auto}.selectBar .button{width:100%;padding:11px}.bottomNote{font-size:9px;gap:5px;line-height:1.8}.detailHeading{margin-top:15px}.detailTitle{flex-wrap:wrap;margin:20px 0}.detailTitle h1{font-size:27px}.detailTitle p{font-size:11px}.detailTitle .button{font-size:10px;padding:10px}.miniMetrics{gap:8px}.miniMetrics .metric{padding:14px 10px}.miniMetrics .metric span{font-size:9px;margin-bottom:10px}.miniMetrics .metric strong{font-size:17px}.miniMetrics .metric small{font-size:8px;line-height:1.6}.detailTabs{justify-content:space-between;gap:0;position:sticky;top:0;background:var(--paper);z-index:9;margin-top:18px}.detailTabs button{padding:15px 10px;font-size:12px}.editor{padding:19px 15px;margin-top:15px;border-radius:10px}.sectionTitle h2{font-size:16px}.sectionTitle>span{font-size:10px}.formGrid{gap:0 12px}.field{margin-bottom:18px;gap:8px}.field>span{font-size:11px}.field input,.field select,.field textarea{font-size:16px;padding:11px 10px}.field small{font-size:9px;line-height:1.6}.qualityRow{flex-wrap:wrap;gap:12px;padding:18px 0}.qualityRow>div:first-child{min-width:65px}.qualityRow>.stars{margin-left:0;width:100%;padding-left:0}.stars button{font-size:31px;min-width:38px;min-height:38px}.rate{margin-left:auto;width:120px}.qualityRow:last-of-type>.stars{width:auto;margin-left:auto}.entry{padding:14px 11px}.receiptAdd{flex-wrap:wrap}.receiptAdd input{min-height:44px;font-size:16px}.receiptAdd .button{font-size:11px}.attachmentGrid{grid-template-columns:repeat(2,1fr)}.attachment img{height:150px}.modal{padding:12px 9px}.modalCard{padding:17px 12px}.alert{font-size:11px;flex-wrap:wrap}.saveState{font-size:9px}.empty{padding:30px 15px;min-height:280px}.empty p{font-size:11px}.receiptList>div{flex-wrap:wrap}.receiptList>div>span{font-size:10px}}.logSnapshot{background:#eef3e8;padding:16px;border-radius:9px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.logSnapshot h4{margin:15px 0 6px}.logSnapshot p{margin-bottom:7px}.supplierList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.supplierCard{padding:23px;background:#fffefb;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.supplierCard p{font-size:13px;color:var(--muted);line-height:1.8;white-space:pre-wrap;margin-bottom:12px}.supplierCard .button{margin-top:8px}.supplierLink{text-align:left;font-size:11px;text-decoration:underline;color:var(--green);padding:0;align-self:flex-start}.mobileNavigation{display:none}@media(max-width:700px){.supplierList{grid-template-columns:1fr}.mobileNavigation{display:flex;gap:12px;margin-top:15px}.mobileNavigation button{padding:10px 15px;border-radius:8px;background:#fffefb;font-size:12px}.mobileNavigation .active{background:var(--green);color:white}}.searchSelect{position:relative;min-width:0;display:flex;flex-direction:column;gap:9px}.searchSelect>label{font-size:12px;font-weight:600}.searchSelectInput{position:relative}.searchSelectInput input{width:100%;padding-right:35px!important}.searchSelectInput>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:23px;color:#7d8982;pointer-events:none}.searchSelectMenu{position:absolute;left:0;right:0;top:76px;z-index:30;max-height:240px;overflow:auto;overscroll-behavior:contain;border:1px solid #d4dfd5;border-radius:10px;box-shadow:0 12px 30px #183c2520;background:#fffefb}.searchSelectMenu button{width:100%;min-height:46px;padding:12px 14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;overflow-wrap:anywhere;border-bottom:1px solid #edf1eb}.searchSelectMenu button.highlighted,.searchSelectMenu button:hover{background:#eaf2ea}.searchSelectMenu button[aria-selected=true]{color:#174e40;font-weight:650}.searchSelectEmpty{padding:16px 14px;font-size:12px;line-height:1.7;color:#7d8982}.searchSelectHint{font-size:10px;line-height:1.5}@media(max-width:700px){.searchSelectMenu{top:77px}.searchSelectMenu button{font-size:16px}.searchSelect>label{font-size:11px}}.arrivalDateFooter{display:flex;justify-content:flex-end;margin:0 0 6px;padding-top:2px}.arrivalDateFooter label{display:flex;align-items:center;gap:10px;color:#7d8982;font-size:11px}.arrivalDateFooter input{width:151px;min-height:36px;padding:7px 9px;border:1px solid #e5e9e3;border-radius:7px;background:transparent;color:#758278;font-size:12px;font-weight:400;color-scheme:light}.arrivalDateFooter input::-webkit-calendar-picker-indicator{opacity:.45}@media(max-width:700px){.arrivalDateFooter label{font-size:11px}.arrivalDateFooter input{font-size:16px;width:160px;min-height:40px;color:#758278}}.loginPage{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f7f8f3}.loginCard{width:min(100%,390px);padding:34px 28px;background:#fffefb;border:1px solid #e5e9e3;border-radius:18px;display:flex;flex-direction:column;gap:22px;box-shadow:0 12px 40px #203e3508}.loginCard h1{font-size:24px}.loginCard>p{font-size:14px;color:#7d8982}.loginCard .field{margin:4px 0}.loginCard .button{justify-content:center}.loginCard>small{font-size:11px;line-height:1.8}