*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333;-webkit-font-smoothing:antialiased}.app{max-width:1200px;margin:0 auto;min-height:100vh;background:#fff}@media (max-width: 600px){.app{max-width:100%}}.header{background:#1a73e8;color:#fff;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:4px 8px}.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:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;cursor:pointer;transition:box-shadow .2s}.job-card:active{box-shadow:0 2px 8px #00000026}.job-card .order-number{font-weight:700;font-size:16px;color:#1a73e8}.job-card .customer{font-size:14px;color:#555;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:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.delivered{background:#d4edda;color:#155724}.status-badge.failed{background:#f8d7da;color:#721c24}.status-badge.partial{background:#ffe0b2;color:#e65100}.job-detail{padding:16px}.job-detail h2{font-size:20px;margin-bottom:4px}.job-detail .detail-customer{color:#555;font-size:15px;margin-bottom:16px}.detail-section{margin-bottom:20px}.detail-section h3{font-size:14px;text-transform:uppercase;color:#888;margin-bottom:8px}.action-buttons{display:flex;gap:12px;margin-bottom:20px}.delivery-actions-bottom{margin-top:24px;padding-top:20px;border-top:2px solid #e0e0e0;margin-bottom:20px}.delivery-actions-bottom h3{font-size:14px;text-transform:uppercase;color:#888;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;border:none;border-radius:12px;cursor:pointer;transition:opacity .2s,transform .1s;font-family:inherit}.delivery-action-btn:active{opacity:.85;transform:scale(.98)}.delivery-action-btn:disabled{opacity:.5;cursor:not-allowed}.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:#28a745;color:#fff}.btn-partial-qty{background:#fd7e14;color:#fff}.btn-partial-damage{background:#e83e8c;color:#fff}.btn-not-delivered{background:#dc3545;color:#fff}.btn{flex:1;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn:active{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-delivered{background:#28a745;color:#fff}.btn-failed{background:#dc3545;color:#fff}.btn-secondary{background:#e0e0e0;color:#333}.btn-primary{background:#1a73e8;color:#fff}.signature-section{margin-bottom:20px}.signature-canvas{border:2px dashed #ccc;border-radius:10px;width:100%;height:200px;touch-action:none;background:#fafafa}.signature-canvas.signed{border-color:#28a745;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 #ccc;border-radius:10px;background:#fafafa;cursor:pointer;text-align:center;font-size:14px;color:#888}.photo-upload-btn:active{background:#f0f0f0}.photo-preview{margin-top:8px;border-radius:10px;overflow:hidden}.photo-preview img{width:100%;border-radius:10px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:200;animation:fadeInUp .3s ease}@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:12px;padding:24px;width:100%;max-width:500px}.modal h3{margin-bottom:12px}.modal textarea{width:100%;height:100px;border:1px solid #ccc;border-radius:8px;padding:10px;font-size:14px;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:#1a73e8;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:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;text-align:center}.stat-number{font-size:28px;font-weight:700}.stat-label{font-size:12px;text-transform:uppercase;color:#888;margin-top:4px}.stat-total .stat-number{color:#1a73e8}.stat-pending .stat-number{color:#856404}.stat-delivered .stat-number{color:#155724}.stat-failed .stat-number{color:#721c24}.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:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px 16px;cursor:pointer;text-align:left;transition:box-shadow .2s;width:100%;font-family:inherit}.nav-tile:active{box-shadow:0 2px 8px #00000026}.nav-tile-icon{color:#1a73e8;flex-shrink:0}.nav-tile-label{font-size:16px;font-weight:600;color:#333}.nav-tile-desc{font-size:13px;color:#888;margin-top:2px}.settings-page{padding:16px}.settings-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px}.settings-section h3{font-size:14px;text-transform:uppercase;color:#888;margin-bottom:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.setting-label{font-size:14px;color:#555}.setting-value{font-size:14px;font-weight:600;color:#333}.setting-input{flex:1;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:14px;font-family:inherit}.sync-editor{border-top:1px solid #eee;padding-top:8px;margin-top:8px}
