.delivery-page-shell{display:grid;grid-template-columns:1fr;gap:var(--sp-4);padding:var(--sp-6);max-width:1400px;margin:0 auto}.delivery-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.delivery-header .header-left{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.delivery-header .header-left h2{font-size:1.5rem;font-weight:600;color:var(--text);margin:0}.delivery-header .header-right{display:flex;align-items:center;gap:var(--sp-2)}.delivery-filter-tabs{display:flex;gap:var(--sp-1);background:var(--surface-alt);border-radius:var(--r-md);padding:3px}.delivery-filter-tab{padding:6px var(--sp-4);border:none;background:transparent;color:var(--text-secondary);font-size:.82rem;font-weight:500;border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast)}.delivery-filter-tab:hover{color:var(--text);background:var(--surface)}.delivery-filter-tab.active{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:var(--shadow-xs)}.delivery-list-container{display:flex;flex-direction:column;gap:var(--sp-2)}.delivery-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) 20px;cursor:pointer;transition:all var(--t-fast);display:flex;flex-direction:column;gap:var(--sp-2)}.delivery-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.delivery-card-header{display:flex;align-items:center;gap:10px}.delivery-card-body{display:flex;flex-direction:column;gap:var(--sp-1)}.delivery-customer{font-weight:600;font-size:.95rem;color:var(--text)}.delivery-address{font-size:.85rem;color:var(--text-secondary)}.delivery-meta{display:flex;gap:var(--sp-4);font-size:.8rem;color:var(--text-muted);margin-top:var(--sp-1)}.delivery-packages,.delivery-route{display:flex;align-items:center;gap:var(--sp-1)}.delivery-order-id{font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono)}.delivery-status-badge{display:inline-flex;align-items:center;padding:3px var(--sp-3);border-radius:var(--r-xl);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#fff}.delivery-validated-badge{font-size:.72rem;color:var(--success);font-weight:600;margin-top:2px}.verified-badge{display:inline-block;background:#16a34a1a;color:var(--success);padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:.72rem;font-weight:600;margin-left:6px}.delivery-card.delivery-locked{opacity:.7;border-style:dashed}.delivery-card.delivery-locked:hover{opacity:.85}.delivery-desc{font-style:italic;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-due{font-weight:500}.delivery-location{display:flex;align-items:center;gap:2px}.delivery-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px var(--sp-6);text-align:center;color:var(--text-muted)}.delivery-empty-state .empty-icon{font-size:3rem;margin-bottom:var(--sp-3)}.delivery-empty-state p{font-size:1rem;margin-bottom:var(--sp-4)}.create-delivery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-5)}.create-delivery-header h3{font-size:1.15rem;font-weight:600;color:var(--text);margin:0}#deliveryCreateView{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-6)}.form-row{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3)}.form-row .form-group{flex:1}.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-1);text-transform:uppercase;letter-spacing:.03em}.form-actions{display:flex;gap:var(--sp-2)}.delivery-detail-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.delivery-detail-header h3{font-size:1.15rem;font-weight:600;color:var(--text);margin:0;flex:1}.btn-back{background:none;border:1px solid var(--border);border-radius:var(--r-md);padding:6px var(--sp-3);color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all var(--t-fast)}.btn-back:hover{border-color:var(--accent);color:var(--accent)}.delivery-detail-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-bottom:var(--sp-3)}.delivery-detail-section h4{font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--sp-3) 0}.delivery-detail-address{font-size:.95rem;color:var(--cyan);cursor:pointer;margin:0 0 6px}.delivery-detail-address:hover{text-decoration:underline}.delivery-detail-phone{font-size:.9rem;color:var(--cyan);cursor:pointer;margin:0 0 4px}.delivery-detail-phone:hover{text-decoration:underline}.delivery-detail-email{font-size:.85rem;color:var(--text-secondary);margin:0}.delivery-instructions{background:#d977060f;border-color:#d9770633}.delivery-action-buttons{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.btn-action{display:inline-flex;align-items:center;gap:6px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--t-fast)}.btn-action:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-xs)}.delivery-complete-buttons{display:flex;gap:var(--sp-2)}.btn-complete{flex:1;padding:var(--sp-3);border:none;border-radius:var(--r-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--t-fast)}.btn-delivered{background:var(--success);color:#fff}.btn-delivered:hover{background:#15803d}.btn-failed{background:var(--surface);border:1px solid var(--danger);color:var(--danger)}.btn-failed:hover{background:#dc26260f}.delivery-history h4{margin-bottom:var(--sp-2)}.event-list{list-style:none;padding:0;margin:0}.event-item{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 0;border-bottom:1px solid var(--border);font-size:.85rem}.event-item:last-child{border-bottom:none}.event-type{color:var(--text);font-weight:500;text-transform:capitalize}.event-time{color:var(--text-muted);font-size:.78rem}.no-history{color:var(--text-muted);font-style:italic;font-size:.85rem}.package-count-display{display:flex;align-items:baseline;gap:var(--sp-1);margin-bottom:var(--sp-3)}.scanned-count{font-size:1.75rem;font-weight:700;color:var(--success)}.count-divider{font-size:1.25rem;color:var(--text-muted)}.total-count{font-size:1.25rem;font-weight:600;color:var(--text)}.count-label{font-size:.8rem;color:var(--text-muted);margin-left:var(--sp-2)}.package-item{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) 12px;border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--sp-1);font-size:.85rem}.package-item.scanned{background:#16a34a0f;border-color:#16a34a33}.package-barcode{font-family:var(--font-mono);color:var(--text)}.package-status{font-size:1rem}.carrier-rate-option{display:block;padding:var(--sp-3) 16px;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:var(--sp-2);cursor:pointer;transition:all var(--t-fast)}.carrier-rate-option:hover{border-color:var(--accent)}.carrier-rate-option.recommended{border-color:var(--success);background:#16a34a0a}.carrier-rate-content{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3)}.rate-badge{display:inline-block;background:var(--success);color:#fff;padding:2px var(--sp-2);border-radius:var(--r-sm);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.carrier-info{display:flex;flex-direction:column;gap:2px}.carrier-name{font-weight:600;font-size:.9rem;color:var(--text)}.service-name{font-size:.8rem;color:var(--text-secondary)}.delivery-estimate{font-size:.8rem;color:var(--text-muted)}.failure-reason-option{display:flex;align-items:center;gap:10px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:6px;cursor:pointer;font-size:.9rem;transition:all var(--t-fast)}.failure-reason-option:hover{border-color:var(--danger);background:#dc26260a}.failure-reason-option input[type=radio]{accent-color:var(--danger)}.address-suggestions{display:flex;flex-direction:column;gap:6px;margin:var(--sp-3) 0}.btn-suggestion{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;font-size:.85rem;transition:all var(--t-fast)}.btn-suggestion:hover{border-color:var(--success);background:#16a34a0a}.dialog-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-4)}.gps-dashboard{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);max-width:1400px;margin:0 auto;height:calc(100vh - var(--header-h) - 48px)}.gps-dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.gps-stats{display:flex;gap:var(--sp-3)}.gps-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 18px;text-align:center;min-width:100px}.gps-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--accent);display:block}.gps-stat .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.gps-actions{display:flex;gap:6px}.gps-main-content{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-4);flex:1;min-height:0}.gps-driver-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}.driver-list-header{padding:var(--sp-3) 16px;border-bottom:1px solid var(--border)}.driver-list-header h3{font-size:.9rem;font-weight:600;color:var(--text);margin:0}.driver-list-content{flex:1;overflow-y:auto;padding:var(--sp-2)}.gps-map-container{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}.gps-map{width:100%;height:100%;min-height:400px}.map-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:500}.map-placeholder{text-align:center;padding:40px}.map-placeholder p{color:var(--text-muted);margin-top:var(--sp-2)}.driver-card{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:6px;cursor:pointer;transition:all var(--t-fast)}.driver-card:hover{border-color:var(--accent);box-shadow:var(--shadow-xs)}.driver-card.selected{border-color:var(--accent);background:var(--press-red-light)}.driver-card-header{display:flex;align-items:center;gap:var(--sp-2)}.driver-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.driver-name{font-weight:600;font-size:.88rem;color:var(--text)}.driver-card-details{display:flex;gap:var(--sp-3);font-size:.75rem;color:var(--text-muted)}.driver-marker{background:transparent;border:none}.driver-marker-inner{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d}.driver-arrow{color:#fff;font-size:14px}.driver-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);margin-top:var(--sp-4)}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4)}.detail-header h3{font-size:1rem;font-weight:600;color:var(--text);margin:0}.btn-close{background:none;border:1px solid var(--border);border-radius:var(--r-sm);width:28px;height:28px;cursor:pointer;color:var(--text-muted);font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}.btn-close:hover{border-color:var(--danger);color:var(--danger)}.detail-section{margin-bottom:var(--sp-4)}.detail-section h4{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.detail-value{font-size:.88rem;font-weight:500;color:var(--text)}.detail-value.status-active{color:var(--success)}.detail-value.status-idle{color:var(--warning)}.detail-value.status-offline{color:var(--danger)}.detail-value.status-stale{color:var(--text-muted)}.detail-actions{display:flex;gap:6px}.delivery-list-mini{display:flex;flex-direction:column;gap:6px}.delivery-mini-card{display:flex;align-items:center;gap:10px;padding:var(--sp-2) 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:.82rem}.delivery-mini-card.status-delivered{background:#16a34a0f;border-color:#16a34a33}.delivery-mini-card.status-in_transit{background:#0891b20f;border-color:#0891b233}.delivery-mini-card.status-pending{background:#d977060a}.delivery-seq{width:24px;height:24px;border-radius:50%;background:var(--ink-lighter);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.delivery-info{flex:1;min-width:0}.delivery-info .delivery-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-text{color:var(--text-muted);text-align:center;padding:var(--sp-5);font-size:.88rem}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.wip-piece-count-cell{display:flex;align-items:center;gap:var(--sp-1)}.wip-piece-input{width:60px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:.82rem;font-family:var(--font-mono);background:var(--surface);color:var(--text)}.wip-piece-input:focus{border-color:var(--accent);outline:none}.wip-piece-save{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--success);border-radius:var(--r-sm);background:#16a34a1a;color:var(--success);cursor:pointer;font-size:.8rem;transition:all var(--t-fast)}.wip-piece-save:hover{background:var(--success);color:#fff}.wip-piece-done{font-family:var(--font-mono);font-weight:600;font-size:.88rem}.wip-piece-sep{color:var(--text-muted);font-size:.8rem}.wip-piece-ordered{font-family:var(--font-mono);color:var(--text-muted);font-size:.82rem}@media(max-width:768px){.delivery-page-shell{padding:var(--sp-3)}.delivery-header,.delivery-header .header-left{flex-direction:column;align-items:stretch}.delivery-header .header-right{flex-direction:column}.delivery-header .header-right input{width:100%!important}.delivery-filter-tabs{overflow-x:auto;white-space:nowrap}.form-row,.delivery-action-buttons{flex-direction:column}.btn-action{justify-content:center}.delivery-complete-buttons{flex-direction:column}.gps-dashboard{padding:var(--sp-3);height:auto}.gps-stats{flex-wrap:wrap}.gps-stat{flex:1;min-width:80px;padding:var(--sp-2) 12px}.gps-stat .stat-value{font-size:1.2rem}.gps-main-content{grid-template-columns:1fr}.gps-driver-list{max-height:200px}.gps-map{min-height:300px}.driver-detail-panel{margin-top:var(--sp-3)}.detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.gps-stat .stat-label{font-size:.6rem}.delivery-card{padding:var(--sp-3)}.delivery-customer{font-size:.9rem}}.dm-header-bar{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.dm-view-toggle{display:flex;gap:2px;background:var(--surface-alt, var(--cream));border-radius:var(--r-md, 6px);padding:3px;border:1px solid var(--border, var(--border))}.dm-view-btn{padding:5px 12px;border-radius:var(--r-sm, 4px);border:none;background:transparent;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text-secondary, var(--text-secondary))}.dm-view-btn.active{background:var(--surface, #fff);color:var(--ink, var(--ink));box-shadow:0 1px 3px #00000014}.dm-stats-row{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4)}.dm-stat-chip{display:flex;align-items:center;gap:6px;padding:6px var(--sp-4);background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px)}.dm-stat-num{font-size:18px;font-weight:800;font-family:Space Mono,monospace}.dm-stat-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, var(--text-muted))}.dm-lanes{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-3);min-height:400px}.dm-lane{background:var(--surface-alt, var(--cream));border-radius:var(--r-lg, 10px);padding:10px;display:flex;flex-direction:column}.dm-lane-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--border, var(--border))}.dm-lane-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dm-lane-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text, #111827)}.dm-lane-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:var(--r-lg);background:var(--surface, #fff);color:var(--text-secondary, var(--text-secondary));margin-left:auto}.dm-lane-body{flex:1;overflow-y:auto}.del-card{background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);padding:var(--sp-3) var(--sp-3);margin-bottom:var(--sp-2);cursor:pointer;transition:all .12s ease}.del-card:hover{border-color:var(--ink-light, #1a2332);box-shadow:0 2px 8px #0000000f}.del-card-urgent{border-left:3px solid var(--danger, #dc2626)}.del-card-today{border-left:3px solid var(--warning, #d97706)}.del-card-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.del-card-inv{font-size:13px;font-weight:700;color:var(--cyan, #0891b2);font-family:Space Mono,monospace}.del-card-customer{font-size:13px;font-weight:600;margin-bottom:2px}.del-card-desc{font-size:11px;color:var(--text-secondary, var(--text-secondary));margin-bottom:var(--sp-1)}.del-card-meta{display:flex;gap:10px;font-size:11px;color:var(--text-muted, var(--text-muted))}.del-card-meta strong{color:var(--text-secondary, var(--text-secondary))}.del-card-boxes{font-family:Space Mono,monospace;font-weight:600}.del-card-proof{font-size:12px;color:var(--success, #16a34a)}.del-card-qc{display:flex;gap:var(--sp-1);margin-top:6px;padding-top:6px;border-top:1px solid var(--border, var(--border))}.qc-pill{font-size:10px;font-weight:600;padding:1px 7px;border-radius:var(--r-lg)}.qc-pill.qc-pass{background:#dcfce7;color:#166534}.qc-pill.qc-fail{background:#fef2f2;color:#991b1b}.dm-method-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:var(--r-lg);text-transform:uppercase;margin-left:auto}.dm-method-badge.method-deliver{background:#dbeafe;color:#1e40af}.dm-method-badge.method-ship{background:#ede9fe;color:#6d28d9}.dm-method-badge.method-pickup{background:#fef3c7;color:#92400e}.dm-status-badge{display:inline-block;padding:3px var(--sp-3);border-radius:var(--r-xl);font-size:11px;font-weight:600}.dm-status-badge.status-qc-check{background:#fef3c7;color:#92400e}.dm-status-badge.status-ready{background:#e0f2fe;color:#0369a1}.dm-status-badge.status-on-route{background:#ede9fe;color:#6d28d9}.dm-status-badge.status-out-for-delivery{background:#fce7f3;color:#9d174d}.dm-status-badge.status-delivered{background:#dcfce7;color:#166534}.dm-status-badge.status-shipped{background:#f3e8ff;color:#7c3aed}.dm-status-badge.status-failed{background:#fef2f2;color:#991b1b}.dm-status-badge.status-pending{background:var(--surface-alt, var(--cream));color:var(--text-muted, var(--text-muted))}.dm-list-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-lg, 10px);overflow:hidden}.dm-list-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, var(--text-muted));padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border, var(--border));background:var(--surface-alt, var(--cream))}.dm-list-table td{padding:var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border, var(--border));vertical-align:middle}.dm-list-table tr:last-child td{border-bottom:none}.dm-list-table tr:hover{background:var(--cream, var(--cream));cursor:pointer}@media(max-width:900px){.dm-lanes{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dm-lanes{grid-template-columns:1fr}.dm-header-bar{flex-direction:column;align-items:flex-start}}.dm-route-page{display:grid;grid-template-columns:380px 1fr;height:calc(100vh - 180px);border:1px solid var(--border, var(--border));border-radius:var(--r-lg, 10px);overflow:hidden}.dm-route-panel{background:var(--surface, #fff);border-right:1px solid var(--border, var(--border));display:flex;flex-direction:column;overflow:hidden}.dm-route-panel-header{padding:14px 16px;border-bottom:1px solid var(--border, var(--border))}.dm-route-stats{display:flex;gap:var(--sp-4);margin-top:10px}.dm-route-stat{display:flex;flex-direction:column;align-items:center}.dm-route-stat-num{font-size:18px;font-weight:800;font-family:Space Mono,monospace}.dm-route-stat-lbl{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted, var(--text-muted))}.dm-route-progress{display:flex;align-items:center;gap:var(--sp-2);margin-top:10px}.dm-route-progress-bar{flex:1;height:6px;background:var(--surface-alt, var(--cream));border-radius:3px;overflow:hidden}.dm-route-progress-fill{height:100%;background:var(--success, #16a34a);border-radius:3px}.dm-route-progress-text{font-size:12px;font-weight:600;color:var(--text-muted, var(--text-muted))}.dm-route-actions-bar{display:flex;gap:var(--sp-2);padding:var(--sp-2) 16px;border-bottom:1px solid var(--border, var(--border))}.dm-route-stops{flex:1;overflow-y:auto}.dm-route-stop{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);cursor:pointer;border-bottom:1px solid var(--border, var(--border));transition:background .12s ease}.dm-route-stop:hover{background:var(--cream, var(--cream))}.dm-route-stop.active{background:#e0f2fe;border-left:3px solid var(--cyan, #0891b2)}.dm-route-stop.completed{opacity:.5}.dm-stop-number{width:26px;height:26px;border-radius:50%;background:var(--ink, var(--ink));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.dm-stop-number.completed{background:var(--success, #16a34a)}.dm-stop-info{flex:1;min-width:0}.dm-stop-customer{font-size:13px;font-weight:600;margin-bottom:2px}.dm-stop-address{font-size:11px;color:var(--text-secondary, var(--text-secondary));margin-bottom:3px}.dm-stop-meta{display:flex;gap:var(--sp-2);font-size:11px;color:var(--text-muted, var(--text-muted))}.dm-stop-inv{font-family:Space Mono,monospace;font-weight:600;color:var(--cyan, #0891b2)}.dm-stop-drag{color:var(--text-muted, var(--text-muted));cursor:grab;font-size:16px;padding:var(--sp-1)}.dm-route-map{background:#e8e8e0;position:relative;display:flex;align-items:center;justify-content:center}.dm-map-placeholder{text-align:center;color:var(--text-muted, var(--text-muted))}@media(max-width:768px){.dm-route-page{grid-template-columns:1fr}.dm-route-map{height:250px}}.dm-batch-builder{padding:0}.dm-batch-header{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;margin-bottom:var(--sp-4)}.dm-batch-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.dm-batch-column{background:var(--surface-alt, var(--cream));border-radius:var(--r-lg, 10px);padding:var(--sp-3)}.dm-batch-col-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--border, var(--border))}.dm-batch-card{background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);padding:var(--sp-3) var(--sp-3);margin-bottom:6px;cursor:grab}.dm-batch-card:hover{border-color:var(--ink-light, #1a2332)}.dm-batch-pool{margin-top:20px;padding:var(--sp-4);background:var(--surface, #fff);border:2px dashed var(--border-strong, #d1d1cb);border-radius:var(--r-lg, 10px)}.dm-batch-pool-items{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dm-batch-chip{padding:6px var(--sp-3);background:var(--surface-alt, var(--cream));border:1px solid var(--border, var(--border));border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .12s ease}.dm-batch-chip:hover{border-color:var(--success, #16a34a);background:#f0fdf4}@media(max-width:768px){.dm-batch-columns{grid-template-columns:1fr}}.delivery-detail-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:var(--z-modal, 1100);display:flex;justify-content:center;align-items:flex-start;padding-top:60px;cursor:pointer}.delivery-detail-panel{width:600px;max-width:96vw;max-height:calc(100vh - 120px);background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-xl, 14px);box-shadow:0 25px 60px #00000040;overflow-y:auto;cursor:default}.delivery-detail-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border, var(--border));position:sticky;top:0;background:var(--surface, #fff);z-index:1}.delivery-detail-section{margin-bottom:var(--sp-5)}.delivery-detail-section h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, var(--text-muted));margin:0 0 10px}.delivery-action-buttons{display:flex;gap:10px;padding-top:16px;border-top:1px solid var(--border, var(--border));flex-wrap:wrap}.jo-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:var(--z-modal, 1100);display:flex;justify-content:center;align-items:flex-start;padding-top:40px;animation:joFadeIn .15s var(--ease, ease)}@keyframes joFadeIn{0%{opacity:0}to{opacity:1}}@keyframes joSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.jo-panel{width:780px;max-width:96vw;max-height:calc(100vh - 80px);background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-xl, 14px);box-shadow:0 25px 60px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:joSlideUp .2s var(--ease, ease)}.jo-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border, var(--border));flex-shrink:0}.jo-inv{font-size:18px;font-weight:700;color:var(--ink, var(--ink))}.jo-acct{font-size:14px;color:var(--text-secondary, var(--text-secondary));flex:1}.jo-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md, 6px);border:none;background:transparent;font-size:18px;color:var(--text-muted, var(--text-muted));cursor:pointer;transition:all .12s ease}.jo-close:hover{background:var(--surface-alt, var(--cream));color:var(--text, #111827)}.jo-due{font-size:13px;font-weight:700;padding:var(--sp-1) 12px;border-radius:20px}.jo-due-urgent{background:#fef2f2;color:#dc2626}.jo-due-warning{background:#fef3c7;color:#92400e}.jo-due-normal{background:var(--surface-alt, var(--cream));color:var(--text-secondary, var(--text-secondary))}.jo-desc{font-size:13px;color:var(--text, #111827);font-weight:600;flex:1}.jo-qty-badge{font-size:12px;font-weight:700;padding:3px var(--sp-3);border-radius:20px;background:#0891b21a;color:var(--cyan, #0891b2);font-family:Space Mono,monospace}.jo-skip-badge{font-size:11px;font-weight:600;padding:2px var(--sp-2);border-radius:var(--r-lg);background:#ede9fe;color:#6d28d9;margin-left:var(--sp-2)}.jo-pipeline{display:flex;align-items:stretch;border-bottom:1px solid var(--border, var(--border));background:var(--cream, var(--cream));flex-shrink:0;overflow-x:auto}.jo-pipe-stage{flex:1;text-align:center;padding:10px 8px;border-right:1px solid var(--border, var(--border));position:relative;min-width:90px}.jo-pipe-stage:last-child{border-right:none}.jo-pipe-stage.active{background:#0f14190a}.jo-pipe-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, var(--text-muted));margin-bottom:2px}.jo-pipe-count{font-size:20px;font-weight:800;font-family:Space Mono,monospace;color:var(--text, #111827)}.jo-pipe-remaining{font-size:11px;font-weight:600;margin-top:1px}.jo-pipe-remaining.all-done{color:var(--success, #16a34a)}.jo-pipe-remaining.has-remaining{color:var(--warning, #d97706)}.jo-pipe-remaining.none-yet{color:var(--text-muted, var(--text-muted))}.jo-pipe-arrow{position:absolute;right:-7px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--border-strong, #d1d1cb);z-index:1}.jo-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;background:var(--border, var(--border));border-bottom:1px solid var(--border, var(--border));flex-shrink:0}.jo-summary-item{background:var(--surface, #fff);padding:var(--sp-2) 12px;text-align:center}.jo-summary-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, var(--text-muted));margin-bottom:1px}.jo-summary-value{font-size:13px;font-weight:600}.jo-summary-value.mono{font-family:Space Mono,monospace}.jo-tabs{display:flex;border-bottom:1px solid var(--border, var(--border));background:var(--surface, #fff);flex-shrink:0}.jo-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:11px 16px;font-size:13px;font-weight:600;color:var(--text-secondary, var(--text-secondary));border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s ease;font-family:inherit}.jo-tab[data-tab=prepress]{background:#fefce8;color:#92400e}.jo-tab[data-tab=production]{background:#fef2f2;color:#991b1b}.jo-tab[data-tab=finishing]{background:#f0f9ff;color:#0c4a6e}.jo-tab[data-tab=packaging]{background:#f0fdf4;color:#166534}.jo-tab[data-tab=prepress]:hover{background:#fef9c3}.jo-tab[data-tab=production]:hover{background:#fee2e2}.jo-tab[data-tab=finishing]:hover{background:#e0f2fe}.jo-tab[data-tab=packaging]:hover{background:#dcfce7}.jo-tab.active[data-tab=prepress]{border-bottom-color:#fbbf24;font-weight:800}.jo-tab.active[data-tab=production]{border-bottom-color:#ef4444;font-weight:800}.jo-tab.active[data-tab=finishing]{border-bottom-color:#38bdf8;font-weight:800}.jo-tab.active[data-tab=packaging]{border-bottom-color:#22c55e;font-weight:800}.jo-tab-check{width:16px;height:16px;border-radius:50%;background:var(--success, #16a34a);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center}.jo-tab-count{font-size:11px;font-weight:700;padding:1px 7px;border-radius:var(--r-lg);background:var(--surface-alt, var(--cream));color:var(--text-secondary, var(--text-secondary))}.jo-body{flex:1;overflow-y:auto;padding:var(--sp-5)}.jo-tab-panel{display:none}.jo-tab-panel.active{display:block}.jo-readonly-banner{display:flex;align-items:center;gap:10px;padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);background:#fef3c7;border:1px solid #fde68a;border-radius:var(--r-md, 6px);font-size:13px;color:#92400e}.jo-section{margin-bottom:var(--sp-6)}.jo-section:last-child{margin-bottom:0}.jo-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, var(--text-muted));margin-bottom:10px;display:flex;align-items:center;gap:var(--sp-2)}.jo-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jo-info-field{display:flex;flex-direction:column;gap:2px}.jo-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, var(--text-muted))}.jo-field-value{font-size:14px;font-weight:500}.jo-parts-table{width:100%;border-collapse:collapse;font-size:13px}.jo-parts-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, var(--text-muted));padding:6px var(--sp-3);border-bottom:1px solid var(--border, var(--border))}.jo-parts-table th.right{text-align:right}.jo-parts-table th.center{text-align:center}.jo-parts-table td{padding:var(--sp-2) 10px;border-bottom:1px solid var(--border, var(--border));vertical-align:middle}.jo-parts-table tr:last-child td{border-bottom:none}.jo-parts-table td.right{text-align:right;font-family:Space Mono,monospace}.jo-parts-table td.center{text-align:center}.jo-pill{display:inline-block;padding:2px 9px;border-radius:var(--r-lg);font-size:11px;font-weight:600}.jo-pill-done{background:#dcfce7;color:#166534}.jo-pill-partial{background:#fef3c7;color:#92400e}.jo-pill-waiting{background:var(--surface-alt, var(--cream));color:var(--text-muted, var(--text-muted))}.jo-pill-running{background:#dbeafe;color:#1e40af}.jo-count-input{width:70px;padding:5px 6px;border:1.5px solid var(--border, var(--border));border-radius:var(--r-sm, 4px);font-size:14px;font-weight:700;font-family:Space Mono,monospace;text-align:center;background:var(--surface, #fff)}.jo-count-input:focus{outline:none;border-color:var(--ink, var(--ink))}.jo-count-input[disabled]{background:var(--surface-alt, var(--cream));border-color:transparent;cursor:default}.jo-release-btn{padding:var(--sp-1) 10px;border-radius:var(--r-sm, 4px);border:1px solid var(--success, #16a34a);background:#fff;color:var(--success, #16a34a);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.jo-release-btn:hover{background:#f0fdf4}.jo-release-btn.sent{background:#dcfce7;color:#166534;border-color:#bbf7d0;cursor:default}.jo-release-btn[disabled]{opacity:.3;cursor:not-allowed;border-color:var(--border, var(--border));color:var(--text-muted, var(--text-muted))}.jo-ops-list{display:flex;flex-direction:column;gap:6px}.jo-op-item{display:flex;align-items:center;gap:10px;padding:var(--sp-2) 12px;background:var(--surface, #fff);border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);cursor:pointer;transition:all .12s ease}.jo-op-item:hover{border-color:var(--ink-lighter, #243044);background:var(--cream, var(--cream))}.jo-op-item.checked{border-color:var(--success, #16a34a);background:#f0fdf4}.jo-op-item.readonly{pointer-events:none;opacity:.8}.jo-op-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--success, #16a34a);cursor:pointer}.jo-op-name{font-size:14px;font-weight:500;flex:1}.jo-op-meta{font-size:12px;color:var(--text-muted, var(--text-muted))}.jo-box-label{border:2px dashed var(--border-strong, #d1d1cb);border-radius:var(--r-lg, 10px);padding:var(--sp-4);background:var(--surface, #fff);font-size:13px;line-height:1.5}.jo-box-label-header{font-weight:700;font-size:16px;margin-bottom:var(--sp-2);color:var(--ink, var(--ink))}.jo-box-label-field{display:flex;gap:var(--sp-2)}.jo-box-label-key{font-weight:600;color:var(--text-secondary, var(--text-secondary));min-width:50px}.jo-box-count-row{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3)}.jo-box-count-input{width:70px;padding:var(--sp-2);border:2px solid var(--border, var(--border));border-radius:var(--r-md, 6px);font-size:18px;font-weight:700;font-family:Space Mono,monospace;text-align:center}.jo-box-count-input:focus{outline:none;border-color:var(--ink, var(--ink))}.jo-actions{display:flex;gap:10px;margin-top:var(--sp-4);padding-top:16px;border-top:1px solid var(--border, var(--border))}.jo-completed{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--r-lg, 10px);font-size:14px;color:#166534}.jo-completed-icon{width:26px;height:26px;background:var(--success, #16a34a);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.jo-completed-meta{font-size:12px;color:#4ade80;margin-top:2px}.jo-audit-log{display:flex;flex-direction:column;gap:6px}.jo-audit-entry{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:12px;color:var(--text-secondary, var(--text-secondary))}.jo-audit-time{font-family:Space Mono,monospace;color:var(--text-muted, var(--text-muted));flex-shrink:0;min-width:120px}.jo-audit-who{font-weight:600;color:var(--text, #111827);flex-shrink:0}.jo-notes{width:100%;padding:var(--sp-2) 12px;border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);font-size:13px;font-family:inherit;resize:vertical;min-height:50px;background:var(--surface, #fff);box-sizing:border-box}.jo-notes:focus{outline:none;border-color:var(--accent, #2563eb);box-shadow:0 0 0 2px #2563eb26}.jo-notes[disabled]{background:var(--surface-alt, var(--cream));cursor:default}.jo-notes[contenteditable=true]{resize:none;min-height:80px;max-height:200px;overflow-y:auto}.jo-notes[contenteditable=false]{resize:none;min-height:50px}.jo-rich-editor{display:flex;flex-direction:column}.jo-rich-toolbar{display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--surface-alt, #f8f9fa);border:1px solid var(--border, #e5e7eb);border-bottom:none;border-radius:var(--r-md, 6px) var(--r-md, 6px) 0 0}.jo-rich-toolbar+.jo-rich-body{border-top-left-radius:0;border-top-right-radius:0}.jo-rich-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text, #111827)}.jo-rich-btn:hover{background:var(--border, #e5e7eb)}.jo-rich-sep{width:1px;height:20px;background:var(--border, #e5e7eb);margin:0 4px}.jo-data-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--sp-4);align-items:center;padding:14px 16px;background:var(--surface-alt, var(--cream));border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);margin-bottom:var(--sp-3)}.jo-data-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted, var(--text-muted));margin-bottom:2px}.jo-data-value{font-size:16px;font-weight:700;font-family:Space Mono,monospace}.jo-siblings{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 14px;background:#8b5cf60f;border:1px solid rgba(139,92,246,.15);border-radius:var(--r-md, 6px);font-size:12px;color:#6d28d9;margin-top:var(--sp-4);flex-wrap:wrap}.jo-sibling-link{color:#6d28d9;font-weight:600;cursor:pointer;text-decoration:underline}.jo-sibling-link:hover{color:#4c1d95}.jo-tab-content{padding:var(--sp-5)}.jo-box-setup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-4)}.jo-box-setup-field{display:flex;flex-direction:column;gap:6px}.jo-box-setup-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted, var(--text-muted))}.jo-box-setup-input{width:100%;text-align:center;padding:var(--sp-3);border:1px solid var(--border, var(--border));border-radius:var(--r-md, 6px);font-family:Space Mono,monospace;font-size:20px;font-weight:700}.jo-box-setup-input:focus{outline:none;border-color:var(--ink, var(--ink))}.jo-box-setup-readonly{background:#f0fdf4;cursor:default}.wip-inv-link{color:var(--cyan, #0891b2);font-weight:600;cursor:pointer;transition:color .12s ease}.wip-inv-link:hover{text-decoration:underline;color:var(--ink, var(--ink))}@media(max-width:640px){.jo-panel{width:100vw;max-height:100vh;border-radius:0}.jo-backdrop{padding-top:0}.jo-info-grid{grid-template-columns:1fr}}body.driver-mode .sidebar,body.driver-mode #sidebar,body.driver-mode .sidebar-overlay,body.driver-mode .topbar,body.driver-mode #topbar,body.driver-mode .tab-bar,body.driver-mode #tabBar,body.driver-mode .right-flyout,body.driver-mode #rightFlyout,body.driver-mode #flyoutOverlay{display:none!important}body.driver-mode .main-wrap{margin-left:0!important;padding-top:0!important}body.driver-mode .page{padding:0!important}.driver-mobile{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg, #0e1117);color:var(--text, #e6edf3);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.driver-header{position:sticky;top:0;z-index:100;background:var(--surface, #161b22);border-bottom:1px solid var(--border, #30363d);padding:var(--sp-3) 16px;display:flex;align-items:center;justify-content:space-between}.driver-header-left{display:flex;align-items:center;gap:10px}.driver-header h1{font-size:18px;font-weight:700;margin:0}.driver-status-dot{width:10px;height:10px;border-radius:50%;background:var(--success, #16a34a);animation:driver-pulse 2s infinite}@keyframes driver-pulse{0%,to{opacity:1}50%{opacity:.4}}.driver-header-right{display:flex;align-items:center;gap:var(--sp-3)}.driver-offline-badge{background:var(--warning, #d97706);color:#000;font-size:11px;font-weight:600;padding:2px var(--sp-2);border-radius:var(--r-lg);display:none}.driver-offline-badge.show{display:inline-block}.driver-refresh-btn{background:none;border:none;color:var(--text-muted, #8b949e);font-size:20px;cursor:pointer;padding:var(--sp-1)}.driver-summary{background:var(--surface-alt, #1c2333);padding:var(--sp-3) 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border, #30363d);gap:var(--sp-2)}.driver-summary-stat{text-align:center}.driver-stat-num{font-size:22px;font-weight:700}.driver-stat-num.done-color{color:var(--success, #16a34a)}.driver-stat-num.time-color{color:var(--primary, #4f8cc9)}.driver-stat-lbl{font-size:11px;color:var(--text-muted, #8b949e);text-transform:uppercase;letter-spacing:.5px}.driver-progress-wrap{flex:2;padding:0 12px}.driver-progress{width:100%;height:4px;background:var(--border, #30363d);border-radius:2px}.driver-progress-fill{height:100%;background:var(--success, #16a34a);border-radius:2px;transition:width .3s}.driver-stop-list{padding:var(--sp-2)}.driver-stop{background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);padding:14px;margin-bottom:var(--sp-2);display:flex;align-items:flex-start;gap:var(--sp-3);cursor:pointer;transition:border-color .2s}.driver-stop:active{border-color:var(--primary, #4f8cc9)}.driver-stop.completed{opacity:.5;border-color:var(--success, #16a34a)}.driver-stop.active{border-color:var(--primary, #4f8cc9);border-width:2px;background:#4f8cc914}.driver-stop-num{width:32px;height:32px;border-radius:50%;background:var(--primary, #4f8cc9);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.driver-stop.completed .driver-stop-num{background:var(--success, #16a34a)}.driver-stop-num .check,.driver-stop.completed .driver-stop-num .num{display:none}.driver-stop.completed .driver-stop-num .check{display:inline}.driver-stop-info{flex:1;min-width:0}.driver-stop-customer{font-weight:600;font-size:15px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.driver-stop-address{font-size:13px;color:var(--text-muted, #8b949e);margin-bottom:var(--sp-1)}.driver-stop-meta{display:flex;gap:var(--sp-2);align-items:center;font-size:12px}.driver-stop-badge{padding:2px var(--sp-2);border-radius:var(--r-lg);font-size:11px;font-weight:600}.driver-stop-badge.boxes{background:#4f8cc926;color:var(--primary, #4f8cc9)}.driver-stop-badge.invoice{background:#8b5cf626;color:#8b5cf6}.driver-stop-nav-btn{background:var(--primary, #4f8cc9);color:#fff;border:none;border-radius:var(--r-lg);padding:var(--sp-2) 12px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;align-self:center}.driver-active-header{background:var(--surface, #161b22);border-bottom:1px solid var(--border, #30363d);padding:var(--sp-3) 16px;display:flex;align-items:center;gap:var(--sp-3)}.driver-back-btn{background:none;border:none;color:var(--text-muted, #8b949e);font-size:22px;cursor:pointer;padding:var(--sp-1)}.driver-active-title{flex:1}.driver-active-title h2{font-size:16px;font-weight:600;margin:0}.driver-active-title .sub{font-size:12px;color:var(--text-muted, #8b949e)}.driver-stop-card{background:var(--surface, #161b22);margin:12px;border-radius:var(--r-xl);padding:var(--sp-4);border:1px solid var(--border, #30363d)}.driver-stop-card h3{font-size:18px;font-weight:700;margin:0 0 4px}.driver-card-address{font-size:14px;color:var(--text-muted, #8b949e);margin-bottom:var(--sp-3)}.driver-card-details{display:flex;gap:var(--sp-4);flex-wrap:wrap}.driver-detail-item{font-size:13px}.driver-detail-label{color:var(--text-muted, #8b949e);font-size:11px;text-transform:uppercase}.driver-detail-value{font-weight:600}.driver-notes{background:#d977061a;border:1px solid rgba(217,119,6,.3);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-3);font-size:13px;color:var(--warning, #d97706);margin-top:var(--sp-3)}.driver-notes:before{content:"Note: ";font-weight:700}.driver-steps{padding:0 12px;flex:1}.driver-step{display:flex;align-items:center;gap:var(--sp-3);padding:14px 16px;background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);margin-bottom:var(--sp-2);cursor:pointer;transition:all .2s}.driver-step:active{transform:scale(.98)}.driver-step.done{border-color:var(--success, #16a34a);opacity:.6}.driver-step.current{border-color:var(--primary, #4f8cc9);background:#4f8cc914}.driver-step.locked{opacity:.35;pointer-events:none}.driver-step-icon{width:40px;height:40px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.driver-step-icon.navigate{background:#4f8cc926}.driver-step-icon.scan{background:#8b5cf626}.driver-step-icon.sign{background:#d9770626}.driver-step-icon.photo{background:#c8382e26}.driver-step-text{flex:1}.driver-step-text .step-title{font-weight:600;font-size:15px}.driver-step-text .step-sub{font-size:12px;color:var(--text-muted, #8b949e)}.driver-step-check{font-size:20px;color:var(--success, #16a34a)}.driver-step .step-arrow{color:var(--text-muted, #8b949e);font-size:18px}.driver-step.done .step-arrow{display:none}.driver-step:not(.done) .driver-step-check{display:none}.driver-complete-section{padding:var(--sp-3);position:sticky;bottom:0;background:var(--bg, #0e1117);border-top:1px solid var(--border, #30363d)}.driver-complete-btn{width:100%;padding:var(--sp-4);border:none;border-radius:var(--r-xl);font-size:18px;font-weight:700;cursor:pointer;transition:all .2s}.driver-complete-btn.ready{background:var(--success, #16a34a);color:#fff}.driver-complete-btn.not-ready{background:var(--border, #30363d);color:var(--text-muted, #8b949e);cursor:not-allowed}.driver-complete-btn.ready:active{transform:scale(.98);opacity:.9}.driver-fail-btn{width:100%;padding:var(--sp-3);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);background:none;color:var(--text-muted, #8b949e);font-size:14px;cursor:pointer;margin-top:var(--sp-2)}.driver-completed-view{text-align:center;padding:40px 20px}.driver-big-check{font-size:64px;color:var(--success, #16a34a);margin-bottom:var(--sp-4)}.driver-completed-view h2{font-size:24px;margin:0 0 8px}.driver-done-sub{color:var(--text-muted, #8b949e);margin-bottom:var(--sp-6)}.driver-next-btn{background:var(--primary, #4f8cc9);color:#fff;border:none;border-radius:var(--r-xl);padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer}.driver-all-done-banner{text-align:center;padding:32px 20px;margin:16px 8px;background:var(--surface, #161b22);border:1px solid var(--success, #16a34a);border-radius:var(--r-xl);cursor:pointer}.driver-all-done-icon{font-size:48px;margin-bottom:var(--sp-2)}.driver-all-done-banner h2{font-size:20px;margin:0 0 4px}.driver-all-done-banner p{color:var(--text-muted, #8b949e);margin:0;font-size:14px}.driver-empty{text-align:center;padding:60px 20px}.driver-empty-icon{font-size:48px;margin-bottom:var(--sp-3)}.driver-empty p{font-size:16px;margin:0 0 4px}.driver-empty-sub{font-size:13px;color:var(--text-muted, #8b949e)}.load-truck-screen{padding:0}.load-hero{text-align:center;padding:var(--sp-6) 16px 16px}.load-hero-icon{font-size:48px;margin-bottom:var(--sp-2)}.load-hero h2{font-size:22px;font-weight:700;margin:0 0 4px}.load-sub{font-size:14px;color:var(--text-muted, #8b949e)}.load-progress-bar{margin:16px 16px 0;background:var(--border, #30363d);border-radius:var(--r-lg);height:8px;overflow:hidden}.load-progress-fill{height:100%;background:var(--primary, #4f8cc9);border-radius:var(--r-lg);transition:width .3s ease}.load-progress-fill.complete{background:var(--success, #16a34a)}.load-count{text-align:center;padding:var(--sp-3);font-size:14px;color:var(--text-muted, #8b949e)}.load-count strong{color:var(--text, #e6edf3);font-size:18px}.load-scan-btn{display:block;width:calc(100% - 32px);margin:8px 16px;padding:var(--sp-4);background:var(--primary, #4f8cc9);color:#fff;border:none;border-radius:var(--r-xl);font-size:18px;font-weight:700;cursor:pointer;text-align:center}.load-scan-btn:active{transform:scale(.98);opacity:.9}.load-package-list{padding:var(--sp-2) 16px}.load-package{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 14px;background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);margin-bottom:6px}.load-package.scanned{border-color:var(--success, #16a34a);opacity:.7}.load-pkg-status{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.load-package.scanned .load-pkg-status{background:var(--success, #16a34a);color:#fff}.load-package:not(.scanned) .load-pkg-status{background:var(--border, #30363d);color:var(--text-muted, #8b949e)}.load-pkg-info{flex:1;min-width:0}.load-pkg-info .pkg-customer{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-pkg-info .pkg-detail{font-size:12px;color:var(--text-muted, #8b949e)}.load-pkg-barcode{font-family:Courier New,monospace;font-size:11px;color:var(--text-muted, #8b949e)}.load-depart-section{padding:var(--sp-3) 16px;position:sticky;bottom:0;background:var(--bg, #0e1117);border-top:1px solid var(--border, #30363d)}.load-depart-btn{width:100%;padding:var(--sp-4);border:none;border-radius:var(--r-xl);font-size:18px;font-weight:700;cursor:pointer}.load-depart-btn.ready{background:var(--success, #16a34a);color:#fff}.load-depart-btn.not-ready{background:var(--border, #30363d);color:var(--text-muted, #8b949e);cursor:not-allowed}.load-depart-btn.ready:active{transform:scale(.98)}.load-warning{background:#d977061a;border:1px solid rgba(217,119,6,.3);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-3);font-size:13px;color:var(--warning, #d97706);margin-bottom:var(--sp-2);text-align:center}.load-skip-btn{display:block;width:100%;margin-top:var(--sp-2);padding:10px;background:none;border:1px solid var(--border, #30363d);border-radius:var(--r-lg);color:var(--text-muted, #8b949e);font-size:13px;cursor:pointer;text-align:center}.driver-failure-form{padding:var(--sp-4)}.driver-failure-prompt{font-size:15px;font-weight:600;margin:0 0 12px}.driver-failure-option{display:flex;align-items:center;gap:10px;padding:var(--sp-3) 14px;background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);margin-bottom:6px;cursor:pointer;font-size:14px}.driver-failure-option input[type=radio]{accent-color:var(--primary, #4f8cc9)}.driver-failure-notes{margin-top:var(--sp-3)}.driver-failure-notes label{display:block;font-size:13px;color:var(--text-muted, #8b949e);margin-bottom:var(--sp-1)}.driver-failure-notes textarea{width:100%;padding:var(--sp-3) var(--sp-3);background:var(--surface, #161b22);border:1px solid var(--border, #30363d);border-radius:var(--r-lg);color:var(--text, #e6edf3);font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}
