body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 193, 7, .22), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(0, 160, 120, .18), transparent 35%),
    #05080d;
  color: #f8f9fa;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: rgba(8, 12, 18, .92);
  border-bottom: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}

.dispatch-toolbar {
  max-width: 720px;
  width: 100%;
}

.pac-container {
  z-index: 20000 !important;
}

.card,
.card-dispatch,
.modal-content {
  background: rgba(45, 52, 64, .92);
  color: #f8f9fa;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}

.card-dispatch.table-success,
.card-dispatch.table-warning,
.card-dispatch.table-info,
.card-dispatch.table-primary,
.card-dispatch.table-light,
.card-dispatch.table-secondary,
.card-dispatch.table-danger,
.card-dispatch.table-dark {
  --bs-table-bg: transparent;
}

.form-control,
.form-select {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.92);
  color: #111;
  min-height: 46px;
}

.btn {
  border-radius: 999px;
  font-weight: 700;
}

.btn-primary {
  background: linear-gradient(180deg, #39a844, #238434);
  border: 0;
}

.btn-warning {
  background: linear-gradient(180deg, #ffc107, #e0a800);
  border: 0;
  color: #111;
}

.btn-outline-secondary,
.btn-outline-primary {
  color: #f8f9fa;
  border-color: rgba(255,255,255,.35);
}

.nav-tabs { border-bottom-color: rgba(255,255,255,.18); }
.nav-tabs .nav-link {
  color: #cfd6df;
  border-radius: 999px;
  margin-right: .35rem;
  border: 1px solid rgba(255,255,255,.14);
}
.nav-tabs .nav-link.active {
  color: #111;
  background: #ffc107;
  border-color: #ffc107;
}

.table { color: #f8f9fa; }
.table thead th { color: #cfd6df; border-bottom-color: rgba(255,255,255,.18); }
.table td { border-color: rgba(255,255,255,.12); }
.table-hover tbody tr:hover { color: #fff; background: rgba(255,255,255,.06); }

.text-muted { color: #adb5bd !important; }
a { color: #8ec5ff; }

.dispatch-status,
.tm-pill,
.editable { cursor: pointer; }

.small-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.btn-sms-tiny { --bs-btn-padding-y:.1rem; --bs-btn-padding-x:.35rem; --bs-btn-font-size:.75rem; }
.refresh-spin { animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.notes-editor { min-height: 120px; white-space: pre-wrap; }

.edit-notes.bg-light,
.bg-light {
  background: rgba(255,255,255,.08) !important;
  color: #f8f9fa !important;
}

.modal-header,
.modal-footer { border-color: rgba(255,255,255,.14); }
.toast-body { border-radius: 16px; }

.estimate-box {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(0,0,0,.18);
  display: grid;
  gap: 6px;
}

.pagination .page-link {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: #fff;
}
.pagination .disabled .page-link {
  background: rgba(255,255,255,.04);
  color: #adb5bd;
}
