:root{--green:#234e37;--dark:#163322;--lime:#daeeaf;--cream:#f4f5ef;--line:#e1e6dc;--ink:#27372d;--muted:#778176;--orange:#c37832;--red:#b84936}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:14px/1.6 'Microsoft YaHei','Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:white;border:1px solid var(--line);padding:9px 15px;border-radius:7px;color:var(--ink)}button:hover{background:#ecf1e5}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:var(--red)}button.small{padding:5px 9px;font-size:12px}input,select,textarea{width:100%;border:1px solid #d7ded2;border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #b7cb90;outline-offset:1px}label{display:block;font-size:12px;color:#66725e;margin-bottom:6px}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:600;letter-spacing:-.5px}h2{font-size:18px;font-weight:600}h3{font-size:15px}small,.muted{color:var(--muted)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.shell{display:grid;grid-template-columns:222px 1fr;min-height:100vh}/* overflow-y:auto 不能省：侧栏写死 height:100vh，而导航内容在矮屏上会超过它（实测 1280×789 下需 961px）。
   不声明 overflow 就是 visible —— 超出的按钮与页脚被画到盒子**外面**，透出 body 的米色底，
   浅绿字糊在米色上（2026-10-16 德广报「左侧绿色底纹下方不完整」）。改成 auto 后背景恒铺满视口，
   够不着的那几项在侧栏内部滚动。 */
.side{background:var(--dark);color:white;display:flex;flex-direction:column;padding:30px 18px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{padding:0 12px 30px;letter-spacing:3px;font-size:23px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a7bda1;margin-top:4px}.logo{display:inline-grid;place-items:center;border:1px solid #819e6f;width:34px;height:34px;border-radius:50%;font-size:19px;margin-right:9px}.nav-label{font-size:10px;color:#a8b7a0;letter-spacing:2px;padding:15px 12px 9px}/* 侧栏导航按钮：未选中也给「按钮」形态 —— 虚线边框（2026-10-12 德广口径：未选中/选中都要看得出是个控件）。
   虚线的色值复用侧栏既有的描边色 #39513b（.side .foot 的 border-top 就是它），不新造色值；
   全局 *{box-sizing:border-box} 在，所以多这 1px 边框不会撑破 222px 的侧栏。
   窄屏那段（@media max-width:700px 的 .side button）只改尺寸、不重置 border，虚线自然带上。 */
.side button{display:block;text-align:left;width:100%;border:1px dashed #39513b;background:transparent;color:#c9d4c4;padding:12px 15px;margin:3px 0}.side button.active{background:var(--lime);color:var(--dark);font-weight:600;border-color:var(--lime)}.side .foot{margin-top:auto;border-top:1px solid #39513b;padding:20px 12px 0;font-size:12px;color:#a7b59e}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;background:#fafbf7}.topbar .crumb{font-size:12px;color:var(--muted)}.identity{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e4edda}.content{padding:30px 36px;max-width:1580px;margin:auto}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:2px;margin-bottom:5px}.title-row p{color:var(--muted);margin-top:5px;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.metric,.panel{background:white;border:1px solid var(--line);border-radius:10px}.metric{padding:21px 24px}.metric span{font-size:12px;color:var(--muted)}.metric b{display:block;font-size:34px;line-height:1.3;margin:12px 0;font-weight:500;font-variant-numeric:tabular-nums}.metric em{font-size:11px;font-style:normal;color:#788672}.metric:first-child{background:var(--green);color:white;border-color:var(--green)}.metric:first-child span,.metric:first-child em{color:#d4e0c9}.panel{padding:22px;margin-bottom:20px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:var(--muted);background:#f7f8f3;font-size:11px;font-weight:500}th,td{padding:13px 12px;border-bottom:1px solid #edf0e9}td{font-size:12px}td input{min-width:80px;max-width:120px;padding:5px}.badge{display:inline-block;border-radius:4px;padding:3px 8px;background:#edf3e4;color:#4e713d;font-size:11px}.badge.warn{color:#ae7528;background:#fff3da}.badge.gray{background:#edf0eb;color:#768271}/* .badge.red 已删：无任何 JS 产出它，是死类 *//* 原 .badge.magenta 已收编到 orders.css 的 :root 变量（--st-submitted-*），订单状态色只在那里定义 */.actions{display:flex;gap:6px;flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field.full{grid-column:1/-1}.form-grid .actions{grid-column:1/-1;justify-content:flex-end;margin-top:6px}.notice{background:#f3f5e7;border:1px solid #e2e7cf;padding:12px 16px;border-radius:7px;font-size:12px;color:#687349;margin-bottom:18px}.empty{padding:42px;text-align:center;color:var(--muted);font-size:13px}.product{padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px}.product .qty{display:flex;gap:8px;align-items:center;margin-top:14px}.product .qty input{max-width:90px}.product h3{margin-bottom:4px}.product .price{font-size:16px;color:var(--green);margin-top:10px}.split{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.timeline .event{border-left:2px solid #e4eadc;padding:0 0 18px 16px;margin-left:6px;font-size:12px}.timeline small{display:block}.progress{height:8px;border-radius:5px;background:#eef1e8;overflow:hidden;margin:9px 0 18px}.progress i{display:block;background:#a9bf7c;height:100%;min-width:2px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--green);color:white;padding:70px;display:flex;flex-direction:column;justify-content:space-between}.login-art .hero{font-size:42px;line-height:1.5;font-weight:500;max-width:440px}.login-art .hero span{color:var(--lime)}.login-art p{color:#c4d1bb;margin-top:24px;max-width:390px}.login-box{padding:50px;display:grid;place-items:center}.login-form{width:100%;max-width:370px}.login-form .field{margin:22px 0}.login-form button{width:100%;margin-top:12px}.login-form h1{font-size:28px}.login-form small{display:block;margin-top:16px}.modal-wrap{position:fixed;inset:0;background:#14271980;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.modal{background:#fafbf7;border-radius:12px;max-width:900px;width:100%;max-height:92vh;overflow:auto;padding:28px;box-shadow:0 20px 90px #16332240}.modal .close{float:right}.modal h2{margin-bottom:22px}.modal textarea{min-height:140px}#toast{position:fixed;right:25px;bottom:25px;background:var(--dark);color:white;padding:14px 22px;border-radius:8px;display:none;z-index:20;max-width:500px}.config-section{border-top:1px solid var(--line);padding-top:22px;margin-top:20px}.config-section h3{margin-bottom:14px}.mini-status{display:flex;gap:8px;align-items:center;font-size:12px}.dot{height:7px;width:7px;border-radius:50%;background:#729a48}.files{display:flex;gap:10px;flex-wrap:wrap}.files a{font-size:12px}.code{font-family:Consolas,monospace;font-size:11px;word-break:break-all}pre{white-space:pre-wrap;background:#edf1e6;padding:15px;border-radius:7px;font-size:12px}.detail-row{display:flex;gap:22px;color:var(--muted);font-size:12px;margin-bottom:18px}@media(max-width:1000px){.shell{grid-template-columns:178px 1fr}.content{padding:24px}.side{padding:24px 10px}.brand{font-size:18px}.grid3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:17px}.metric b{font-size:28px}}@media(max-width:700px){.shell{display:block}.side{height:auto;position:static;padding:13px;display:block}.brand{padding:0 8px 10px}.brand small,.side .foot,.nav-label{display:none}.side nav{display:flex;overflow-x:auto}.side button{width:auto;white-space:nowrap;margin:0 3px;padding:8px 11px}.topbar{height:58px;padding:0 17px}.content{padding:20px 16px}.metrics{grid-template-columns:1fr 1fr}.grid2,.form-grid{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}.title-row{align-items:flex-start}h1{font-size:23px}.panel{padding:15px}.login{display:block}.login-art{padding:30px}.login-art .hero{font-size:26px}.login-art p,.login-art>small{display:none}.login-box{padding:35px 25px}.modal-wrap{padding:10px}.modal{padding:20px}.identity .muted{display:none}.product{padding:13px}}

/* List filters: compact desktop grid with touch-friendly mobile controls. */
.compact-filter-panel{padding:14px 16px;margin-bottom:16px}
.compact-filter-grid,.form-grid.compact-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;align-items:end}
.compact-filter-grid>*{min-width:0}
.compact-filter-grid label{margin-bottom:3px;font-size:12px;line-height:1.4}
.compact-filter-grid input,.compact-filter-grid select{height:36px;min-width:0;padding:5px 9px;font-size:13px;line-height:1.4}
.filter-actions{margin-top:10px;align-items:center;gap:8px}
.filter-actions button{padding:5px 12px;min-height:34px}
.filter-actions a,.filter-actions .muted{font-size:12px}
.compact-filter-panel #masterRows{margin-top:12px}
.compact-filter-panel #supplierSearch{margin:10px 0;height:36px;padding:5px 9px}
@media(min-width:1500px){#orderFilters .compact-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.compact-filter-grid,.form-grid.compact-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.compact-filter-panel{padding:12px}.compact-filter-grid input,.compact-filter-grid select{height:42px;font-size:16px}.filter-actions button{min-height:42px}}
@media(max-width:480px){.compact-filter-grid,.form-grid.compact-filter-grid{grid-template-columns:minmax(0,1fr)}}

.category-summary{display:flex;gap:32px;padding:14px 20px}.category-summary strong{margin-left:8px;font-size:20px;color:#214d39}.category-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.category-column{min-width:0;padding:18px}.category-column header{display:flex;justify-content:space-between;align-items:center;gap:8px}.category-column h2{font-size:17px;margin:0}.category-column>p{font-size:12px;min-height:18px;margin:12px 0}.category-items{max-height:62vh;overflow:auto}.category-item{border:1px solid #e0e6dc;border-radius:8px;margin-bottom:10px;overflow:hidden}.category-item.selected{border-color:#3d7150;background:#f0f6e9}.category-select{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px;border:0;background:transparent;padding:12px}.category-select small{display:block;font-size:11px;color:#73826f;margin-bottom:4px}.category-select strong{font-size:15px}.category-select>span:last-child{font-size:12px;white-space:nowrap;color:#68745e}.category-actions{display:flex;justify-content:flex-end;gap:6px;padding:0 10px 8px}.category-actions button{padding:3px 9px;font-size:12px;background:transparent}.category-actions button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:800px){.category-columns{grid-template-columns:1fr}.category-items{max-height:36vh}.category-summary{gap:16px;flex-wrap:wrap}.category-column header button{min-height:40px}}

.category-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.category-tree-panel{padding:14px;position:sticky;top:16px}.category-tree-panel input{width:100%;height:36px;margin-bottom:12px}.category-tree-panel #categoryTree{max-height:66vh;overflow:auto}.category-tree-row{display:flex;align-items:center;min-height:36px;border-radius:5px}.category-tree-row.selected{background:#e6f0d7}.category-toggle{display:inline-block;flex:0 0 26px;width:26px;padding:4px;border:0;background:transparent}.category-tree-label{border:0;background:transparent;padding:8px 3px;text-align:left;font-size:13px;overflow-wrap:anywhere}.category-all{width:100%;text-align:left;margin-bottom:6px}.category-table-panel{padding:20px;min-height:480px}.category-table-panel h2{font-size:19px;margin:0 0 14px}.category-grid{width:100%;table-layout:auto}.category-grid td,.category-grid th{padding:9px 10px;white-space:normal;overflow-wrap:anywhere}.category-grid td:first-child{font-variant-numeric:tabular-nums;color:#27644c}.category-grid td:last-child{min-width:120px}.category-grid td button{padding:5px 9px;font-size:12px}.category-name-link{border:0;background:transparent;text-align:left}.category-grid button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:850px){.category-layout{grid-template-columns:1fr}.category-tree-panel{position:static}.category-tree-panel #categoryTree{max-height:240px}.category-table-panel{padding:12px}.category-grid{min-width:610px}}
/* Clear mobile intake, with independently editable business fields. */
.intake-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;align-items:start}
.intake-import{display:flex;flex-direction:column;gap:10px}.intake-import label{min-width:0}.intake-import #intakeTemplate{align-self:flex-start}
.intake-tile{border:1px solid #cbd9cd;border-radius:10px;padding:12px;background:#f4f8f3;cursor:pointer}.intake-tile input{margin-top:8px;max-width:100%}
.catalog-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;display:inline-flex;vertical-align:middle;margin-right:10px;flex-shrink:0}.empty-thumb{background:#eef2ed;align-items:center;justify-content:center;font-size:11px;color:#667266}
/* 核对清单卡片（2026-10-11 收紧）：卡片内缩略图 64→48（只作用卡片，候选框那份 48 在下面自己那条），
   内边距 14→12、外边距 12→8、卡片间距 12→10、网格间距 10→8；状态句与「删除此行」并成一行（.intake-foot），
   省掉底部独占的一整行。
   「标准商品」由原生 <select> 换成按钮 + 自绘面板（见下面 .intake-picker 一段）。
   已作废（原判断：卡片 padding 14 / margin 12 / gap 12，删除键单独占一行，缩略图 64；
   原因：一张卡一屏放不下，德广 2026-10-11 要求「简单明了，节省空间」；日期：2026-10-11）
   已作废（原判断：卡片里放 .intake-pick（筛选框 + 常驻「关闭」按钮）与原生 <select>；
   原因：德广 2026-10-11 指出「关闭」的位置是商品名称列表本身，而那是系统弹层，塞不进按钮；日期：2026-10-11） */
.intake-line{display:flex;gap:10px;border:1px solid #dce4d9;border-radius:12px;padding:12px;margin:8px 0}.intake-line-main{flex:1;min-width:0}.intake-line>.catalog-thumb{width:48px;height:48px}.intake-line .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.product-pick{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;text-align:left;background:#fff;border:1px solid #d7ded2;border-radius:6px;padding:10px 12px}.product-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-pick i{font-style:normal;color:var(--muted);flex:0 0 auto}.intake-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.intake-foot .muted{margin:0}.needs-review{border-color:#e6ba56;background:#fffcf2}.workflow-order-tools{border-top:1px solid #dce4d9;padding-top:16px;margin-top:18px}
#intakeText{width:100%;margin:12px 0}#intakeLines input,#intakeLines select{width:100%}
@media(max-width:700px){.intake-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-line .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-line{padding:10px;gap:8px}.catalog-thumb{width:48px;height:48px}.intake-line button{min-height:40px}}
/* 「标准商品」选择面板（2026-10-11）：原生 <select> 在手机上弹的是系统自己的控件 ——
   圆点单选、铺满整屏、没有关闭键，网页往里塞不进按钮，所以整格改成自绘面板。
   层级：高于 .modal-wrap(10)、低于 #toast(20)，与 .photo-viewer(15) 同层互不遮挡。
   颜色沿用 style.css 的老写法（字面 hex）——订单状态那套 :root 变量只收编订单状态一个域。 */
.intake-picker{position:fixed;inset:0;z-index:16;background:#14271980;display:flex;align-items:center;justify-content:center;padding:16px}
.intake-picker-panel{display:flex;flex-direction:column;width:min(520px,100%);max-height:84vh;background:#fafbf7;border-radius:12px;box-shadow:0 20px 90px #16332240;overflow:hidden}
.intake-picker-head{display:flex;gap:8px;padding:12px;background:#fff;border-bottom:1px solid var(--line)}
.intake-picker-head input{flex:1;min-width:0}
.intake-picker-head button{flex:0 0 auto;min-height:40px}
.intake-picker-list{overflow:auto;-webkit-overflow-scrolling:touch;padding:6px}
.picker-count{margin:4px 8px 8px;font-size:12px}
.picker-item{display:flex;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:44px;text-align:left;background:transparent;border:0;border-radius:8px;padding:9px 12px;white-space:normal}
.picker-item:hover{background:#ecf1e5}
.picker-item b{font-weight:600}
.picker-item small{font-size:11px;color:var(--muted)}
.picker-item.is-current{background:#eef5ea;box-shadow:inset 3px 0 0 var(--green)}
.picker-foot{margin:0;padding:8px 12px 12px;font-size:12px;border-top:1px solid var(--line)}
.title-row .intake-tile{max-width:220px;font-size:13px}
#evidenceForm table td:nth-child(2){min-width:180px}
#evidenceForm table input[type=number]{width:110px;max-width:100%}
@media(max-width:600px){
 #evidenceForm .tablewrap{overflow:visible}
 #evidenceForm table,#evidenceForm tbody{display:block;width:100%;min-width:0}
 #evidenceForm thead{display:none}
 #evidenceForm tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0;border-bottom:1px solid #dce3d7}
 #evidenceForm td{display:block;border:0;padding:0;min-width:0!important;overflow-wrap:anywhere}
 #evidenceForm td:first-child{grid-column:1/-1}
 #evidenceForm td:first-child:after{content:' 录入此商品';font-size:13px}
 #evidenceForm td:nth-child(2){grid-column:1/-1;line-height:1.7}
 #evidenceForm td:nth-child(3):before{content:'实际数量';display:block;margin-bottom:5px}
 #evidenceForm td:nth-child(4):before{content:'实际采购价';display:block;margin-bottom:5px}
 #evidenceForm table input[type=number]{width:100%}
 .title-row{flex-wrap:wrap;gap:10px}
}
.role-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}.role-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}.role-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;min-height:158px;padding:22px;border:1px solid #23533d;border-radius:14px;background:#23533d;color:#fff;text-align:left;cursor:pointer;font:inherit}.role-card.role-blue{background:#30577a;border-color:#30577a}.role-card:hover{filter:brightness(1.08);background:#23533d;color:#fff}.role-card.role-blue:hover{background:#30577a}.role-card-title{font-size:17px;font-weight:700;line-height:1.4}.role-card strong{font-size:25px;line-height:1.2;color:#fff}.role-card small{font-size:12px;line-height:1.6;color:#e6eee9}.role-card small span{float:right;margin-left:8px}.role-photo{position:relative;overflow:hidden;margin:0}.role-photo input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.role-card:focus-visible,.entry-upload:focus-within,.role-photo:focus-within{outline:3px solid #dab660;outline-offset:3px}.role-task-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-bottom:1px solid #e4e9df;padding:16px 0}.role-task-row button{margin-left:auto}.driver-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.driver-document{border:1px solid #dfe5db;border-radius:14px;padding:20px;background:#fff}.driver-document h3{font-size:18px}.driver-document p{font-size:14px;line-height:1.7;margin:12px 0}.driver-products{color:#617064;overflow-wrap:anywhere}.driver-document .primary{width:100%;min-height:44px}.supplier-order-card{border-radius:14px;padding:20px!important}.order-entry-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:22px 18px;border-radius:14px;color:white;background:#23533d;text-align:center;gap:10px}.order-entry-card.entry-sheet{background:#30577a}.intake-actions{align-items:stretch;gap:16px}.order-entry-card h2{color:white;font-size:23px;line-height:1.4;margin:0}.order-entry-card p{font-size:13px;line-height:1.6;color:#e5ede9;margin:0}.entry-symbol{font-size:34px;line-height:1.1;color:white}.entry-upload{display:flex;position:relative;align-items:center;justify-content:center;overflow:hidden;background:white;color:#23533d;border-radius:9px;min-height:46px;margin:6px 0 0;padding:10px 5px;font-size:15px;font-weight:700;cursor:pointer}.entry-sheet .entry-upload{color:#30577a}.entry-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.order-entry-card small,.order-entry-card #intakeTemplate{display:flex;align-items:center;justify-content:center;min-height:34px;margin:0;font-size:12px;line-height:1.5;color:#e5ede9}.order-entry-card #intakeTemplate{background:transparent;border:0;border-radius:4px;padding:4px;text-decoration:underline;text-underline-offset:4px}.order-entry-card #intakeTemplate:hover{background:#ffffff15;color:white}#intakeHint{font-size:13px;line-height:1.7;margin-top:12px}.role-cards~.compact-filter-panel{margin-top:0}
@media(max-width:1100px){.role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.role-cards{gap:12px;margin-bottom:18px}.role-card{padding:16px;min-height:152px;gap:10px}.role-card-title{font-size:17px}.role-card strong{font-size:23px}.driver-documents{grid-template-columns:1fr}.order-entry-card{padding:18px 10px;gap:8px}.order-entry-card h2{font-size:21px}.order-entry-card p{font-size:12px}.intake-actions{gap:12px}.entry-upload{font-size:14px}.order-entry-card small,.order-entry-card #intakeTemplate{font-size:12px}.shell[data-role="driver"] .title-row{flex-wrap:wrap}.shell[data-role="driver"] #filterDriver{background:#f5f6f0}}
.evidence-shortcut{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px 14px;margin:0;border-radius:8px;background:#30577a;color:white;font-size:14px;min-height:44px;cursor:pointer}.evidence-shortcut input{position:absolute;inset:0;opacity:0;height:100%;width:100%;cursor:pointer}.evidence-shortcut:focus-within{outline:3px solid #dab660;outline-offset:3px}.shell[data-role="warehouse"] .title-row{flex-wrap:wrap}.entry-symbol svg{display:block;width:34px;height:34px;margin:auto}.shell[data-role="driver"] .role-card strong svg{width:30px;height:30px}
/* 2026-10-14 德广：「先核对商品库中的相近商品」这一档要跳出来，跟下层控件形成对比。
   原来边框是 #e2d3a6 米黄、底色也是米黄，紧挨着的 .intake-line 只有一圈 #dce4d9，两者混成一片。
   改成本文件 :root 里既有的 --red（不新造颜色），并加粗到 2px —— 细红线在米黄底上仍压不住下面那圈灰绿。 */
.intake-candidates{padding:14px;border:2px solid var(--red);border-radius:10px;background:#fffcf2;margin-bottom:14px}.candidate-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.candidate-options button{display:flex;align-items:center;gap:10px;text-align:left;min-height:64px;max-width:100%;white-space:normal}.candidate-options small{display:block}.candidate-options .catalog-thumb{width:48px;height:48px;flex-shrink:0}.candidate-options .empty-thumb{font-size:10px}
.evidence-uploads{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.evidence-uploads .evidence-shortcut{background:#23533d}.evidence-uploads #evidenceScan{background:#30577a;color:white;border-color:#30577a;min-height:44px}#evidencePending{font-size:12px;line-height:1.7;overflow-wrap:anywhere}#evidenceHint{font-size:13px;line-height:1.7;margin:8px 0 12px;color:#687349}.evidence-gallery{margin:12px 0 18px}.evidence-gallery h3{margin-bottom:4px}.evidence-gallery .muted{font-size:12px;margin-bottom:8px}.evidence-photos{display:flex;flex-wrap:wrap;gap:10px}.evidence-photo{display:flex;flex-direction:column;gap:4px;width:104px;margin:0;color:inherit;text-decoration:none}.evidence-photo img{width:104px;height:132px;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:#eef2ed}.evidence-photo small,.evidence-photo figcaption{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.evidence-photo.pending img{border-style:dashed;opacity:.85}.evidence-seq{font-family:Consolas,monospace;font-size:11px;color:#4e713d;background:#edf3e4;border-radius:4px;padding:2px 6px}.evidence-state{display:block;margin-top:5px;font-size:11px}.evidence-state.ok{color:#4e713d}.evidence-state.warn{color:#ae7528}#evidenceForm tr.evidence-unreadable{background:#fff8ec}#evidenceForm tr.evidence-unreadable td{border-bottom-color:#f0e0c4}
/* 单据照片：删除/移除按钮，以及订单明细里默认收起的照片区。 */
.evidence-photo figcaption{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.evidence-photo-del{border:1px solid var(--line);background:#fff;color:var(--red);border-radius:5px;padding:2px 8px;font-size:11px;margin:0}
.evidence-photo-del:hover{background:#f7ece9}
details.evidence-gallery summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--green)}
details.evidence-gallery[open] summary{margin-bottom:8px}
/* 已作废（原判断：手机端底部快捷导航（工作台/订单/快速下单/返回）固定在 700px 以下，`.content` 底部留 86px 给它；
   原因：2026-10-11 德广判定使用率很低，整块撤掉 —— 模块 public/h5-nav.js、app.js 的调用与 MutationObserver、
   server.mjs 静态白名单、release-tools/manifest.json 两处、tests/h5-nav.test.mjs 一并删除；日期：2026-10-11） */

/* 流程环节的视觉锚点：标题左侧一条深绿粗竖条（2026-10-11 德广：「核对清单」文字下加条，让环节更明显）。
   色值走 --green（本文件 :root 的定义），不写字面 hex。 */
h2.section-bar{border-left:4px solid var(--green);padding-left:10px}

/* 批量生成商品缩略图（2026-10-12）：勾选列表 + 运行态面板。
   色值走本文件顶部 :root 的既有变量（--green/--line/--muted/--red），**不新造颜色**。
   列表必须给固定 max-height + overflow-y —— 一次最多 50 行，不封顶会把弹窗撑出屏幕，
   手机上「开始生成」按钮就被推到看不见的地方了。 */
.thumbpick-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 6px;flex-wrap:wrap}
.thumbpick-head label{display:flex;align-items:center;gap:6px;font-weight:600}
.thumbpick-count{color:var(--muted);font-size:13px}
.thumbpick-list{max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:7px;background:white}
.thumbpick-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);cursor:pointer}
.thumbpick-row:last-child{border-bottom:0}
.thumbpick-row b{font-weight:600;min-width:0;overflow-wrap:anywhere}
.thumbpick-row small{color:var(--muted);margin-left:auto;white-space:nowrap}
.thumbpick-row .catalog-thumb{flex:none}
.thumbpick-fails{margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:7px;background:#f7ece9}
.thumbpick-fails p{margin:4px 0 0;font-size:13px;overflow-wrap:anywhere}
@media(max-width:700px){.thumbpick-list{max-height:38vh}.thumbpick-row small{margin-left:0}}

/* 「济西智能」面板（#jixiAgentBody）专用：这块面板的表里放的是工作区路径与整句中文，
   跟着全局 table 的 white-space:nowrap 走，长的那一格只会被截断在半个字上、要靠横向滑动才读得全
   （2026-10-15 实测：1400px 下第 3 张表溢出 133px，414px 下第 1 张表溢出 202px）。
   所以只放开**这块面板**的表；键那一列仍由行内 white-space:nowrap 钉住不折。
   ⚠️ 作用域必须收在这个 id 上，不许动全局 table 那条 —— 整表要不要 nowrap + 横向滚动是德广的取舍。 */
#jixiAgentBody table{white-space:normal;overflow-wrap:anywhere}
