:root{--brand: #1565c0;--brand-dark: #0d47a1;--brand-tint: #e3f0ff;--brand-header: var(--brand);--brand-header-text: #ffffff;--bg: #f9fafb;--card-bg: #ffffff;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-secondary: #4b5563;--text-muted: #6b7280;--sidebar-bg: #111827;--green-600: #16a34a;--green-100: #dcfce7;--green-800: #166534;--amber-600: #d97706;--amber-100: #fef3c7;--amber-800: #92400e;--red-600: #dc2626;--red-100: #fee2e2;--red-800: #991b1b;--orange-600:#ea580c;--orange-100:#ffedd5;--orange-800:#9a3412;--violet-600:#9333ea;--violet-100:#f3e8ff;--violet-800:#6b21a8;--blue-100: #dbeafe;--blue-800: #1e40af;--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{display:flex;min-height:100vh}.app{flex:1;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg);min-width:0}@media (max-width: 600px){.app{max-width:100%}}.sidebar{display:none}@media (min-width: 1024px){.sidebar{display:flex;flex-direction:column;width:232px;flex-shrink:0;position:sticky;top:0;height:100vh;background:var(--sidebar-bg);color:#fff;padding:16px 10px;overflow-y:auto}}.sidebar-brand{padding:6px 12px 16px}.sidebar-brand .sidebar-title{font-size:16px;font-weight:700;color:#fff}.sidebar-brand .sidebar-sub{font-size:12px;color:#9ca3af;margin-top:2px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:var(--radius);background:none;color:#d1d5db;font-size:14px;font-weight:500;font-family:inherit;text-align:left;cursor:pointer;width:100%}.sidebar-item:hover{background:#ffffff14;color:#fff}.sidebar-item.active{background:var(--brand);color:#fff}.sidebar-item svg{flex-shrink:0}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:10px}.sidebar-user{padding:0 12px 8px;font-size:12px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header{background:var(--brand-header);color:var(--brand-header-text);padding:16px 20px;font-size:18px;font-weight:600;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between}.header .back-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px 10px;min-width:44px;min-height:40px;border-radius:var(--radius)}.header .back-btn:active{background:#ffffff26}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--card-bg);color:var(--text-secondary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;min-height:36px}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.job-list{padding:12px;display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.job-list{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.job-list{grid-template-columns:1fr 1fr 1fr}}.job-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color .15s}.job-card:hover{border-color:var(--border-strong)}.job-card:active{border-color:var(--brand)}.job-card .order-number{font-weight:700;font-size:16px;color:var(--brand)}.job-card .customer{font-size:14px;color:var(--text-secondary);margin-top:4px}.job-card .status-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.status-badge{display:inline-block;padding:3px 10px;border-radius:9999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.status-badge.pending{background:var(--amber-100);color:var(--amber-800)}.status-badge.delivered{background:var(--green-100);color:var(--green-800)}.status-badge.failed{background:var(--red-100);color:var(--red-800)}.status-badge.partial{background:var(--orange-100);color:var(--orange-800)}.meta-pill{display:inline-block;font-size:11px;padding:3px 10px;border-radius:9999px;background:#f3f4f6;color:var(--text-secondary)}.meta-pill.blue{background:var(--blue-100);color:var(--blue-800)}.job-detail{padding:16px}.job-detail h2{font-size:20px;margin-bottom:4px}.job-detail .detail-customer{color:var(--text-secondary);font-size:15px;margin-bottom:16px}.detail-section{margin-bottom:20px}.detail-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:8px}.action-buttons{display:flex;gap:12px;margin-bottom:20px}.delivery-actions-bottom{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);margin-bottom:20px}.delivery-actions-bottom h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:12px}.delivery-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 12px;min-height:64px;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .2s,transform .1s;font-family:inherit}.delivery-action-btn:active{opacity:.85;transform:scale(.98)}.delivery-action-btn:disabled{background:var(--border)!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:1}.delivery-action-icon{font-size:22px;font-weight:700;line-height:1}.delivery-action-label{font-size:13px;font-weight:600;text-align:center;line-height:1.2}.btn-fully-delivered{background:var(--green-600);color:#fff}.btn-partial-qty{background:var(--amber-600);color:#fff}.btn-partial-damage{background:var(--violet-600);color:#fff}.btn-not-delivered{background:var(--red-600);color:#fff}.btn{flex:1;padding:14px;min-height:48px;border:none;border-radius:var(--radius);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s}.btn:active{opacity:.8}.btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.btn-delivered{background:var(--green-600);color:#fff}.btn-failed{background:var(--red-600);color:#fff}.btn-secondary{background:var(--card-bg);color:var(--text);border:1px solid var(--border-strong)}.btn-primary{background:var(--brand);color:#fff}.signature-section{margin-bottom:20px}.signature-canvas{border:2px dashed var(--border-strong);border-radius:var(--radius);width:100%;height:200px;touch-action:none;background:var(--card-bg)}.signature-canvas.signed{border-color:var(--green-600);border-style:solid}.signature-actions{display:flex;gap:8px;margin-top:8px}.photo-section{margin-bottom:20px}.photo-upload-btn{width:100%;padding:40px 16px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;text-align:center;font-size:14px;color:var(--text-muted)}.photo-upload-btn:active{background:var(--bg)}.photo-preview{margin-top:8px;border-radius:var(--radius);overflow:hidden}.photo-preview img{width:100%;border-radius:var(--radius)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:12px 24px;border-radius:var(--radius);font-size:14px;z-index:200;animation:fadeInUp .3s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:150;padding:20px}.modal{background:#fff;border-radius:var(--radius);padding:24px;width:100%;max-width:500px}.modal h3{margin-bottom:12px}.modal textarea{width:100%;height:100px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px;font-size:16px;font-family:inherit;resize:none;margin-bottom:12px}.modal .modal-actions{display:flex;gap:8px;justify-content:flex-end}.dashboard{padding:16px}.dashboard-greeting{text-align:center;padding:20px 0 8px}.dashboard-greeting h2{font-size:24px;color:var(--brand);margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0}@media (min-width: 768px){.stats-grid{grid-template-columns:1fr 1fr 1fr 1fr}}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.stat-number{font-size:28px;font-weight:700}.stat-label{font-size:12px;text-transform:uppercase;color:var(--text-muted);margin-top:4px}.stat-total .stat-number{color:var(--brand)}.stat-pending .stat-number{color:var(--amber-600)}.stat-delivered .stat-number{color:var(--green-600)}.stat-failed .stat-number{color:var(--red-600)}.nav-tiles{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}@media (min-width: 768px){.nav-tiles{grid-template-columns:1fr 1fr}}.nav-tile{display:flex;align-items:center;gap:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px;cursor:pointer;text-align:left;transition:border-color .15s;width:100%;font-family:inherit}.nav-tile:hover{border-color:var(--border-strong)}.nav-tile:active{border-color:var(--brand)}.nav-tile-icon{color:var(--brand);flex-shrink:0}.nav-tile-label{font-size:16px;font-weight:600;color:var(--text)}.nav-tile-desc{font-size:13px;color:var(--text-muted);margin-top:2px}@media (min-width: 1024px){.with-sidebar .nav-tiles{display:none}}.settings-page{padding:16px}.settings-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.settings-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.setting-label{font-size:14px;color:var(--text-secondary)}.setting-value{font-size:14px;font-weight:600;color:var(--text)}.setting-input{flex:1;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);font-size:16px;font-family:inherit}.sync-editor{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}
