/* GPS Camera widget styles */
.gpscam-wrap { margin-top: 8px; }
.gpscam-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  background: #0047AB; color: #fff; border: none; cursor: pointer;
  padding: 8px 14px; border-radius: 8px; font-size: 14px; font-weight: 600;
}
.gpscam-trigger:hover { background: #003a8c; }
.gpscam-preview { margin-top: 10px; }
.gpscam-preview img {
  max-width: 220px; width: 100%; border-radius: 10px;
  border: 2px solid #e2e8f0; display: block;
}
.gpscam-cap {
  font-size: 12px; color: #475569; margin-top: 4px; max-width: 260px;
}

/* Overlay / modal */
.gpscam-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.75);
  display: flex; align-items: center; justify-content: center; z-index: 99999;
  padding: 12px;
}
.gpscam-box {
  background: #0f172a; color: #fff; border-radius: 14px; overflow: hidden;
  width: 100%; max-width: 460px; box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.gpscam-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; font-weight: 700; background: #1e293b;
}
.gpscam-x {
  background: none; border: none; color: #fff; font-size: 24px;
  line-height: 1; cursor: pointer;
}
.gpscam-status { padding: 14px 16px; font-size: 13px; color: #cbd5e1; }
.gpscam-video {
  width: 100%; max-height: 60vh; background: #000; display: block;
}
.gpscam-geo {
  padding: 10px 16px; font-size: 13px; color: #93c5fd;
  background: #111827; word-break: break-word;
}
.gpscam-actions {
  display: flex; gap: 10px; padding: 14px 16px; background: #1e293b;
}
.gpscam-btn {
  flex: 1; padding: 12px; border: none; border-radius: 10px;
  font-size: 15px; font-weight: 700; cursor: pointer;
}
.gpscam-shot { background: #16a34a; color: #fff; }
.gpscam-shot:disabled { background: #475569; cursor: not-allowed; }
.gpscam-cancel { background: #334155; color: #fff; }
