.tracking-view-container { position: relative; height: 100%; min-height: 720px; display: flex; flex-direction: column; margin: -16px -16px 0; }
.live-map-wrapper { position: relative; height: 380px; width: 100%; background: #e2e8f0; overflow: hidden; }
#map-container { width: 100%; height: 100%; background: #e5e7eb; }

.map-nav-header { position: absolute; top: 14px; left: 14px; right: 14px; display: flex; align-items: center; justify-content: space-between; z-index: 400; pointer-events: none; }
.map-nav-btn {
  pointer-events: auto; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.8); display: flex; align-items: center; justify-content: center;
}
.map-safety-pill {
  pointer-events: auto; background: rgba(15, 23, 42, 0.85); color: #ffffff;
  padding: 6px 12px; border-radius: var(--radius-full); font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; gap: 6px;
}
.map-recenter-btn {
  position: absolute; bottom: 16px; right: 14px; z-index: 400; width: 42px; height: 42px; border-radius: 50%;
  background: #ffffff; border: 1px solid var(--border-light); display: flex; align-items: center; justify-content: center; color: var(--primary);
}

.worker-map-marker { position: relative; width: 46px; height: 46px; }
.marker-avatar-circle { width: 42px; height: 42px; border-radius: 50%; border: 3px solid var(--primary); background: #ffffff; overflow: hidden; position: relative; z-index: 2; }
.marker-avatar-circle img { width: 100%; height: 100%; object-fit: cover; }
.marker-radar-ring { position: absolute; top: -8px; left: -8px; width: 58px; height: 58px; border-radius: 50%; background: rgba(37, 99, 235, 0.25); animation: radarWave 1.6s infinite ease-out; z-index: 1; }
@keyframes radarWave { 0% { transform: scale(0.6); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }

.dest-map-pin { width: 38px; height: 38px; background: var(--accent-orange); color: white; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; border: 2px solid white; }
.dest-pin-inner { transform: rotate(45deg); font-size: 0.9rem; }

.tracking-sheet { flex: 1; background: var(--bg-card); border-radius: 26px 26px 0 0; margin-top: -18px; position: relative; z-index: 30; padding: 16px 20px 24px; box-shadow: 0 -8px 25px rgba(0, 0, 0, 0.08); overflow-y: auto; }
.sheet-drag-pill { width: 36px; height: 4px; background: #e2e8f0; border-radius: 4px; margin: 0 auto 12px; }

.eta-header-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--border-light); }
.eta-status-block { display: flex; flex-direction: column; }
.eta-status-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; font-weight: 700; color: var(--primary); margin-bottom: 2px; }
.eta-time-val { font-size: 1.25rem; font-weight: 800; color: var(--text-main); font-family: var(--font-heading); }
.eta-distance-sub { font-size: 0.72rem; color: var(--text-muted); }

.otp-safety-card { background: #eff6ff; border: 1px dashed var(--primary-light); border-radius: var(--radius-md); padding: 8px 12px; text-align: right; }
.otp-label { font-size: 0.62rem; font-weight: 600; color: var(--primary-dark); text-transform: uppercase; }
.otp-number { font-size: 1.15rem; font-weight: 900; letter-spacing: 2px; color: var(--primary); font-family: var(--font-heading); }

.tracking-worker-card { display: flex; align-items: center; justify-content: space-between; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 12px; margin-bottom: 16px; }
.tracking-worker-profile { display: flex; align-items: center; gap: 10px; }
.tracking-worker-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.tracking-worker-name { font-size: 0.88rem; font-weight: 700; }
.tracking-worker-trade { font-size: 0.72rem; color: var(--text-muted); }
.tracking-actions-row { display: flex; gap: 8px; }
.btn-track-action { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.btn-track-call { background: #10b981; color: white; }
.btn-track-chat { background: var(--primary); color: white; }

.lifecycle-timeline { display: flex; justify-content: space-between; position: relative; margin: 16px 4px 20px; }
.lifecycle-timeline::before { content: ''; position: absolute; top: 14px; left: 20px; right: 20px; height: 3px; background: #e2e8f0; z-index: 1; }
.timeline-step { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 0.65rem; font-weight: 600; color: var(--text-muted); }
.step-node { width: 28px; height: 28px; border-radius: 50%; background: #ffffff; border: 2.5px solid #cbd5e1; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; }
.timeline-step.completed .step-node { background: var(--success); border-color: var(--success); color: white; }
.timeline-step.active .step-node { background: var(--primary); border-color: var(--primary); color: white; }
.timeline-step.active { color: var(--primary); font-weight: 700; }

.sim-controls-panel { background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: var(--radius-md); padding: 10px 12px; margin-top: 12px; }
.sim-controls-title { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; margin-bottom: 8px; display: flex; justify-content: space-between; }
.sim-btn-group { display: flex; gap: 6px; }
.btn-sim-step { flex: 1; padding: 6px 8px; border-radius: var(--radius-sm); background: white; border: 1px solid var(--border-light); font-size: 0.72rem; font-weight: 600; }

.chat-drawer { position: absolute; bottom: 0; left: 0; right: 0; height: 520px; background: var(--bg-card); border-radius: 28px 28px 0 0; box-shadow: var(--shadow-xl); display: flex; flex-direction: column; z-index: 500; transform: translateY(100%); transition: transform 0.3s ease; }
.chat-drawer.open { transform: translateY(0); }
.chat-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--border-light); }
.chat-messages-area { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.chat-bubble { max-width: 80%; padding: 10px 14px; border-radius: 18px; font-size: 0.82rem; }
.chat-bubble.worker-msg { align-self: flex-start; background: var(--bg-elevated); color: var(--text-main); }
.chat-bubble.customer-msg { align-self: flex-end; background: var(--primary); color: white; }
.chat-input-bar { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-top: 1px solid var(--border-light); background: var(--bg-card); }
.chat-input { flex: 1; background: var(--bg-elevated); border: 1px solid var(--border-light); border-radius: var(--radius-full); padding: 8px 16px; font-size: 0.82rem; }
.chat-send-btn { width: 36px; height: 36px; border-radius: 50%; background: var(--primary); color: white; display: flex; align-items: center; justify-content: center; }

.call-modal { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%); z-index: 600; color: white; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 60px 24px 50px; opacity: 0; pointer-events: none; transition: opacity 0.25s ease; }
.call-modal.active { opacity: 1; pointer-events: auto; }
.call-worker-avatar { width: 100px; height: 100px; border-radius: 50%; margin-bottom: 16px; }
.btn-end-call { width: 60px; height: 60px; border-radius: 50%; background: #ef4444; color: white; display: flex; align-items: center; justify-content: center; }
