/* Phone mockup *//* "Active job" style card for the fieldworker My Tasks list — see my-tasks.html/.js *//* daterangepicker must float above Bootstrap dropdowns and modals */
.phone-mockup {
  width: 260px;
  border: 10px solid #1a1a2e;
  border-radius: 36px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  overflow: hidden;
  position: relative;
}
.phone-mockup::before {
  content: '';
  display: block;
  width: 80px;
  height: 10px;
  background: #1a1a2e;
  border-radius: 0 0 8px 8px;
  margin: 0 auto;
}

.phone-screen {
  display: flex;
  flex-direction: column;
  max-height: 560px;
  min-height: 420px;
}

.phone-header {
  background: #3b82f6;
  color: #fff;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
}
.phone-title { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.phone-body {
  flex: 1;
  overflow-y: auto;
  padding: 10px 12px;
  background: #f8fafc;
}

.phone-footer {
  padding: 10px 12px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}
.phone-submit-btn {
  width: 100%;
  padding: 8px;
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}

/* Preview field */
.preview-field { margin-bottom: 10px; }
.preview-field-label { font-size: 10px; font-weight: 600; color: #374151; margin-bottom: 3px; }
.preview-input {
  height: 28px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  font-size: 10px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  color: #9ca3af;
}
.preview-number::after { content: '0'; }
.preview-date { justify-content: space-between; color: #9ca3af; }
.preview-textarea {
  height: 44px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
}
.preview-check { display: flex; align-items: center; gap: 6px; }
.preview-checkbox { width: 14px; height: 14px; border: 1.5px solid #d1d5db; border-radius: 3px; display: inline-block; }
.preview-select { justify-content: space-between; }
.preview-signature {
  height: 44px;
  border: 1.5px dashed #d1d5db;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 10px;
  gap: 4px;
}
.preview-photo {
  height: 56px;
  border: 1.5px dashed #3b82f6;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3b82f6;
  font-size: 10px;
  gap: 5px;
  background: #eff6ff;
}
.preview-empty { text-align: center; color: #9ca3af; font-size: 11px; padding: 24px 0; }

/* Field row drag handle area */
.field-row { transition: background 0.15s; }
.field-row:hover { background: #f8fafc; }
.btn-xs { font-size: 10px; line-height: 1.2; }

.mt-job-card-active {
  border: 1px solid var(--bs-primary);
  box-shadow: 0 0.5rem 1rem rgba(var(--bs-primary-rgb), .1);
}

.mt-job-card-completed {
  opacity: .8;
}

.mt-status-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .7rem;
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.mt-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.mt-status-dot-pulse {
  animation: mtStatusDotPulse 1.6s ease-in-out infinite;
}

@keyframes mtStatusDotPulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .35; }
}

.mt-task-box {
  background: var(--bs-tertiary-bg, #f8f9fa);
  border: 1px solid var(--bs-border-color-translucent, #eef0f3);
}

.mt-waiting-box {
  cursor: pointer;
}

.mt-waiting-box:hover {
  background: var(--bs-secondary-bg, #eef0f3);
}

.mt-progress-seg {
  flex: 1 1 0;
  height: 6px;
  border-radius: 3px;
}

.mt-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bs-primary-bg-subtle, #e7f1ff);
  color: var(--bs-primary, #0d6efd);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .85rem;
  flex-shrink: 0;
}
body > .daterangepicker {
  z-index: 2000;
}